DBMS > Badger vs. BoltDB vs. RocksDB vs. SQLite vs. Tigris
System Properties Comparison Badger vs. BoltDB vs. RocksDB vs. SQLite vs. Tigris
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | Badger Xexclude from comparison | BoltDB Xexclude from comparison | RocksDB Xexclude from comparison | SQLite Xexclude from comparison | Tigris Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | An embeddable, persistent, simple and fast Key-Value Store, written purely in Go. | An embedded key-value store for Go. | Embeddable persistent key-value store optimized for fast storage (flash and RAM) | Widely used embeddable, in-process RDBMS | A horizontally scalable, ACID transactional, document database available both as a fully managed cloud service and for deployment on self-managed infrastructure | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Key-value store | Key-value store | Key-value store | Relational DBMS | Document store Key-value store Search engine Time Series DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | github.com/dgraph-io/badger | github.com/boltdb/bolt | rocksdb.org | www.sqlite.org | www.tigrisdata.com | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | godoc.org/github.com/dgraph-io/badger | github.com/facebook/rocksdb/wiki | www.sqlite.org/docs.html | www.tigrisdata.com/docs | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | DGraph Labs | Facebook, Inc. | Dwayne Richard Hipp | Tigris Data, Inc. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2017 | 2013 | 2013 | 2000 | 2022 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 8.11.4, April 2024 | 3.45.3 (15 April 2024), April 2024 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | Open Source Apache 2.0 | Open Source MIT License | Open Source BSD | Open Source Public Domain | Open Source Apache Version 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 | Go | C++ | C | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | BSD Linux OS X Solaris Windows | BSD Linux OS X Solaris Windows | Linux | server-less | Linux macOS Windows | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | schema-free | schema-free | schema-free | yes dynamic column types | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | no | no | no | yes not rigid because of 'dynamic typing' concept. | 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 | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | no | no | no | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | no | no | no | yes SQL-92 is not fully supported | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | C++ API Java API | ADO.NET inofficial driver JDBC inofficial driver ODBC inofficial driver | CLI Client gRPC RESTful HTTP API | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | Go | Go | C C++ Go Java Perl Python Ruby | Actionscript Ada Basic C C# C++ D Delphi Forth Fortran Haskell Java JavaScript Lisp Lua MatLab Objective-C OCaml Perl PHP PL/SQL Python R Ruby Scala Scheme Smalltalk Tcl | Go Java JavaScript (Node.js) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | no | no | no | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | no | no | yes | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | none | none | horizontal partitioning | none | Sharding | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | none | none | yes | none | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | no | no | no | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | none | none | Immediate Consistency | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | no | no | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | no | yes | yes | ACID | ACID | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes | yes | yes via file-system locks | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes | yes | yes | yes | yes, using FoundationDB | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities Is there an option to define some or all structures to be held in-memory only. | no | no | yes | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | no | no | no | no | Access rights for users and roles | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | Speedb: A high performance RocksDB-compliant key-value store optimized for write-intensive workloads. » more | Navicat for SQLite is a powerful and comprehensive SQLite GUI that provides a complete set of functions for database management and development. » more | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
We invite representatives of vendors of related products to contact us for presenting information about their offerings here. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More resources | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Badger | BoltDB | RocksDB | SQLite | Tigris | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | Big gains for Relational Database Management Systems in DB-Engines Ranking | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 Roblox’s cloud-native catastrophe: A post mortem How to Put a GUI on Ansible, Using Semaphore provided by Google News | Pliops Unveils Accelerated Key-Value Store That Boosts RocksDB Performance by 20x at OCP Global Summit Did Rockset Just Solve Real-Time Analytics? Meta’s Velox Means Database Performance Is Not Subject To Interpretation Linux 6.9 Drives AMD 4th Gen EPYC Performance Even Higher For Some Workloads Facebook's MyRocks Truly Rocks! provided by Google News | How to work with Dapper and SQLite in ASP.NET Core SQLite's new support for binary JSON is similar but different from a PostgreSQL feature • DEVCLASS Stanchion Turns SQLite Into A Column Store Universal API Access from Postgres and SQLite Another Look At The Bcachefs Performance on Linux 6.7 Review provided by Google News | Tigris Data Unveils Beta Launch of New Vector Search Tool Tigris Data Launches All-in-One Developer Data Platform FerretDB Provides Alternative to MongoDB provided by Google News |
Share this page