DBMS > CrateDB vs. Graph Engine vs. PouchDB vs. Riak KV vs. Solr
System Properties Comparison CrateDB vs. Graph Engine vs. PouchDB vs. Riak KV vs. Solr
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | CrateDB Xexclude from comparison | Graph Engine former name: Trinity Xexclude from comparison | PouchDB Xexclude from comparison | Riak KV Xexclude from comparison | Solr Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | Distributed Database based on Lucene | A distributed in-memory data processing engine, underpinned by a strongly-typed RAM store and a general distributed computation engine | JavaScript DBMS with an API inspired by CouchDB | Distributed, fault tolerant key-value store | A widely used distributed, scalable search engine based on Apache Lucene | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Document store Spatial DBMS Search engine Time Series DBMS Vector DBMS | Graph DBMS Key-value store | Document store | Key-value store with links between data sets and object tags for the creation of secondary indexes | Search engine | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Relational DBMS | Spatial DBMS | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | cratedb.com | www.graphengine.io | pouchdb.com | solr.apache.org | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | cratedb.com/docs | www.graphengine.io/docs/manual | pouchdb.com/guides | www.tiot.jp/riak-docs/riak/kv/latest | solr.apache.org/resources.html | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Crate | Microsoft | Apache Software Foundation | OpenSource, formerly Basho Technologies | Apache Software Foundation | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2013 | 2010 | 2012 | 2009 | 2006 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 7.1.1, June 2019 | 3.2.0, December 2022 | 9.6.0, April 2024 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | Open Source | Open Source MIT License | Open Source | Open Source Apache version 2, commercial enterprise edition | 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. | CrateDB Cloud: a distributed SQL database that spreads data and processing across an elastic cluster of shared nothing nodes. CrateDB Cloud enables data insights at scale on Microsoft Azure, AWS and Google Cloud Platform. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Implementation language | Java | .NET and C | JavaScript | Erlang | Java | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | All Operating Systems, including Kubernetes with CrateDB Kubernetes Operator support | .NET | server-less, requires a JavaScript environment (browser, Node.js) | Linux OS X | All OS with a Java VM runs as a servlet in servlet container (e.g. Tomcat, Jetty is included) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | Flexible Schema (defined schema, partial schema, schema free) | yes | schema-free | schema-free | yes Dynamic Fields enables on-the-fly addition of new fields | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes | yes | no | no | yes supports customizable data types and automatic typing | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | yes | yes via views | restricted | yes All search fields are automatically indexed | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | yes, but no triggers and constraints, and PostgreSQL compatibility | no | no | no | Solr Parallel SQL Interface | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | ADO.NET JDBC ODBC PostgreSQL wire protocol Prometheus Remote Read/Write RESTful HTTP API | RESTful HTTP API | HTTP REST only for PouchDB Server JavaScript API | HTTP API Native Erlang Interface | Java API RESTful HTTP/JSON API | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | .NET Erlang Go community maintained client Java JavaScript (Node.js) community maintained client Perl community maintained client PHP Python R Ruby community maintained client Scala community maintained client | C# C++ F# Visual Basic | JavaScript | 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 | .Net Erlang Java JavaScript any language that supports sockets and either XML or JSON Perl PHP Python Ruby Scala | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | user defined functions (Javascript) | yes | View functions in JavaScript | Erlang | Java plugins | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | no | no | yes | yes pre-commit hooks and post-commit hooks | yes User configurable commands triggered on index changes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | Sharding | horizontal partitioning | Sharding with a proxy-based framework, named couchdb-lounge | Sharding no "single point of failure" | Sharding | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | Configurable replication on table/partition-level | Multi-source replication also with CouchDB databases Source-replica replication also with CouchDB databases | selectable replication factor | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | no | yes | yes | spark-solr: github.com/lucidworks/spark-solr and streaming expressions to reduce | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Eventual Consistency Read-after-write consistency on record level | Eventual Consistency | Eventual Consistency | Eventual Consistency | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | no | no | no links between data sets can be stored | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | no unique row identifiers can be used for implementing an optimistic concurrency control strategy | no | no | no | optimistic locking | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes | yes | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes | optional: either by committing a write-ahead log (WAL) to the local persistent storage or by dumping the memory to a persistent storage | yes by using IndexedDB, WebSQL or LevelDB as backend | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities Is there an option to define some or all structures to be held in-memory only. | no | yes | yes | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | rights management via user accounts | no | yes, using Riak Security | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More information provided by the system vendor | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CrateDB | Graph Engine former name: Trinity | PouchDB | Riak KV | Solr | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Specific characteristics | The enterprise database for time series, documents, and vectors. Distributed - Native... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Competitive advantages | Response time in milliseconds: e ven for complex ad-hoc queries. Massive scaling... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typical application scenarios | IoT: accelerate your IIoT projects with CrateDB, delivering real-time analytics... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Key customers | Across all continents, CrateDB is used by companies of all sizes to meet the most... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Market metrics | The CrateDB open source project was started in 2013 Honorable Mention in 2021 Gartner®... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Licensing and pricing models | See CrateDB pricing > » 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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CrateDB | Graph Engine former name: Trinity | PouchDB | Riak KV | Solr | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | New kids on the block: database management systems implemented in JavaScript | Elasticsearch replaced Solr as the most popular search engine Enterprise Search Engines almost double their popularity in the last 12 months The DB-Engines ranking includes now search engines CrateDB Announces Availability of CrateDB on Google Cloud Marketplace CrateDB Partners with HiveMQ to Deliver a Seamless Data Management Architecture for IoT How We Designed CrateDB as a Realtime SQL DBMS for the Internet of Things Crate.io Introduces CrateDB 2.0 Enterprise and Open Source Editions Crate.io Expands CrateDB Cloud with the Launch of CrateDB Edge provided by Google News Trinity Open source Microsoft Graph Engine takes on Neo4j Aerospike Is Now a Graph Database, Too IBM releases Graph, a service that can outperform SQL databases The graph analytics landscape 2019 - DataScienceCentral.com provided by Google News Building an Offline First App with PouchDB — SitePoint Getting Started with PouchDB Client-Side JavaScript Database — SitePoint 3 Reasons To Think Offline First Create Offline Web Apps Using Service Workers & PouchDB — SitePoint Offline-first web and mobile apps: Top frameworks and components provided by Google News Basho Revamps Riak Open-Source Database Basho, Maker of Riak NoSQL Database, Raises $25M A Critique of Resizable Hash Tables: Riak Core & Random Slicing Riak NoSQL snapped up by Bet365 Riak Taps Mesos for 'Push Button' NoSQL Scalability provided by Google News Closing Bell: Solar Alliance Energy Inc flat on Tuesday (SOLR) SOLR-led walkout demands better conditions for Compass workers (SOLR) Technical Data SOLR hosts teach-in of labor movements at Northwestern SOLR hosts May Day amid ongoing contract negotiations provided by Google News |
Share this page