DBMS > Apache Cassandra vs. HarperDB vs. Microsoft SQL Server vs. QuestDB vs. Riak KV
System Properties Comparison Apache Cassandra vs. HarperDB vs. Microsoft SQL Server vs. QuestDB vs. Riak KV
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | Apache Cassandra Xexclude from comparison | HarperDB Xexclude from comparison | Microsoft SQL Server Xexclude from comparison | QuestDB Xexclude from comparison | Riak KV Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | Wide-column store based on ideas of BigTable and DynamoDB Optimized for write access | HarperDB takes the "stack" out of "tech stack" by combining an ultra-fast document-style data store, in-memory cache, real-time message broker, and your application components into a single distributed technology. | Microsofts flagship relational DBMS | A high performance open source SQL database for time series data | Distributed, fault tolerant key-value store | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Wide column store | Document store | Relational DBMS | Time Series DBMS | Key-value store with links between data sets and object tags for the creation of secondary indexes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Vector DBMS starting with release V5 | Document store Graph DBMS Spatial DBMS | Relational DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | cassandra.apache.org | www.harperdb.io | www.microsoft.com/en-us/sql-server | questdb.io | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | cassandra.apache.org/doc/latest | docs.harperdb.io/docs | learn.microsoft.com/en-US/sql/sql-server | questdb.io/docs | www.tiot.jp/riak-docs/riak/kv/latest | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Apache Software Foundation Apache top level project, originally developped by Facebook | HarperDB | Microsoft | QuestDB Technology Inc | OpenSource, formerly Basho Technologies | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2008 | 2017 | 1989 | 2014 | 2009 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 5.0-rc1, July 2024 | 3.1, August 2021 | SQL Server 2022, November 2022 | 3.2.0, December 2022 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | Open Source Apache version 2 | commercial free community edition available | commercial restricted free version is available | Open Source Apache 2.0 | Open Source Apache version 2, commercial enterprise edition | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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. | Astra DB: Multi-cloud DBaaS built on Apache Cassandra. | SQLServer Flex @ STACKIT offers a managed version of SQL Server with adjustable CPU, RAM, storage amount and speed, in enterprise grade to perfectly match all application requirements. All services are 100% GDPR-compliant. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Implementation language | Java | Node.js | C++ | Java (Zero-GC), C++, Rust | Erlang | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | BSD Linux OS X Windows | Linux OS X | Linux Windows | Linux macOS Windows | Linux OS X | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | schema-free | dynamic schema | yes | yes schema-free via InfluxDB Line Protocol | schema-free | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes | yes JSON data types | yes | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | restricted only equality queries, not always the best performing solution | yes | yes | no | restricted | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | SQL-like SELECT, DML and DDL statements (CQL) | SQL-like data manipulation statements | yes | SQL with time-series extensions | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | Proprietary protocol CQL (Cassandra Query Language, an SQL-like language) Thrift | JDBC ODBC React Hooks RESTful HTTP/JSON API WebSocket | ADO.NET JDBC ODBC OLE DB Tabular Data Stream (TDS) | HTTP REST InfluxDB Line Protocol (TCP/UDP) JDBC PostgreSQL wire protocol | HTTP API Native Erlang Interface | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | C# C++ Clojure Erlang Go Haskell Java JavaScript Node.js Perl PHP Python Ruby Scala | .Net C C# C++ ColdFusion D Dart Delphi Erlang Go Haskell Java JavaScript (Node.js) Lisp MatLab Objective C Perl PHP PowerShell Prolog Python R Ruby Rust Scala Swift | C# C++ Delphi Go Java JavaScript (Node.js) PHP Python R Ruby Visual Basic | C PostgreSQL driver C++ Go Java JavaScript (Node.js) Python Rust over HTTP | 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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | no | Custom Functions since release 3.1 | Transact SQL, .NET languages, R, Python and (with SQL Server 2019) Java | no | Erlang | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | yes | no | yes | no | yes pre-commit hooks and post-commit hooks | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | Sharding no "single point of failure" | A table resides as a whole on one (or more) nodes in a cluster | tables can be distributed across several files (horizontal partitioning); sharding through federation | horizontal partitioning (by timestamps) | Sharding no "single point of failure" | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | selectable replication factor Representation of geographical distribution of servers is possible | yes the nodes on which a table resides can be defined | yes, but depending on the SQL-Server Edition | Source-replica replication with eventual consistency | selectable replication factor | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | yes | no | no | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Eventual Consistency Immediate Consistency can be individually decided for each write operation | Immediate Consistency | Immediate Consistency | Immediate Consistency | Eventual Consistency | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | no | yes | no | no links between data sets can be stored | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | no Atomicity and isolation are supported for single operations | Atomic execution of specific operations | ACID | ACID for single-table writes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes | yes | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes | yes, using LMDB | yes | 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 through memory mapped files | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | Access rights for users can be defined per object | Access rights for users and roles | fine grained access rights according to SQL-standard | yes, using Riak Security | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More information provided by the system vendor | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Apache Cassandra | HarperDB | Microsoft SQL Server | QuestDB | Riak KV | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Specific characteristics | Apache Cassandra is the leading NoSQL, distributed database management system, well... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Competitive advantages | No single point of failure ensures 100% availability . Operational simplicity for... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typical application scenarios | Internet of Things (IOT), fraud detection applications, recommendation engines, product... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Key customers | Apple, Netflix, Uber, ING,, Intuit,Fidelity, NY Times, Outbrain, BazaarVoice, Best... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Market metrics | Apache Cassandra is used by 40% of the Fortune 100. » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Licensing and pricing models | Apache license Pricing for commercial distributions provided by DataStax and available... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
News | How to Create Vector Embeddings in Node.js Glean and DataStax Partner to Help Developers Harness Powerful Enterprise Search DataStax Named a Leader in The Forrester Wave™: Vector Databases, Q3 2024 How to Build a Notion Clone with Astra DB and Mongoose How to Monitor DataStax-Powered RAG Applications with Fiddler | Combine Java and Rust Code Coverage in a Polyglot Project Weather data visualization and forecasting with QuestDB, Kafka and Grafana Building a new vector based storage model Calibrating VWAP executions with QuestDB and Grafana Write Time: a call for community writers | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
We invite representatives of system vendors to contact us for updating and extending the system information, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Related products and services | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3rd parties | CData: Connect to Big Data & NoSQL through standard Drivers. » more Cassandra Forward event: Want to level up your Cassandra game? Watch now replays of the March 2023 sessions. » more | Navicat for SQL Server gives you a fully graphical approach to database management and development. » more Navicat Monitor is a safe, simple and agentless remote server monitoring tool for SQL Server and many other database management systems. » more | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
We invite representatives of vendors of related products to contact us for presenting information about their offerings here. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More resources | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Apache Cassandra | HarperDB | Microsoft SQL Server | QuestDB | Riak KV | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | MySQL is the DBMS of the Year 2019 The struggle for the hegemony in Oracle's database empire Microsoft SQL Server is the DBMS of the Year | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Conferences, events and webinars | PASS Data Community Summit | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recent citations in the news | New Apache Cassandra 5.0 gives open source NoSQL database a scalability and performance boost Apache Cassandra introduces version 5.0 of open-source NoSQL database Migrate Cassandra workloads to Amazon Keyspaces using CQLReplicator Cassandra redesigns indexing, storage management for 5.0 release How Uber ensures Apache Cassandra®’s tolerance for single-zone failure provided by Google News | HarperDB Attracts Significant Growth Investment from Serent Capital Defense Innovation Unit Issues Success Memo to HarperDB for its Common Operation Database Prototype DoD Successfully Deploys Commercial AI Solutions for COD Project Serent Capital invests in software firm HarperDB HarperDB Receives Growth Investment from Serent Capital provided by Google News | Migrate SQL Server databases to Babelfish for Aurora PostgreSQL using change tracking with a linked server Getting started with delivering generative AI capabilities in SQL Server and Azure SQL Contractor Software Targeted via Microsoft SQL Server Loophole SQL Server vNext: When and What Is Coming Mastering the SQL Server command-line interface provided by Google News | SQL Extensions for Time-Series Data in QuestDB QuestDB snares $12M Series A with hosted version coming soon QuestDB gets $12M Series A funding amid growing interest in time-series databases Read the Pitch Deck Database Startup QuestDB Used to Raise $12 Million Comparing Different Time-Series Databases provided by Google News | Basho Revamps Riak Open-Source Database A Critique of Resizable Hash Tables: Riak Core & Random Slicing Riak NoSQL snapped up by Bet365 Is Riak A Good NoSQL Database Option For Enterprises? Basho aims for enterprise operational simplicity with new Data Platform provided by Google News |
Share this page