DBMS > BoltDB vs. Neo4j vs. Tarantool vs. TypeDB vs. Virtuoso
System Properties Comparison BoltDB vs. Neo4j vs. Tarantool vs. TypeDB vs. Virtuoso
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | BoltDB Xexclude from comparison | Neo4j Xexclude from comparison | Tarantool Xexclude from comparison | TypeDB formerly named Grakn Xexclude from comparison | Virtuoso Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | An embedded key-value store for Go. | Scalable, ACID-compliant graph database designed with a high-performance distributed cluster architecture, available in self-hosted and cloud offerings | In-memory computing platform with a flexible data schema for efficiently building high-performance applications | TypeDB is a strongly-typed database with a rich and logical type system and TypeQL as its query language | Virtuoso is a multi-model hybrid-RDBMS that supports management of data represented as relational tables and/or property graphs | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Key-value store | Graph DBMS | Document store Key-value store Relational DBMS | 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. | Document store Graph DBMS Native XML DBMS Relational DBMS RDF store Search engine | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Spatial DBMS with Tarantool/GIS extension | Spatial DBMS | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | github.com/boltdb/bolt | neo4j.com | www.tarantool.io | typedb.com | virtuoso.openlinksw.com | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | neo4j.com/docs | www.tarantool.io/en/doc | typedb.com/docs | docs.openlinksw.com/virtuoso | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Neo4j, Inc. | VK | Vaticle | OpenLink Software | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2013 | 2007 | 2008 | 2016 | 1998 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 5.19, April 2024 | 2.10.0, May 2022 | 2.26.3, January 2024 | 7.2.11, September 2023 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | Open Source MIT License | Open Source GPL version3, commercial licenses available | Open Source BSD-2, source-available extensions (modules), commercial licenses for Tarantool Enterprise | Open Source GPL Version 3, commercial licenses available | Open Source GPLv2, extended commercial license available | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Cloud-based only Only available as a cloud service | no | no | no | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DBaaS offerings (sponsored links) Database as a Service Providers of DBaaS offerings, please contact us to be listed. | Neo4j Aura: Neo4j’s fully managed cloud service: The zero-admin, always-on graph database for cloud developers. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Implementation language | Go | Java, Scala | C and C++ | Java | C | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | BSD Linux OS X Solaris Windows | Linux Can also be used server-less as embedded Java database. OS X Solaris Windows | BSD Linux macOS | Linux OS X Windows | AIX FreeBSD HP-UX Linux OS X Solaris Windows | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | schema-free | schema-free and schema-optional | Flexible data schema: relational definition for tables with ability to store json-like documents in columns | yes | yes SQL - Standard relational schema RDF - Quad (S, P, O, G) or Triple (S, P, O) XML - DTD, XML Schema DAV - freeform filesystem objects, plus User Defined Types a/k/a Dynamic Extension Type | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | no | yes | string, double, decimal, uuid, integer, blob, boolean, datetime | 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 | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | no | yes pluggable indexing subsystem, by default Apache Lucene | yes | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | no | no | Full-featured ANSI SQL support | no | yes SQL-92, SQL-200x, SQL-3, SQLX | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | Bolt protocol Cypher query language Java API Neo4j-OGM Object Graph Mapper RESTful HTTP API Spring Data Neo4j TinkerPop 3 | Open binary protocol | gRPC protocol TypeDB Console (shell) TypeDB Studio (Visualisation software- previously TypeDB Workbase) | ADO.NET GeoSPARQL HTTP API JDBC Jena RDF API ODBC OLE DB RDF4J API RESTful HTTP API Sesame REST HTTP Protocol SOAP webservices SPARQL 1.1 WebDAV XPath XQuery XSLT | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | Go | .Net Clojure Elixir Go Groovy Haskell Java JavaScript Perl PHP Python Ruby Scala | C C# C++ Erlang Go Java JavaScript Lua Perl PHP Python Rust | All JVM based languages Groovy Java JavaScript (Node.js) Python Scala | .Net C C# C++ Java JavaScript Perl PHP Python Ruby Visual Basic | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | no | yes User defined Procedures and Functions | Lua, C and SQL stored procedures | no | yes Virtuoso PL | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | no | yes via event handler | yes, before/after data modification events, on replication events, client session events | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | none | 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. | Sharding by using Cassandra | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | none | Causal Clustering using Raft protocol available in in Enterprise Version only | Asynchronous replication with multi-master option Configurable replication topology (full-mesh, chain, star) Synchronous quorum replication (with Raft) | Multi-source replication by using Cassandra | Chain, star, and bi-directional replication Multi-source replication Source-replica replication | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | no | no | yes by using Apache Kafka and Apache Zookeeper | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | none | 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 when using asyncronous replication Immediate Consistency within single instance Sequential consistency including linearizable read within replicaset partition when using Raft | Immediate Consistency | Immediate Consistency | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | yes Relationships in graphs | yes | no substituted by the relationship feature | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | yes | ACID | ACID, with serializable isolation and linearizable read (within partition); Configurable MVCC (within partition); No cross-shard distributed transactions | ACID | ACID | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes | yes, cooperative multitasking | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes | yes | yes, write ahead logging | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities Is there an option to define some or all structures to be held in-memory only. | no | yes, full featured in-memory storage engine with persistence | no | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | no | Users, roles and permissions. Pluggable authentication with supported standards (LDAP, Active Directory, Kerberos) | 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 | yes at REST API level; other APIs in progress | Fine-grained Attribute-Based Access Control (ABAC) in addition to typical coarse-grained Role-Based Access Control (RBAC) according to SQL-standard. Pluggable authentication with supported standards (LDAP, Active Directory, Kerberos) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More information provided by the system vendor | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
BoltDB | Neo4j | Tarantool | TypeDB formerly named Grakn | Virtuoso | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Specific characteristics | Neo4j delivers graph technology that has been battle tested for performance and scale... » more | TypeDB is a polymorphic database with a conceptual data model, a strong subtyping... » more | Virtuoso is a modern multi-model RDBMS for managing data represented as tabular relations... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Competitive advantages | Neo4j is the market leader, graph database category creator, and the most widely... » more | TypeDB provides a new level of expressivity, extensibility, interoperability, and... » more | Performance & Scale — as exemplified by DBpedia and the LOD Cloud it spawned, i.e.,... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typical application scenarios | Real-Time Recommendations Master Data Management Identity and Access Management Network... » more | Life sciences : TypeDB makes working with biological data much easier and accelerates... » more | Used for — Analytics/BI Conceptual Data Virtualization Enterprise Knowledge Graphs... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Key customers | Over 800 commercial customers and over 4300 startups use Neo4j. Flagship customers... » more | Broad use across enterprises and governments including — European Union (EU) US Government... » more | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Market metrics | Neo4j boasts the world's largest graph database ecosystem with more than 140 million... » more | Largest installed-base of Multi-Model RDBMS for AI-friendly Knowledge Graphs Platform... » more | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Licensing and pricing models | GPL v3 license that can be used all the places where you might use MySQL. Neo4j Commercial... » more | Apache f or language drivers, and AGPL and Commercial for the database server. The... » more | Available in both Commercial Enterprise and Open Source (GPL v2) Editions Feature... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
News | Safeguarding Elections: How Graph Technology Powers Groundbreaking Research on Political Ads This Week in Neo4j: GraphRAG, Testcontainers, Metadata Management, App Dev and more Creating the GQL Database Language Standard This Week in Neo4j: GraphRAG, Knowledge Graphs, Open Source AI, GraphQL and more This Week in Neo4j: Nodes 2024, Data Modelling, Events, Knowledge Graphs and 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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
BoltDB | Neo4j | Tarantool | TypeDB formerly named Grakn | Virtuoso | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recent citations in the news | What I learnt from building 3 high traffic web applications on an embedded key value store. 4 Instructive Postmortems on Data Downtime and Loss Roblox’s cloud-native catastrophe: A post mortem How to Put a GUI on Ansible, Using Semaphore provided by Google News | Neo4j Announces Collaboration with Microsoft to Advance GenAI and Data Solutions USA - English - India - English Neo4j Empowers Syracuse University with $250K Grant to Tackle Misinformation in 2024 Elections Using Neo4j’s graph database for AI in Azure Neo4j Is Planning IPO on Nasdaq, Largest Owner Greenbridge Says Neo4j, Microsoft add graph features to Azure AI services provided by Google News | Tarantool Announces New Enterprise Version With Enhanced Scaling and Monitoring Capabilities Deploying Tarantool Cartridge applications with zero effort (Part 1) Deploying Tarantool Cartridge applications with zero effort (Part 2) Тarantool Cartridge: Sharding Lua Backend in Three Lines VShard — horizontal scaling in Tarantool 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 How Roche Discovered Novel Potential Gene Targets with TypeDB Modelling Biomedical Data for a Drug Discovery Knowledge Graph Bayer's Approach to Modelling and Loading Data at Scale provided by Google News |
Share this page