DBMS > Apache Phoenix vs. JanusGraph vs. Oracle Berkeley DB vs. Spark SQL vs. VoltDB
System Properties Comparison Apache Phoenix vs. JanusGraph vs. Oracle Berkeley DB vs. Spark SQL vs. VoltDB
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | Apache Phoenix Xexclude from comparison | JanusGraph successor of Titan Xexclude from comparison | Oracle Berkeley DB Xexclude from comparison | Spark SQL Xexclude from comparison | VoltDB Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | A scale-out RDBMS with evolutionary schema built on Apache HBase | A Graph DBMS optimized for distributed clusters It was forked from the latest code base of Titan in January 2017 | Widely used in-process key-value store | Spark SQL is a component on top of 'Spark Core' for structured data processing | Distributed In-Memory NewSQL RDBMS Used for OLTP applications with a high frequency of relatively simple transactions, that can hold all their data in memory | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Relational DBMS | Graph DBMS | Key-value store supports sorted and unsorted key sets Native XML DBMS in the Oracle Berkeley DB XML version | Relational DBMS | Relational DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | phoenix.apache.org | janusgraph.org | www.oracle.com/database/technologies/related/berkeleydb.html | spark.apache.org/sql | www.voltdb.com | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | phoenix.apache.org | docs.janusgraph.org | docs.oracle.com/cd/E17076_05/html/index.html | spark.apache.org/docs/latest/sql-programming-guide.html | docs.voltdb.com | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Apache Software Foundation | Linux Foundation; originally developed as Titan by Aurelius | Oracle originally developed by Sleepycat, which was acquired by Oracle | Apache Software Foundation | VoltDB Inc. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2014 | 2017 | 1994 | 2014 | 2010 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 5.0-HBase2, July 2018 and 4.15-HBase1, December 2019 | 0.6.3, February 2023 | 18.1.40, May 2020 | 3.5.0 ( 2.13), September 2023 | 11.3, April 2022 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | Open Source Apache Version 2.0 | Open Source Apache 2.0 | Open Source commercial license available | Open Source Apache 2.0 | Open Source AGPL for Community Edition, commercial license for Enterprise, AWS, and Pro Editions | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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, Java, C++ (depending on the Berkeley DB edition) | Scala | Java, C++ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | Linux Unix Windows | Linux OS X Unix Windows | AIX Android FreeBSD iOS Linux OS X Solaris VxWorks Windows | Linux OS X Windows | Linux OS X for development | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | yes late-bound, schema-on-read capabilities | yes | schema-free | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | yes only with the Berkeley DB XML edition | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | yes | yes | yes | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | yes | no | yes SQL interfaced based on SQLite is available | SQL-like DML and DDL statements | yes only a subset of SQL 99 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | JDBC | Java API TinkerPop Blueprints TinkerPop Frames TinkerPop Gremlin TinkerPop Rexster | JDBC ODBC | Java API JDBC RESTful HTTP/JSON API | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | C C# C++ Go Groovy Java PHP Python Scala | Clojure Java Python | .Net Figaro is a .Net framework assembly that extends Berkeley DB XML into an embeddable database engine for .NET others Third-party libraries to manipulate Berkeley DB files are available for many languages C C# C++ Java JavaScript (Node.js) 3rd party binding Perl Python Tcl | Java Python R Scala | C# C++ Erlang not officially supported Go Java JavaScript Node.js PHP Python | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | user defined functions | yes | no | no | Java | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | no | yes | yes only for the SQL API | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | Sharding | yes depending on the used storage backend (e.g. Cassandra, HBase, BerkeleyDB) | none | yes, utilizing Spark Core | Sharding | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | Multi-source replication Source-replica replication | yes | Source-replica replication | none | Multi-source replication Source-replica replication | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | Hadoop integration | yes via Faunus, a graph analytics engine | no | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Immediate Consistency or Eventual Consistency | Eventual Consistency Immediate Consistency | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | yes Relationships in graphs | no | no | no FOREIGN KEY constraints are not supported | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | ACID | ACID | ACID | no | ACID Transactions are executed single-threaded within stored procedures | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes | yes | yes Data access is serialized by the server | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes | yes Supports various storage backends: Cassandra, HBase, Berkeley DB, Akiban, Hazelcast | yes | yes | yes Snapshots and command logging | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities Is there an option to define some or all structures to be held in-memory only. | yes | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | Access Control Lists (using HBase ACL) for RBAC, integration with Apache Ranger for RBAC & ABAC, multi-tenancy | User authentification and security via Rexster Graph Server | no | no | Users and roles with access to stored procedures | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Apache Phoenix | JanusGraph successor of Titan | Oracle Berkeley DB | Spark SQL | VoltDB | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | Cloudera's HBase PaaS offering now supports Complex Transactions | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recent citations in the news | Supercharge SQL on Your Data in Apache HBase with Apache Phoenix | Amazon Web Services Azure HDInsight Analytics Platform Now Supports Apache Hadoop 3.0 Hortonworks Starts Hadoop Summit with Data Platform Update -- ADTmag Apache Drill Adds New Data Formats Amazon EMR 4.7.0 – Apache Tez & Phoenix, Updates to Existing Apps | Amazon Web Services provided by Google News | Database Deep Dives: JanusGraph JanusGraph Picks Up Where TitanDB Left Off From graph db to graph embedding. In 7 simple steps. | by Andy Greatorex Compose for JanusGraph arrives on Bluemix Nordstrom Builds Flexible Backend Ops with Kubernetes, Spark and JanusGraph provided by Google News | Margo Seltzer Named ACM Athena Lecturer for Technical and Mentoring Contributions ACM recognizes far-reaching technical achievements with special awards Database Trends Report: SQL Beats NoSQL, MySQL Most Popular -- ADTmag Oracle buys Sleepycat Software Margo I. Seltzer | Berkman Klein Center provided by Google News | Performance Insights from Sigma Rule Detections in Spark Streaming Run Apache Hive workloads using Spark SQL with Amazon EMR on EKS | Amazon Web Services What is Apache Spark? The big data platform that crushed Hadoop Cracking the Apache Spark Interview: 80+ Top Questions and Answers for 2024 Use Amazon Athena with Spark SQL for your open-source transactional table formats | Amazon Web Services provided by Google News | VoltDB Launches Active(N) Lossless Cross Data Center Replication VoltDB Upgrades Power, Security of Its In-Memory Database VoltDB Adds Geospatial Support, Cross-Site Replication VoltDB Aims for Fast Big Data Development -- ADTmag Stonebraker Seeks to Invert the Computing Paradigm with DBOS provided by Google News |
Share this page