FoundationDB 6.0.15, our first major release since open sourcing FoundationDB in April, is now officially available!
The latest FoundationDB release can be downloaded and installed as binaries from the downloads page (available for macOS, Windows, Linux), or as source from our GitHub repository. If you're already running FDB, also see our upgrade instructions.
The FoundationDB 6.0 series features an architectural shift in the approach to cross-region replication, improving how FoundationDB can be managed as a production system. Among the key improvements:
- New multi-region support within single clusters
- TLS improved for operational flexibility
- Faster failure recovery in a number of situations
A full list of features, fixes, and other changes are documented in our release notes.
New multi-region support and seamless failover
FoundationDB 6.0 introduces native multi-region support to dramatically increase your database's global availability. Seamless failover between regions is now possible, allowing your cluster to survive the near-simultaneous loss of an entire region with no service interruption. These features can be deployed so clients experience low-latency, single-region writes.
FoundationDB now has the flexibility to run in either multiple or single regions, offering greater control over how failover scenarios are managed. If you choose a multi-region configuration, one region will operate as the write authority by default. If an availability zone were to experience an outage, FoundationDB would automatically transfer authority to the other region without any data loss. Alternatively, if you choose to run FoundationDB in a single region, a FoundationDB cluster can now be configured to intelligently make use of multiple AZs for tolerance of an instant loss of an AZ.
These features were made possible by adding several new concepts to FoundationDB:
- Region locality: When FoundationDB stores data to a disk, whether on a storage server or transaction log, it now has awareness of the region the disk is in. Locality information makes new features within FoundationDB possible, including the ability to prioritize process responsibilities so that region-local operations are always preferred.
- Bandwidth-conserving replication: New functionality conserves bandwidth when replicating data over expensive, high-latency intra-region links. This replication strategy sends a single copy of data between regions and then redistributes the data to replicas on the remote side.
- Region failure modes: The addition of multi-region support led us to rethink our response to failures across the codebase. FoundationDB has always been robust against machine failures and assumed these failures to be permanent. The response to a failure was to immediately copy data onto other machines. Region or AZ failures are, however, temporary and expensive to recover from, since copying the entire database's contents over the WAN is expensive.
These architectural changes open up a host of possibilities for future replication configurations and datacenter layouts. To learn more about configuring region settings, please check out the updated documentation and discuss these changes further on the FoundationDB forums.
Thanks to our contributors
Thanks to those who contributed to the 6.0 series: A.J. Beamon, Alec Grieser, Alex Miller, Alvin Moore, Balachandar Namasivayam, Bhaskar Muppana, Caleb Spare, Clement Pang, Evan Tschannen, John Brownlee, Justin Lowery, Richard Low, Steve Atherton, Jason Moody, and Ryan Worl.
Community feedback and contributions are welcome! If you’d like to contribute back to the project please see our contributors guide.