GridDBは、NoSQLインタフェースとSQLインタフェースを兼ね備えたIoT向けデータベースです。
GridDBが提供する機能は『GridDB 機能リファレンス』を参照ください。
本リポジトリにはサーバとJavaクライアントがあります。JDBCドライバはjdbcリポジトリにあります。
以下のLinux(x64)環境での動作を確認しています。
- CentOS 7.9(gcc 4.8.5)、Ubuntu 18.04(gcc 4.8.5)、openSUSE Leap 15.1(gcc 4.8.5)
※事前にtclをインストールしてください。例) yum install tcl.x86_64
※事前にPython3をインストールしてください。例) yum install python3
$ ./bootstrap.sh
$ ./configure
$ make
※JavaクライアントをMavenでビルドしたい場合は以下のコマンドを実行してください。gridstore-X.X.X.jarがtarget/の下に生成されます。
$ cd java_client
$ ./make_source_for_mvn.sh
$ mvn clean
$ mvn install
$ export GS_HOME=$PWD
$ export GS_LOG=$PWD/log
$ export PATH=${PATH}:$GS_HOME/bin
$ gs_passwd admin
#input your_password
$ vi conf/gs_cluster.json
# "clusterName":"your_clustername" #<-- input your_clustername
$ gs_startnode
$ gs_joincluster -c your_clustername -u admin/your_password
$ 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]
$ gs_stopcluster -u admin/your_password
$ gs_stopnode -u admin/your_password
以下のLinux(x64)環境での動作を確認しています。
- CentOS 7.9、Ubuntu 18.04/20.4、openSUSE Leap 15.1
※事前にPython3をインストールしてください。例) yum install python3
- このパッケージをインストールすると、OS内にgsadmユーザが作成されます。運用コマンドはgsadmユーザで操作してください。
- gsadmユーザでログインすると環境変数 GS_HOMEとGS_LOGが自動的に設定されます。また、運用コマンドの場所が環境変数 PATHに設定されます。
- Javaクライアントのライブラリ(gridstore.jar)は/usr/share/java上に、サンプルは/usr/griddb-XXX/docs/sample/program上に配置されます。
- 過去版がインストールされている場合は、アンインストール後、/var/lib/gridstore上のconf/,data/を削除してください。
(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
※ X.X.Xはバージョンを意味します。
[gsadm]$ cp /usr/griddb-X.X.X/conf_multicast/* conf/.
※ デフォルトはローカル接続限定の設定になっていますので、コンフィグを変更してください。
[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
$ 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]
[gsadm]$ gs_stopcluster -u admin/your_password
[gsadm]$ gs_stopnode -u admin/your_password
インストール時のトラブルシューティングもご参照ください。
以下のドキュメントがあります。
- 機能リファレンス
- クイックスタートアップガイド
- Java APIリファレンス
- C APIリファレンス
- TQLリファレンス
- JDBCドライバ説明書
- SQLリファレンス
- 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
Java以外のクライアント、APIもあります。
(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
(SQL Interface)
(NoSQL & SQL Interface)
(その他)
他の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
- GridDB Plugin for Tableau
- Issues
質問、不具合報告はissue機能をご利用ください。 - PullRequest
GridDB Contributor License Agreement(CLA_rev1.1.pdf)に同意して頂く必要があります。 PullRequest機能をご利用の場合はGridDB Contributor License Agreementに同意したものとみなします。
サーバソースのライセンスはGNU Affero General Public License (AGPL)、 Javaクライアントと運用コマンドのライセンスはApache License, version 2.0です。 サードパーティのソースとライセンスについては3rd_party/3rd_party.mdを参照ください。