DBMS > Dgraph vs. EJDB vs. Firebird vs. IBM Db2 Event Store vs. JanusGraph
System Properties Comparison Dgraph vs. EJDB vs. Firebird vs. IBM Db2 Event Store vs. JanusGraph
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | Dgraph Xexclude from comparison | EJDB Xexclude from comparison | Firebird Xexclude from comparison | IBM Db2 Event Store Xexclude from comparison | JanusGraph successor of Titan Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | Distributed and scalable native Graph DBMS | Embeddable document-store database library with JSON representation of queries (in MongoDB style) | Firebird is an open source RDBMS forked from Borland's InterBase | Distributed Event Store optimized for Internet of Things use cases | A Graph DBMS optimized for distributed clusters It was forked from the latest code base of Titan in January 2017 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Graph DBMS | Document store | Relational DBMS | Event Store Time Series DBMS | Graph DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | dgraph.io | github.com/Softmotions/ejdb | www.firebirdsql.org | www.ibm.com/products/db2-event-store | janusgraph.org | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | dgraph.io/docs | github.com/Softmotions/ejdb/blob/master/README.md | www.firebirdsql.org/en/reference-manuals | www.ibm.com/docs/en/db2-event-store | docs.janusgraph.org | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Dgraph Labs, Inc. | Softmotions | Firebird Foundation | IBM | Linux Foundation; originally developed as Titan by Aurelius | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2016 | 2012 | 2000 As fork of Borland's InterBase | 2017 | 2017 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 5.0.0, January 2024 | 2.0 | 0.6.3, February 2023 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | Open Source Apache 2.0 | Open Source GPLv2 | Open Source Initial Developer's Public License | commercial free developer edition available | Open Source Apache 2.0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | Go | C | C and C++ | C and C++ | Java | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | Linux OS X Windows | server-less | AIX FreeBSD HP-UX Linux OS X server-less Firebird Embedded Server Solaris Unix Windows | Linux Linux, macOS, Windows for the developer addition | Linux OS X Unix Windows | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | schema-free | schema-free | yes | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes | yes string, integer, double, bool, date, object_id | 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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | yes | no | yes | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | no | no | yes | yes through the embedded Spark runtime | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | GraphQL query language gRPC (using protocol buffers) API HTTP API | in-process shared library | ADO.NET C/C++ API JDBC Jaybird ODBC OLE DB | ADO.NET DB2 Connect JDBC ODBC RESTful HTTP API | Java API TinkerPop Blueprints TinkerPop Frames TinkerPop Gremlin TinkerPop Rexster | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | C# C++ Go Java JavaScript (Node.js) PHP Python Ruby | Actionscript C C# C++ Go Java JavaScript (Node.js) Lua Objective-C Pike Python Ruby | C C# C++ Delphi Java JavaScript Node.js Lua Perl PHP Python Ruby | C C# C++ Cobol Delphi Fortran Go Java JavaScript (Node.js) Perl PHP Python R Ruby Scala Visual Basic | Clojure Java Python | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | no | no | PSQL | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | no | no | yes | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | yes | none | none | Sharding | yes depending on the used storage backend (e.g. Cassandra, HBase, BerkeleyDB) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | Synchronous replication via Raft | none | Source-replica replication | Active-active shard replication | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | no | no | no | no | yes via Faunus, a graph analytics engine | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Immediate Consistency | Eventual Consistency | Eventual Consistency Immediate Consistency | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | no typically not needed, however similar functionality with collection joins possible | yes | no | yes Relationships in graphs | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | ACID | no | ACID | no | ACID | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes Read/Write Locking | yes Features a multi-generational MVCC architecture, readers do not block writers | No - written data is immutable | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes | yes | yes | Yes - Synchronous writes to local disk combined with replication and asynchronous writes in parquet format to permanent shared storage | yes Supports various storage backends: Cassandra, HBase, Berkeley DB, Akiban, Hazelcast | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities Is there an option to define some or all structures to be held in-memory only. | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | no Planned for future releases | no | Users with fine-grained authorization concept | fine grained access rights according to SQL-standard | User authentification and security via Rexster Graph Server | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Dgraph | EJDB | Firebird | IBM Db2 Event Store | JanusGraph successor of Titan | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recent citations in the news | Dgraph on AWS: Setting up a horizontally scalable graph database | Amazon Web Services Popular Open Source GraphQL Company Dgraph Secures $6M in Seed Round with New Leadership Dgraph Raises $6M in Seed Funding Dgraph raises $11.5 million for scalable graph database solutions Dgraph Rises to the Top Graph Database on GitHub With 11 G2 Badges and 11M Downloads provided by Google News | DoNot Team's New Firebird Backdoor Hits Pakistan and Afghanistan 12 Top Open Source Databases to Consider Exploring the Firebird Database Albany Firebirds single-game tickets on sale Friday Top 15 Databases to Use in 2024 and Beyond provided by Google News | Advancements in streaming data storage, real-time analysis and machine learning How IBM Is Turning Db2 into an 'AI Database' Best cloud databases of 2022 Why a robust data management strategy is essential today | IBM HDM 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 Nordstrom Builds Flexible Backend Ops with Kubernetes, Spark and JanusGraph The year of the graph: Getting graphic, going native, reshaping the landscape provided by Google News |
Share this page