DBMS > Ehcache vs. Elasticsearch vs. Kdb vs. Memgraph vs. RethinkDB
System Properties Comparison Ehcache vs. Elasticsearch vs. Kdb vs. Memgraph vs. RethinkDB
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | Ehcache Xexclude from comparison | Elasticsearch Xexclude from comparison | Kdb Xexclude from comparison | Memgraph Xexclude from comparison | RethinkDB Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | A widely adopted Java cache with tiered storage options | A distributed, RESTful modern search and analytics engine based on Apache Lucene Elasticsearch lets you perform and combine many types of searches such as structured, unstructured, geo, and metric | High performance Time Series DBMS | An open source graph database built for real-time streaming and compatible with Neo4j | DBMS for the Web with a mechanism to push updated query results to applications in realtime. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Key-value store | Search engine | Time Series DBMS Vector DBMS | Graph DBMS | Document store | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Document store Spatial DBMS Vector DBMS | Relational DBMS | Spatial DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | www.ehcache.org | www.elastic.co/elasticsearch | kx.com | memgraph.com | rethinkdb.com | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | www.ehcache.org/documentation | www.elastic.co/guide/en/elasticsearch/reference/current/index.html | code.kx.com | memgraph.com/docs | rethinkdb.com/docs | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Social network pages | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Terracotta Inc, owned by Software AG | Elastic | Kx Systems, a division of First Derivatives plc | Memgraph Ltd | The Linux Foundation since July 2017 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2009 | 2010 | 2000 kdb was released 2000, kdb+ in 2003 | 2017 | 2009 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 3.10.0, March 2022 | 8.6, January 2023 | 3.6, May 2018 | 2.4.1, August 2020 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | Open Source Apache Version 2; commercial licenses available | Open Source Elastic License | commercial free 32-bit version | Open Source BSL 1.1; commercial license for enterprise edition available | Open Source Apache Version 2 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Implementation language | Java | Java | q | C and C++ | C++ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | All OS with a Java VM | All OS with a Java VM | Linux OS X Solaris Windows | Linux | Linux OS X Windows | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | schema-free | schema-free Flexible type definitions. Once a type is defined, it is persistent | yes | schema-free and schema-optional | schema-free | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes | yes | yes | yes | yes string, binary, float, bool, date, geometry | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | yes | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | no | yes All search fields are automatically indexed | yes table attribute 'grouped' | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | no | SQL-like query language | SQL-like query language (q) | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | JCache | Java API RESTful HTTP/JSON API | HTTP API JDBC Jupyter Kafka ODBC WebSocket | Bolt protocol Cypher query language | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | Java | .Net Groovy Community Contributed Clients Java JavaScript Perl PHP Python Ruby | C C# C++ Go J Java JavaScript Lua MatLab Perl PHP Python R Scala | .Net C C++ Elixir Go Haskell Java JavaScript PHP Python Ruby Scala | C community-supported driver C# community-supported driver C++ community-supported driver Clojure community-supported driver Dart community-supported driver Erlang community-supported driver Go community-supported driver Haskell community-supported driver Java official driver JavaScript (Node.js) official driver Lisp community-supported driver Lua community-supported driver Objective-C community-supported driver Perl community-supported driver PHP community-supported driver Python official driver Ruby official driver Scala community-supported driver | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | no | yes | user defined functions | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | yes Cache Event Listeners | yes by using the 'percolation' feature | yes with views | Client-side triggers through changefeeds | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | Sharding by using Terracotta Server | Sharding | horizontal partitioning | Sharding dynamic graph partitioning | Sharding range based | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | yes by using Terracotta Server | yes | Source-replica replication | Multi-source replication using RAFT | Source-replica replication | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | no | ES-Hadoop Connector | no similar paradigm used for internal processing | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Tunable Consistency (Strong, Eventual, Weak) | Eventual Consistency Synchronous doc based replication. Get by ID may show delays up to 1 sec. Configurable write consistency: one, quorum, all | Immediate Consistency | Immediate Consistency | Immediate Consistency | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | no | yes | yes relationships in graphs | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | yes supports JTA and can work as an XA resource | no | no | ACID with snapshot isolation | Atomic single-document operations | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes | yes | yes, multi-version concurrency control (MVCC) | yes MVCC based | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes using a tiered cache-storage approach | yes | yes | yes with periodic snapshot and write-ahead logging (WAL) of changes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities Is there an option to define some or all structures to be held in-memory only. | yes | Memcached and Redis integration | yes | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | no | rights management via user accounts | Users, roles and permissions | yes users and table-level permissions | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More information provided by the system vendor | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Ehcache | Elasticsearch | Kdb | Memgraph | RethinkDB | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Specific characteristics | Integrated columnar database & programming system for streaming, real time and historical... » more | Memgraph directly connects to your streaming infrastructure so you and your team... » more | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Competitive advantages | provides seamless scalability; runs on industry standard server platforms; is top-ranked... » more | Business Source License ensures a future for the Memgraph community MAGE algorithm... » more | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typical application scenarios | tick database streaming sensor data massive intelligence applications oil and gas... » more | Graph algorithms in bioinformatics Social network analysis Cryptocurrency network... » more | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Key customers | Goldman Sachs Morgan Stanley Merrill Lynch J.P. Morgan Deutsche Bank IEX Securities... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Market metrics | kdb+ performance and reliability proven by our customers in critical infrastructure... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Licensing and pricing models | upon request » more | You can check out our pricing model and licenses on the company website . » 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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Ehcache | Elasticsearch | Kdb | Memgraph | RethinkDB | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | PostgreSQL is the DBMS of the Year 2017 Elasticsearch moved into the top 10 most popular database management systems MySQL, PostgreSQL and Redis are the winners of the March ranking | Meet some database management systems you are likely to hear more about in the future Jira Data Center user? Here's a critical Ehcache vulnerability to spoil your day Atlassian asks customers to patch critical Jira vulnerability Critical Jira Flaw in Atlassian Could Lead to RCE How to partition Sonatype Nexus Repository: Targets, privileges, and roles Implementing fallback with cached data provided by Google News Elasticsearch will be open source again as CTO declares changed landscape The Elasticsearch cloud now subject to open-source licence Unsecured Elasticsearch cluster exposes over 3M vehicle records Elasticsearch Open Inference API Extends Support for Hugging Face Models with Semantic Text Partnership between Google Cloud and Elasticsearch helps customers solve big data problems with generative AI provided by Google News Turbocharging the Engine: KX Unleashes AI-First Transformation with kdb+ Introducing Amazon FinSpace with Managed kdb Insights, a fully managed analytics engine, commonly used by capital markets customers for analysis of real-time and historical time series data McLaren Applied and KX partner to enhance ATLAS software analytics capabilities KX Brings the Power and Performance of kdb+ to Python Developers with PyKX Time for the Kdb/Q specialists to quit finance? provided by Google News Enhance Your Network Analysis with the Power of a Graph DB Graph database company Memgraph raises $9.34M Croatian graph database startup Memgraph raises €8M with Microsoft as key investor, plans to boost R&D London-based Memgraph raises over €8 million in seed funding to provide Streaming Graph Algorithms to the masses Modeling, Visualizing, and Navigating a Transportation Network with Memgraph provided by Google News An introduction to building realtime apps with RethinkDB Stripe acquires team behind NoSQL database startup RethinkDB How to Use RethinkDB with Node.js Applications How to deploy RethinkDB using Docker Installing and Using RethinkDB on Ubuntu provided by Google News |
Share this page