Apple uses Foundation DB Record Layer to support applications and services for hundreds of millions of users
Apple-owned company FoundationDB has announced the open source release of the FoundationDB Record Layer, which powers CloudKit.
The Record Layer may be used directly or provides an excellent foundational layer on which more complex systems can be constructed.
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.
Record Layer used by Apple
Apple, which acquired FoundationDB in 2015, had earlier announced its decision of making the cloud database open source.
This is also the first time that Apple has officially confirmed that CloudKit is powered by FoundationDB. The Record Layer is used in production at Apple to support applications and services for hundreds of millions of users, says the company in their open source announcement.
Today we are releasing the FoundationDB Record Layer, which provides relational database semantics on top of FoundationDB. This layer features schema management, indexing facilities, and a rich set of query capabilities. The Record Layer is used in production at Apple to support applications and services for hundreds of millions of users.
Together, the Record Layer and FoundationDB form the backbone of Apple’s CloudKit.
Manages millions of independent databases
The Apple-owned company says – Record Layer is built for a massive scale, allowing millions of discrete database instances to be managed within a single FoundationDB cluster. Its design and core feature set were built to scale to many millions of concurrent users and a diverse ecosystem of client applications each with unique data models and query access patterns.
As per the company, FoundationDB was designed as a highly scalable key-value store with a simple API. Layers extend the functionality of the database by adding features and data models to allow new storage access patterns.
FoundationDB further claims that Record Layer operates in a completely stateless manner and is built from the ground up for massive multi-tenancy, encapsulating and isolating all of a tenant’s state.
The company has also released a paper describing how they built the Record Layer to run at massive scale and how CloudKit uses it. One can read the paper here.