DBMS > BoltDB vs. IBM Cloudant vs. JaguarDB vs. Riak TS vs. TimescaleDB
System Properties Comparison BoltDB vs. IBM Cloudant vs. JaguarDB vs. Riak TS vs. TimescaleDB
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | BoltDB Xexclude from comparison | IBM Cloudant Xexclude from comparison | JaguarDB Xexclude from comparison | Riak TS Xexclude from comparison | TimescaleDB Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | An embedded key-value store for Go. | Database as a Service offering based on Apache CouchDB | Performant, highly scalable DBMS for AI and IoT applications | Riak TS is a distributed NoSQL database optimized for time series data and based on Riak KV | A time series DBMS optimized for fast ingest and complex queries, based on PostgreSQL | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Key-value store | Document store | Key-value store Vector DBMS | Time Series DBMS | Time Series DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Relational DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | github.com/boltdb/bolt | www.ibm.com/products/cloudant | www.jaguardb.com | www.timescale.com | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | cloud.ibm.com/docs/Cloudant | www.jaguardb.com/support.html | www.tiot.jp/riak-docs/riak/ts/latest | docs.timescale.com | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | IBM, Apache Software Foundation IBM acquired Cloudant in February 2014 | DataJaguar, Inc. | Open Source, formerly Basho Technologies | Timescale | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2013 | 2010 | 2015 | 2015 | 2017 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 3.3 July 2023 | 3.0.0, September 2022 | 2.15.0, May 2024 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | Open Source MIT License | commercial | Open Source GPL V3.0 | Open Source | Open Source Apache 2.0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | Erlang | C++ the server part. Clients available in other languages | Erlang | C | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | BSD Linux OS X Solaris Windows | hosted | Linux | Linux OS X | Linux OS X Windows | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | schema-free | schema-free | yes | schema-free | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | no | no | yes | no | numerics, strings, booleans, arrays, JSON blobs, geospatial dimensions, currencies, binary data, other complex data types | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | no | yes | yes | restricted | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | no | no | A subset of ANSI SQL is implemented but no views, foreign keys, triggers | yes, limited | yes full PostgreSQL SQL syntax | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | RESTful HTTP/JSON API | JDBC ODBC | HTTP API Native Erlang Interface | ADO.NET JDBC native C library ODBC streaming API for large objects | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | Go | C# Java JavaScript Objective-C PHP Ruby | C C++ Go Java JavaScript (Node.js) PHP Python Ruby Scala | 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 | .Net C C++ Delphi Java JDBC JavaScript Perl PHP Python R Ruby Scheme Tcl | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | no | View functions (Map-Reduce) in JavaScript | no | Erlang | user defined functions, PL/pgSQL, PL/Tcl, PL/Perl, PL/Python, PL/Java, PL/PHP, PL/R, PL/Ruby, PL/Scheme, PL/Unix shell | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | no | yes | no | yes pre-commit hooks and post-commit hooks | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | none | Sharding | Sharding | Sharding | yes, across time and space (hash partitioning) attributes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | none | Multi-source replication Source-replica replication | Multi-source replication | selectable replication factor | Source-replica replication with hot standby and reads on replicas | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | no | yes | no | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | none | Eventual Consistency | Eventual Consistency | Eventual Consistency | Immediate Consistency | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | no | no | no links between datasets can be stored | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | yes | no atomic operations within a document possible | no | no | ACID | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes Optimistic locking | yes | 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 | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | no | Access rights for users can be defined per database | rights management via user accounts | no | fine grained access rights according to SQL-standard | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
BoltDB | IBM Cloudant | JaguarDB | Riak TS | TimescaleDB | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 Grafana Loki: Architecture Summary and Running in Kubernetes provided by Google News | Cloudant Best (and Worst) Practices — Part 1 Intro to Enterprise Cloud Storage: How to Set Up a Cloudant Database IBM to Purchase Cloudant Database as a service (DBaaS) Provider IBM Code Engine and IBM Cloudant: Serverless Data and Infrastructure DataStax acquires Aurelius, the startup behind the Titan graph database provided by Google News | Is Riak A Good NoSQL Database Option For Enterprises? Best open source databases for IoT applications provided by Google News | General availability: Latest version of the TimeScaleDB extension on Azure Database for PostgreSQL - Flexible Server Timescale Acquires PopSQL to Bring a Modern, Collaborative SQL GUI to PostgreSQL Developers TimescaleDB Is a Vector Database Now, Too PostgreSQL is Now Faster than Pinecone, 75% Cheaper, with New Open Source Extensions Understanding Hyperfunctions in TimescaleDB provided by Google News |
Share this page