DBMS > BoltDB vs. Microsoft Azure Data Explorer vs. RethinkDB vs. SwayDB vs. TypeDB
System Properties Comparison BoltDB vs. Microsoft Azure Data Explorer vs. RethinkDB vs. SwayDB vs. TypeDB
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | BoltDB Xexclude from comparison | Microsoft Azure Data Explorer Xexclude from comparison | RethinkDB Xexclude from comparison | SwayDB Xexclude from comparison | TypeDB formerly named Grakn Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | An embedded key-value store for Go. | Fully managed big data interactive analytics platform | DBMS for the Web with a mechanism to push updated query results to applications in realtime. | An embeddable, non-blocking, type-safe key-value store for single or multiple disks and in-memory storage | TypeDB is a strongly-typed database with a rich and logical type system and TypeQL as its query language | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Key-value store | Relational DBMS column oriented | Document store | Key-value store | Graph DBMS Relational DBMS Often described as a 'hyper-relational' database, since it implements the 'Entity-Relationship Paradigm' to manage complex data structures and ontologies. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Document store If a column is of type dynamic docs.microsoft.com/en-us/azure/kusto/query/scalar-data-types/dynamic then it's possible to add arbitrary JSON documents in this cell Event Store this is the general usage pattern at Microsoft. Billing, Logs, Telemetry events are stored in ADX and the state of an individual entity is defined by the arg_max(timestamps) Spatial DBMS Search engine support for complex search expressions docs.microsoft.com/en-us/azure/kusto/query/parseoperator FTS, Geospatial docs.microsoft.com/en-us/azure/kusto/query/geo-point-to-geohash-function distributed search -> ADX acts as a distributed search engine Time Series DBMS see docs.microsoft.com/en-us/azure/data-explorer/time-series-analysis | Spatial DBMS | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | github.com/boltdb/bolt | azure.microsoft.com/services/data-explorer | rethinkdb.com | swaydb.simer.au | typedb.com | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | docs.microsoft.com/en-us/azure/data-explorer | rethinkdb.com/docs | typedb.com/docs | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Microsoft | The Linux Foundation since July 2017 | Simer Plaha | Vaticle | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2013 | 2019 | 2009 | 2018 | 2016 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | cloud service with continuous releases | 2.4.1, August 2020 | 2.26.3, January 2024 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | Open Source MIT License | commercial | Open Source Apache Version 2 | Open Source GNU Affero GPL V3.0 | Open Source GPL Version 3, commercial licenses available | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Cloud-based only Only available as a cloud service | no | yes | 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++ | Scala | Java | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | BSD Linux OS X Solaris Windows | hosted | Linux OS X Windows | Linux OS X Windows | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | schema-free | Fixed schema with schema-less datatypes (dynamic) | schema-free | schema-free | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | no | yes bool, datetime, dynamic, guid, int, long, real, string, timespan, double: docs.microsoft.com/en-us/azure/kusto/query/scalar-data-types | yes string, binary, float, bool, date, geometry | no | 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 | yes | no | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | no | all fields are automatically indexed | yes | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | no | Kusto Query Language (KQL), SQL subset | no | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | Microsoft SQL Server communication protocol (MS-TDS) RESTful HTTP API | gRPC protocol TypeDB Console (shell) TypeDB Studio (Visualisation software- previously TypeDB Workbase) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | Go | .Net Go Java JavaScript (Node.js) PowerShell Python R | C community-supported driver C# community-supported driver C++ community-supported driver Clojure community-supported driver Dart community-supported driver Erlang community-supported driver Go community-supported driver Haskell community-supported driver Java official driver JavaScript (Node.js) official driver Lisp community-supported driver Lua community-supported driver Objective-C community-supported driver Perl community-supported driver PHP community-supported driver Python official driver Ruby official driver Scala community-supported driver | Java Kotlin Scala | All JVM based languages Groovy Java JavaScript (Node.js) Python Scala | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | no | Yes, possible languages: KQL, Python, R | no | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | no | yes see docs.microsoft.com/en-us/azure/kusto/management/updatepolicy | Client-side triggers through changefeeds | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | none | Sharding Implicit feature of the cloud service | Sharding range based | none | Sharding by using Cassandra | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | none | yes Implicit feature of the cloud service. Replication either local, cross-facility or geo-redundant. | Source-replica replication | none | Multi-source replication by using Cassandra | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | no | Spark connector (open source): github.com/Azure/azure-kusto-spark | yes | no | yes by using Apache Kafka and Apache Zookeeper | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | none | Eventual Consistency Immediate Consistency | Immediate Consistency | Immediate Consistency | Immediate Consistency | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | no | no | no | no substituted by the relationship feature | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | yes | no | Atomic single-document operations | Atomic execution of operations | ACID | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes | yes MVCC based | yes | 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. | no | no | no | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | no | Azure Active Directory Authentication | yes users and table-level permissions | no | yes at REST API level; other APIs in progress | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More information provided by the system vendor | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
BoltDB | Microsoft Azure Data Explorer | RethinkDB | SwayDB | TypeDB formerly named Grakn | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Specific characteristics | TypeDB is a polymorphic database with a conceptual data model, a strong subtyping... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Competitive advantages | TypeDB provides a new level of expressivity, extensibility, interoperability, and... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typical application scenarios | Life sciences : TypeDB makes working with biological data much easier and accelerates... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Licensing and pricing models | Apache f or language drivers, and AGPL and Commercial for the database server. The... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
We 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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
BoltDB | Microsoft Azure Data Explorer | RethinkDB | SwayDB | TypeDB formerly named Grakn | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | Meet some database management systems you are likely to hear more about in the future | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recent citations in the news | What I learnt from building 3 high traffic web applications on an embedded key value store. 4 Instructive Postmortems on Data Downtime and Loss Three Reasons DevOps Should Consider Rocky Linux 9.4 Roblox’s cloud-native catastrophe: A post mortem How to Put a GUI on Ansible, Using Semaphore provided by Google News | Azure Data Explorer: Log and telemetry analytics benchmark Providing modern data transfer and storage service at Microsoft with Microsoft Azure - Inside Track Blog Controlling costs in Azure Data Explorer using down-sampling and aggregation Microsoft Introduces Azure Integration Environments and Business Process Tracking in Public Preview Individually great, collectively unmatched: Announcing updates to 3 great Azure Data Services provided by Google News | MongoDB: The Popular Database for IoT How to Use RethinkDB with Node.js Applications — SitePoint Stripe acquires team behind NoSQL database startup RethinkDB RethinkDB is dead, and MongoDB isn't what killed it How to deploy RethinkDB using Docker provided by Google News | An Enterprise Data Stack Using TypeDB | by Daniel Crowe Spacecraft Engineering Models: How to Migrate UML to TypeQL Speedb Goes Open Source With Its Speedb Data Engine, A Drop-in Replacement for RocksDB 195 Data Science Libraries You Should Reconsider Using | by Dimitris Effrosynidis Modelling Biomedical Data for a Drug Discovery Knowledge Graph provided by Google News |
Share this page