DBMS > Elasticsearch vs. Google Cloud Spanner vs. GridDB vs. SiteWhere vs. TerminusDB
System Properties Comparison Elasticsearch vs. Google Cloud Spanner vs. GridDB vs. SiteWhere vs. TerminusDB
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | Elasticsearch Xexclude from comparison | Google Cloud Spanner Xexclude from comparison | GridDB Xexclude from comparison | SiteWhere Xexclude from comparison | TerminusDB former name was DataChemist Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | A distributed, RESTful modern search and analytics engine based on Apache Lucene Elasticsearch lets you perform and combine many types of searches such as structured, unstructured, geo, and metric | 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. | Scalable in-memory time series database optimized for IoT and Big Data | M2M integration platform for persisting/querying time series data | Scalable Graph Database platform making enterprise data available by exploiting inferred entities and relationships | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Search engine | Relational DBMS | Time Series DBMS | Time Series DBMS | Graph DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Document store Spatial DBMS Vector DBMS | Key-value store Relational DBMS | Document store RDF store | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | www.elastic.co/elasticsearch | cloud.google.com/spanner | griddb.net | github.com/sitewhere/sitewhere | terminusdb.com | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | www.elastic.co/guide/en/elasticsearch/reference/current/index.html | cloud.google.com/spanner/docs | docs.griddb.net | sitewhere1.sitewhere.io/index.html | terminusdb.github.io/terminusdb/# | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Elastic | Toshiba Corporation | SiteWhere | DataChemist Ltd. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2010 | 2017 | 2013 | 2010 | 2018 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 8.6, January 2023 | 5.1, August 2022 | 11.0.0, January 2023 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | Open Source Elastic License | commercial | Open Source AGPL version 3 and Apache License, version 2.0 , commercial license (standard and advanced editions) also available | Open Source Common Public Attribution License Version 1.0 | Open Source GPL V3 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | C++ | Java | Prolog, Rust | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | All OS with a Java VM | hosted | Linux | Linux OS X Windows | Linux | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | schema-free Flexible type definitions. Once a type is defined, it is persistent | yes | yes | predefined scheme | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes | yes | yes numerical, string, blob, geometry, boolean, timestamp | 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 | no | no | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | yes All search fields are automatically indexed | yes | yes | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | SQL-like query language | yes Query statements complying to ANSI 2011 | SQL92, SQL-like TQL (Toshiba Query Language) | no | SQL-like query language (WOQL) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | Java API RESTful HTTP/JSON API | gRPC (using protocol buffers) API JDBC At present, JDBC supports read-only queries. No support for DDL or DML statements. RESTful HTTP API | JDBC ODBC Proprietary protocol RESTful HTTP/JSON API | HTTP REST | OWL RESTful HTTP API WOQL (Web Object Query Language) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | .Net Groovy Community Contributed Clients Java JavaScript Perl PHP Python Ruby | Go Java JavaScript (Node.js) Python | C C++ Go Java JavaScript (Node.js) Perl PHP Python Ruby | JavaScript Python | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | yes | no | no | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | yes by using the 'percolation' feature | no | yes | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | Sharding | Sharding | Sharding | Sharding based on HBase | Graph Partitioning | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | yes | Multi-source replication with 3 replicas for regional instances. | Source-replica replication | selectable replication factor based on HBase | Journaling Streams | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | ES-Hadoop Connector | yes using Google Cloud Dataflow | Connector for using GridDB as an input source and output destination for Hadoop MapReduce jobs | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Eventual Consistency Synchronous doc based replication. Get by ID may show delays up to 1 sec. Configurable write consistency: one, quorum, all | Immediate Consistency | Immediate consistency within container, eventual consistency across containers | Immediate Consistency | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | yes by using interleaved tables, this features focuses more on performance improvements than on referential integrity | no | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | no | ACID Strict serializable isolation | ACID at container level | no | ACID | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes | yes | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes | yes | yes | yes | yes in-memory journaling | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities Is there an option to define some or all structures to be held in-memory only. | Memcached and Redis integration | no | yes | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | Access rights for users, groups and roles based on Google Cloud Identity and Access Management (IAM) | Access rights for users can be defined per database | Users with fine-grained authorization concept | Role-based access control | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Elasticsearch | Google Cloud Spanner | GridDB | SiteWhere | TerminusDB former name was DataChemist | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | PostgreSQL is the DBMS of the Year 2017 Elasticsearch moved into the top 10 most popular database management systems MySQL, PostgreSQL and Redis are the winners of the March ranking | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recent citations in the news | Unsecured Elasticsearch cluster exposes over 3M vehicle records AWS hands OpenSearch to Linux Foundation – is this why Elasticsearch was made open source again? Elastic Announces Open Source License for Elasticsearch and Kibana Source Code The Elasticsearch cloud now subject to open-source licence Netflix Uses Elasticsearch Percolate Queries to Implement Reverse Searches Efficiently provided by Google News | Google Cloud adds graph processing to Spanner, SQL support to Bigtable Google Cloud adds graph and vector search features to Spanner database New features make Google's Spanner a database for AI Google Cloud expands its database portfolio with new AI capabilities Google Cloud announces new data innovations to support AI applications provided by Google News | Now Features Scale-Out and Scale-Up combo for Petabyte-scale Data Management ’s SQL Interface, Aims to Accelerate Open Innovation TOSHIBA DIGITAL SOLUTIONS CORPORATION IoT: Opt for the Right Open Source Database Toshiba Digital Solutions collaborates with DATAFLUCT to Deliver a Machine Learning Solution that Optimizes Store Visitors Prediction ~ The integration of Cloud Data Infrastructure and Auto Machine Learning enables accurate prediction without experts inter provided by Google News | SiteWhere: An open platform for connected devices 11 Best Open source IoT Platforms To Develop Smart Projects provided by Google News | How TerminusDB is commercializing its open source graph database Trinity College spinout TerminusDB secures €3.6m in investment [MCR2030-CAMS-ARISE-UNDRR Webinar] Preventing cascading failures of critical assets: Using the Open-Source Critical Asset Management System (CAMS) to help cities become disaster and climate resilient Bus Terminus Update – April 26th provided by Google News |
Share this page