Awesome
<img src="https://griddb.org/brand-resources/griddb-logo/png/color.png" align="center" height="240" alt="GridDB"/>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).
- CentOS 7.9 (gcc 4.8.5), RockyLinux 9.3(gcc 11), Ubuntu 22.04(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).
- CentOS 7.9, RockyLinux 9.3, Ubuntu 22.04
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.
- 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
- V4.6 Release Notes
- V5.0 Release Notes
- V5.1 Release Notes
- V5.3 Release Notes
- V5.5 Release Notes
- V5.6 Release Notes
Client and Connector
There are other clients and API for GridDB.
(NoSQL Interface)
- GridDB C Client
- GridDB Python Client
- GridDB Ruby Client
- GridDB Go Client
- GridDB Node.JS Client (SWIG based)
- GridDB Node API (node-addon-api based)
- GridDB PHP Client
- GridDB Perl Client
- GridDB Rust Client
(SQL Interface)
(NoSQL & SQL Interface)
(Others)
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 Data Source for Grafana
- GridDB Plugin for Redash
- GridDB Plugin for Fluentd
- GridDB Plugin for Tableau
- GridDB connector for Apache Kafka
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.