Oracle Updates Berkeley DB with New APIs, Performance Boost and .NET Support

In a bid to attract more developers to its Berkeley DB open-source embeddable database, Oracle today released two upgraded versions with new APIs for simplifying application development and for the first time, support for Microsoft's C# and .NET Framework.

The core Berkeley DB is an embeddable database for un-typed data in key/value data structures. Essentially, it’s a lower-level database for data that’s not inherently relational in structure. In addition to adding support for C# and .NET, the upgraded database has a new utility that auto-generates Berkeley DB application code based on SQL. It also integrates with the C++ Standard Template Library and multi-process support in Oracle's Replication Manager API aimed at simplifying development of highly available (HA) applications.

The other version, Berkeley DB XML, is built on top of the Berkeley DB system. It provides XQuery-based access to documents stored in containers and indexed based on their content. It includes a document parser, an XML indexer, and an XQuery engine. Among other enhancements, the 2.5 release adds support for external functions that allow developers to extend the behavior of their XQuery statements in the C++, Java or Python APIs. And because it’s built on top of Berkeley DB, it inherits all of the enhancements to that system and the APIs.

Oracle acquired the Berkeley DB technology with its 2006 purchase of Sleepycat Software, a company founded by the developers of the database. Since it acquired the company, Oracle has maintained a Berkeley DB family of products that includes the core Berkeley DB and XML version, plus the Berkeley DB Java Edition.

Berkeley DB is used primarily by developers, who insert it into software applications, hardware devices, and equipment.  "It’s essentially invisible to the end user," said Rex Wang, Oracle’s VP of product marketing who came over to the company from Sleepycat. "And it doesn’t require a DBA, because the database is managed internally within the application."  

Developers who use Berkeley DB have two licensing options: one commercial and one open source. This dual-licensing model -- that’s one product distributed under two different sets of terms and conditions -- has remained in place since Oracle bought Sleepycat, Wang said. "Sleepycat was an open-source company, and Oracle hasn’t really changed the model at all," he said.

Berkeley DB has long supported a wide range of programming languages, from C, C++ to Python, but this release targets Windows developers for the first time with support for C# and .NET. "We’re definitely going after the Windows developers," said Wang. "We’ve heard requests from that community for this support for a long time now. It’s a large community of developers, of course, and we were just finally ready to support them."

Berkeley DB has been around since the early 1990s. It’s in virtually every version of the Linux operating system, BSD UNIX, and Open LDAP. "I’d say it’s ubiquitous," said Wang. "If it seems as though not that many people have heard of it, that’s because it’s embedded; they’re not supposed to know about it. It’s supposed to be invisible, except to developers."

Both the Berkeley DB 4.8 and Berkeley DB XML 2.5 releases also ramp up performance and scalability, Wang said. The new version of Berkeley DB is designed to perform better on multi-threaded or multi-processed application. It adds enhanced locking/latching code, multiple table partitions, a bulk load/delete API, and new B-tree compression capability. Berkeley DB XML 2.5 gets the benefit of the BDB 4.8 performance enhancements, plus a smaller on-disk footprint for XML containers.

"The Berkeley DB is different from a regular type of Oracle database," Wang says. "And it gives the company access to a completely different market. It’s for people who are developing software that doesn’t require administration, where the data format is not neatly organized into tables, rows, and columns -- which, if you think about it, is most of the data in the world."

The Berkeley DB team at Oracle is currently working on an upgrade of Berkeley DB Java Edition, according to Wang.

About the Author

John K. Waters is the editor in chief of a number of sites, with a focus on high-end development, AI and future tech. He's been writing about cutting-edge technologies and culture of Silicon Valley for more than two decades, and he's written more than a dozen books. He also co-scripted the documentary film Silicon Valley: A 100 Year Renaissance, which aired on PBS.  He can be reached at [email protected].

comments powered by Disqus


  • C# Slides in Usage Ranking of Programming Languages

    "The fact that C# lost three places in the ranking of language communities during the last three years is mostly explained by its slower growth compared to C/C++ and PHP."

  • Telerik UI for Blazor Updated

    Progress announced an update to its Telerik UI for Blazor components, targeting Microsoft's open source Blazor framework that lets C# coders create web apps without having to rely upon JavaScript.

  • Infragistics Unveils UI Components for Blazor

    Infragistics, specializing in third-party UI/UX controls and tools, unveiled a new offering targeting Blazor, Microsoft's red-hot open source framework that allows for C#-based web development instead of traditional mainstay JavaScript.

  • AWS Open Sources Tool for Porting .NET Framework Apps to .NET Core

    Leading cloud computing platform Amazon Web Services open sourced the it announced in July for helping users port old .NET Framework applications to the new .NET Core framework.

  • Uno Platform Ports Windows Calculator to Linux

    Uno Platform has ported the famed Windows Calculator, open sourced last year, to Linux as part of a continuing "proof point" effort to demonstrate the reach of what it describes as the sole UI offering available to target Windows, WebAssembly, iOS, macOS, Android and Linux with single-codebase applications coded in C# and XAML.

Upcoming Events