Multi-version Concurrency Control (MVCC)
GridDB adopts MVCC to realize READ_COMMITTED. It improves throughput as multiple transactions can access data that is prior to the update concurrently.
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.
GridDB supports READ_COMMITTED as transaction isolation level. In READ_COMMITTED, dirty read is impossible as data is only updated when the transaction is committed. However, non-repeatable read may happen as within the same transaction, if the data is read again, it may be updated by a committed transaction between the two reads and return different result from the previous read.
Custom API SQL HTTP / REST Command-line / Shell
GridDB has a Web-application GUI (gs_admin) and command line tool (gs_sh) that integrates cluster operations.
For queries, GridDB supports TQL, a custom subset of SQL for GridDB that includes search and aggregation. Although TQL does not support some SQL clauses such as GROUP_BY and JOIN, it has additional operations for time-series data.
GridDB provides C and Java API for TQL.
https://github.com/griddb/griddb_nosql
https://griddb.net/en/docs/documents/1-1_what-is-griddb.php
Toshiba Corporation
2011
C, C++, Go, Java, Perl, PHP, Python, Ruby