News

Apple Open Sources FoundationDB, a Distributed Datastore

Many database developers were thrilled with Apple's recent decision to open source FoundationDB, a distributed Big Data datastore it acquired three years ago.

The multi-model NoSQL database -- designed for deployment across clusters of commodity servers -- is known for its approach of adding "layers" to its key-value core. That is, document store, graph functionality and so on can be added through layers integrated with the core.

Apple said it has high hopes that FoundationDB can lead the next generation of distributed databases with its core support of ACID transactions for high data consistency.

"The great thing is that FoundationDB is already well-established -- it's actively developed and has years of production use," Apple said in a post last week. "We intend to drive FoundationDB forward as a community project and we welcome your participation."

While many developers decried the seeming "death" of FoundationDB when Apple acquired it in 2015 reportedly for internal use, the open source move was lauded by many more developers.

"This is INCREDIBLE news! FoundationDB is the greatest piece of software I've ever worked on or used, and an amazing primitive for anybody who's building distributed systems," said one post on Hacker News. "The short version is that FDB is a massively scalable and fast transactional distributed database with some of the best testing and fault-tolerance on earth[1]. It's in widespread production use at Apple and several other major companies.

"But the really interesting part is that it provides an extremely efficient and low-level interface for any other system that needs to scalably store consistent state," continued the Hacker News reader, who appeared to be Will Wilson, associated with the former FoundationDB company.

With the project's core source code now parked on GitHub, Apple invited community volunteers to collaborate on its further development in the following ways:

  • Ask questions on the FoundationDB community forums: forums.foundationdb.org. We have categories for user-related questions (how do I use X) as well as development questions (I am digging into the FoundationDB core and want to change Y). Say hello!
  • Help improve the software by reporting bugs through GitHub issues.
  • Make contributions to the core software and documentation (please see the project's contribution guide).

More information on the database can be found on foundationdb.org.

About the Author

David Ramel is an editor and writer for Converge360.