Apple-owned company FoundationDB today announced the open source release of the FoundationDB Record Layer, which it says offers up relational database semantics on top of FoundationDB with schema management, indexing facilities, and a "rich set of query capabilities.
Apple uses the Record Layer to support applications and services for hundreds of millions of users, and combined with FoundationDB, it forms the backbone of Apple's CloudKit service.
Built on top of FoundationDB, the Record Layer inherits FoundationDB's strong ACID semantics, reliability, and performance in a distributed setting. The Record Layer also uses FoundationDB's transactional semantics to provide features similar to a traditional relational database, but in a distributed setting. For example, the Record Layer's secondary indexes are maintained transactionally, so they're always up-to-date with the latest changes to the data. Transactions reduce the number of bugs in application code and greatly simplify application development.
FoundationDB also wrote a full paper describing how the Record Layer was built to run at a massive scale and just how CloudKit uses it. That paper is available in PDF form here.
In a nutshell, CloudKit uses the Record Layer to host billions of independent databases, and its feature set lets CloudKit provide rich APIs and strong semantics with improved scalability and reduced maintenance.
FoundationDB has also written a getting started guide designed to walk users through creating an application that uses the Record Layer, along with a detailed overview and a forum, all of which is available via the open source announcement.