You can edit almost every page by Creating an account. Otherwise, see the FAQ.

GridDB

From EverybodyWiki Bios & Wiki

GridDB
Developer(s)Toshiba
Stable release
4.1.[1]
Repositoryhttps://github.com/griddb/griddb_nosql
Written inC++
Engine
    Available inC/C++, Java, Python, Go, PHP, Perl, and Ruby
    TypeKey-value database, NoSQL database
    LicenseProprietary (enterprise), AGPL (community)
    Websitewww.griddb.net

    Search GridDB on Amazon.

    GridDB is a scalable database for IoT[2] (Internet of Things) and Big Data applications[3]. Both community and enterprise editions are available[4], where the former is licensed under the GNU Affero General Public License (AGPL). It is written in C++[5] and has language bindings for C/C++, Java, Python, Go, PHP, Node.js, Perl, and Ruby.

    History[edit]

    Toshiba began developing GridDB in 2011 with its first commercial release coming in 2013 -- it was then open-sourced in 2016[6]

    Main Features[edit]

    In-Memory Architecture[edit]

    Most of GridDB's storage occurs in-memory[7]. Its internal memory structure is flushed to disk on a checkpoint interval while maintaining a transaction log between checkpoints. When the database outgrows the configured memory utilization, data not likely to be used soon is freed from memory.

    Even when the database does not fit in-memory, GridDB's performance remains stable without the user having to perform maintenance.

    Because of this, GridDB rates highly on benchmark tests.[8]

    Key-Container Model[edit]

    GridDB uses a modified version of the popular key-value data model [9]. The key can be either any user-specified value or a timestamp. Each container can be specified via a key and then be further queried like a traditional relational database management system (RDBMS); the data inside the container is very similar to a RDBMS as well.

    GridDB uses both Collections and TimeSeries containers. Containers of the Collections type can use any value as a key, while TimeSeries Containers need to use a time value. This allows for a specialized handling within the application, along with other features (ex. TIME_AVG, TIME_NEXT, TIME_SAMPLING). Explicit time functionality allow for special time functions for data which require it.

    Hybrid Master/Slave Architecture[edit]

    GridDB has a hybrid master/slave architecture [10]. The nodes in a cluster are organized in such a way that one of the nodes is elected master, but every single node has the partitioning data needed to organize the cluster. If the master fails, a bully election is held to quickly promote another node back up to the master position. This eliminates the single point of failure found in traditional master/slave architectures while maintaining the high performance that they possess.

    ACID-Compliant[edit]

    GridDB is ACID-compliant on the container level.[11] GridDB allows the user to configure the database to allow immediate consistency or eventual consistency.[12]

    Replication[edit]

    The degree/levels of Replication can be set by the user for the entire cluster.[13] Each partition has many nodes: the owner, enough backup nodes to comply with the user-configured replication level, and any catch up nodes for the specified replication level.

    Catch up nodes are used when there's an issue with enough of the individual backup nodes to mean that the replication level is not being satisfied. Reads and writes are direct to the partition owner rather than requiring a quorum of peer-to-peer nodes.

    Failover[14][edit]

    Monitoring of the nodes in the cluster is the job fulfilled by the master node. If a node does not respond to the master's heartbeat, that node is marked as down/failed. The master then assigns the partitions that node owns to the other replicas.

    If replication level is not met after a failure, another node will be assigned the role of catch up node. Which will trigger an event which will cause the partition to begin transferring large blocks of data and making sure all data is safe.

    References[edit]

    1. "Toshiba' s Scale-out Database GridDB Now Reinforced with Enterprise-Grade Long-Term Archiving of IoT data". Toshiba Corporate Website. Retrieved 23 January 2019.
    2. "DENSO & Toshiba". Nikkei Business Publications. Retrieved 23 January 2019.
    3. "System Poperties". db-engines. Retrieved 23 January 2019.
    4. "Toshiba's Innovative GridDB NoSQL Database Affords Unlimited IoT Possibilities". Business Wire. Retrieved 23 January 2019.
    5. "GridDB GitHub". Retrieved 28 November 2018.
    6. "Toshiba Releases High Scale Database "GridDB" as Open Source To collaborate with big data technologies and create new value". Toshiba Digital Solutions Corporation News. Retrieved 23 January 2019.
    7. "GridDB Solutions Toshiba". www.solutions.toshiba.com. Retrieved 9 January 2019.
    8. "GridDB and Cassandra YCSB Benchmarks".
    9. "Digital T-Soul – High Speed and scalable processing of ever-growing time-series data". TDSL digital magazine. Retrieved 23 January 2019.
    10. "GridDB Technical Design Document" (PDF). Retrieved 2018-11-28.
    11. "GridDB complies with ACID". GridDB Blog. Retrieved 23 January 2019.
    12. "Purpose built-in memory NoSQL database for IoT". YouTube. Retrieved 23 January 2019.
    13. "GridDB technical reference". GridDB. Retrieved 2017-12-01.
    14. "Whitepaper: GridDB Reliability and Robustness" (PDF). GridDB Whitepaper. Retrieved 23 January 2019.


    This article "GridDB" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:GridDB. Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.