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

In a bid to attract more developers to its Berkeley DB open source embeddable database, Oracle this week 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 vice president 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 and 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 applications. 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 said. "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 a freelance journalist and author based in Mountain View, CA.

Featured

  • digital data protection and cyber security

    White House Launches New AI Security Framework

    President Donald Trump has issued a new executive order aimed at maintaining United States AI leadership while addressing the security risks posed by increasingly powerful AI systems.

  • Glowing digital padlock breaking into tiny cubic fragments over complex circuit board background

    Report: Basic Security Failures Continue to Fuel Enterprise Breaches

    Despite years of investment in cybersecurity technologies, many enterprise breaches still begin with familiar weaknesses, according to a new report from SonicWall.

  • Blue digital wireframe classical building structure

    Before AI, Fix Your Data

    Institutions don't have to solve every data problem before they can begin using AI responsibly. But they do need to treat information as a strategic asset — not a byproduct of operations — and start building toward AI-ready data now.

  • abstract smartphone translucent screen displaying AI interface

    Apple Introduces Redesigned Siri AI

    At its recent Worldwide Developers Conference, Apple introduced Siri AI, a redesigned version of its voice assistant that Apple describes in its own announcement as "a profoundly more capable and personal assistant." The update is intended to make Siri more conversational, more context-aware, and more useful across iPhone, iPad, Mac, Apple Watch, and Vision Pro.