DBMS > Datomic vs. Google Cloud Spanner vs. Graphite vs. LokiJS vs. OpenTSDB
System Properties Comparison Datomic vs. Google Cloud Spanner vs. Graphite vs. LokiJS vs. OpenTSDB
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | Datomic Xexclude from comparison | Google Cloud Spanner Xexclude from comparison | Graphite Xexclude from comparison | LokiJS Xexclude from comparison | OpenTSDB Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | Datomic builds on immutable values, supports point-in-time queries and uses 3rd party systems for durability | A horizontally scalable, globally consistent, relational database service. It is the externalization of the core Google database that runs the biggest aspects of Google, like Ads and Google Play. | Data logging and graphing tool for time series data The storage layer (fixed size database) is called Whisper | In-memory JavaScript DBMS | Scalable Time Series DBMS based on HBase | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Relational DBMS | Relational DBMS | Time Series DBMS | Document store | Time Series DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | www.datomic.com | cloud.google.com/spanner | github.com/graphite-project/graphite-web | github.com/techfort/LokiJS | opentsdb.net | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | docs.datomic.com | cloud.google.com/spanner/docs | graphite.readthedocs.io | techfort.github.io/LokiJS | opentsdb.net/docs/build/html/index.html | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Cognitect | Chris Davis | currently maintained by Yahoo and other contributors | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2012 | 2017 | 2006 | 2014 | 2011 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 1.0.6735, June 2023 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | commercial limited edition free | commercial | Open Source Apache 2.0 | Open Source | Open Source LGPL | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | Java, Clojure | Python | JavaScript | Java | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | All OS with a Java VM | hosted | Linux Unix | server-less, requires a JavaScript environment (browser, Node.js) | Linux Windows | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | yes | yes | yes | schema-free | schema-free | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes | yes | Numeric data only | no | numeric data for metrics, strings for tags | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | yes | yes | no | yes via views | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | no | yes Query statements complying to ANSI 2011 | no | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | RESTful HTTP API | gRPC (using protocol buffers) API JDBC At present, JDBC supports read-only queries. No support for DDL or DML statements. RESTful HTTP API | HTTP API Sockets | JavaScript API | HTTP API Telnet API | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | Clojure Java | Go Java JavaScript (Node.js) Python | JavaScript (Node.js) Python | JavaScript | Erlang Go Java Python R Ruby | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | yes Transaction Functions | no | no | View functions in JavaScript | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | By using transaction functions | no | no | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | none But extensive use of caching in the application peers | Sharding | none | none | Sharding based on HBase | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | none But extensive use of caching in the application peers | Multi-source replication with 3 replicas for regional instances. | none | none | selectable replication factor based on HBase | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | no | yes using Google Cloud Dataflow | no | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Immediate Consistency | Immediate Consistency | none | none | Immediate Consistency based on HBase | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | yes by using interleaved tables, this features focuses more on performance improvements than on referential integrity | no | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | ACID | ACID Strict serializable isolation | no | no atomic operations within a single collection possible | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes | yes locking | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes using external storage systems (e.g. Cassandra, DynamoDB, PostgreSQL, Couchbase and others) | yes | yes | yes Serialization of a DB in a Node.JS/Cordova/PhoneGap environment. Usage of the IndexedDB-API in a browser. | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities Is there an option to define some or all structures to be held in-memory only. | yes recommended only for testing and development | no | yes | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | no | Access rights for users, groups and roles based on Google Cloud Identity and Access Management (IAM) | no | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Datomic | Google Cloud Spanner | Graphite | LokiJS | OpenTSDB | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | Time Series DBMS are the database category with the fastest increase in popularity Time Series DBMS as a new trend? | New kids on the block: database management systems implemented in JavaScript | Time Series DBMS are the database category with the fastest increase in popularity Nubank buys firm behind Clojure programming language Zoona Case Study Architecting Software for Leverage TerminusDB Takes on Data Collaboration with a git-Like Approach Brazil’s Nubank acquires US software firm Cognitect, creator of Clojure and Datomic provided by Google News Google Improves Cloud Spanner: More Compute and Storage without Price Increase Google makes its Cloud Spanner database service faster and more cost-efficient Google turns up the heat on AWS, claims Cloud Spanner is half the cost of DynamoDB Google Spanner: When Do You Need to Move to It? More AI Added to Google Cloud's Databases provided by Google News Try out the Graphite monitoring tool for time-series data Grafana Labs Announces Mimir Time Series Database The Billion Data Point Challenge: Building a Query Engine for High Cardinality Time Series Data Getting Started with Monitoring using Graphite Real-Time Performance and Health Monitoring Using Netdata provided by Google News LokiJS - A JavaScript Database LokiJS Reaches 1.4 provided by Google News Pinterest Switches from OpenTSDB to Their Own Time Series Database Comparing Different Time-Series Databases Brain Monitoring with Kafka, OpenTSDB, and Grafana MapR to help admins peer into dense Hadoop clusters LogicMonitor Rolls a Time Series Database for Finer-Grain Reporting provided by Google News |
Share this page