GridDB Fundamentals

Data Model


Memory and Storage


What is GridDB?
GridDB is a highly scalable NoSQL database best suited for Big Data and IoT (Internet of Things). GridDB is designed to handle time-sensitive IoT data across numerous sensors while maintaining consistency and durability.
Compared to other NoSQL databases, what are GridDB’s main advantages?
GridDB has the unique ability to handle IoT (Internet of Things) data thanks to its Key-Container data model.  The time-series container’s functionality in manipulating incoming time-based data from sensors ensure that GridDB will be the most well-equipped NoSQL Database in handling IoT data. GridDB is also blazingly fast.
What makes GridDB so fast?
GridDB utilizes a “Memory first, Storage second” structure. “Hot” data is kept in-memory, allowing for much faster writes/reads on the most-used data.
What hardware and platforms does GridDB Server support?
See the Supported platforms section for up to date information.
What are the differences between GridDB editions?
There are three editions: Community Edition (CE), Standard Edition (SE), and Advanced Edition (AE). GridDB CE is the open-source version, and both GridDB SE and GridDB AE are commercial products. Beyond licensing, GridDB AE also adds both TQL and NewSQL functionality, which allow it to more easily interface with traditional RDMS.
Does GridDB support SQL?
No, but GridDB AE does support TQL, an SQL-like query language. The support range is limited to functions such as search, aggregation, etc. GridDB AE also supports SQL commands through the JDBC (Java Database Connectivity) Connector.
Does GridDB support transactions?
Yes, they are supported on a container-basis, meaning GridDB containers are ACID-compliant.
What is ACID?
GridDB being ACID compliant means that database transactions abide by each of the rules in the acronym:
Atomicity: all transactions are all or nothing
Consistency: all data changes must abide by rules set forth by administrator
Isolation: transactions are committed serially (one after the other)
Durability: ensures data is always safe by ensuring transactions stay committed.
What is a Container?
To make things easier to visualize, you can think of Containers as a Relational DB table, complete with columns and rows. GridDB has two differents kinds of Containers: Collection and Time-Series. Collection Containers handles more traditional data (Strings, Booleans, Arrays, etc), whereas Time-Series Containers are equipped to handle time-stamp data. Since these Containers function like tables, each Container has its own schema.
What is a Row?
Similar to the RDB data model, a Row a flat piece of data which abides by the schema set in place by the container. A Row can have a key, but it is not mandatory.
If Containers are similar to Relational tables, does that mean GridDB also has issues scaling horizontally?
GridDB is unique in that it offers strong data consistency at the container level (with ACID-compliance), and also provides a safe way to scale-out (rather than scaling-up like other relational databases). Nodes are able to be added on-the-fly without any stoppage of service/operation.
Specifically, how does GridDB handle replication?
GridDB employs a hybrid of peer-to-peer and master-slave cluster management. This means that the master node is determined dynamically and autonomously, resulting in a cluster that has no single point of failure (SPOF). Data is replicated throughout all of the nodes ensuring high availability and durability.
Does GridDB work on a public cloud environment?
Can I mix different nodes in a GridDB cluster?
Yes, GridDB can scale-out using  commodity hardware.
How can I change replication factor?
This can be edited in the cluster definition file (gs_cluster.json).
There is something not in the FAQ that I need to ask.
You can ask your questions on Stackoverflow. One of our engineers will gladly answer