DBMS > Apache Cassandra vs. H2 vs. JanusGraph vs. OceanBase vs. ScyllaDB
System Properties Comparison Apache Cassandra vs. H2 vs. JanusGraph vs. OceanBase 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 | OceanBase 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 distributed, high available RDBMS compatible with Oracle and MySQL | Cassandra and DynamoDB compatible wide column store | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Wide column store | Relational DBMS | Graph DBMS | Relational DBMS | Wide column store | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Vector DBMS starting with release V5 | Spatial DBMS | Document store Wide column store | Key-value store | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | cassandra.apache.org | www.h2database.com | janusgraph.org | en.oceanbase.com | www.scylladb.com | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | cassandra.apache.org/doc/latest | www.h2database.com/html/main.html | docs.janusgraph.org | en.oceanbase.com/docs/oceanbase-database | 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 | OceanBase previously Alibaba and Ant Group | ScyllaDB | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2008 | 2005 | 2017 | 2010 | 2015 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 5.0-rc1, July 2024 | 2.2.220, July 2023 | 1.0.0, October 2023 | 4.3.0, April 2024 | 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 Commercial license available | 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 | C++ | C++ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | BSD Linux OS X Windows | All OS with a Java VM | Linux OS X Unix Windows | Linux | Linux | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | schema-free | yes | yes | yes | 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 | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | restricted only equality queries, not always the best performing solution | yes | yes | yes | yes cluster global secondary indices | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | SQL-like SELECT, DML and DDL statements (CQL) | yes | no | yes | 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 | JDBC ODBC ODP.NET Oracle Call Interface (OCI) Proprietary native API Table API | 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 | Ada in MySQL-compatible model C in Oracle- and MySQL- compatible models C++ in Oracle- and MySQL- compatible models D in MySQL-compatible model Delphi in MySQL-compatible model Eiffel in MySQL-compatible model Erlang in MySQL-compatible model Haskell in MySQL-compatible model Java in Oracle- and MySQL- compatible models JavaScript (Node.js) in MySQL-compatible model Objective-C in MySQL-compatible model OCaml in MySQL-compatible model Perl in MySQL-compatible model PHP in MySQL-compatible model Python in MySQL-compatible model Ruby in MySQL-compatible model Scheme in MySQL-compatible model Tcl in MySQL-compatible model | 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 | PL/SQL in oracle-compatible mode, MySQL Stored Procedure in mysql-compatible mode | yes, Lua | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | yes | yes | yes | yes | 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 hash, key, range, range columns, list, and list columns) | 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 | Multi-source replication using Paxos | 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 | yes | 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 | 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 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, groups and roles according to SQL-standard | Access rights for users can be defined per object | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More information provided by the system vendor | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Apache Cassandra | H2 | JanusGraph successor of Titan | OceanBase | 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 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 Now in LangChain: Graph Vector Store, a Simple Way to Add Structured Data to RAG Applications | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | OceanBase | 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 | Fintech giant Ant Group spins off database firm as Alibaba affiliates take stake Meet the Database Built for Modern-Day Pressures (And Your AI Dreams Too) OceanBase announces its listing on Google Cloud Marketplace, expanding cloud database services to 80 availability zones worldwide OceanBase Cloud Database Will Be Available on Google Cloud Marketplace OceanBase Inks Agreement with NTU Singapore in Database Optimization and Green Computing Advancements 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