DBMS > Apache IoTDB vs. Google Cloud Firestore vs. Graph Engine vs. Kinetica vs. SpaceTime
System Properties Comparison Apache IoTDB vs. Google Cloud Firestore vs. Graph Engine vs. Kinetica vs. SpaceTime
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | Apache IoTDB Xexclude from comparison | Google Cloud Firestore Xexclude from comparison | Graph Engine former name: Trinity Xexclude from comparison | Kinetica Xexclude from comparison | SpaceTime Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | An IoT native database with high performance for data management and analysis, deployable on the edge and the cloud and integrated with Hadoop, Spark and Flink | Cloud Firestore is an auto-scaling document database for storing, syncing, and querying data for mobile and web apps. It offers seamless integration with other Firebase and Google Cloud Platform products. | A distributed in-memory data processing engine, underpinned by a strongly-typed RAM store and a general distributed computation engine | Fully vectorized database across both GPUs and CPUs | SpaceTime is a spatio-temporal DBMS with a focus on performance. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Time Series DBMS | Document store | Graph DBMS Key-value store | Relational DBMS | Spatial DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Spatial DBMS Time Series DBMS | Relational DBMS | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | iotdb.apache.org | firebase.google.com/products/firestore | www.graphengine.io | www.kinetica.com | www.mireo.com/spacetime | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | iotdb.apache.org/UserGuide/Master/QuickStart/QuickStart.html | firebase.google.com/docs/firestore | www.graphengine.io/docs/manual | docs.kinetica.com | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Apache Software Foundation | Microsoft | Kinetica | Mireo | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2018 | 2017 | 2010 | 2012 | 2020 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 1.1.0, April 2023 | 7.1, August 2021 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | Open Source Apache Version 2.0 | commercial | Open Source MIT License | commercial | commercial | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | .NET and C | C, C++ | C++ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | All OS with a Java VM (>= 1.8) | hosted | .NET | Linux | Linux | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | yes | schema-free | yes | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes | yes | yes | 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 | yes | yes | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | SQL-like query language | no | no | SQL-like DML and DDL statements | A subset of ANSI SQL is implemented | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | JDBC Native API | Android gRPC (using protocol buffers) API iOS JavaScript API RESTful HTTP API | RESTful HTTP API | JDBC ODBC RESTful HTTP API | RESTful HTTP API | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | C C# C++ Go Java Python Scala | Go Java JavaScript JavaScript (Node.js) Objective-C Python | C# C++ F# Visual Basic | C++ Java JavaScript (Node.js) Python | C# C++ Python | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | yes | yes, Firebase Rules & Cloud Functions | yes | user defined functions | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | yes | yes, with Cloud Functions | no | yes triggers when inserted values for one or more columns fall within a specified range | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | horizontal partitioning (by time range) + vertical partitioning (by deviceId) | Sharding | horizontal partitioning | Sharding | Fixed-grid hypercubes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | selectable replication methods; using Raft/IoTConsensus algorithm to ensure strong/eventual data consistency among multiple replicas | Multi-source replication | Source-replica replication | Real-time block device replication (DRBD) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | Integration with Hadoop and Spark | Using Cloud Dataflow | no | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Eventual Consistency Strong Consistency with Raft | Immediate Consistency | Immediate Consistency or Eventual Consistency depending on configuration | Immediate Consistency | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | no | no | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | no | yes | no | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes | yes | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes | yes | optional: either by committing a write-ahead log (WAL) to the local persistent storage or by dumping the memory to a persistent storage | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities Is there an option to define some or all structures to be held in-memory only. | yes | yes | yes GPU vRAM or System RAM | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | yes | Access rights for users, groups and roles based on Google Cloud Identity and Access Management. Security Rules for 3rd party authentication using Firebase Auth. | Access rights for users and roles on table level | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Apache IoTDB | Google Cloud Firestore | Graph Engine former name: Trinity | Kinetica | SpaceTime | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | Cloud-based DBMS's popularity grows at high rates | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recent citations in the news | Linux 6.5 With AMD P-State EPP Default Brings Performance & Power Efficiency Benefits For Ryzen Servers AMD EPYC 8324P / 8324PN Siena 32-Core Siena Linux Server Performance Review IoTDB Provides Data Management for Industrial Edge IT Intel Xeon Max Enjoying Some Performance Gains With Linux 6.6 Benchmarking The Performance Impact To AMD Inception Mitigations provided by Google News | Realtime vs Cloud Firestore: Which Firebase Database to go? Google's AI-First Strategy Brings Vector Support To Cloud Databases Google’s Firebase gets AI extensions, opens up its marketplace Google's Cloud Firestore is now generally available Essentials for Working With Firestore in Python | by Lynn G. Kwong provided by Google News | Trinity Open source Microsoft Graph Engine takes on Neo4j IBM releases Graph, a service that can outperform SQL databases How Google and Microsoft taught search to "understand" the Web Aerospike Is Now a Graph Database, Too provided by Google News | Kinetica Elevates RAG with Fast Access to Real-Time Data Kinetica Launches Generative AI Solution for Real-Time Inferencing Powered by NVIDIA AI Enterprise Kinetica Delivers Real-Time Vector Similarity Search Kinetica ramps up RAG for generative AI, empowering enterprises with real-time operational data Transforming spatiotemporal data analysis with GPUs and generative AI provided by Google News |
Share this page