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.
- Features Reference
- Quick Start Guide
- Java API Reference
- C API Reference
- TQL Reference
- JDBC Driver UserGuide
- SQL Reference
- V3.0 Release Notes
- V4.0 Release Notes
- V4.1 Release Notes
- V4.2 Release Notes
- V4.3 Release Notes
- V4.5 Release Notes
Client and Connector
There are other clients and API for GridDB.
- GridDB C Client
- GridDB Python Client
- GridDB Ruby Client
- GridDB Go Client
- GridDB Node.JS Client
- GridDB PHP Client
- GridDB Perl Client
- GridDB WebAPI
- GridDB JDBC Driver
There are some connectors for other OSS.
- GridDB connector for Apache Hadoop MapReduce
- GridDB connector for YCSB (https://github.com/brianfrankcooper/YCSB/tree/master/griddb)
- GridDB connector for KairosDB
- GridDB connector for Apache Spark
- GridDB Foreign Data Wrapper for PostgreSQL (https://github.com/pgspider/griddb_fdw)
- GridDB Sample Application for Apache Kafka
- GridDB Data Source for Grafana
- GridDB Plugin for Redash
- GridDB Plugin for Fluentd
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.