DBMS > Dragonfly vs. Elasticsearch vs. GeoMesa vs. PostGIS vs. ToroDB
System Properties Comparison Dragonfly vs. Elasticsearch vs. GeoMesa vs. PostGIS vs. ToroDB
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | Dragonfly Xexclude from comparison | Elasticsearch Xexclude from comparison | GeoMesa Xexclude from comparison | PostGIS Xexclude from comparison | ToroDB Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ToroDB seems to be discontinued. Therefore it is excluded from the DB-Engines Ranking. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | A drop-in Redis replacement that scales vertically to support millions of operations per second and terabyte sized workloads, all on a single instance | 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 | GeoMesa is a distributed spatio-temporal DBMS based on various systems as storage layer. | Spatial extension of PostgreSQL | A MongoDB-compatible JSON document store, built on top of PostgreSQL | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Key-value store | Search engine | Spatial DBMS | Spatial DBMS | Document store | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Document store Spatial DBMS Vector DBMS | Relational DBMS | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | github.com/dragonflydb/dragonfly www.dragonflydb.io | www.elastic.co/elasticsearch | www.geomesa.org | postgis.net | github.com/torodb/server | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | www.dragonflydb.io/docs | www.elastic.co/guide/en/elasticsearch/reference/current/index.html | www.geomesa.org/documentation/stable/user/index.html | postgis.net/documentation | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | DragonflyDB team and community contributors | Elastic | CCRi and others | 8Kdata | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2023 | 2010 | 2014 | 2005 | 2016 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 1.0, March 2023 | 8.6, January 2023 | 5.0.0, May 2024 | 3.4.2, February 2024 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | Open Source BSL 1.1 | Open Source Elastic License | Open Source Apache License 2.0 | Open Source GPL v2.0 | Open Source AGPL-V3 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | C++ | Java | Scala | C | Java | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | Linux | All OS with a Java VM | All OS with a Java 7 VM | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | scheme-free | schema-free Flexible type definitions. Once a type is defined, it is persistent | yes | yes | schema-free | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | strings, hashes, lists, sets, sorted sets, bit arrays | yes | yes | yes | yes string, integer, double, boolean, date, object_id | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | no | yes All search fields are automatically indexed | yes | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | no | SQL-like query language | no | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | Proprietary protocol RESP - REdis Serialization Protocol | Java API RESTful HTTP/JSON API | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | C C# C++ Clojure D Dart Elixir Erlang Go Haskell Java JavaScript (Node.js) Lisp Lua Objective-C Perl PHP Python R Ruby Rust Scala Swift Tcl | .Net Groovy Community Contributed Clients Java JavaScript Perl PHP Python Ruby | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | Lua | yes | no | user defined functions | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | publish/subscribe channels provide some trigger functionality | yes by using the 'percolation' feature | no | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | Sharding | depending on storage layer | yes based on PostgreSQL | Sharding | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | Source-replica replication | yes | depending on storage layer | yes based on PostgreSQL | Source-replica replication | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | no | ES-Hadoop Connector | yes | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Eventual Consistency | Eventual Consistency Synchronous doc based replication. Get by ID may show delays up to 1 sec. Configurable write consistency: one, quorum, all | depending on storage layer | Immediate Consistency | Eventual Consistency Immediate Consistency | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | no | no | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | Atomic execution of command blocks and scripts | no | no | ACID | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes, strict serializability by the server | yes | yes | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes | yes | yes | yes | 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 | depending on storage layer | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | Password-based authentication | yes depending on the DBMS used for storage | yes based on PostgreSQL | Access rights for users and roles | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More information provided by the system vendorWe 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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Dragonfly | Elasticsearch | GeoMesa | PostGIS | ToroDB | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | Spatial database management systems | Spatial database management systems | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recent citations in the news | DragonflyDB Announces $21m in New Funding and General Availability DragonflyDB reels in $21M for its speedy in-memory database DragonflyDB Raises $21M in Funding Dragonfly 1.0 Released For What Claims To Be The World's Fastest In-Memory Data Store Intel Linux Kernel Optimizations Show Huge Benefit For High Core Count Servers provided by Google News | 8 Powerful Alternatives to Elasticsearch Apache Doris for Log and Time Series Data Analysis in NetEase: Why Not Elasticsearch and InfluxDB? Splunk vs Elasticsearch | A Comparison and How to Choose Netflix Uses Elasticsearch Percolate Queries to Implement Reverse Searches Efficiently Introducing Elasticsearch Vector Database to Azure OpenAI Service On Your Data (Preview) provided by Google News |
Share this page