DBMS > FoundationDB vs. InfinityDB vs. PlanetScale vs. PostGIS vs. TinkerGraph
System Properties Comparison FoundationDB vs. InfinityDB vs. PlanetScale vs. PostGIS vs. TinkerGraph
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | FoundationDB Xexclude from comparison | InfinityDB Xexclude from comparison | PlanetScale Xexclude from comparison | PostGIS Xexclude from comparison | TinkerGraph Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Created as commercial project in 2013, FoundationDB has been acquired by Apple in March 2015 and was withdrawn from the market. As a consequence, the product was removed from the DB-Engines ranking. In April 2018, Apple open-sourced FoundationDB and it therefore reappears in the ranking. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | Ordered key-value store. Core features are complimented by layers. | A Java embedded Key-Value Store which extends the Java Map interface | Scalable, distributed, serverless MySQL database platform built on top of Vitess | Spatial extension of PostgreSQL | A lightweight, in-memory graph engine that serves as a reference implementation of the TinkerPop3 API | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Document store supported via specific layer Key-value store Relational DBMS supported via specific SQL-layer | Key-value store | Relational DBMS | Spatial DBMS | Graph DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Document store Spatial DBMS | Relational DBMS | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | github.com/apple/foundationdb | boilerbay.com | planetscale.com | postgis.net | tinkerpop.apache.org/docs/current/reference/#tinkergraph-gremlin | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | apple.github.io/foundationdb | boilerbay.com/infinitydb/manual | planetscale.com/docs | postgis.net/documentation | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | FoundationDB | Boiler Bay Inc. | PlanetScale | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2013 | 2002 | 2020 | 2005 | 2009 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 6.2.28, November 2020 | 4.0 | 3.4.2, February 2024 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | Open Source Apache 2.0 | commercial | commercial | Open Source GPL v2.0 | Open Source Apache 2.0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Cloud-based only Only available as a cloud service | no | no | yes | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DBaaS offerings (sponsored links) Database as a Service Providers of DBaaS offerings, please contact us to be listed. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Implementation language | C++ | Java | Go | C | Java | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | Linux OS X Windows | All OS with a Java VM | Docker Linux macOS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | schema-free some layers support schemas | yes nested virtual Java Maps, multi-value, logical ‘tuple space’ runtime Schema upgrade | yes | yes | schema-free | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | no some layers support typing | yes all Java primitives, Date, CLOB, BLOB, huge sparse arrays | yes | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
XML support Some form of processing data in XML format, e.g. support for XML data structures, and/or support for XPath, XQuery or XSLT. | no | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | no | no manual creation possible, using inversions based on multi-value capability | yes | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | supported in specific SQL layer only | no | yes with proprietary extensions | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | Access via java.util.concurrent.ConcurrentNavigableMap Interface Proprietary API to InfinityDB ItemSpace (boilerbay.com/docs/ItemSpaceDataStructures.htm) | ADO.NET JDBC MySQL protocol ODBC | TinkerPop 3 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | .Net C C++ Go Java JavaScript Node.js PHP Python Ruby Swift | Java | Ada C C# C++ D Delphi Eiffel Erlang Haskell Java JavaScript (Node.js) Objective-C OCaml Perl PHP Python Ruby Scheme Tcl | Groovy Java | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | in SQL-layer only | no | yes proprietary syntax | user defined functions | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | no | no | yes | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | Sharding | none | Sharding | yes based on PostgreSQL | none | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | yes | none | Multi-source replication Source-replica replication | yes based on PostgreSQL | none | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | no | no | no | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Linearizable consistency | Immediate Consistency READ-COMMITTED or SERIALIZED | Eventual Consistency across shards Immediate Consistency within a shard | Immediate Consistency | none | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | in SQL-layer only | no manual creation possible, using inversions based on multi-value capability | yes not for MyISAM storage engine | yes | yes Relationships in graphs | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | ACID | ACID Optimistic locking for transactions; no isolation for bulk loads | ACID at shard level | ACID | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes | yes table locks or row locks depending on storage engine | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes | yes | yes | yes | optional | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities Is there an option to define some or all structures to be held in-memory only. | no | yes | no | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | no | no | Users with fine-grained authorization concept no user groups or roles | yes based on PostgreSQL | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More information provided by the system vendorWe invite representatives of system vendors to contact us for updating and extending the system information, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Related products and servicesWe invite representatives of vendors of related products to contact us for presenting information about their offerings here. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More resources | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
FoundationDB | InfinityDB | PlanetScale | PostGIS | TinkerGraph | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | Spatial database management systems | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recent citations in the news | FoundationDB team's new venture, Antithesis, raises $47M to enhance software testing Stonebraker Seeks to Invert the Computing Paradigm with DBOS Antithesis raises $47M to launch an automated testing platform for software FoundationDB, a very interesting NoSQL database owned by Apple, is now an open-source project IBM Cloudant pulls plan to fund new foundational layer for CouchDB provided by Google News | PlanetScale ends free tier bid, sheds staff in profitability bid PlanetScale forks MySQL to add vector support PlanetScale Named to Fortune 2023 Best Small Workplaces How to Migrate to PlanetScale's Serverless Database PlanetScale review: Horizontally scalable MySQL in the cloud provided by Google News | Unit testing Apache TinkerPop transactions: From TinkerGraph to Amazon Neptune | Amazon Web Services Why developers like Apache TinkerPop, an open source framework for graph computing | Amazon Web Services InfiniteGraph Gets Support for Common Graph Database Language and More Introducing Gremlin query hints for Amazon Neptune | AWS Database Blog provided by Google News |
Share this page