Wednesday Jun 27, 2012

Yammer, Berkeley DB, and the 3rd Platform

If you read the news, you know that the latest high-profile social media acquisition was just confirmed. Microsoft has agreed to acquire Yammer for 1.2 billion. Personally, I believe that Yammer’s amazing success can be mainly attributed to their wise decision to use Berkeley DB Java Edition as their backend data store. :-)

I’m only kidding, of course. However, as Ryan Kennedy points out in the video I recently blogged about, BDB JE did provide the right feature set that allowed them to reliably grow their business. Which in turn allowed them to focus on their core value add. As it turns out, their ‘add’ is quite valuable!

This actually makes sense to me, a lot more sense than certain other recent social acquisitions, and here’s why. Last year, IDC declared that we are entering a new computing era, the era of the “3rd Platform.” In case you’re curious, the first 2 were terminal computing and client/server computing, IIRC. Anyway, this 3rd one is more complicated. This year, IDC refined the concept further. It now involves 4 distinct buzzwords: cloud, social, mobile, and big data.

Yammer is a social media platform that runs in the cloud, designed to be used from mobile devices. Their approach, using Berkeley DB Java Edition with High Availability, qualifies as big data. This means that Yammer is sitting right smack in the center if IDC’s new computing era. Another way to put it is: the folks at Yammer were prescient enough to predict where things were headed, and get there first.

They chose Berkeley DB to handle their data. Maybe you should too!

Tuesday Jun 05, 2012

Highlights from recent Yammer video

A few weeks back, Ryan Kennedy of Yammer gave a talk about Berkeley DB Java Edition. You can find it posted here on Alex Popescu's Blog, or go directly to the video post itself. It was full of useful nuggets of information, such as why they chose to use BDB JE, performance, and some tips & tricks at the end. At over 40 minutes, the video is quite long. Ryan is an entertaining speaker, so I suggest you watch all of it. But if you only have time for the highlights, here are some times you can sync to:

 06:18 hear the Berkeley DB JE features that caused Yammer select it, including:

  • replication
  • auto leader election, failover
  • configurable durability and consistency guarantees

23:10 System performance characteristics

35:08 Check out the tips and tricks for using Berkeley DB JE

I know the Berkeley DB development team is very pleased that BDB JE is working out well for Yammer. We definitely encourage others out there to take note of this success, especially if your requirements are similar to Yammer's (which Ryan outlines at the beginning of his talk)

Friday Feb 17, 2012

2011 Was a Banner Year for Berkeley DB!

I’ve been wanting to write this post since December, and only just now getting around to it. Fortunately, the contents of the post itself will serve as a pretty good explanation for the delay. :-)

I realize we’re already in February here. But I still think it’s worth mentioning what an amazing year 2011 was for the Berkeley DB team. Therefore I’d like to take a moment and look back at the major events of 2011, product by product.

Berkeley DB:

We set the bar pretty high, with TWO major releases in one year: 5.2 and 5.3. Both releases added exciting new features, too many to list here. Some of the main areas to receive enhancements were the SQL API, High Availability, HEAP, and XA. Expanded platform support now includes more Java platforms and per-application Android support.

Berkeley DB Java Edition:

Serving as the basis for a major new Oracle product (NoSQL Database) might have been enough for some products. But not Berkeley DB JE! In addition to that accomplishment, the team put out a major release as well, 5.0. This release included the much anticipated DiskOrderedCursor class, a plethora of performance improvements, and some High Availability enhancements to boot.

Revamped product launch: Database Mobile Server 11g

Database Mobile Server 11g is Oracle’s newly re-architected sync and device management solution for mobile, embedded and M2M platforms. It replaces Database Lite, and is designed to use Berkeley DB as the remote data store. DMS, as we call it, is also compatible with the very popular open-source SQLite database. There has been a lot of focus on mobile and embedded/M2M as they relate to enterprise recently, and every indicator points to these topics becoming even more important. This one is definitely a product to keep an eye on.

New Product Launch: NoSQL Database

I’m not prepared to say I saved the “best” for last, since all these products are truly great. But certainly NoSQL Database product got a huge amount of attention last year, and deservedly so. Oracle’s entry into this red-hot space promises to be exactly what many of our customers have been waiting for. The data management solution to their Big Data problem from the company they already trust to store the rest of their data.

