DBDB.io The Encyclopedia of Database Systems · Est. 2017
Database of Databases

Database Entry

GridDB


GridDB is a Key-Value Store (KVS) database built by Toshiba. It is designed to provide a versatile data store for large data generated by IoT devices, to facilitate gaining insights and generating values from IoT data.[04]

Source Code
https://github.com/griddb/griddb[02]
Developer
Country of Origin
JP
Start Year
2011 [09]
Project Types
Commercial, Open Source
Written in
C++
Supported Languages
C, C++, Go, Java, Perl, PHP, Python, Ruby
Operating System
Linux
Licenses
AGPL v3, Apache v2

Database Entry

GridDB


GridDB is a Key-Value Store (KVS) database built by Toshiba. It is designed to provide a versatile data store for large data generated by IoT devices, to facilitate gaining insights and generating values from IoT data.[04]

History[04]


Toshiba started development of GridDB in 2011. Its first commercial release was in 2013. The community version (CE) was open-sourced in 2016.

Checkpoints[05]


Data registered or updated in the container is perpetuated to the disk to avoid data loss when node failure occurs. GridDB supports two types to write transaction logs to disk, SYNC and DELAYED_SYNC. In the SYNC mode, log writing is carried out synchronously every time a transaction is committed or aborted. In the DELAYED_SYNC, it is a checkpoint process to store updated data to disk in a specified delay regardless of transaction finish.

Concurrency Control[06]


GridDB adopts MVCC to realize READ_COMMITTED.

Data Model[04]


The data model of GridDB is key-container which extends typical NoSQL Key-Value store. Containers consists of two types: Collection Container for general purpose; and TimeSeries Container for time series data.

Indexes[07]


GridDB has three types of index: hash index (HASH), tree index (TREE) and space index (SPACIAL). Hash index is used in equivalent-value search and tree index is used in comparison such as range search. The official document does not mention the data structure of the tree index.

Isolation Levels[06]


GridDB supports READ_COMMITTED as transaction isolation level.

Joins[08]


GridDB does not support JOIN operation, you have to take effort to implement your own comparable operation.

Query Interface[09][10][05]


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).

Stored Procedures


System Architecture[09]


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.

Views


Revision #9 Last Updated: