Apple introduced the release of 6.0.15 cross-platform DBMS FoundationDB for processing large sets of structured data. This is the first stable release of the sixth branch of the DBMS. FoundationDB is a class of NoSQL systems that manipulate data in key / value format. The database is used by Apple itself and supports such languages as C / C ++, Python, Perl, Ruby, Java, Go, Node.js and PHP.
Main new features:
- Now it is possible to host a cluster with storage and groups of nodes in different regions. In this case, one region receives write permissions, while the rest synchronously or asynchronously replicate data. In the event of a failure in the main region, the right to record is transferred to another.
- TLS-plugin is statically linked to client and server executable files, and not a separate library. Added support for verification of peers using the values specified in the subjectAltName certificate field. To do this, use the extension X.509 SAN (Subject Alternative Name). Added the ability to automatically reload certificates after renewal.
fileconfigurecommand has been added to the terminal, which allows you to configure the database based on a JSON document;
- Improved transaction logging, load balancing, transaction commit, key caching, and CPU utilization. Accelerated disaster recovery.
FoundationDB supports full-fledged transactions that meet ACID requirements. This DBMS can be used by other systems for distributed information storage in a consistent state. The use of different query languages is supported.
In addition, FoundationDB has these features:
- store any data types within the same database. Data is presented in a key / value format.
- work with SSD drives and a bunch of RAM + drive. In the latter case, only transaction logs are flushed to disk.
- easy to scale.
- to function effectively on standard equipment. As stated, the DBMS requires minimal hardware costs, but it can work with high loads.
- used in industrial infrastructure.
Apple acquired FoundationDB in 2015, and in April 2018 opened its source code. It is written in C ++ and is available under the Apache 2.0 license.