FoundationDB Goes Open Source as Apple Continues Server-Side Push

Apple has continued its open-sourcing of server-side tools. First came SwiftNIO; and now it’s FoundationDB.

FoundationDB is a distributed, transactional key-value store that was originally billed as a rival to NoSQL. It supports ACID transactions, which helps guarantee the validity of submissions when events such as power outages occur.

Its strength comes with how it handles multiple transactions at once. If you were to make several different transactions at once (such as send money to a friend while debiting your account from another source), they would be considered one transaction.

FoundationDB is best for distributed commodity servers, which makes it a powerful enterprise tool. Via GitHub, Apple writes: “It is especially well-suited for read/write workloads but also has excellent performance for write-intensive workloads.”

FoundationDB

Apple hasn’t explicitly said as much, but it may have been using FoundationDB for iCloud the past few years (it acquired the platform in 2015). It could have also been used for the App Store, and/or iTunes.

Whatever its application, FoundationDB makes a strong case for spinning up your own server-side applications and services using Apple’s open-source tools. SwiftNIO is described as “like Netty, but written for Swift.” Netty supports Java, and FoundationDB is written in Java (we’re not aware of anyone using the two in tandem, but we’d assume that’s coming).

In a blog post announcing it was going open source, the platform’s team writes: “We believe FoundationDB can become the foundation of the next generation of distributed databases.” This essentially precludes it for use in the blockchain, as distributed databases assume all machines are trustworthy.

We think this is a timely release for the open source community. As we’ve highlighted, building a bespoke login system for an app or service can be difficult, but FoundationDB may help more developers feel comfortable doing so. As we’ve recently learned, social plugins are just as weak as the platforms they’re attached to.

Related