DBMS > CrateDB vs. Derby vs. Riak TS vs. SingleStore vs. Tarantool
System Properties Comparison CrateDB vs. Derby vs. Riak TS vs. SingleStore vs. Tarantool
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | CrateDB Xexclude from comparison | Derby often called Apache Derby, originally IBM Cloudscape; contained in the Java SDK as JavaDB Xexclude from comparison | Riak TS Xexclude from comparison | SingleStore former name was MemSQL Xexclude from comparison | Tarantool Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | Distributed Database based on Lucene | Full-featured RDBMS with a small footprint, either embedded into a Java application or used as a database server. | Riak TS is a distributed NoSQL database optimized for time series data and based on Riak KV | MySQL wire-compliant distributed RDBMS that combines an in-memory row-oriented and a disc-based column-oriented storage with patented universal storage to handle transactional and analytical workloads in one single table type | In-memory computing platform with a flexible data schema for efficiently building high-performance applications | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Document store Spatial DBMS Search engine Time Series DBMS Vector DBMS | Relational DBMS | Time Series DBMS | Relational DBMS | Document store Key-value store Relational DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Relational DBMS | Document store Spatial DBMS Time Series DBMS Vector DBMS | Spatial DBMS with Tarantool/GIS extension | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | cratedb.com | db.apache.org/derby | www.singlestore.com | www.tarantool.io | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | cratedb.com/docs | db.apache.org/derby/manuals/index.html | www.tiot.jp/riak-docs/riak/ts/latest | docs.singlestore.com | www.tarantool.io/en/doc | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Crate | Apache Software Foundation | Open Source, formerly Basho Technologies | SingleStore Inc. | VK | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2013 | 1997 | 2015 | 2013 | 2008 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 10.17.1.0, November 2023 | 3.0.0, September 2022 | 8.5, January 2024 | 2.10.0, May 2022 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | Open Source | Open Source Apache version 2 | Open Source | commercial free developer edition available | 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 | 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. | SingleStoreDB Cloud: The world's fastest, modern cloud database for both operational (OLTP) and analytical (OLAP) workloads. Available instantly with multi-cloud and hybrid-cloud capabilities | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Implementation language | Java | Java | Erlang | C++, Go | C and C++ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | All Operating Systems, including Kubernetes with CrateDB Kubernetes Operator support | All OS with a Java VM | Linux OS X | Linux 64 bit version required | BSD Linux macOS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | Flexible Schema (defined schema, partial schema, schema free) | yes | schema-free | yes | 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 | no | yes | 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 | yes | no | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | yes | yes | restricted | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | yes, but no triggers and constraints, and PostgreSQL compatibility | yes | yes, limited | yes but no triggers and foreign keys | Full-featured ANSI SQL support | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | ADO.NET JDBC ODBC PostgreSQL wire protocol Prometheus Remote Read/Write RESTful HTTP API | JDBC | HTTP API Native Erlang Interface | Cluster Management API as HTTP Rest and CLI HTTP API JDBC MongoDB API ODBC | Open binary protocol | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | Java | 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 | Bash C C# Java JavaScript (Node.js) Python | C C# C++ Erlang Go Java JavaScript Lua Perl PHP Python Rust | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | user defined functions (Javascript) | Java Stored Procedures | Erlang | yes | Lua, C and SQL stored procedures | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | no | yes | yes pre-commit hooks and post-commit hooks | no | yes, before/after data modification events, on replication events, client session events | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | Sharding | none | Sharding | Sharding hash partitioning | 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 | Configurable replication on table/partition-level | Source-replica replication | selectable replication factor | Source-replica replication stores two copies of each physical data partition on two separate nodes | 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 | no | no | yes | no can define user-defined aggregate functions for map-reduce-style calculations | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Eventual Consistency Read-after-write consistency on record level | Immediate Consistency | Eventual Consistency | Immediate Consistency | 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 | no links between datasets can be stored | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | ACID | no | ACID | 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 | yes, multi-version concurrency control (MVCC) | yes, cooperative multitasking | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes | yes | yes | yes All updates are persistent, including those to disk-based columnstores and memory-based row stores. Transaction commits are supported via write-ahead log. | 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 | yes, full featured in-memory storage engine with persistence | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | rights management via user accounts | fine grained access rights according to SQL-standard | no | Fine grained access control via users, groups and roles | 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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CrateDB | Derby often called Apache Derby, originally IBM Cloudscape; contained in the Java SDK as JavaDB | Riak TS | SingleStore former name was MemSQL | Tarantool | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Specific characteristics | The enterprise database for time series, documents, and vectors. Distributed - Native... » more | SingleStore offers a fully-managed , distributed, highly-scalable SQL database designed... » more | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Competitive advantages | Response time in milliseconds: e ven for complex ad-hoc queries. Massive scaling... » more | SingleStore’s competitive advantages include: Easy and Simplified Architecture with... » more | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typical application scenarios | IoT: accelerate your IIoT projects with CrateDB, delivering real-time analytics... » more | Driving Fast Analytics: SingleStore delivers the fastest and most scalable reporting... » more | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Key customers | Across all continents, CrateDB is used by companies of all sizes to meet the most... » more | IEX Cloud : Improves Financial Data Distribution Speed 15x with Singlestore DB Comcast,... » more | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Market metrics | The CrateDB open source project was started in 2013 Honorable Mention in 2021 Gartner®... » more | Customers in various industries worldwide including US and International Industry... » more | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Licensing and pricing models | See CrateDB pricing > » more | F ree Tier and Enterprise Edition » 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 | Derby often called Apache Derby, originally IBM Cloudscape; contained in the Java SDK as JavaDB | Riak TS | SingleStore former name was MemSQL | Tarantool | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | Turbocharge Your Application Development Using WebAssembly With SingleStoreDB Cloud-Based Analytics With SingleStoreDB SingleStore: The Increasing Momentum of Multi-Model Database Systems | Data processing speed and reliability: in-memory synchronous replication CrateDB Announces Availability of CrateDB on Google Cloud Marketplace CrateDB Partners with HiveMQ to Deliver a Seamless Data Management Architecture for IoT CrateDB Appoints Sergey Gerasimenko as New CTO 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 provided by Google News JDBC tutorial: Easy installation and setup with Apache Derby Top Database Tools for Java Developers in 2023 Installing Apache Hive 3.1.2 on Windows 10 | by Hadi Fadlallah The Arrival of Java 20 No, Citrix did not kill CloudStack provided by Google News NoSQL pioneer Basho stamps its mark on time stamp data with Riak TS Basho open-sources its Riak TS database for the Internet Of Things Enterprise NoSQL Database for the IoT Becomes Open Source Best open source databases for IoT applications provided by Google News SingleStore CEO sees little future for purpose-built vector databases SingleStore Announces Real-time Data Platform to Further Accelerate AI, Analytics and Application Development SingleStore adds indexed vector search to Pro Max release for faster AI work – Blocks and Files Leveraging SingleStoreDB Cloud Private Connectivity Using AWS PrivateLink | Amazon Web Services Announcing watsonx.ai and SingleStore for generative AI applications provided by Google News TaranHouse: New Big Data Warehouse Announced by Tarantool In-Memory Showdown: Redis vs. Tarantool Tarantool Announces New Enterprise Version With Enhanced Scaling and Monitoring Capabilities Deploying Tarantool Cartridge applications with zero effort (Part 1) Deploying Tarantool Cartridge applications with zero effort (Part 2) provided by Google News |
Share this page