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.
Apple purchased FoundationDB back in 2015, and made the FoundationDB core open source in April 2018.
This article, "Apple-Owned Company FoundationDB Open Sources FoundationDB Record Layer Used by CloudKit" first appeared on MacRumors.com
Discuss this article in our forums