DBMS > Citus vs. Google Cloud Spanner vs. Oracle Rdb vs. RocksDB vs. XTDB
System Properties Comparison Citus vs. Google Cloud Spanner vs. Oracle Rdb vs. RocksDB vs. XTDB
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | Citus Xexclude from comparison | Google Cloud Spanner Xexclude from comparison | Oracle Rdb Xexclude from comparison | RocksDB Xexclude from comparison | XTDB formerly named Crux Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | Scalable hybrid operational and analytics RDBMS for big data use cases based on PostgreSQL | A horizontally scalable, globally consistent, relational database service. It is the externalization of the core Google database that runs the biggest aspects of Google, like Ads and Google Play. | Embeddable persistent key-value store optimized for fast storage (flash and RAM) | A general purpose database with bitemporal SQL and Datalog and graph queries | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Relational DBMS | Relational DBMS | Relational DBMS | Key-value store | Document store | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Document store | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | www.citusdata.com | cloud.google.com/spanner | www.oracle.com/database/technologies/related/rdb.html | rocksdb.org | github.com/xtdb/xtdb www.xtdb.com | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | docs.citusdata.com | cloud.google.com/spanner/docs | www.oracle.com/database/technologies/related/rdb-doc.html | github.com/facebook/rocksdb/wiki | www.xtdb.com/docs | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Oracle, originally developed by Digital Equipment Corporation (DEC) | Facebook, Inc. | Juxt Ltd. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2010 | 2017 | 1984 | 2013 | 2019 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 8.1, December 2018 | 7.4.1.1, 2021 | 9.4.0, June 2024 | 1.19, September 2021 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | Open Source AGPL, commercial license also available | commercial | commercial | Open Source BSD | Open Source MIT License | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Cloud-based only Only available as a cloud service | no | yes | no | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DBaaS offerings (sponsored links) Database as a Service Providers of DBaaS offerings, please contact us to be listed. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Implementation language | C | C++ | Clojure | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | Linux | hosted | HP Open VMS | Linux | All OS with a Java 8 (and higher) VM Linux | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | yes | yes | Flexible Schema (defined schema, partial schema, schema free) | schema-free | schema-free | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes | yes | yes | no | yes, extensible-data-notation format | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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. | yes specific XML type available, but no XML query functionality | no | no | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | yes | yes | yes | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | yes standard, with numerous extensions | yes Query statements complying to ANSI 2011 | yes | no | limited SQL, making use of Apache Calcite | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | ADO.NET JDBC native C library ODBC streaming API for large objects | gRPC (using protocol buffers) API JDBC At present, JDBC supports read-only queries. No support for DDL or DML statements. RESTful HTTP API | C++ API Java API | HTTP REST JDBC | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | .Net C C++ Delphi Java JavaScript (Node.js) Perl PHP Python Tcl | Go Java JavaScript (Node.js) Python | C C++ Go Java Perl Python Ruby | Clojure Java | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | user defined functions realized in proprietary language PL/pgSQL or with common languages like Perl, Python, Tcl etc. | no | no | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | yes | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | Sharding | Sharding | horizontal partitioning | none | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | Source-replica replication other methods possible by using 3rd party extensions | Multi-source replication with 3 replicas for regional instances. | yes | yes, each node contains all data | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | no | yes using Google Cloud Dataflow | no | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Immediate Consistency | Immediate Consistency | Immediate Consistency | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | yes | yes by using interleaved tables, this features focuses more on performance improvements than on referential integrity | yes | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | ACID | ACID Strict serializable isolation | yes, on a single node | yes | ACID | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes | yes | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes | yes | yes | yes | yes, flexibel persistency by using storage technologies like Apache Kafka, RocksDB or LMDB | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities Is there an option to define some or all structures to be held in-memory only. | no | no | no | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | fine grained access rights according to SQL-standard | Access rights for users, groups and roles based on Google Cloud Identity and Access Management (IAM) | 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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Citus | Google Cloud Spanner | Oracle Rdb | RocksDB | XTDB formerly named Crux | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recent citations in the news | Microsoft acquires Citus Data, re-affirming its commitment to Open Source and accelerating Azure PostgreSQL performance and scale Ubicloud wants to build an open source alternative to AWS Microsoft acquires Citus Data, creators of a cloud-friendly version of the PostgreSQL database Microsoft buys an open source database startup to give it an edge against Amazon Web Services Microsoft acquires another open-source company, Citus Data provided by Google News | Google Cloud Spanner gets dual-region configuration option Google Cloud adds graph and vector search features to Spanner database Google Cloud Enhances Spanner with Dual-Region Configuration New features make Google's Spanner a database for AI Google Cloud expands its database portfolio with new AI capabilities provided by Google News | Oracle Adds New AI-Enabling Features To MySQL HeatWave Oracle Business Model 2013 Data Science Salary Survey provided by Google News | Linux 6.9 Drives AMD 4th Gen EPYC Performance Even Higher For Some Workloads Meta’s Velox Means Database Performance Is Not Subject To Interpretation Facebook’s MyRocks Truly Rocks! Did Rockset Just Solve Real-Time Analytics? Power your Kafka Streams application with Amazon MSK and AWS Fargate provided by Google News |
Share this page