Announcing the FoundationDB Record Layer
FoundationDB (via Will Wilson, Hacker News):
The Record Layer stores structured data, just like a relational database. Databases managed by the Record Layer support records with fields and types, an evolving schema, complex primary and secondary indexes, and declarative query execution. The Record Layer also includes features not typically found in a traditional relational database, such as support for complex nested data types, indexes on the commit-time of records, and indexes and queries that span different types of records.
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.
[…]
Together, the Record Layer and FoundationDB form the backbone of Apple’s CloudKit. We wrote a paper describing how we built the Record Layer to run at massive scale and how CloudKit uses it. Today, you can read the preprint to learn more.
Previously: Apple Open Sources FoundationDB, Exploring the New iWork File Formats, Swift Protobuf.