DBMS > Oracle Berkeley DB vs. Percona Server for MongoDB vs. Riak KV vs. Snowflake vs. VoltDB
System Properties Comparison Oracle Berkeley DB vs. Percona Server for MongoDB vs. Riak KV vs. Snowflake vs. VoltDB
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | Oracle Berkeley DB Xexclude from comparison | Percona Server for MongoDB Xexclude from comparison | Riak KV Xexclude from comparison | Snowflake Xexclude from comparison | VoltDB Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | Widely used in-process key-value store | A drop-in replacement for MongoDB Community Edition with enterprise-grade features. | Distributed, fault tolerant key-value store | Cloud-based data warehousing service for structured and semi-structured data | 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 | Key-value store supports sorted and unsorted key sets Native XML DBMS in the Oracle Berkeley DB XML version | Document store | Key-value store with links between data sets and object tags for the creation of secondary indexes | Relational DBMS | Relational DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | www.oracle.com/database/technologies/related/berkeleydb.html | www.percona.com/mongodb/software/percona-server-for-mongodb | www.snowflake.com | www.voltdb.com | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | docs.oracle.com/cd/E17076_05/html/index.html | docs.percona.com/percona-distribution-for-mongodb | www.tiot.jp/riak-docs/riak/kv/latest | docs.snowflake.net/manuals/index.html | docs.voltdb.com | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Oracle originally developed by Sleepycat, which was acquired by Oracle | Percona | OpenSource, formerly Basho Technologies | Snowflake Computing Inc. | VoltDB Inc. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 1994 | 2015 | 2009 | 2014 | 2010 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 18.1.40, May 2020 | 3.4.10-2.10, November 2017 | 3.2.0, December 2022 | 11.3, April 2022 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | Open Source commercial license available | Open Source GPL Version 2 | Open Source Apache version 2, commercial enterprise edition | commercial | 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 | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DBaaS offerings (sponsored links) Database as a Service Providers of DBaaS offerings, please contact us to be listed. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Implementation language | C, Java, C++ (depending on the Berkeley DB edition) | C++ | Erlang | Java, C++ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | AIX Android FreeBSD iOS Linux OS X Solaris VxWorks Windows | Linux | Linux OS X | hosted | Linux OS X for development | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | schema-free | schema-free | schema-free | yes support of semi-structured data formats (JSON, XML, Avro) | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | no | 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. | yes only with the Berkeley DB XML edition | no | no | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | yes | yes | restricted | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | yes SQL interfaced based on SQLite is available | no | no | yes | yes only a subset of SQL 99 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | proprietary protocol using JSON | HTTP API Native Erlang Interface | CLI Client JDBC ODBC | Java API JDBC RESTful HTTP/JSON API | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | .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 | Actionscript C C# C++ Clojure ColdFusion D Dart Delphi Erlang Go Groovy Haskell Java JavaScript Lisp Lua MatLab Perl PHP PowerShell Prolog Python R Ruby Scala Smalltalk | 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 | JavaScript (Node.js) Python | C# C++ Erlang not officially supported Go Java JavaScript Node.js PHP Python | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | no | JavaScript | Erlang | user defined functions | Java | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | yes only for the SQL API | no | yes pre-commit hooks and post-commit hooks | no similar concept for controling cloud resources | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | none | Sharding | Sharding no "single point of failure" | yes | Sharding | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | Source-replica replication | Source-replica replication | selectable replication factor | yes | Multi-source replication Source-replica replication | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | no | yes | yes | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Eventual Consistency Immediate Consistency | Eventual Consistency | Immediate Consistency | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | no | no links between data sets can be stored | yes | no FOREIGN KEY constraints are not supported | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | ACID | no | no | ACID | 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 | 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 via In-Memory Engine | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | no | Access rights for users and roles | yes, using Riak Security | Users with fine-grained authorization concept, user roles and pluggable authentication | 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 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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Oracle Berkeley DB | Percona Server for MongoDB | Riak KV | Snowflake | VoltDB | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | Snowflake is the DBMS of the Year 2022, defending the title from last year Snowflake is the DBMS of the Year 2021 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recent citations in the news | ACM recognizes far-reaching technical achievements with special awards Oracle buys Sleepycat Software Database Trends Report: SQL Beats NoSQL, MySQL Most Popular -- ADTmag Margo I. Seltzer | Berkman Klein Center How to store financial market data for backtesting provided by Google News | MongoDB Performance Tuning How to Plan Your MongoDB Upgrade There are lots of ways to put a database in the cloud – here's what to consider Why Isn't the World Upgrading Its Databases? FerretDB goes GA: Gives you MongoDB, without the MongoDB... provided by Google News | Basho Revamps Riak Open-Source Database A Critique of Resizable Hash Tables: Riak Core & Random Slicing Riak NoSQL snapped up by Bet365 Basho to Bolster Riak with DB Plug-Ins Basho Advances NoSQL Riak Enterprise 2.0 With Search, Advanced Data Types provided by Google News | The Snowflake Attack May Be Turning Into One of the Largest Data Breaches Ever What Snowflake isn't saying about its customer data breaches Snowflake Hit With Data Breach - What's Going On? Massive Ticketmaster, Santander data breaches linked to Snowflake cloud storage Hudson Rock yanks report fingering Snowflake employee creds snafu for mega-leak provided by Google News | Unveiling Volt Active Data's game-changing approach to limitless app performance VoltDB Launches Active(N) Lossless Cross Data Center Replication VoltDB Turns to Real-Time Analytics with NewSQL Database VoltDB Upgrades Power, Security of Its In-Memory Database VoltDB Adds Geospatial Support, Cross-Site Replication provided by Google News |
Share this page