griddb

GridDB is a next-generation open source database that makes time series IoT and big data fast,and easy.

1666
4237
C++
GridDB

Visit Website
GitHub All Releases
GitHub release

Overview

GridDB is Database for IoT with both NoSQL interface and SQL Interface.

Please refer to GridDB Features Reference for functionality.

This repository includes server and Java client. And jdbc repository includes JDBC Driver.

Quick start (Using source code)

We have confirmed the operation with Linux(x64).

  • Ubuntu 22.04(gcc 11), RockyLinux 9.4(gcc 11)

Note:

  • Please install Python3 in advance.
  • Please install tcl like “yum install tcl.x86_64” in advance.

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
$ export PATH=${PATH}:$GS_HOME/bin

$ 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 GridDB Service and CLI)

Quick start (Using RPM or DEB)

We have confirmed the operation with Linux(x64).

  • Ubuntu 22.04, RockyLinux 9.4

Note:

  • Please install Python3 in advance.
  • 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.
  • There is Java client library (gridstore.jar) on /usr/share/java and a sample on /usr/gridb-XXX/docs/sample/programs.
  • If old version has been installed, please uninstall and remove conf/ and data/ on /var/lib/gridstore.

Install

(CentOS/RockyLinux)
$ sudo rpm -ivh griddb-X.X.X-linux.x86_64.rpm

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

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

Start a server

[gsadm]$ cp /usr/griddb-X.X.X/conf_multicast/* conf/.

Note: Default is only for local connection. So, please change the configure files.

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

(NoSQL Interface)

(SQL Interface)

(NoSQL & SQL Interface)

(Others)

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.