To recap, that’s 3 major product releases, and 2 product launches. All from one team. That is amazing, by any standard. Congratulations to the development team, your work output last year was the stuff of legends! Of course, these folks are not ones to rest on their laurels. I know for a fact they are already hard at work on future versions of all the products listed above, and Berkeley DB XML too. The best is yet to come!

Tuesday Nov 29, 2011

Announcing Berkeley DB Java Edition Major Release

Berkeley DB Java Edition 5.0 was just released. There are a number of new features, enhancements, and options in there that our users have been asking for. Chief among them is a new class called DiskOrderedCursor, which greatly increases performance of systems using spinning platter magnetic hard drives. A number of users expressed interest in this feature, including Alex Feinberg of LinkedIn. Berkeley DB Java Edition is part of Project Voldemort, a distributed key/value database used by LinkedIn.

There have been many other improvements and optimizations. Concurrency is significantly improved, as is the performance of update and delete operations. New and interesting methods include Environment.preload, which allows multiple databases to be preloaded simultaneously. New Cursor methods enable for more effective searching through the database.

We continue to enhance Berkeley DB Java Edition’s High Availability as well. One new feature is the ability to open a replicated node read-only when the master is unavailable. This can allow critical systems to continue offering some functionality, even during a network or master node failure.

There’s a lot more in release 5.0. I encourage you to take a look at the extensive changelog yourself. As always, you can download the new release and try it out here:

http://www.oracle.com/technetwork/database/berkeleydb/downloads/index.html

Thursday Sep 22, 2011

Berkeley DB at OpenWorld/JavaOne 2011

It’s the question on everyone’s mind: what is Berkeley DB bringing to OpenWorld this year? Even if you’re more preoccupied with the latest iPhone 5 rumors, (I hear the front facing camera can look into your eyes and tell you what you had for breakfast) Berkeley DB users (or fans) who are planning to attend Oracle OpenWorld in San Francisco about 10 days from now will want to read this post.

As always, we will have a session where you can learn about the cool and interesting things our customers are doing with a key/value data store. But this year, we have two additional general areas of focus: Embedded, and Mobile Applications.

Let’s take a closer look at the embedded front first. As the cost of components like network hardware, flash memory, and microcontrollers continues to fall, OEMs in many verticals are choosing to enhance their product lineup by adding new applications and internet-enabled features. Networked cash registers? That was only the beginning. This was the year cars started getting on the internet, and I already blogged about that. Who knows what the next years will bring?

Whatever our customers are planning, we’ve got solutions that can help. Our first session with an embedded focus is 15185, BDB and Embedded Java presentation. There you’ll learn how we are extending Java’s “write once, deploy anywhere” mantra. With Berkeley DB and Database Mobile Server, you get worry free data management and sync capabilities after you’ve deployed, as well.

Next, over on the JavaOne side we have 25143, Telemetry and Synchronization with Embedded Java and Berkeley DB. This session will feature Java Architect Greg Bollella talking about how these same technologies are enabling telemetry solutions to plug into the enterprise right alongside your existing data and apps. The ability to manage networks of embedded devices using existing enterprise frameworks could prove to be quite revolutionary. The embedded Java platform, when coupled with Berkeley DB and Database Mobile Server, has the ability to do just that. We’re excited about this, and we think our customers will be too.

On the mobile applications side of things Tata Consulting Services (TCS) will be joining us for session 15178, Achieve Ubiquitous Data Access, from Device Databases to Enterprise Repositories. There you’ll learn how TCS is helping their customers deploy mobile applications that maximize the ROI of their existing enterprise infrastructure.

Rounding out the list is our key/value customer highlight session. You thought I forgot, right? No chance! Session 15167 is entitled Transactional Key-Value Storage: Super Simple, Super Fast, Super Flexible. Raghunath Nambiar, an Architect at Cisco, will co-present with us. The topic will be super cool things you can accomplish using the key-value paradigm for data management.

In addition to the sessions, we will have a number of exciting demos for you to check out, both at OpenWorld and JavaOne.

Finally, be on the lookout for an exciting product announcement building on the inherent strengths of the Berkeley DB product family!

Hope to see you there!

Wednesday Jun 01, 2011

Embedded Systems Conference San Jose

