GridDB is a distributed Key-Value Store (KVS) database built by Toshiba. It has Key-Container data model and time-series functions which are designed specifically to target large data generated by IoT devices. It can be accessed by C and Java APIs, or TQL, a custom SQL-like query language.[04]
- Source Code
- https://github.com/griddb/griddb[02]
- Developer
- Country of Origin
- JP
- Start Year
- 2011 [08]
- Project Types
- Commercial, Open Source
- Written in
- C++
- Operating System
- Linux
GridDB is a distributed Key-Value Store (KVS) database built by Toshiba. It has Key-Container data model and time-series functions which are designed specifically to target large data generated by IoT devices. It can be accessed by C and Java APIs, or TQL, a custom SQL-like query language.[04]
History[04]
Toshiba started development of GridDB in 2011. Its first commercial release was in 2013. The community edition (CE) was open-sourced in 2016. Compared with CE, the standard version has better software support and more administrative tools.
Concurrency Control[05]
GridDB adopts MVCC to realize READ_COMMITTED. It improves throughput as multiple transactions can access data that is prior to the update concurrently.
Data Model[04]
The data model of GridDB is key-container model which extends typical NoSQL Key-Value store. Containers are comparable to tables in Relational Database and consist of two types: Collection Container for general purpose; and TimeSeries Container for time series data where each tuple in the container is associated with a timestamp as ROWKEY.
Indexes[06]
GridDB has three types of index: hash index (HASH), tree index (TREE) and space index (SPATIAL). Hash index is used in equivalent-value search and tree index is used in comparison such as range search. The data structure of tree index is B+Tree.
Joins[07]
GridDB does not support JOIN operation, you have to take effort to implement your own comparable operation.
Query Interface[08][09][10]
GridDB has a Web-application GUI (gs_admin) and command line tool (gs_sh) that integrates cluster operations. GridDB also provides official C and Java based custom API for management operations and basic data extraction. For more complicated queries, GridDB supports TQL, which is a small subset of SQL including search and aggregation.
Storage Architecture[04]
GridDB has "Memory first, Storage second" structure where frequently accessed data is stored in memory and the rest is passed on to disks (SSD and HDD).
System Architecture[08]
GridDB has a master-slave architecture. All nodes in the cluster contain partitioned data and one node acts as the master. If the master node fails, an election is held quickly and another node is promoted to be the master.
Citations
10 sources- GridDB | GridDB: Open Source Time Series Database for IoT griddb.net
- GitHub - griddb/griddb: GridDB is a next-generation open source database that makes time series IoT and big data fast,and easy. · GitHub github.com
- https://www.griddb.net/en/docs/documents/1-1_what-is-griddb.php griddb.net
- https://www.griddb.net/en/docs/GridDB_Introduction_en.pdf griddb.net
- https://www.griddb.net/en/docs/documents/3-5_transactions-and-acid.php griddb.net
- https://www.griddb.net/en/docs/documents/3-6_indexes.php griddb.net
- https://griddb.net/en/docs/manuals/v3.1/GridDB_ProgrammingTutorial.html griddb.net
- nosql_db_arch_cmp_r100 griddb.net
- https://griddb.net/en/docs/manuals/v3.1/GridDB_API_Reference.html griddb.net
- https://griddb.net/en/docs/manuals/v3.1/GridDB_TechnicalReference.html griddb.net