/griddb

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

Primary LanguageC++

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 on CentOS 7.6 (gcc 4.8.5), Ubuntu 18.04 (gcc 4.8.5) and openSUSE Leap 15.1 (gcc 4.8.5).

Note: 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 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.
  • There is Java client library (gridstore.jar) on /usr/share/java and a sample on /usr/gridb-XXX/docs/sample/programs.
  • The packages for Ubuntu and openSUSE don't include trigger function.

Install

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

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

(openSUSE)
$ sudo rpm -ivh griddb-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

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.

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.