DBMS > HarperDB vs. Microsoft SQL Server vs. Riak KV vs. Vitess vs. YugabyteDB
System Properties Comparison HarperDB vs. Microsoft SQL Server vs. Riak KV vs. Vitess vs. YugabyteDB
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | HarperDB Xexclude from comparison | Microsoft SQL Server Xexclude from comparison | Riak KV Xexclude from comparison | Vitess Xexclude from comparison | YugabyteDB Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | HarperDB takes the "stack" out of "tech stack" by combining an ultra-fast document-style data store, in-memory cache, real-time message broker, and your application components into a single distributed technology. | Microsofts flagship relational DBMS | Distributed, fault tolerant key-value store | Scalable, distributed, cloud-native DBMS, extending MySQL | High-performance distributed SQL database for global, internet-scale applications. Wire and feature compatible with PostgreSQL. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Document store | Relational DBMS | Key-value store with links between data sets and object tags for the creation of secondary indexes | Relational DBMS | Relational DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Document store Graph DBMS Spatial DBMS | Document store Spatial DBMS | Document store Wide column store | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | www.harperdb.io | www.microsoft.com/en-us/sql-server | vitess.io | www.yugabyte.com | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | docs.harperdb.io/docs | learn.microsoft.com/en-US/sql/sql-server | www.tiot.jp/riak-docs/riak/kv/latest | vitess.io/docs | docs.yugabyte.com github.com/yugabyte/yugabyte-db | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | HarperDB | Microsoft | OpenSource, formerly Basho Technologies | The Linux Foundation, PlanetScale | Yugabyte Inc. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2017 | 1989 | 2009 | 2013 | 2017 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 3.1, August 2021 | SQL Server 2022, November 2022 | 3.2.0, December 2022 | 15.0.2, December 2022 | 2.19, September 2023 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | commercial free community edition available | commercial restricted free version is available | Open Source Apache version 2, commercial enterprise edition | Open Source Apache Version 2.0, commercial licenses 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. | SQLServer Flex @ STACKIT offers a managed version of SQL Server with adjustable CPU, RAM, storage amount and speed, in enterprise grade to perfectly match all application requirements. All services are 100% GDPR-compliant. | YugabyteDB Managed is the fully managed database-as-a-service offering of YugabyteDB. Get started quickly, and effortlessly ensure continuous availability and limitless scale of your cloud native applications. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Implementation language | Node.js | C++ | Erlang | Go | C and C++ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | Linux OS X | Linux Windows | Linux OS X | Docker Linux macOS | Linux OS X | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | dynamic schema | yes | schema-free | yes | depending on used data model | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes JSON data types | 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 | yes | no | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | yes | yes | restricted | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | SQL-like data manipulation statements | yes | no | yes with proprietary extensions | yes, PostgreSQL compatible | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | JDBC ODBC React Hooks RESTful HTTP/JSON API WebSocket | ADO.NET JDBC ODBC OLE DB Tabular Data Stream (TDS) | HTTP API Native Erlang Interface | ADO.NET JDBC MySQL protocol ODBC | JDBC YCQL, an SQL-based flexible-schema API with its roots in Cassandra Query Language YSQL - a fully relational SQL API that is wire compatible with the SQL language in PostgreSQL | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | .Net C C# C++ ColdFusion D Dart Delphi Erlang Go Haskell Java JavaScript (Node.js) Lisp MatLab Objective C Perl PHP PowerShell Prolog Python R Ruby Rust Scala Swift | C# C++ Delphi Go Java JavaScript (Node.js) PHP Python R Ruby Visual Basic | C unofficial client library C# C++ unofficial client library Clojure unofficial client library Dart unofficial client library Erlang Go unofficial client library Groovy unofficial client library Haskell unofficial client library Java JavaScript unofficial client library Lisp unofficial client library Perl unofficial client library PHP Python Ruby Scala unofficial client library Smalltalk unofficial client library | Ada C C# C++ D Delphi Eiffel Erlang Haskell Java JavaScript (Node.js) Objective-C OCaml Perl PHP Python Ruby Scheme Tcl | C C# C++ Go Java JavaScript (Node.js) PHP Python Ruby Rust Scala | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | Custom Functions since release 3.1 | Transact SQL, .NET languages, R, Python and (with SQL Server 2019) Java | Erlang | yes proprietary syntax | yes sql, plpgsql, C | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | no | yes | yes pre-commit hooks and post-commit hooks | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | A table resides as a whole on one (or more) nodes in a cluster | tables can be distributed across several files (horizontal partitioning); sharding through federation | Sharding no "single point of failure" | Sharding | Hash and Range Sharding, row-level geo-partitioning | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | yes the nodes on which a table resides can be defined | yes, but depending on the SQL-Server Edition | selectable replication factor | Multi-source replication Source-replica replication | Based on Raft distributed consensus protocol, minimum 3 replicas for continuous availability | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | no | no | yes | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Immediate Consistency | Immediate Consistency | Eventual Consistency | Eventual Consistency across shards Immediate Consistency within a shard | Strong consistency on writes and tunable consistency on reads | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | yes | no links between data sets can be stored | yes not for MyISAM storage engine | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | Atomic execution of specific operations | ACID | no | ACID at shard level | Distributed ACID with Serializable & Snapshot Isolation. Inspired by Google Spanner architecture. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes | yes | yes table locks or row locks depending on storage engine | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes, using LMDB | yes | yes | yes | yes based on RocksDB | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities Is there an option to define some or all structures to be held in-memory only. | yes | yes | yes | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | Access rights for users and roles | fine grained access rights according to SQL-standard | yes, using Riak Security | Users with fine-grained authorization concept no user groups or roles | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More information provided by the system vendor | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
HarperDB | Microsoft SQL Server | Riak KV | Vitess | YugabyteDB | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Specific characteristics | YugabyteDB is an open source distributed SQL database for cloud native transactional... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Competitive advantages | PostgreSQL compatible: Get instantly productive with a PostgreSQL compatible RDBMS.... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typical application scenarios | Systems of record and engagement for cloud native applications that require resilience,... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Market metrics | 2 Million+ lifetime clusters deployed, 6.5K+ GitHub stars, 7K YugabyteDB Community... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Licensing and pricing models | Apache 2.0 license for the database » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
We invite representatives of system vendors to contact us for updating and extending the system information, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Related products and services | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3rd parties | Navicat for SQL Server gives you a fully graphical approach to database management and development. » more Navicat Monitor is a safe, simple and agentless remote server monitoring tool for SQL Server and many other database management systems. » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
We invite representatives of vendors of related products to contact us for presenting information about their offerings here. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More resources | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
HarperDB | Microsoft SQL Server | Riak KV | Vitess | YugabyteDB | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | MySQL is the DBMS of the Year 2019 The struggle for the hegemony in Oracle's database empire Microsoft SQL Server is the DBMS of the Year | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Conferences, events and webinars | PASS Data Community Summit | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recent citations in the news | HarperDB Attracts Significant Growth Investment from Serent Capital Defense Innovation Unit Issues Success Memo to HarperDB for its Common Operation Database Prototype DoD Successfully Deploys Commercial AI Solutions for COD Project Serent Capital invests in software firm HarperDB HarperDB Receives Growth Investment from Serent Capital provided by Google News | Migrate SQL Server databases to Babelfish for Aurora PostgreSQL using change tracking with a linked server Getting started with delivering generative AI capabilities in SQL Server and Azure SQL Contractor Software Targeted via Microsoft SQL Server Loophole SQL Server vNext: When and What Is Coming Mastering the SQL Server command-line interface provided by Google News | Basho Revamps Riak Open-Source Database A Critique of Resizable Hash Tables: Riak Core & Random Slicing Top 8 Best NoSQL Databases in 2024 Riak NoSQL snapped up by Bet365 Basho aims for enterprise operational simplicity with new Data Platform provided by Google News | Deepthi Sigireddi on Distributed Database Architecture in the Cloud Native Era They scaled YouTube — now they’ll shard everyone with PlanetScale PlanetScale Unveils Distributed MySQL Database Service Based on Vitess CNCF’s Vitess Scales MySQL with the Help of Kubernetes PlanetScale Announces $30M Series B Funding to Accelerate Adoption of Instantly Provisioned and Infinitely Scalable Database provided by Google News | YugabyteDB Evolves PostgreSQL to a Distributed Architecture for Modern, Cloud-Native Applications YugabyteDB evolves into a distributed PostgreSQL database for apps that need resilience and scale YugabyteDB Becomes First Distributed SQL Database Vendor to Complete CIS Benchmark YugabyteDB 2.19 gets new PostgreSQL-compatibility features Simplifying cloud-native app development with Yugabyte provided by Google News |
Share this page