DBMS > Apache Impala vs. Neo4j vs. Redis vs. Tarantool
System Properties Comparison Apache Impala vs. Neo4j vs. Redis vs. Tarantool
Please select another system to include it in the comparison.
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | Apache Impala Xexclude from comparison | Neo4j Xexclude from comparison | Redis Xexclude from comparison | Tarantool Xexclude from comparison | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | Analytic DBMS for Hadoop | 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. | In-memory computing platform with a flexible data schema for efficiently building high-performance applications | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Relational DBMS | Graph DBMS | Key-value store Multiple data types and a rich set of operations, as well as configurable data expiration, eviction and persistence | Document store Key-value store Relational DBMS | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Document store | Document store with RedisJSON Graph DBMS with RedisGraph Spatial DBMS Search engine with RediSearch Time Series DBMS with RedisTimeSeries Vector DBMS | Spatial DBMS with Tarantool/GIS extension | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | impala.apache.org | neo4j.com | redis.com redis.io | www.tarantool.io | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | impala.apache.org/impala-docs.html | neo4j.com/docs | docs.redis.com/latest/index.html redis.io/docs | www.tarantool.io/en/doc | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Apache Software Foundation Apache top-level project, originally developed by Cloudera | Neo4j, Inc. | Redis project core team, inspired by Salvatore Sanfilippo Development sponsored by Redis Inc. | VK | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2013 | 2007 | 2009 | 2008 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 4.1.0, June 2022 | 5.23, August 2024 | 7.2.5, May 2024 | 2.10.0, May 2022 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 BSD-2, source-available extensions (modules), commercial licenses for Tarantool Enterprise | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Cloud-based only Only available as a cloud service | 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 | C++ | Java, Scala | C | C and C++ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | Linux | 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. | BSD Linux macOS | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | yes | schema-free and schema-optional | schema-free | Flexible data schema: relational definition for tables with ability to store json-like documents in columns | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes | yes | partial Supported data types are strings, hashes, lists, sets and sorted sets, bit arrays, hyperloglogs and geospatial indexes | string, double, decimal, uuid, integer, blob, boolean, datetime | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | yes | yes pluggable indexing subsystem, by default Apache Lucene | yes with RediSearch module | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | SQL-like DML and DDL statements | no | with RediSQL module | Full-featured ANSI SQL support | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | JDBC ODBC | 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 | Open binary protocol | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | All languages supporting JDBC/ODBC | .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 C# C++ Erlang Go Java JavaScript Lua Perl PHP Python Rust | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | yes user defined functions and integration of map-reduce | yes User defined Procedures and Functions | Lua; Redis Functions coming in Redis 7 (slides and Github) | Lua, C and SQL stored procedures | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | no | yes via event handler | publish/subscribe channels provide some trigger functionality; RedisGears | yes, before/after data modification events, on replication events, client session events | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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, partitioned with virtual buckets by user defined affinity key. Live resharding for scale up and scale down without maintenance downtime. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | selectable replication factor | 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 | Asynchronous replication with multi-master option Configurable replication topology (full-mesh, chain, star) Synchronous quorum replication (with Raft) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | yes query execution via MapReduce | no | through RedisGears | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | 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 | 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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | yes Relationships in graphs | no | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | no | ACID | Atomic execution of command blocks and scripts and optimistic locking | ACID, with serializable isolation and linearizable read (within partition); Configurable MVCC (within partition); No cross-shard distributed transactions | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes | yes Data access is serialized by the server | yes, cooperative multitasking | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes | yes | yes Configurable mechanisms for persistency via snapshots and/or operations logs | yes, write ahead logging | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities Is there an option to define some or all structures to be held in-memory only. | no | yes | yes, full featured in-memory storage engine with persistence | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | Access rights for users, groups and roles based on Apache Sentry and Kerberos | 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 | 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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Apache Impala | Neo4j | Redis | Tarantool | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Specific characteristics | Neo4j delivers graph technology that has been battle tested for performance and scale... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Competitive advantages | Neo4j is the market leader, graph database category creator, and the most widely... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typical application scenarios | Real-Time Recommendations Master Data Management Identity and Access Management Network... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Key customers | Over 800 commercial customers and over 4300 startups use Neo4j. Flagship customers... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Market metrics | Neo4j boasts the world's largest graph database ecosystem with more than 140 million... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Licensing and pricing models | GPL v3 license that can be used all the places where you might use MySQL. Neo4j Commercial... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
News | Elevate Fraud Detection With Neo4j on AWS: Uncover Hidden Patterns and Enhance Accuracy The Ethics of Generative AI: Understanding the Principles and Risks GraphSummit Europe 2024: Actionable Insights From Industry Leaders and Innovators This Week in Neo4j: Knowledge Graph, Data Loading, Olympics, CSV and more Neo4j Expands Cloud Database Capabilities to Power Enterprise-Scale Graph Deployments | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
We invite representatives of system vendors to contact us for updating and extending the system information, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Related products and services | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3rd parties | Redisson PRO: The ultra-fast Redis Java Client. » more 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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
We invite representatives of vendors of related products to contact us for presenting information about their offerings here. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More resources | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Apache Impala | Neo4j | Redis | 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 | 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 | Data processing speed and reliability: in-memory synchronous replication Apache Impala 4 Supports Operator Multi-Threading Apache Impala becomes Top-Level Project Cloudera brings Apache Iceberg data lake format to its Data Platform Hudi: Uber Engineering’s Incremental Processing Framework on Apache Hadoop Updates & Upserts in Hadoop Ecosystem with Apache Kudu provided by Google News Implementing GraphReader with Neo4j and LangGraph | by Tomaz Bratanic | Sep, 2024 Neo4j lowers barriers to graph technology with gen AI copilot, 15x read capacity Neo4j Announces Collaboration with Snowflake for Advanced AI Insights & Predictive Analytics Neo4j charts upward course for GraphRAG in graph databases Neo4j Transforms Its Cloud Database Portfolio to Accelerate Graph Adoption & GenAI for the Enterprise provided by Google News Majority of Redis users considering alternatives after less permissive licensing move With Valkey 8.0, the Linux Foundation thumbs its nose at Redis Redis debuts new data integration and AI features for its database Database dust-up: Are Redis users switching to Valkey? Valkey Emerges as Leading Open Source Alternative to Redis After Relicensing Row provided by Google News Deploying Tarantool Cartridge applications with zero effort (Part 1) VShard — horizontal scaling in Tarantool Accelerating PHP connectors for Tarantool using Async, Swoole, and Parallel provided by Google News |
Share this page