DBMS > Google Cloud Spanner vs. KairosDB vs. Neo4j vs. SurrealDB vs. Tarantool
System Properties Comparison Google Cloud Spanner vs. KairosDB vs. Neo4j vs. SurrealDB vs. Tarantool
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | Google Cloud Spanner Xexclude from comparison | KairosDB Xexclude from comparison | Neo4j Xexclude from comparison | SurrealDB Xexclude from comparison | Tarantool Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | 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. | Distributed Time Series DBMS based on Cassandra or H2 | Scalable, ACID-compliant graph database designed with a high-performance distributed cluster architecture, available in self-hosted and cloud offerings | A fully ACID transactional, developer-friendly, multi-model DBMS | In-memory computing platform with a flexible data schema for efficiently building high-performance applications | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Relational DBMS | Time Series DBMS | Graph DBMS | Document store Graph DBMS | Document store Key-value store Relational DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Spatial DBMS ![]() | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | cloud.google.com/spanner | github.com/kairosdb/kairosdb | neo4j.com | surrealdb.com | www.tarantool.io | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | cloud.google.com/spanner/docs | kairosdb.github.io | neo4j.com/docs | surrealdb.com/docs | www.tarantool.io/en/doc | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Neo4j, Inc. | SurrealDB Ltd | VK | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2017 | 2013 | 2007 | 2022 | 2008 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 1.2.2, November 2018 | 5.23, August 2024 | v1.5.0, May 2024 | 2.10.0, May 2022 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License ![]() | commercial | Open Source ![]() | Open Source ![]() | Open Source | Open Source ![]() | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Cloud-based only ![]() | yes | no | no | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DBaaS offerings (sponsored links) ![]() Providers of DBaaS offerings, please contact us to be listed. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Implementation language | Java | Java, Scala | Rust | C and C++ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | hosted | Linux OS X Windows | Linux ![]() OS X Solaris Windows | Linux macOS Windows | BSD Linux macOS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | yes | schema-free | schema-free and schema-optional | schema-free | Flexible data schema: relational definition for tables with ability to store json-like documents in columns | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing ![]() | yes | yes | yes | yes | string, double, decimal, uuid, integer, blob, boolean, datetime | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
XML support ![]() | no | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | yes | no | yes ![]() | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL ![]() | yes ![]() | no | no | SQL-like query language | Full-featured ANSI SQL support | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | gRPC (using protocol buffers) API JDBC ![]() RESTful HTTP API | Graphite protocol HTTP REST Telnet API | Bolt protocol Cypher query language Java API Neo4j-OGM ![]() RESTful HTTP API Spring Data Neo4j TinkerPop 3 | GraphQL RESTful HTTP API WebSocket | Open binary protocol | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | Go Java JavaScript (Node.js) Python | Java JavaScript ![]() PHP Python | .Net Clojure Elixir Go Groovy Haskell Java JavaScript Perl PHP Python Ruby Scala | Deno Go JavaScript (Node.js) Rust | C C# C++ Erlang Go Java JavaScript Lua Perl PHP Python Rust | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts ![]() | no | no | yes ![]() | Lua, C and SQL stored procedures | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | no | no | yes ![]() | yes, before/after data modification events, on replication events, client session events | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods ![]() | Sharding | Sharding ![]() | yes using Neo4j Fabric | Sharding, partitioned with virtual buckets by user defined affinity key. Live resharding for scale up and scale down without maintenance downtime. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods ![]() | Multi-source replication with 3 replicas for regional instances. | selectable replication factor ![]() | Causal Clustering using Raft protocol ![]() | Asynchronous replication with multi-master option Configurable replication topology (full-mesh, chain, star) Synchronous quorum replication (with Raft) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce ![]() | yes ![]() | no | no | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts ![]() | Immediate Consistency | Eventual Consistency ![]() Immediate Consistency ![]() | Causal and Eventual Consistency configurable in Causal Cluster setup Immediate Consistency in stand-alone mode | Casual consistency across sharding partitions Eventual consistency within replicaset partition ![]() Immediate Consistency within single instance Sequential consistency including linearizable read within replicaset partition ![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys ![]() | yes ![]() | no | yes ![]() | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts ![]() | ACID ![]() | no | ACID | ACID | ACID, with serializable isolation and linearizable read (within partition); Configurable MVCC (within partition); No cross-shard distributed transactions | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency ![]() | yes | yes | yes | yes | yes, cooperative multitasking | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability ![]() | yes | yes | yes | yes | yes, write ahead logging | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities ![]() | no | no | yes, full featured in-memory storage engine with persistence | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts ![]() | Access rights for users, groups and roles based on Google Cloud Identity and Access Management (IAM) | simple password-based access control | Users, roles and permissions. Pluggable authentication with supported standards (LDAP, Active Directory, Kerberos) | yes, based on authentication and database rules | Access Control Lists Mutual TLS authentication for Tarantol Enterprise Password based authentication Role-based access control (RBAC) and LDAP for Tarantol Enterprise Users and Roles | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More information provided by the system vendor | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Google Cloud Spanner | KairosDB | Neo4j | SurrealDB | Tarantool | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
News | This Week in Neo4j: NODES, Knowledge Graph, Graph Analytics, MCP and more Aura Graph Analytics: A Technical Deep Dive Introducing Neo4j Aura Graph Analytics: Scalable, Easy-to-Deploy Graph Analytics for Any Data Source Agentic GraphRAG for Commercial Contracts Simplify Modern Application Development With GraphQL on Neo4j AuraDB | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
We 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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Google Cloud Spanner | KairosDB | Neo4j | SurrealDB | Tarantool | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | Applying Graph Analytics to Game of Thrones MySQL, PostgreSQL and Redis are the winners of the March ranking The openCypher Project: Help Shape the SQL for Graphs | Data processing speed and reliability: in-memory synchronous replication Google Cloud Introduces HDD Tier for Spanner Database, Cutting Cold Storage Costs by 80% New features make Google's Spanner a database for AI Google Cloud Spanner gets dual-region configuration option Google Cloud adds graph and vector search features to Spanner database Google Releases Spanner Graph into General Availability provided by Google News Fig. 4. Analytics dashboard to visualize and correlate historical data... Real-Time Performance and Health Monitoring Using Netdata provided by Google News NASA jettisons Neo4j database for Memgraph citing costs Neo4j goes serverless, bringing graph analytics to any data source Latest Neo4j release aims to simplify graph technology Neo4j Launches Industry's First Graph Analytics Offering For Any Data Platform Android Studio Meerkat Feature Drop, Neo4j Aura Graph Analytics, and more software development news provided by Google News SurrealDB Launches Surreal Cloud, a Fully Managed Database Service That Tackles the Complexity Issues Faced by Developer Teams SurrealDB Empowers Developers to Build Applications with the Launch of SurrealDB University SurrealDB's Surreal Cloud debuts on AWS S3 for scalable multimodel database as a service SurrealDB is helping developers consolidate their databases London-based SurrealDB secures over €18.6 million aiming to disrupt database technology provided by Google News Tarantool Announces New Enterprise Version With Enhanced Scaling and Monitoring Capabilities VShard — horizontal scaling in Tarantool provided by Google News |
Share this page