DBMS > Google Cloud Spanner vs. Memgraph vs. NebulaGraph vs. TerarkDB vs. TypeDB
System Properties Comparison Google Cloud Spanner vs. Memgraph vs. NebulaGraph vs. TerarkDB vs. TypeDB
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | Google Cloud Spanner Xexclude from comparison | Memgraph Xexclude from comparison | NebulaGraph Xexclude from comparison | TerarkDB Xexclude from comparison | TypeDB formerly named Grakn 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. | An open source graph database built for real-time streaming and compatible with Neo4j | A distributed, linear scalable, high perfomant Graph DBMS | A key-value store forked from RocksDB with advanced compression algorithms. It can be used standalone or as a storage engine for MySQL and MongoDB | TypeDB is a strongly-typed database with a rich and logical type system and TypeQL as its query language | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Relational DBMS | Graph DBMS | Graph DBMS | Key-value store | Graph DBMS Relational DBMS Often described as a 'hyper-relational' database, since it implements the 'Entity-Relationship Paradigm' to manage complex data structures and ontologies. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | cloud.google.com/spanner | memgraph.com | github.com/vesoft-inc/nebula www.nebula-graph.io | github.com/bytedance/terarkdb | typedb.com | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | cloud.google.com/spanner/docs | memgraph.com/docs | docs.nebula-graph.io | bytedance.larkoffice.com/docs/doccnZmYFqHBm06BbvYgjsHHcKc | typedb.com/docs | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Social network pages | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Memgraph Ltd | Vesoft Inc. | ByteDance, originally Terark | Vaticle | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2017 | 2017 | 2019 | 2016 | 2016 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 2.26.3, January 2024 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | commercial | Open Source BSL 1.1; commercial license for enterprise edition available | Open Source Apache Version 2.0 + Common Clause 1.0 | commercial restricted open source version available | Open Source GPL Version 3, commercial licenses available | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Cloud-based only Only available as a cloud service | yes | no | no | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DBaaS offerings (sponsored links) Database as a Service Providers of DBaaS offerings, please contact us to be listed. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Implementation language | C and C++ | C++ | C++ | Java | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | hosted | Linux | Linux | Linux OS X Windows | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | yes | schema-free and schema-optional | Strong typed schema | schema-free | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes | yes | yes | no | 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 | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | yes | yes Nebula Graph internally uses the Key-Value store RocksDB for persistency. The vertices, edges, and their properties are stored as Key while their values are stored as Value. The primary indexes are per Key and secondary indexes are per Value. | no | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | yes Query statements complying to ANSI 2011 | no | SQL-like query language | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | gRPC (using protocol buffers) API JDBC At present, JDBC supports read-only queries. No support for DDL or DML statements. RESTful HTTP API | Bolt protocol Cypher query language | Browser interface console (shell) Cypher Query Language GO Object Graph Mapper Java Object Graph Mapper NGBatis ORM framework for NebulaGraph and Spring-Boot Proprietary native API Python Object Graph Mapper Query language nGQL | C++ API Java API | gRPC protocol TypeDB Console (shell) TypeDB Studio (Visualisation software- previously TypeDB Workbase) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | Go Java JavaScript (Node.js) Python | .Net C C++ Elixir Go Haskell Java JavaScript PHP Python Ruby Scala | .Net C++ Go Java PHP Python | C++ Java | All JVM based languages Groovy Java JavaScript (Node.js) Python Scala | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | no | user defined functions | no | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | no | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | Sharding | Sharding dynamic graph partitioning | Sharding | none | Sharding by using Cassandra | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | Multi-source replication with 3 replicas for regional instances. | Multi-source replication using RAFT | Causal Clustering using Raft protocol | none | Multi-source replication by using Cassandra | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | yes using Google Cloud Dataflow | no | no | no | yes by using Apache Kafka and Apache Zookeeper | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Immediate Consistency | Immediate Consistency | Immediate Consistency | Immediate Consistency | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | yes by using interleaved tables, this features focuses more on performance improvements than on referential integrity | yes relationships in graphs | yes Relationships in graphs | no | no substituted by the relationship feature | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | ACID Strict serializable isolation | ACID with snapshot isolation | ACID | no | ACID | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes, multi-version concurrency control (MVCC) | yes | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes | yes with periodic snapshot and write-ahead logging (WAL) of changes | yes using RocksDB | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities Is there an option to define some or all structures to be held in-memory only. | no | yes | yes | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | Access rights for users, groups and roles based on Google Cloud Identity and Access Management (IAM) | Users, roles and permissions | Role-based access control | no | yes at REST API level; other APIs in progress | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More information provided by the system vendor | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Google Cloud Spanner | Memgraph | NebulaGraph | TerarkDB | TypeDB formerly named Grakn | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Specific characteristics | Memgraph directly connects to your streaming infrastructure so you and your team... » more | NebulaGraph is a truly distributed, linearly scalable, lightning-fast graph database,... » more | TypeDB is a polymorphic database with a conceptual data model, a strong subtyping... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Competitive advantages | Business Source License ensures a future for the Memgraph community MAGE algorithm... » more | NebulaGraph boasts the world's only graph database solution that is able to host... » more | TypeDB provides a new level of expressivity, extensibility, interoperability, and... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typical application scenarios | Graph algorithms in bioinformatics Social network analysis Cryptocurrency network... » more | Social networking Fraud detection Knowledge graph Data warehouse management Anti... » more | Life sciences : TypeDB makes working with biological data much easier and accelerates... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Key customers | Companies from a variety of industries have implemented NebulaGraph Database in production,... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Market metrics | At our very early stage, NebulaGraph has already received over 10,000 stars on GitHub... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Licensing and pricing models | You can check out our pricing model and licenses on the company website . » more | NebulaGraph is open source and free to use under Apache 2.0 license. » more | Apache f or language drivers, and AGPL and Commercial for the database server. The... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | Memgraph | NebulaGraph | TerarkDB | TypeDB formerly named Grakn | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recent citations in the news | Google Improves Cloud Spanner: More Compute and Storage without Price Increase Google makes its Cloud Spanner database service faster and more cost-efficient Google turns up the heat on AWS, claims Cloud Spanner is half the cost of DynamoDB Google Spanner: When Do You Need to Move to It? More AI Added to Google Cloud's Databases provided by Google News | Enhance Your Network with the Power of a Graph DB Graph database company Memgraph raises $9.34M Graph Database Market to grow at a CAGR of 19.9% from 2022 to 2027|Increased demand for low-latency queries is a ... Croatian graph database startup Memgraph raises €8M with Microsoft as key investor, plans to boost R&D Making Your Own Memory Graph To Detect Memory Issues On iOS provided by Google News | Vesoft (NebulaGraph) Recognized in the Gartner® Market Guide for Graph Database Management Systems NebulaGraph reaps from China's growing appetite for graph databases NebulaGraph Completes Series A to Scale Its Distributed Graph Database NebulaGraph Enterprise v5.0: The First Distributed Graph Database to Offer Native GQL Support provided by Google News | An Enterprise Data Stack Using TypeDB | by Daniel Crowe Speedb Goes Open Source With Its Speedb Data Engine, A Drop-in Replacement for RocksDB 195 Data Science Libraries You Should Reconsider Using | by Dimitris Effrosynidis Modelling Biomedical Data for a Drug Discovery Knowledge Graph How Roche Discovered Novel Potential Gene Targets with TypeDB provided by Google News |
Share this page