The annual Embedded Systems Conference in San Jose was held at the beginning of May. This was Oracle’s first year at the conference, and we did get visitors who were surprised to see us there. However some people, myself included, think we're going to see increased convergence between enterprise and embedded in the coming years. I know we're not alone, because a certain other big name in enterprise systems had a booth right next to ours!

Since embedded is not a topic everyone is familiar with, I want to give a little insight into this conference and the embedded space in general, as I think it is potentially an important growth area for products like Berkeley DB. Since I was an embedded developer myself in a past life, this is familiar territory for me.

Wikipedia defines embedded systems as "a computer system designed to do one or a few dedicated and/or specific functions." It is important to note that embedded is generally considered to be distinct from mobile. Mobile platforms are typically derived in some way from desktop platforms such as Linux, Windows, OSX, and are often more general purpose devices. Before the advent of cheap, high-res, general purpose LCD displays, having a display in your device meant a Cathode Ray Tube (CRT). Embedded devices were traditionally ‘headless,’ meaning they had no display and no generic input device such as a keyboard. Because of this, in the early days developers would commonly develop on desktop machines using a cross toolchain. A cross toolchain is a set of tools designed to build software on a target embedded platform, which was a completely different hardware architecture and OS from the desktop development platform. Nowadays, many embedded platforms are powerful enough that they can run their own toolchains. Such was the case with our demo, more on that below.

Another common aspect of an embedded system is “real time” requirements. A simplified definition would be if a given operation does not complete by a certain time, it’s just as bad as not finishing at all. Real Time Operating Systems, or RTOSes, can provide guarantees about when operations will finish. Real time embedded devices are still quite prevalent in some industries, including military, aviation, industrial manufacturing, and networking. The embedded space has certainly been encroached on by the rise of mobile, but as long as we have mission critical devices there will continue to be a requirement for embedded devices.

Now back to the Embedded Systems Conference. Booth traffic was high, we were averaging about 1 visitor per minute the nearly the whole time I was there. I attribute this partly to curiosity, but mostly to our great giveaways! They did their job, I talked to a number of people who ended up having a genuine interest in what we were showing, and were initially attracted to the booth by our swag. Also we held a drawing for an iPad, which brought a ton of people to register.

Our demo was a temperature sensor attached to a small device called a SheevaPlug, which is a general purpose embedded development device from Marvell. By embedded standards, the SheevaPlug is a very powerful device, and we were able to develop directly on it. The idea behind the demo was that the device represented one of many nodes in a sensor network. Some real world examples of this include weather stations, or monitoring conditions inside laboratories or industrial facilities. Our demo showed the system collecting temperature data, which was then uploaded to Oracle Database. All of this was running on top of Java SE Embedded. The demo was well received. Nearly everyone who listened to me present agreed that the sync functionality would be useful to them, or useful in general if they didn’t need it themselves.

The main purpose of our presence at ESC was to showcase the power, ease of use, and versatility of Java Embedded. When you combine that Berkeley DB and Oracle Database Lite Mobile Server, you get a system that has out of the box capability to move data to and from enterprise storage systems. After a few simple configuration steps, the data stored on the local Berkeley DB or SQLite data store is connected to the enterprise backend. This is a potent combination of features, and one that we feel will be in high demand in the coming years, as M2M and embedded solutions continue to proliferate.

Tuesday Nov 02, 2010

Berkeley DB Java Edition 4.1.6

Yesterday we released a new version of Berkeley DB Java Edition. This new release has some major enhancements for speed. BDB JE has always been as fast as the I/O + stable storage (disk) system for writes due to its write-once, append-only log-based architecture for fully durable commits (semi-durable, those which commit to operating system buffers rather than to the stable storage, operate at in-memory speeds). The issue until now was with random reads. Now, even with modest sized caches (512MB), you can experience predictable latency for random out-of-cache reads even for multi-TB databases.

This is a first in the pure-Java world. BDB JE is the only solution when you need large scale, predictable ACID storage for non-relational data. Imagine configuring your heap to 2GB and BDB JE's cache to 512MB then accessing TBs of data on disk knowing that your application will have 1.5GB of memory in the JVM to use.

Memory management and GC have always been tricky to get right when building large scale Java systems. With this release of Berkeley DB Java Edition we help take you one step closer to a predictable database in pure-Java.

Read more on Charlie Lamb's blog.

About

Information about Berkeley DB products directly from the people who build them.

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today