DBMS > Apache IoTDB vs. Apache Phoenix vs. Couchbase vs. Graphite vs. OceanBase
System Properties Comparison Apache IoTDB vs. Apache Phoenix vs. Couchbase vs. Graphite vs. OceanBase
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | Apache IoTDB Xexclude from comparison | Apache Phoenix Xexclude from comparison | Couchbase Originally called Membase Xexclude from comparison | Graphite Xexclude from comparison | OceanBase Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | An IoT native database with high performance for data management and analysis, deployable on the edge and the cloud and integrated with Hadoop, Spark and Flink | A scale-out RDBMS with evolutionary schema built on Apache HBase | A distributed document store with integrated cache, a powerful search engine, in-built operational and analytical capabilities, and an embedded mobile database | Data logging and graphing tool for time series data The storage layer (fixed size database) is called Whisper | A distributed, high available RDBMS compatible with Oracle and MySQL | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Time Series DBMS | Relational DBMS | Document store | Time Series DBMS | Relational DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Key-value store originating from the former Membase product and supporting the Memcached protocol Spatial DBMS using the Geocouch extension Search engine Time Series DBMS Vector DBMS | Document store Wide column store | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | iotdb.apache.org | phoenix.apache.org | www.couchbase.com | github.com/graphite-project/graphite-web | en.oceanbase.com | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | iotdb.apache.org/UserGuide/Master/QuickStart/QuickStart.html | phoenix.apache.org | docs.couchbase.com | graphite.readthedocs.io | en.oceanbase.com/docs/oceanbase-database | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Apache Software Foundation | Apache Software Foundation | Couchbase, Inc. | Chris Davis | OceanBase previously Alibaba and Ant Group | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2018 | 2014 | 2011 | 2006 | 2010 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 1.1.0, April 2023 | 5.0-HBase2, July 2018 and 4.15-HBase1, December 2019 | Server: 7.2, June 2023; Mobile: 3.1, March 2022; Couchbase Capella (DBaaS), June 2023 | 4.3.0, April 2024 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | Open Source Apache Version 2.0 | Open Source Apache Version 2.0 | Open Source Business Source License (BSL 1.1); Commercial licenses also available | Open Source Apache 2.0 | Open Source 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. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Implementation language | Java | Java | C, C++, Go and Erlang | Python | C++ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | All OS with a Java VM (>= 1.8) | Linux Unix Windows | Linux OS X Windows | Linux Unix | Linux | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | yes | yes late-bound, schema-on-read capabilities | schema-free | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes | yes | yes | Numeric data only | 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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | yes | yes | yes | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | SQL-like query language | yes | SQL++, extends ANSI SQL to JSON for operational, transactional, and analytic use cases | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | JDBC Native API | JDBC | CLI Client HTTP REST Kafka Connector Native language bindings for CRUD, Query, Search and Analytics APIs Spark Connector Spring Data | HTTP API Sockets | JDBC ODBC ODP.NET Oracle Call Interface (OCI) Proprietary native API Table API | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | C C# C++ Go Java Python Scala | C C# C++ Go Groovy Java PHP Python Scala | .Net C Go Java JavaScript Node.js Kotlin PHP Python Ruby Scala | JavaScript (Node.js) 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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | yes | user defined functions | Functions and timers in JavaScript and UDFs in Java, Python, SQL++ | no | PL/SQL in oracle-compatible mode, MySQL Stored Procedure in mysql-compatible mode | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | yes | no | yes via the TAP protocol | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | horizontal partitioning (by time range) + vertical partitioning (by deviceId) | Sharding | Automatic Sharding | none | horizontal partitioning (by hash, key, range, range columns, list, and list columns) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | selectable replication methods; using Raft/IoTConsensus algorithm to ensure strong/eventual data consistency among multiple replicas | Multi-source replication Source-replica replication | Multi-source replication including cross data center replication Source-replica replication | none | Multi-source replication using Paxos | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | Integration with Hadoop and Spark | Hadoop integration | yes | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Eventual Consistency Strong Consistency with Raft | Immediate Consistency or Eventual Consistency | Eventual Consistency Immediate Consistency selectable on a per-operation basis | none | Immediate Consistency | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | no | no | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | no | ACID | ACID | no | ACID | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes | yes | yes locking | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes | yes | yes | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities Is there an option to define some or all structures to be held in-memory only. | yes | yes | yes Ephemeral buckets | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | yes | Access Control Lists (using HBase ACL) for RBAC, integration with Apache Ranger for RBAC & ABAC, multi-tenancy | User and Administrator separation with password-based and LDAP integrated Authentication. Role-base access control. | no | Access rights for users, groups and roles according to SQL-standard | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 services | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3rd parties | 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 IoTDB | Apache Phoenix | Couchbase Originally called Membase | Graphite | OceanBase | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | Cloudera's HBase PaaS offering now supports Complex Transactions | Couchbase climbs up the DB-Engines Ranking, increasing its popularity by 10% every month | Time Series DBMS are the database category with the fastest increase in popularity Time Series DBMS as a new trend? | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recent citations in the news | TsFile: A Standard Format for IoT Time Series Data Linux 6.5 With AMD P-State EPP Default Brings Performance & Power Efficiency Benefits For Ryzen Servers AMD EPYC 8324P / 8324PN Siena 32-Core Siena Linux Server Performance Review Apache Promotes IoT Database Project Timecho Raises Over US$10M in First Funding provided by Google News | Supercharge SQL on Your Data in Apache HBase with Apache Phoenix | Amazon Web Services Azure #HDInsight Apache Phoenix now supports Zeppelin Bridge the SQL-NoSQL gap with Apache Phoenix Apache Calcite, FreeMarker, Gora, Phoenix, and Solr updated Hortonworks Starts Hadoop Summit with Data Platform Update -- ADTmag provided by Google News | 11 Analysts Have This To Say About Couchbase Couchbase (NASDAQ:BASE) Receives New Coverage from Analysts at UBS Group Couchbase Announces New Features to Accelerate AI-Powered Adaptive Applications for Customers Database software company Couchbase valued at nearly $1.2 billion in Nasdaq debut UBS Neutral on Couchbase stock citing Capella's growth potential provided by Google News | Try out the Graphite monitoring tool for time-series data Grafana Labs Announces Mimir Time Series Database How Grafana made observability accessible The Billion Data Point Challenge: Building a Query Engine for High Cardinality Time Series Data Getting Started with Monitoring using Graphite provided by Google News | OceanBase Inks Agreement with NTU Singapore in Database Optimization and Green Computing Advancements Ant Group Will Cut Foreign Investors Out of Fast-Growing Database Business How Southeast Asia's Leading e-Wallets Saved Up to 40% in Database Costs - Fintech Singapore Haidilao’s 6-step recipe for successful digital transformation with OceanBase Alibaba's OceanBase distributed database aims at markets outside China provided by Google News |
Share this page