DBMS > Apache Cassandra vs. H2 vs. JanusGraph vs. QuestDB vs. ScyllaDB
System Properties Comparison Apache Cassandra vs. H2 vs. JanusGraph vs. QuestDB vs. ScyllaDB
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | Apache Cassandra Xexclude from comparison | H2 Xexclude from comparison | JanusGraph successor of Titan Xexclude from comparison | QuestDB Xexclude from comparison | ScyllaDB Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | Wide-column store based on ideas of BigTable and DynamoDB Optimized for write access | Full-featured RDBMS with a small footprint, either embedded into a Java application or used as a database server. | A Graph DBMS optimized for distributed clusters It was forked from the latest code base of Titan in January 2017 | A high performance open source SQL database for time series data | Cassandra and DynamoDB compatible wide column store | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Wide column store | Relational DBMS | Graph DBMS | Time Series DBMS | Wide column store | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Vector DBMS starting with release V5 | Spatial DBMS | Relational DBMS | Key-value store | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | cassandra.apache.org | www.h2database.com | janusgraph.org | questdb.io | www.scylladb.com | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | cassandra.apache.org/doc/latest | www.h2database.com/html/main.html | docs.janusgraph.org | questdb.io/docs | docs.scylladb.com | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Apache Software Foundation Apache top level project, originally developped by Facebook | Thomas Mueller | Linux Foundation; originally developed as Titan by Aurelius | QuestDB Technology Inc | ScyllaDB | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2008 | 2005 | 2017 | 2014 | 2015 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 5.0-rc1, July 2024 | 2.2.220, July 2023 | 1.0.0, October 2023 | ScyllaDB Open Source 6.0.2, July 2024 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | Open Source Apache version 2 | Open Source dual-licence (Mozilla public license, Eclipse public license) | Open Source Apache 2.0 | Open Source Apache 2.0 | Open Source Open Source (AGPL), commercial license available | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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. | Scylla Cloud: Create real-time applications that run at global scale with Scylla Cloud, the industry’s most powerful NoSQL DBaaS | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Implementation language | Java | Java | Java | Java (Zero-GC), C++, Rust | C++ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | BSD Linux OS X Windows | All OS with a Java VM | Linux OS X Unix Windows | Linux macOS Windows | Linux | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | schema-free | yes | yes | yes schema-free via InfluxDB Line Protocol | schema-free | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes | yes | yes | 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 | restricted only equality queries, not always the best performing solution | yes | yes | no | yes cluster global secondary indices | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | SQL-like SELECT, DML and DDL statements (CQL) | yes | no | SQL with time-series extensions | SQL-like DML and DDL statements (CQL) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | Proprietary protocol CQL (Cassandra Query Language, an SQL-like language) Thrift | JDBC ODBC | Java API TinkerPop Blueprints TinkerPop Frames TinkerPop Gremlin TinkerPop Rexster | HTTP REST InfluxDB Line Protocol (TCP/UDP) JDBC PostgreSQL wire protocol | Proprietary protocol (CQL) compatible with CQL (Cassandra Query Language, an SQL-like language) RESTful HTTP API (DynamoDB compatible) Thrift | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | C# C++ Clojure Erlang Go Haskell Java JavaScript Node.js Perl PHP Python Ruby Scala | Java | Clojure Java Python | C PostgreSQL driver C++ Go Java JavaScript (Node.js) Python Rust over HTTP | For CQL interface: C#, C++, Clojure, Erlang, Go, Haskell, Java, JavaScript, Node.js, Perl, PHP, Python, Ruby, Rust, Scala For DynamoDB interface: .Net, ColdFusion, Erlang, Groovy, Java, JavaScript, Perl, PHP, Python, Ruby | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | no | Java Stored Procedures and User-Defined Functions | yes | no | yes, Lua | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | yes | yes | yes | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | Sharding no "single point of failure" | none | yes depending on the used storage backend (e.g. Cassandra, HBase, BerkeleyDB) | horizontal partitioning (by timestamps) | Sharding | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | selectable replication factor Representation of geographical distribution of servers is possible | With clustering: 2 database servers on different computers operate on identical copies of a database | yes | Source-replica replication with eventual consistency | selectable replication factor Representation of geographical distribution of servers is possible | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | yes | no | yes via Faunus, a graph analytics engine | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Eventual Consistency Immediate Consistency can be individually decided for each write operation | Immediate Consistency | Eventual Consistency Immediate Consistency | Immediate Consistency | Eventual Consistency Tunable Consistency can be individually decided for each write operation | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | yes | yes Relationships in graphs | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | no Atomicity and isolation are supported for single operations | ACID | ACID | ACID for single-table writes | no Atomicity and isolation are supported for single operations | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes, multi-version concurrency control (MVCC) | yes | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes | yes | yes Supports various storage backends: Cassandra, HBase, Berkeley DB, Akiban, Hazelcast | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities Is there an option to define some or all structures to be held in-memory only. | no | yes | yes through memory mapped files | yes in-memory tables | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | Access rights for users can be defined per object | fine grained access rights according to SQL-standard | User authentification and security via Rexster Graph Server | Access rights for users can be defined per object | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More information provided by the system vendor | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Apache Cassandra | H2 | JanusGraph successor of Titan | QuestDB | ScyllaDB | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Specific characteristics | Apache Cassandra is the leading NoSQL, distributed database management system, well... » more | ScyllaDB is engineered to deliver predictable performance at scale. It’s adopted... » more | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Competitive advantages | No single point of failure ensures 100% availability . Operational simplicity for... » more | Highly-performant (efficiently utilizes full resources of a node and network; millions... » more | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typical application scenarios | Internet of Things (IOT), fraud detection applications, recommendation engines, product... » more | ScyllaDB is ideal for applications that require high throughput and low latency at... » more | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Key customers | Apple, Netflix, Uber, ING,, Intuit,Fidelity, NY Times, Outbrain, BazaarVoice, Best... » more | Discord, Epic Games, Expedia, Zillow, Comcast, Disney+ Hotstar, Samsung, ShareChat,... » more | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Market metrics | Apache Cassandra is used by 40% of the Fortune 100. » more | ScyllaDB typically offers ~75% total cost of ownership savings, with ~5X higher throughput... » more | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Licensing and pricing models | Apache license Pricing for commercial distributions provided by DataStax and available... » more | ScyllaDB Open Source - free open source software (AGPL) ScyllaDB Enterprise - subscription-based... » more | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
News | How to Build a Notion Clone with Astra DB and Mongoose How to Monitor DataStax-Powered RAG Applications with Fiddler How Knowledge Graph RAG Boosts LLM Results How to Chunk Text in JavaScript for Your RAG Application Precision and Efficiency in Domain-Specific Text2SQL Conversion: Introducing Skypoint AI Platform’s SherloQ | 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 | Cassandra Forward event: Want to level up your Cassandra game? Watch now replays of the March 2023 sessions. » more CData: Connect to Big Data & NoSQL through standard Drivers. » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
We invite representatives of vendors of related products to contact us for presenting information about their offerings here. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More resources | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Apache Cassandra | H2 | JanusGraph successor of Titan | QuestDB | ScyllaDB | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | Simple Deployment of a Graph Database: JanusGraph Database Deep Dives: JanusGraph JanusGraph Picks Up Where TitanDB Left Off Nordstrom Builds Flexible Backend Ops with Kubernetes, Spark and JanusGraph From graph db to graph embedding. In 7 simple steps. | by Andy Greatorex provided by Google News | SQL Extensions for Time-Series Data in QuestDB QuestDB snares $12M Series A with hosted version coming soon Comparing Different Time-Series Databases Q&A: Nicolas Hourcard, QuestDB: The advantages of a time-series database Aquis Exchange Goes Live With QuestDB For Real Time Monitoring provided by Google News | ScyllaDB 6.0 advances open source database scalability Sleeping at Scale - Delivering 10k Timers per Second per Node with Rust, Tokio, Kafka, and Scylla ScyllaDB Raises $43M to Take on MongoDB at Scale, Push Database Performance to New Levels Worldwide Local Latency with ScyllaDB: ZeroFlucs’ Strategy ScyllaDB on AWS is a NoSQL Database Built for Gigabyte-to-Petabyte Scale provided by Google News |
Share this page