DBMS > Datomic vs. Fauna vs. Memcached vs. Percona Server for MongoDB vs. PlanetScale
System Properties Comparison Datomic vs. Fauna vs. Memcached vs. Percona Server for MongoDB vs. PlanetScale
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | Datomic Xexclude from comparison | Fauna previously named FaunaDB Xexclude from comparison | Memcached Xexclude from comparison | Percona Server for MongoDB Xexclude from comparison | PlanetScale Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | Datomic builds on immutable values, supports point-in-time queries and uses 3rd party systems for durability | Fauna provides a web-native interface, with support for GraphQL and custom business logic that integrates seamlessly with the rest of the serverless ecosystem. The underlying globally distributed storage and compute platform is fast, consistent, and reliable, with a modern security infrastructure. | In-memory key-value store, originally intended for caching | A drop-in replacement for MongoDB Community Edition with enterprise-grade features. | Scalable, distributed, serverless MySQL database platform built on top of Vitess | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Relational DBMS | Document store Graph DBMS Relational DBMS Time Series DBMS | Key-value store | Document store | Relational DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Document store Spatial DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | www.datomic.com | fauna.com | www.memcached.org | www.percona.com/mongodb/software/percona-server-for-mongodb | planetscale.com | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | docs.datomic.com | docs.fauna.com | github.com/memcached/memcached/wiki | docs.percona.com/percona-distribution-for-mongodb | planetscale.com/docs | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Cognitect | Fauna, Inc. | Danga Interactive originally developed by Brad Fitzpatrick for LiveJournal | Percona | PlanetScale | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2012 | 2014 | 2003 | 2015 | 2020 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 1.0.6735, June 2023 | 1.6.27, May 2024 | 3.4.10-2.10, November 2017 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | commercial limited edition free | commercial | Open Source BSD license | Open Source GPL Version 2 | commercial | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Cloud-based only Only available as a cloud service | no | yes | no | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DBaaS offerings (sponsored links) Database as a Service Providers of DBaaS offerings, please contact us to be listed. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Implementation language | Java, Clojure | Scala | C | C++ | Go | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | All OS with a Java VM | hosted | FreeBSD Linux OS X Unix Windows | Linux | Docker Linux macOS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | yes | schema-free | schema-free | schema-free | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes | no | no | 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 | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | yes | yes | no | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | no | no | no | no | yes with proprietary extensions | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | RESTful HTTP API | RESTful HTTP API | Proprietary protocol | proprietary protocol using JSON | ADO.NET JDBC MySQL protocol ODBC | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | Clojure Java | C# Go Java JavaScript Python Ruby Scala Swift | .Net C C++ ColdFusion Erlang Java Lisp Lua OCaml Perl PHP Python Ruby | Actionscript C C# C++ Clojure ColdFusion D Dart Delphi Erlang Go Groovy Haskell Java JavaScript Lisp Lua MatLab Perl PHP PowerShell Prolog Python R Ruby Scala Smalltalk | Ada C C# C++ D Delphi Eiffel Erlang Haskell Java JavaScript (Node.js) Objective-C OCaml Perl PHP Python Ruby Scheme Tcl | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | yes Transaction Functions | user defined functions | no | JavaScript | yes proprietary syntax | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | By using transaction functions | no | no | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | none But extensive use of caching in the application peers | horizontal partitioning consistent hashing | none | Sharding | Sharding | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | none But extensive use of caching in the application peers | Multi-source replication | none Repcached, a Memcached patch, provides this functionallity | Source-replica replication | Multi-source replication Source-replica replication | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | no | no | no | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Immediate Consistency | Immediate Consistency | Eventual Consistency Immediate Consistency | Eventual Consistency across shards Immediate Consistency within a shard | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | yes | no | no | yes not for MyISAM storage engine | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | ACID | ACID | no | no | ACID at shard level | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes | yes | yes | yes table locks or row locks depending on storage engine | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes using external storage systems (e.g. Cassandra, DynamoDB, PostgreSQL, Couchbase and others) | yes | no | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities Is there an option to define some or all structures to be held in-memory only. | yes recommended only for testing and development | no | yes via In-Memory Engine | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | no | Identity management, authentication, and access control | yes using SASL (Simple Authentication and Security Layer) protocol | Access rights for users and roles | Users with fine-grained authorization concept no user groups or roles | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Datomic | Fauna previously named FaunaDB | Memcached | Percona Server for MongoDB | PlanetScale | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | Redis extends the lead in the DB-Engines key-value store ranking New DB-Engines Ranking shows the popularity of database management systems | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recent citations in the news | Atomic Canyon and ORNL develop revolutionary nuclear AI Nubank buys firm behind Clojure programming language Architecting Software for Leverage TerminusDB Takes on Data Collaboration with a git-Like Approach Brazil’s Nubank acquires US software firm Cognitect, creator of Clojure and Datomic provided by Google News | Slicing the Gordian Knot: A leap to real-time systems of truth Fauna Launches Distributed Document-Relational Database On Google Cloud Marketplace Fauna Adds Groundbreaking New Database Language and Seamless Developer Experience to Enterprise Proven ... Utah Natural Heritage Program CITES Trade Database surpasses 25 million trade transaction records provided by Google News | Why DDoS Threat Actors Are Shifting Their Tactics What are memcached servers, and why are they being used to launch record-setting DDoS attacks? Introducing mcrouter: A memcached protocol router for scaling memcached deployments Why Redis beats Memcached for caching Memcached DDoS: The biggest, baddest denial of service attacker yet provided by Google News | 5 Reasons to Run MongoDB on Kubernetes How to Plan Your MongoDB Upgrade FerretDB goes GA: Gives you MongoDB, without the MongoDB... DB or not DB: Open-sourcer Percona pushes out plethora of SQL and NoSQL tweaks in bid to win over suits 6 keys to MongoDB database security provided by Google News | PlanetScale ends free tier bid, sheds staff in profitability bid PlanetScale Ranked Number 188 Fastest-Growing Company in North America on the 2023 Deloitte Technology Fast ... PlanetScale forks MySQL to add vector support PlanetScale Named to Fortune 2023 Best Small Workplaces How to Migrate to PlanetScale's Serverless Database provided by Google News |
Share this page