DBMS > HBase vs. Neo4j vs. Redis vs. Riak KV vs. ScyllaDB
System Properties Comparison HBase vs. Neo4j vs. Redis vs. Riak KV vs. ScyllaDB
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | HBase Xexclude from comparison | Neo4j Xexclude from comparison | Redis Xexclude from comparison | Riak KV Xexclude from comparison | ScyllaDB Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | Wide-column store based on Apache Hadoop and on concepts of BigTable | Scalable, ACID-compliant graph database designed with a high-performance distributed cluster architecture, available in self-hosted and cloud offerings | Popular in-memory data platform used as a cache, message broker, and database that can be deployed on-premises, across clouds, and hybrid environments Redis focuses on performance so most of its design decisions prioritize high performance and very low latencies. | Distributed, fault tolerant key-value store | Cassandra and DynamoDB compatible wide column store | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Wide column store | Graph DBMS | Key-value store Multiple data types and a rich set of operations, as well as configurable data expiration, eviction and persistence | Key-value store with links between data sets and object tags for the creation of secondary indexes | Wide column store | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Document store with RedisJSON Graph DBMS with RedisGraph Spatial DBMS Search engine with RediSearch Time Series DBMS with RedisTimeSeries Vector DBMS | Key-value store | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | hbase.apache.org | neo4j.com | redis.com redis.io | www.scylladb.com | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | hbase.apache.org/book.html | neo4j.com/docs | docs.redis.com/latest/index.html redis.io/docs | www.tiot.jp/riak-docs/riak/kv/latest | docs.scylladb.com | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Apache Software Foundation Apache top-level project, originally developed by Powerset | Neo4j, Inc. | Redis project core team, inspired by Salvatore Sanfilippo Development sponsored by Redis Inc. | OpenSource, formerly Basho Technologies | ScyllaDB | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2008 | 2007 | 2009 | 2009 | 2015 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 2.3.4, January 2021 | 5.20, May 2024 | 7.2.5, May 2024 | 3.2.0, December 2022 | ScyllaDB Open Source 5.4.1, January 2024 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | Open Source Apache version 2 | Open Source GPL version3, commercial licenses available | Open Source source-available extensions (modules), commercial licenses for Redis Enterprise | Open Source Apache version 2, commercial enterprise edition | Open Source Open Source (AGPL), 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. | Aiven for Redis: Fully managed in-memory key-value store for all your caching and speedy lookup needs. | Scylla Cloud: Create real-time applications that run at global scale with Scylla Cloud, the industry’s most powerful NoSQL DBaaS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Implementation language | Java | Java, Scala | C | Erlang | C++ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | Linux Unix Windows using Cygwin | Linux Can also be used server-less as embedded Java database. OS X Solaris Windows | BSD Linux OS X Windows ported and maintained by Microsoft Open Technologies, Inc. | Linux OS X | Linux | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | schema-free, schema definition possible | schema-free and schema-optional | schema-free | schema-free | schema-free | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | options to bring your own types, AVRO | yes | partial Supported data types are strings, hashes, lists, sets and sorted sets, bit arrays, hyperloglogs and geospatial indexes | 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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | no | yes pluggable indexing subsystem, by default Apache Lucene | yes with RediSearch module | restricted | yes cluster global secondary indices | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | no | no | with RediSQL module | no | SQL-like DML and DDL statements (CQL) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | Java API RESTful HTTP API Thrift | Bolt protocol Cypher query language Java API Neo4j-OGM Object Graph Mapper RESTful HTTP API Spring Data Neo4j TinkerPop 3 | proprietary protocol RESP - REdis Serialization Protocol | HTTP API Native Erlang Interface | Proprietary protocol (CQL) compatible with CQL (Cassandra Query Language, an SQL-like language) RESTful HTTP API (DynamoDB compatible) Thrift | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | C C# C++ Groovy Java PHP Python Scala | .Net Clojure Elixir Go Groovy Haskell Java JavaScript Perl PHP Python Ruby Scala | C C# C++ Clojure Crystal D Dart Elixir Erlang Fancy Go Haskell Haxe Java JavaScript (Node.js) Lisp Lua MatLab Objective-C OCaml Pascal Perl PHP Prolog Pure Data Python R Rebol Ruby Rust Scala Scheme Smalltalk Swift Tcl Visual Basic | C unofficial client library C# C++ unofficial client library Clojure unofficial client library Dart unofficial client library Erlang Go unofficial client library Groovy unofficial client library Haskell unofficial client library Java JavaScript unofficial client library Lisp unofficial client library Perl unofficial client library PHP Python Ruby Scala unofficial client library Smalltalk unofficial client library | For CQL interface: C#, C++, Clojure, Erlang, Go, Haskell, Java, JavaScript, Node.js, Perl, PHP, Python, Ruby, Rust, Scala For DynamoDB interface: .Net, ColdFusion, Erlang, Groovy, Java, JavaScript, Perl, PHP, Python, Ruby | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | yes Coprocessors in Java | yes User defined Procedures and Functions | Lua; Redis Functions coming in Redis 7 (slides and Github) | Erlang | yes, Lua | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | yes | yes via event handler | publish/subscribe channels provide some trigger functionality; RedisGears | yes pre-commit hooks and post-commit hooks | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | Sharding | yes using Neo4j Fabric | Sharding Automatic hash-based sharding with support for hash-tags for manual sharding | Sharding no "single point of failure" | Sharding | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | Multi-source replication Source-replica replication | Causal Clustering using Raft protocol available in in Enterprise Version only | Multi-source replication with Redis Enterprise Pack Source-replica replication Chained replication is supported | selectable replication factor | selectable replication factor Representation of geographical distribution of servers is possible | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | yes | no | through RedisGears | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Immediate Consistency or Eventual Consistency | Causal and Eventual Consistency configurable in Causal Cluster setup Immediate Consistency in stand-alone mode | Eventual Consistency Causal consistency can be enabled in Active-Active databases Strong consistency with Redis Raft Strong eventual consistency with Active-Active | Eventual Consistency | Eventual Consistency Tunable Consistency can be individually decided for each write operation | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | yes Relationships in graphs | no | no links between data sets can be stored | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | Single row ACID (across millions of columns) | ACID | Atomic execution of command blocks and scripts and optimistic locking | no | no Atomicity and isolation are supported for single operations | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes | yes Data access is serialized by the server | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes | yes | yes Configurable mechanisms for persistency via snapshots and/or operations logs | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities Is there an option to define some or all structures to be held in-memory only. | yes | yes | yes in-memory tables | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | Access Control Lists (ACL) for RBAC, integration with Apache Ranger for RBAC & ABAC | Users, roles and permissions. Pluggable authentication with supported standards (LDAP, Active Directory, Kerberos) | Access Control Lists (ACLs): redis.io/docs/management/security/acl LDAP and Role-Based Access Control (RBAC) for Redis Enterprise Mutual TLS authentication: redis.io/docs/management/security/encryption Password-based authentication | yes, using Riak Security | Access rights for users can be defined per object | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More information provided by the system vendor | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
HBase | Neo4j | Redis | Riak KV | ScyllaDB | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Specific characteristics | Neo4j delivers graph technology that has been battle tested for performance and scale... » more | ScyllaDB is engineered to deliver predictable performance at scale. It’s adopted... » more | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Competitive advantages | Neo4j is the market leader, graph database category creator, and the most widely... » more | Highly-performant (efficiently utilizes full resources of a node and network; millions... » more | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typical application scenarios | Real-Time Recommendations Master Data Management Identity and Access Management Network... » more | ScyllaDB is ideal for applications that require high throughput and low latency at... » more | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Key customers | Over 800 commercial customers and over 4300 startups use Neo4j. Flagship customers... » more | Discord, Epic Games, Expedia, Zillow, Comcast, Disney+ Hotstar, Samsung, ShareChat,... » more | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Market metrics | Neo4j boasts the world's largest graph database ecosystem with more than 140 million... » more | ScyllaDB typically offers ~75% total cost of ownership savings, with ~5X higher throughput... » more | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Licensing and pricing models | GPL v3 license that can be used all the places where you might use MySQL. Neo4j Commercial... » more | ScyllaDB Open Source - free open source software (AGPL) ScyllaDB Enterprise - subscription-based... » more | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
News | This Week in Neo4j: Importing Data, NODES, GenAI, Going Meta and more openCypher Will Pave the Road to GQL for Cypher Implementers 7 Tips for Submitting Your NODES 2024 Talk How to Configure Neo4j Aura With AWS PrivateLink This Week in Neo4j: Podcast, GraphRAG, GraphQL, Chatbot and more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
We invite representatives of system vendors to contact us for updating and extending the system information, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Related products and services | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3rd parties | CData: Connect to Big Data & NoSQL through standard Drivers. » more Navicat for Redis: the award-winning Redis management tool with an intuitive and powerful graphical interface. » more Redisson PRO: The ultra-fast Redis Java Client. » more Aiven for Redis: Fully managed in-memory key-value store for all your caching and speedy lookup needs. » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
We invite representatives of vendors of related products to contact us for presenting information about their offerings here. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More resources | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
HBase | Neo4j | Redis | Riak KV | ScyllaDB | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | Cloudera's HBase PaaS offering now supports Complex Transactions Why is Hadoop not listed in the DB-Engines Ranking? | 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 | PostgreSQL is the DBMS of the Year 2018 MySQL, PostgreSQL and Redis are the winners of the March ranking MongoDB is the DBMS of the year, defending the title from last year | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recent citations in the news | What Is HBase? Less Components, Higher Performance: Apache Doris instead of ClickHouse, MySQL, Presto, and HBase HBase: The database big data left behind Monitor Apache HBase on Amazon EMR using Amazon Managed Service for Prometheus and Amazon Managed ... HydraBase – The evolution of HBase@Facebook - Engineering at Meta provided by Google News | Neo4j Announces Collaboration with Microsoft to Advance GenAI and Data Solutions USA - English - India - English Neo Technology Announces Neo4j GraphDays Events in Seattle and Silicon Valley Neo4j CTO says new Graph Query Language standard will have 'massive ripple effects' Neo4j Is Planning IPO on Nasdaq, Largest Owner Greenbridge Says Give Your Graph Workload a Cost-Performance Boost with Neo4j and AWS Graviton | Amazon Web Services provided by Google News | Redis Interview Questions(4): The principle and application scenarios of the Set data type Redis acquires storage engine startup Speedb to enhance its open-source database AWS announces vector search for Amazon MemoryDB for Redis (Preview) Linux Foundation Backs 'Valkey' Open-Source Fork of Redis Redis expands data management capabilities with Speedb acquisition – Blocks and Files provided by Google News | Basho Revamps Riak Open-Source Database Riak NoSQL Database: Use Cases and Best Practices Basho, Maker of Riak NoSQL Database, Raises $25M Riak NoSQL snapped up by Bet365 Basho to Bolster Riak with DB Plug-Ins provided by Google News | ScyllaDB Raises $43M to Take on MongoDB at Scale, Push Database Performance to New Levels Sleeping at Scale - Delivering 10k Timers per Second per Node with Rust, Tokio, Kafka, and Scylla Running ScyllaDB NoSQL on Kubernetes with Spot Instances ScyllaDB on AWS is a NoSQL Database Built for Gigabyte-to-Petabyte Scale | Amazon Web Services ScyllaDB Database Review | eWeek provided by Google News |
Share this page