Skip to content
high performance, high scalability and high reliability database for IoT & big data
C++ Java C Python Makefile M4
Branch: master
Clone or download

Latest commit

Latest commit ff9d3c4 May 11, 2020

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github add a file for GitHub Actions Apr 23, 2020
3rd_party update the list of third-party libraries May 28, 2018
bin chmod=+x Jan 16, 2019
conf update gs_node.json fro V4.1 Jan 16, 2019
debian update for DEB V4.3 Nov 20, 2019
docs update for Docker Images May 7, 2020
installer remove unnecessary files Nov 21, 2019
java_client uncomment the javadoc-plugin part Jan 23, 2020
log first release Feb 24, 2016
sample update and add samples for V4.3 Nov 19, 2019
server update for V4.3 Nov 19, 2019
utility update for V4.3 Nov 19, 2019
APACHE-2.0.txt first release Feb 24, 2016
CLA_rev1.1.pdf fix revision no. Feb 25, 2016
EULA for GridDB Community Edition.pdf Add files via upload Oct 28, 2016
GCLA.md added rest of GCLA Jul 5, 2018
GNU-AGPL-3.0.txt first release Feb 24, 2016
Makefile.am update for RPM V4.3.0 Nov 20, 2019
README.md add "Packages" Apr 28, 2020
README_ja.md add "Packages" Apr 28, 2020
bootstrap.sh first release Feb 24, 2016
configure.ac change version Nov 19, 2019

README.md

GridDB

Visit Website GitHub All Releases GitHub release

Overview

GridDB has a KVS (Key-Value Store)-type data model that is suitable for sensor data stored in a timeseries. It is a database that can be easily scaled-out according to the number of sensors.

  • High Reliability
    It is equipped with a structure to spread out the replication of key value data among fellow nodes so that in the event of a node failure, automatic failover can be carried out in a matter of seconds by using the replication function of other nodes.

  • High Performance (in-memory)
    Even if the memory is increased to handle big data in a RDB, it is known that CPU power cannot be fully exploited and only around 10% of CPU resources are allocated to actual data processing due to the large overhead in buffer management, etc. Given the increase in memory size, GridDB minimizes the amount of overheads required previously by lightening the buffer process and recovery process, and by making it lock-free during data processing.

  • Advanced data model and operation model
    In a traditional distributed KVS, data is handled using operations such as Put/Get/Remove. GridDB expands these functions greatly to support the definition function for organizational data, SQL-like query function, transaction function and Java API (Application Programming Interface) so that RDB users are able to introduce the system smoothly. The key value represents the data in a set of records known as a key container. This is similar to the relationship between a RDB table name and table. It is also equipped with an application function for sensor data management.

This repository includes server and Java client.

(Additional information)
There is Java client Package (Jar) for v4.3.0 on Maven Central Repository .

Quick start (Using source code)

We have confirmed the operation on CentOS 7.6 (gcc 4.8.5), Ubuntu 18.04 (gcc 4.8.5) and openSUSE Leap 15.1 (gcc 4.8.5).

Build a server and client(Java)

$ ./bootstrap.sh
$ ./configure
$ make 

Note: When you use maven build for Java client, please run the following command. Then gridstore-X.X.X.jar file is created on target/.

$ cd java_client
$ ./make_source_for_mvn.sh
$ mvn clean
$ mvn install

Start a server

$ export GS_HOME=$PWD
$ export GS_LOG=$PWD/log

$ bin/gs_passwd admin
  #input your_password
$ vi conf/gs_cluster.json
  #    "clusterName":"your_clustername" #<-- input your_clustername
$ bin/gs_startnode
$ bin/gs_joincluster -c your_clustername -u admin/your_password

Execute a sample program

$ export CLASSPATH=${CLASSPATH}:$GS_HOME/bin/gridstore.jar
$ mkdir gsSample
$ cp $GS_HOME/docs/sample/program/Sample1.java gsSample/.
$ javac gsSample/Sample1.java
$ java gsSample/Sample1 239.0.0.1 31999 your_clustername admin your_password
  --> Person:  name=name02 status=false count=2 lob=[65, 66, 67, 68, 69, 70, 71, 72, 73, 74]

Stop a server

$ bin/gs_stopcluster -u admin/your_password
$ bin/gs_stopnode -u admin/your_password

Quick start (Using RPM or DEB)

We have confirmed the operation on CentOS 7.6, Ubuntu 18.04 and openSUSE Leap 15.1.

Note:

  • When you install this package, a gsadm OS user are created in the OS.
    Execute the operating command as the gsadm user.
  • You don't need to set environment vatiable GS_HOME and GS_LOG.
  • The packages for Ubuntu and openSUSE don't include trigger function.

Install

(CentOS)
$ sudo rpm -ivh griddb_nosql-X.X.X-linux.x86_64.rpm

(Ubuntu)
$ sudo dpkg -i griddb_nosql-X.X.X_amd64.deb

(openSUSE)
$ sudo zypper install griddb_nosql-X.X.X-opensuse.x86_64.rpm

Note: X.X.X is the GridDB version.

Start a server

[gsadm]$ gs_passwd admin
  #input your_password
[gsadm]$ vi conf/gs_cluster.json
  #    "clusterName":"your_clustername" #<-- input your_clustername
[gsadm]$ gs_startnode
[gsadm]$ gs_joincluster -c your_clustername -u admin/your_password

Execute a sample program

$ export CLASSPATH=${CLASSPATH}:/usr/share/java/gridstore.jar
$ mkdir gsSample
$ cp /usr/griddb-X.X.X/docs/sample/program/Sample1.java gsSample/.
$ javac gsSample/Sample1.java
$ java gsSample/Sample1 239.0.0.1 31999 your_clustername admin your_password
  --> Person:  name=name02 status=false count=2 lob=[65, 66, 67, 68, 69, 70, 71, 72, 73, 74]

Stop a server

[gsadm]$ gs_stopcluster -u admin/your_password
[gsadm]$ gs_stopnode -u admin/your_password

If necessary, please refer to Installation Troubleshooting.

Document

Refer to the file below for more detailed information.

Client and Connector

There are other clients and API for GridDB.

There are some connectors for other OSS.

Packages

Community

  • Issues
    Use the GitHub issue function if you have any requests, questions, or bug reports.
  • PullRequest
    Use the GitHub pull request function if you want to contribute code. You'll need to agree GridDB Contributor License Agreement(CLA_rev1.1.pdf). By using the GitHub pull request function, you shall be deemed to have agreed to GridDB Contributor License Agreement.

License

The server source license is GNU Affero General Public License (AGPL), while the Java client library license and the operational commands is Apache License, version 2.0. See 3rd_party/3rd_party.md for the source and license of the third party.

You can’t perform that action at this time.