DBMS > CrateDB vs. Dolt vs. Google Cloud Bigtable vs. SingleStore vs. TempoIQ
System Properties Comparison CrateDB vs. Dolt vs. Google Cloud Bigtable vs. SingleStore vs. TempoIQ
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | CrateDB Xexclude from comparison | Dolt Xexclude from comparison | Google Cloud Bigtable Xexclude from comparison | SingleStore former name was MemSQL Xexclude from comparison | TempoIQ formerly TempoDB Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
TempoIQ seems to be decommissioned. It will be removed from the DB-Engines ranking. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | Distributed Database based on Lucene | A MySQL compatible DBMS with Git-like versioning of data and schema | Google's NoSQL Big Data database service. It's the same database that powers many core Google services, including Search, Analytics, Maps, and Gmail. | 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 | Scalable analytics DBMS for sensor data, provided as a service (SaaS) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Document store Spatial DBMS Search engine Time Series DBMS Vector DBMS | Relational DBMS | Key-value store Wide column store | Relational DBMS | Time Series DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Relational DBMS | Document store | Document store Spatial DBMS Time Series DBMS Vector DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | cratedb.com | github.com/dolthub/dolt www.dolthub.com | cloud.google.com/bigtable | www.singlestore.com | tempoiq.com (offline) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | cratedb.com/docs | docs.dolthub.com | cloud.google.com/bigtable/docs | docs.singlestore.com | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Crate | DoltHub Inc | SingleStore Inc. | TempoIQ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2013 | 2018 | 2015 | 2013 | 2012 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 5.8.1, August 2024 | 8.5, January 2024 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | Open Source | Open Source Apache Version 2.0 | commercial | commercial free developer edition available | commercial | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Cloud-based only Only available as a cloud service | no | no | yes | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DBaaS offerings (sponsored links) Database as a Service Providers of DBaaS offerings, please contact us to be listed. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Implementation language | Java | Go | C++, Go | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | All Operating Systems, including Kubernetes with CrateDB Kubernetes Operator support | Linux macOS Windows | hosted | Linux 64 bit version required | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | Flexible Schema (defined schema, partial schema, schema free) | yes | schema-free | yes | schema-free | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes | yes | no | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | yes | yes | no | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | yes, but no triggers and constraints, and PostgreSQL compatibility | yes | no | yes but no triggers and foreign keys | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | ADO.NET JDBC ODBC PostgreSQL wire protocol Prometheus Remote Read/Write RESTful HTTP API | CLI Client HTTP REST | gRPC (using protocol buffers) API HappyBase (Python library) HBase compatible API (Java) | Cluster Management API as HTTP Rest and CLI HTTP API JDBC MongoDB API ODBC | HTTP 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 | Ada C C# C++ D Delphi Eiffel Erlang Haskell Java JavaScript (Node.js) Objective-C OCaml Perl PHP Python Ruby Scheme Tcl | C# C++ Go Java JavaScript (Node.js) Python | Bash C C# Java JavaScript (Node.js) Python | C# Java JavaScript Node.js Python Ruby | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | user defined functions (Javascript) | yes currently in alpha release | no | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | no | yes | no | no | yes Realtime Alerts | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | Sharding | none | Sharding | Sharding hash partitioning | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | Configurable replication on table/partition-level | A database can be cloned to multiple locations and be used there in isolation. Data/schema changes can be pushed/pulled explicitly between locations. | Internal replication in Colossus, and regional replication between two clusters in different zones | Source-replica replication stores two copies of each physical data partition on two separate nodes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Eventual Consistency Read-after-write consistency on record level | Immediate consistency (for a single cluster), Eventual consistency (for two or more replicated clusters) | Immediate Consistency | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | yes | no | no | 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 | ACID | Atomic single-row operations | ACID | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes | yes | yes, multi-version concurrency control (MVCC) | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities Is there an option to define some or all structures to be held in-memory only. | no | no | yes | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | rights management via user accounts | Only one user is configurable, and must be specified in the config file at startup | Access rights for users, groups and roles based on Google Cloud Identity and Access Management (IAM) | Fine grained access control via users, groups and roles | simple authentication-based access control | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CrateDB | Dolt | Google Cloud Bigtable | SingleStore former name was MemSQL | TempoIQ formerly TempoDB | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recent citations in the news | CrateDB, a name that we will hear more in the future Crate.io Introduces CrateDB 2.0 Enterprise and Open Source Editions CrateDB Announces New Executive Leadership Appointments CrateDB: The IoT and machine data-focused database Crate.io Brings Power of Industrial SQL Time Series to Azure IoT Hub to Reduce IoT Systems Cost and Complexity provided by Google News | An open-source data storage and visualization platform for collaborative qubit control Collaborating to Improve Qubit Control with QubiCSV Top 100+ Essential Data Science Tools & Repos: Streamline Your Workflow Today! Radar Trends to Watch: July 2022 Data Versioning at Scale: Chaos and Chaos Management provided by Google News | Google Cloud adds graph processing to Spanner, SQL support to Bigtable Google introduces Bigtable SQL access and Spanner's new AI-ready features Google Cloud Rolls Out Axion-Based C4A VMs for Improved Performance Google Cloud expands its database portfolio with new AI capabilities Sifflet Achieves Google Cloud Ready - BigQuery Designation provided by Google News | Third time was the charm for SingleStore in the cloud, CEO says SingleStore acquires BryteFlow to boost data ingestion capabilities SingleStore's BryteFlow acquisition targets data integration Achieve near real-time analytics on Amazon DynamoDB with SingleStore SingleStore acquires BryteFlow to better digest ERP and CRM data provided by Google News | TempoIQ: Taking On Solar and Smart Grid Data in Real Time provided by Google News |
Share this page