SlideShare a Scribd company logo
© 2019 Toshiba Digital Solutions Corporation
東芝デジタルソリューションズ株式会社
野々村 克彦
2019.2.22
「ものづくり」の現場に必要な機能を備えた
スケールアウト型データベース GridDBと
そのオープンソース活動
~膨大なIoTデータの管理を実現 ~
プロフィール
名前:野々村 克彦
所属:東芝デジタルソリューションズ(株)
ソフトウェア&AIテクノロジーセンタ- 知識・メディア処理技術開発部
2011年 スケールアウト型DB GridDBの開発メンバ
2015年 GridDBのオープンソースPJ開始
現在 GridDBコミュニティ版の開発・コミッター、海外展開の技術支援など。
GitHub歴 4年
出身高校:県立米子東(鳥取県) 祝!23年ぶり甲子園出場
2© 2019 Toshiba Digital Solutions Corporation
発表内容
1.スケールアウト型データベースGridDBの概要
2.GridDBのオープンソース活動
– GridDB V4.1 CE(Community Edition)
– API拡充(Node.JSクライアント、WebAPI)
– その他の活動
3.まとめ
3© 2019 Toshiba Digital Solutions Corporation
Toshiba Confidential
電力系統制御 PV監視制御 BEMS HEMS 上下水道 交通 医療
MEMORY
HDD
Scale Out
GridDB
スケールアウト型データベースGridDB
• ビッグデータ/IoT向けスケールアウト型データベース
• V1.0製品化(2013年)、OSS化(2016年)、V4.1(2019年1月)
• 社会インフラを中心に、高い信頼性・可用性が求められるシステムに適用中
4© 2019 Toshiba Digital Solutions Corporation
Toshiba Confidential
• 社会インフラを中心に、高い信頼性・可用性が求められるシステムに適用中
• 東芝のIoT「SPINEX」の構成ソリューション
適用事例
・フランス リヨン 太陽光発電 監視・診断システム
発電量の遠隔監視、発電パネルの性能劣化を診断
・クラウドBEMS
ビルに設置された各種メータの情報の収集、蓄積、分析
・石巻スマートコミュニティ プロジェクト
地域全体のエネルギーのメータ情報の収集、蓄積、分析
・電力会社 低圧託送業務システム
スマートメータから収集される電力使用量を集計し、需要量と発電量のバランスを調整
・神戸製鋼所 産業用コンプレッサ稼働監視システム
グローバルに販売した産業用コンプレッサをクラウドを利用して稼働監視
・東芝機械 IoTプラットフォーム
工作機器、射出成形、ダイカストマシン、など膨大な製造データを管理
・デンソー Factory-IoT (IoTを活用したダントツ工場)
https://www.youtube.com/watch?v=9-yf-XN1Bgg&feature=youtu.be (ビデオ)
・DENSO International Americaの次世代の車両管理システム
https://griddb.net/ja/blog/griddb-automotive/
・クラウド型IoTソリューション
....
5© 2019 Toshiba Digital Solutions Corporation
Toshiba Confidential
• 「製品がいつ・どこで・どのように製造されたか」を追跡して可視化するトレーサビリティの確保
が求めれている。
• そのためには、製造装置や製造ラインから発生するIoTデータを、10年や20年といった長期
間にわたって管理する必要がある。
「ものづくり」の現場からの要求
6© 2019 Toshiba Digital Solutions Corporation
Toshiba Confidential
GridDBの特長
IoT指向の
データモデル
高い信頼性と
可用性
• データの複製をノード間で自動的に実行
• ノード障害があってもフェールオーバによりサービス継続
• 数秒から数十秒の切替え時間
高いスケーラビリティ
• 少ないノード台数で初期投資を抑制
• 負荷や容量の増大に合わせたノード増設が可能
• 自律データ再配置により、高いスケーラビリティを実現
高性能な
NoSQL+SQL
• メモリを主、ストレージを従としたハイブリッド型インメモリDB
• メモリやディスクの排他処理や同期待ちを極力排除
• SQLにおける分散並列処理
• データモデルはキー・コンテナ。コンテナ内でのデータ一貫性を保証
• 時系列データ管理する特別な機能
• 過去データをコールド保存する長期アーカイブ機能
7© 2019 Toshiba Digital Solutions Corporation
Toshiba Confidential
• NoSQL型でよく採用されているキー・バリューを拡張
• 順序に関係無くレコードが格納されるコレクションコンテナ
• 時間順にレコードが格納される時系列コンテナ
時系列レコードを圧縮する機能や期限解放する機能
• コンテナ内でのデータ一貫性を保証
キーコンテナ型キーバリュー型
データモデル
コレクション(Collection)
"siteA_equip"
id name specification
equip001 変圧器1 xxx変圧器
equip002 変圧器2 yyy変圧器
equip003 遮断機1 xxx遮断機
equip004 遮断機2 yyy遮断機
equip005 ケーブル1 zzzケーブル
... ... ...
時系列(TimeSeries)
"siteA_s012"
timestamp heat_rate temperature
4/28/20011 ... 78.3 47.9
4/28/20011 ... 82.9 63.4
... ... ...
5
10
15
20
17:30 21:30 1:30 5:30 9:30 13:30 17:30
キー
バリュー
キー
バリュー
キー
バリュー
キー
バリュー
C0 C1 C2 C3
Val Val Val Val
Val Val Val Val
Val Val Val Val
キー
バリュー
C4 C5 C6 C7
Val Val Val Val
Val Val Val Val
Val Val Val Val
キー
バリュー
C8 C9 C10C11
Val Val Val Val
Val Val Val Val
Val Val Val Val
8© 2019 Toshiba Digital Solutions Corporation
Toshiba Confidential
• 適切に容量を抑えつつ、長期間データをコールド保存
• 効率の良いアーカイブ処理
長期アーカイブ機能
DB
ノード
(1)古いデータのアーカイブ化 (3)アーカイブの参照
2008/10/30以前
のデータをアーカイブ化
DB
ノード
DB
ノード
(2) 古いデータの削除
アタッチ
外部ストレージ
2008/10/30以前のデータ
2008/11/01以降のデータ
2008/11/01以降のデータ
9© 2019 Toshiba Digital Solutions Corporation
Toshiba Confidential
(従来の)期限解放機能
具体的な挙動
2019/1/3
2019/1/2
2019/1/1
2019/1/6
2019/1/5
2019/1/4
2019/1/9
2019/1/8
2019/1/7
2019/1/12
2019/1/11
2019/1/10
2019/1/15
2019/1/14
2019/1/13
2019/1/16
2019/1/3
2019/1/2
2019/1/1
2019/1/6
2019/1/5
2019/1/4
2019/1/9
2019/1/8
2019/1/7
2019/1/12
2019/1/11
2019/1/10
2019/1/132019/1/1
日付 2019/1/162019/1/1 2019/1/13
保持期間:12日、分割数:3
⇒削除単位:12/3=4日
期限内:12日
期限切れ:参照不可
10© 2019 Toshiba Digital Solutions Corporation
Toshiba Confidential
(従来の)期限解放機能
2019/1/1
効率的に
自動削除
保持期間:12日、分割数:3
⇒削除単位:12/3=4日
日付 2019/1/162019/1/1 2019/1/13
2019/1/6
2019/1/5
2019/1/9
2019/1/8
2019/1/7
2019/1/12
2019/1/11
2019/1/10
2019/1/15
2019/1/14
2019/1/13
2019/1/16
2019/1/3
2019/1/2
2019/1/1
2019/1/6
2019/1/5
2019/1/4
2019/1/9
2019/1/8
2019/1/7
2019/1/12
2019/1/11
2019/1/10
2019/1/13
具体的な挙動
11© 2019 Toshiba Digital Solutions Corporation
Toshiba Confidential
長期アーカイブ:期限解放機能を拡張
具体的な挙動
2019/1/1
保持期間:12日、分割数:3
⇒削除単位:12/3=4日
+
自動削除オフ
2019/1/1 2019/1/13
2019/1/3
2019/1/2
2019/1/1
2019/1/6
2019/1/5
2019/1/4
2019/1/18日付
2019/1/3
2019/1/2
2019/1/1
2019/1/6
2019/1/5
2019/1/4
2019/1/9
2019/1/8
2019/1/7
2019/1/12
2019/1/11
2019/1/10
2019/1/13
2019/1/9
2019/1/8
2019/1/7
2019/1/12
2019/1/11
2019/1/10
2019/1/15
2019/1/14
2019/1/13
2019/1/18
2019/1/17
2019/1/16
12© 2019 Toshiba Digital Solutions Corporation
Toshiba Confidential
長期アーカイブ:期限解放機能を拡張
具体的な挙動
2019/1/1
保持期間:12日、分割数:3
⇒削除単位:12/3=4日
+
自動削除オフ
2019/1/1 2019/1/13
古いデータのアーカイブ化
(DBノードの負荷小)
2019/1/18日付
2019/1/3
2019/1/2
2019/1/1
2019/1/6
2019/1/5
2019/1/4
2019/1/3
2019/1/2
2019/1/1
2019/1/6
2019/1/5
2019/1/4
2019/1/9
2019/1/8
2019/1/7
2019/1/12
2019/1/11
2019/1/10
2019/1/13
2019/1/9
2019/1/8
2019/1/7
2019/1/12
2019/1/11
2019/1/10
2019/1/15
2019/1/14
2019/1/13
2019/1/18
2019/1/17
2019/1/16
アーカイブ
エンジン
13© 2019 Toshiba Digital Solutions Corporation
Toshiba Confidential
長期アーカイブ:期限解放機能を拡張
具体的な挙動
2019/1/1
保持期間:12日、分割数:3
⇒削除単位:12/3=4日
+
自動削除オフ
2019/1/1 2019/1/13
古いデータの削除
(DBノードの負荷小)
2019/1/18日付
2019/1/6
2019/1/5
2019/1/9
2019/1/8
2019/1/7
2019/1/12
2019/1/11
2019/1/10
2019/1/15
2019/1/14
2019/1/13
2019/1/18
2019/1/17
2019/1/16
2019/1/3
2019/1/2
2019/1/1
2019/1/6
2019/1/5
2019/1/4
2019/1/9
2019/1/8
2019/1/7
2019/1/12
2019/1/11
2019/1/10
2019/1/13
14© 2019 Toshiba Digital Solutions Corporation
Toshiba Confidential
GridDBの特長
IoT指向の
データモデル
高い信頼性と
可用性
• データの複製をノード間で自動的に実行
• ノード障害があってもフェールオーバによりサービス継続
• 数秒から数十秒の切替え時間
高いスケーラビリティ
• 少ないノード台数で初期投資を抑制
• 負荷や容量の増大に合わせたノード増設が可能
• 自律データ再配置により、高いスケーラビリティを実現
高性能な
NoSQL+SQL
• メモリを主、ストレージを従としたハイブリッド型インメモリDB
• メモリやディスクの排他処理や同期待ちを極力排除
• SQLにおける分散並列処理
• データモデルはキー・コンテナ。コンテナ内でのデータ一貫性を保証
• 時系列データ管理する特別な機能
• 過去データをコールド保存する長期アーカイブ機能
15© 2019 Toshiba Digital Solutions Corporation
Toshiba Confidential
• 自律データ再配置技術(ADDA : Autonomous Data Distribution Algorithm)
• データを分散化するゆえにデータの一貫性が弱くなり、
一貫性やスケール性を求めるとパフォーマンスが落ちる、という大きな欠点を解決
DBクラスタ
管理ノード
DBノード DBノード DBノード
クライアント
仲介ノード
FSノード FSノード FSノード
DBノード
(マスタノード)
DBノード DBノード
クライアント
データ複製
データ配置
データ複製
データ配置
要求
要求
従来技術 GridDB
自律的なDBクラスタ技術 ADDA
DBノード
DBノード
DBノード
従来技術
平成30年度 関東地方発明表彰
16© 2019 Toshiba Digital Solutions Corporation
Toshiba Confidential
• マスタースレーブモデルの改良
– ノード間でマスタノードを自動選択。管理サーバがクラスタ内に存在せず、SPOFを完全排除
– ノード過半数を占めたサブクラスタのみがサービス可能となるクオーラムポリシーにより、
スプリットブレインを完全排除
• 自律データ再配置技術の開発
– (マスターノードが)ノード間アンバランス、レプリカ欠損を検知⇒バックグラウンドでデータ再配置
– 2種類のレプリカデータを使って高速同期、完了後切替え
具体的な挙動
〈ノード間データ再配置〉 〈アクセス切替え〉〈負荷アンバランスの検知〉
DBノード
負荷小
クライアント
更新ログ メモリブロック
17© 2019 Toshiba Digital Solutions Corporation
Toshiba Confidential
GridDBの特長
IoT指向の
データモデル
高い信頼性と
可用性
• データの複製をノード間で自動的に実行
• ノード障害があってもフェールオーバによりサービス継続
• 数秒から数十秒の切替え時間
高いスケーラビリティ
• 少ないノード台数で初期投資を抑制
• 負荷や容量の増大に合わせたノード増設が可能
• 自律データ再配置により、高いスケーラビリティを実現
高性能な
NoSQL+SQL
• メモリを主、ストレージを従としたハイブリッド型インメモリDB
• メモリやディスクの排他処理や同期待ちを極力排除
• SQLにおける分散並列処理
• データモデルはキー・コンテナ。コンテナ内でのデータ一貫性を保証
• 時系列データ管理する特別な機能
• 過去データをコールド保存する長期アーカイブ機能
18© 2019 Toshiba Digital Solutions Corporation
Toshiba Confidential
NoSQL性能
Read 50% + Write 50%
約2.5倍
Read 95% + Write 5%
約8倍
※フィックスターズ社によるYCSBベンチマーク結果
NoSQLの代表的なベンチマーク https://github.com/brianfrankcooper/YCSB
• YCSB (Yahoo! Cloud Serving Benchmark)
19© 2019 Toshiba Digital Solutions Corporation
Toshiba Confidential
NoSQLとSQLのデュアルインターフェイス
GridDB
クラスタ
DB
ノード
DB
ノード
DB
ノード
キー・バリュー型インターフェイス
SQLインターフェイス
他DB
BI ETL
他システム
NoSQL(キー・バリュー型)インターフェイス
• 高可用、高スループット指向のKVS
• キーコンテナに対するCRUD
• Java/C/Python/Node.JS/Goクライアント
SQLインターフェイス
• 分散並列SQLデータベース
• 巨大コンテナに対するコンテナパーティショニング
• ジョインなど複数コンテナ(テーブル)に対するSQL
• JDBC/ODBCドライバー
20© 2019 Toshiba Digital Solutions Corporation
Toshiba Confidential
DBノード
SQLにおける分散並列処理
クライアント
C0 C1 C2 C3
Val Val Val Val
Val Val Val Val
Val Val Val Val
a@0
C4 C5 C6
Val Val Val
Val Val Val
Val Val Val
b@0
C0 C1 C2 C3
Val Val Val Val
Val Val Val Val
Val Val Val Val
a@1
C4 C5 C6
Val Val Val
Val Val Val
Val Val Val
b@1
C0 C1 C2 C3
Val Val Val Val
Val Val Val Val
Val Val Val Val
a@2
C4 C5 C6
Val Val Val
Val Val Val
Val Val Val
b@2
Task
Task
Task Task
Task
Task Task
Task
Task
Task
パイプライン並列化
パーティション並列化
(タスク)独立並列化C0 C2 C7
Val Val Val
Val Val Val
C0 C2 C6
Val Val Val
Val Val Val
Val Val Val
C0 C2 C6
Val Val Val
Val Val Val
Val Val Val
NoSQL(KVS)
SQL
21© 2019 Toshiba Digital Solutions Corporation
Toshiba Confidential
製品ラインアップ
NewSQL
NoSQL NoSQL’
①GridDB SE
(Standard Edition)
③GridDB CE
(Community Edition)
②GridDB AE
(Advanced Edition)
Monitoring Dashboard
22© 2019 Toshiba Digital Solutions Corporation
Toshiba Confidential
GridDBのオープンソース活動
• GridDB V4.1 CE
• API拡充
(Node.JSクライアント、WebAPI)
• その他
23© 2019 Toshiba Digital Solutions Corporation
Toshiba Confidential
GitHubサイト https://github.com/griddb/
• NoSQL機能、様々な開発言語のクライアント、
主要OSSとのコネクタをソース公開
https://github.com/griddb/griddb_nosqlなど
• 目的
– ビッグデータ技術の普及促進
• 多くの人に知ってもらいたい、使ってみてもらいたい。
• いろんなニーズをつかみたい。
– 他のオープンソースソフトウェア、システムとの連携強化
griddb github 検索
24© 2019 Toshiba Digital Solutions Corporation
Toshiba Confidential
最近のOSS活動(前回報告)
2018年
• 2月 GridDB Pythonクライアントのソース公開(GitHub)
• 3月 GridDB Goクライアントのソース公開(GitHub)
• 5月 GridDB V4.0 Community Editionのソース公開
(サーバ、Javaクライアント) (GitHub)
• 6月 GridDB Node.JSクライアントのソース公開(GitHub)
GridDB PHPクライアントのソース公開(GitHub)
• 7月 GridDB V4.0 CE Cクライアントのソース公開(GitHub)
• 8月 GridDB用Kafkaコネクタ・サンプルのソース公開(GitHub)
• 9月 GridDB Pythonクライアントのパッケージ公開(PyPI)
GridDB Node.JSクライアントのパッケージ公開(npm)
25© 2019 Toshiba Digital Solutions Corporation
Toshiba Confidential
最近のOSS活動
2018年
• 10月 GridDB Perlクライアントのソース公開(GitHub)
• 11月 YCSBリポジトリ本家へのPullRequest(活動中)
※YCSBのメインコミッターからお誘いがあった
2019年
• 1月 GridDB V4.1 Community Editionのソース公開(GitHub)★
• 2月 Javaクライアントのパッケージ公開(Maven Central Repository)
GridDB V4.1 CEのUbuntu向けパッケージ公開(GitHub)
Node.JSクライアントのインタフェース改良 v0.8★
WebAPIのソース公開(GitHub)★
26© 2019 Toshiba Digital Solutions Corporation
GridDB V4.1 CE
2019/1ソース公開
27© 2019 Toshiba Digital Solutions Corporation
GridDB V4.1 CE 追加機能
1. オンライン増設
– 稼働中のクラスタに対して、無停止でノード増設やノード切り離しを行うことができます。
2. 空間型
– データ型として空間型が追加されました。また空間索引も利用できます。
3. 時系列圧縮
– 時系列データに適した圧縮を時系列コンテナで利用できます。
4. カラム数の上限値の拡大
– コンテナで扱えるカラム数の上限値を拡大しました。 1024~32,000個
5. 動的なスキーマ変更(カラム追加)の改善
– カラム追加処理中のコンテナへの同時アクセスが可能になります。
28© 2019 Toshiba Digital Solutions Corporation
オンライン増設(ノード増設)
node1 node2 node3 node4 node1 node2 node3 node4
gs_appendcluster –u (username)/(passwd) –cluster (node1/2/3のいずれかのIPアドレス) –s (node4のIPアドレス)
• 手順
1. クラスタの稼働状況を確認する。
2. 増設したいノード(node4)を起動する。
3. 増設したいノードに対し増設コマンド(gs_appendcluster)を実行する。
4. 増設したいノードの状況を確認する(gs_stat)。クラスタ状態がFOLLOWERになっていればOK
• 注意点
– 構成ノード=有効ノード数(現在クラスタに参加している台数)の場合に使用できます。
しばらく経過すると。。。
29© 2019 Toshiba Digital Solutions Corporation
オンライン増設(ノード切り離し)
node1 node2 node3
gs_leavecluster –u (username)/(passwd) –s (node4のIPアドレス)
• 手順
1. クラスタの稼働状況を確認する。
2. 切り離したいノード(node4)に対し離脱コマンド(gs_leavecluster)を実行する。
• 注意点
– 指定したノードを離脱させるとデータロストが起こる可能性がある場合、クラスタの縮小は行えません。
node1 node2 node3 node4
30© 2019 Toshiba Digital Solutions Corporation
API拡充
・Node.JSクライアント
2019/2 インタフェース改良 v0.8
・WebAPI
まもなくソース公開予定
31© 2019 Toshiba Digital Solutions Corporation
Node.JSクライアント
• 実現方法
– GridDB CクライアントとSWIG(Simplified Wrapper and Interface Generator)を利用
– Node.js V4で導入されたPromise(非同期処理を抽象化したオブジェクト)を利用して、Node.js層
でラッピングすることで、Webアプリに必要となる「非同期機能」に対応
• 最新版 v0.8の改良点
– Multi-Put/Get/Query (バッチ処理)への対応
– Blob型のデータのやり取りを(文字列形式でなく)Bufferクラスで対応
– Object型によるキーワード引数への対応:func({k1:v1, k2:v2})
Container::put(array<object> row){
// Cクライアント呼び出し
}
griddb_client.node (C++層)
var griddb = require('griddb_client');
class Container {
// 非同期機能
put(arr) {
return new Promise(function(resolve, reject) {
setTimeout(function(){
try {
resolve(this_.container.put(arr));
} catch(err) {
reject(err);
} }, 0);});}
griddb_node.js (Node.js層)sample.js (ユーザプログラム)
var griddb = require('griddb_node');
con.put([“key1”, 1, false])
.then(con => {
console.log(“completed”);
})
32© 2019 Toshiba Digital Solutions Corporation
Node.JSクライアント サンプル
var griddb = require('griddb_node');
var factory = griddb.StoreFactory.getInstance();
# プロパティ(主に接続用)の設定
var store = factory.getStore({
"host": process.argv[2],
"port": parseInt(process.argv[3]),
"clusterName": process.argv[4],
"username": process.argv[5],
"password": process.argv[6]});
# コンテナ情報(コンテナ名、カラム情報、コンテナタイプなど)の設定
var conInfo = new griddb.ContainerInfo({'name': "col01",
'columnInfoList': [
["name", griddb.Type.STRING],
["status", griddb.Type.BOOL],
["count", griddb.Type.LONG],
["lob", griddb.Type.BLOB] ],
'type': griddb.ContainerType.COLLECTION,
'rowKey': true});
var container;
# コンテナの生成
store.putContainer(conInfo, false)
.then(cont => {
container = cont;
# 索引(カラム名、索引タイプ)の設定
return container.createIndex({
'columnName': 'count',
'indexType': griddb.IndexType.DEFAULT });
})
.then(() => {
# データの登録
return container.put(["name01", false, 1,
Buffer.from([65, 66, 67, 68, 69, 70, 71, 72, 73, 74])]);
})
.then(() => {
# 検索
query = container.query("select *")
return query.fetch();
})
.then(rs => {
while (rs.hasNext()) {
console.log(rs.next());
}
})
33© 2019 Toshiba Digital Solutions Corporation
WebAPI
• 実現方法
– GridDB JavaクライアントとSpring Bootフレームワークの組み込み型Tomcatを利用
• 機能一覧
– コンテナ生成、コンテナ削除
– コンテナ名一覧取得、コンテナ情報取得
– ロウデータ登録、ロウデータ削除
– クエリ実行
GridDB
WebAPI
34© 2019 Toshiba Digital Solutions Corporation
WebAPI サンプル1
• コンテナ生成
– Method POST
– Request http://[host]:[port]/griddb/v2/[clusterName]/dbs/public/containers
– Bodyの例
{“container_name":"test",
"container_type":"COLLECTION", "rowkey":true,
"columns":[{"name":"col1", "type":"STRING", "index":["TREE"]},
{"name":"col2", "type":"INTEGER"},
{"name":"col3", "type":"BOOL}]}
// コンテナ名、コンテナタイプ、ロウキーの有無、カラム情報から成るコンテナ情報
35© 2019 Toshiba Digital Solutions Corporation
WebAPI サンプル2
• ロウデータ登録
– Method PUT
– Request
http://[host]:[port]/griddb/v2/[clusterName]/dbs/public/containers/[containerName]/rows
– Bodyの例
[[“value”, 1, true]] // ロウデータのリスト
• クエリ実行
– Method POST
– Request http://[host]:[port]/griddb/v2/[clusterName]/dbs/public/tql
– Bodyの例
{[“name”:”test”, “stmt”:“select *”, “columns”:[]]} // コンテナ名、クエリ文、出力カラム名
36© 2019 Toshiba Digital Solutions Corporation
その他
37© 2019 Toshiba Digital Solutions Corporation
GitHubサイトを中心とした活動状況
GridDB V4.1 CE(Community Edition)
Javaクライアント Cクライアント
Hadoop
MapReduce
コネクタ
YCSB
コネクタ
Spark
コネクタ
KairosDB
コネクタ
Python
クライアント
Node.JS
クライアント
収集 可視化 分散処理 Webアプリ分析性能測定
Go
クライアント
PHP
クライアント
Kafka
コネクタ
Ruby
クライアント
③APIの拡充②主要OSSとの連携強化
④GitHub以外のサイトからの情報発信
⑤主要OSSリポジトリへのコントリビュート(YCSBなど)
GitHub
(https://github.com/)
PyPI
(https://pypi.org/)
npm
(https://www.npmjs.com/)
Perl
クライアント
Maven Central Repository
(https://search.maven.org/)
AI/機械学習
①GridDB本体の機能強化
38© 2019 Toshiba Digital Solutions Corporation
デベロッパーズサイト https://griddb.net/
• アプリケーション開発者向けのサイト
• 様々なコンテンツを公開
– ホワイトペーパ、ブログ
– マニュアル
– サンプルコード
など
• コミュニケーションの場(フォーラム)を提供
griddb net 検索
39© 2019 Toshiba Digital Solutions Corporation
ツイッター https://twitter.com/griddb_jp
griddb
• GridDBに関するリリース、
イベント、などをお知らせします。
(日本国内向け)
griddb_jp 検索
40© 2019 Toshiba Digital Solutions Corporation
最近の記事
• Technologist‘s magazine[テクノロジストマガジン]vol.17発刊
– 『GridDB』の開発を手掛ける東芝デジタルソリューションズ・服部雅一氏の紹介
– https://www.criprof.com/magazine/2019/01/17/post-5569/
• GridDB V4.1プレスリリース
– 膨大なIoTデータの長期保存を実現
スケールアウト型データベース「GridDB®」機能強化版の提供を開始
– https://www.toshiba-sol.co.jp/news/detail/20190115.htm
• 中国「2018年新オープンソースソフトウェアトップ50」にてGridDBが42位に選ばれた
– https://tech.sina.com.cn/roll/2019-01-26/doc-ihqfskcp0397662.shtml
※昨年春にGridDB V4.0 CEをソース公開した際に、中国人に注目された。GitHub中国版(?)の
gitee.comから非常に多くのアクセスがあり、GridDBのスター数が2日間で30も上昇した。
41© 2019 Toshiba Digital Solutions Corporation
まとめ
• GridDBはビッグデータ・IoT向けのスケールアウト型データベースです。
• 今回、「ものづくり」の現場に必要な機能を備えたGridDBの特長、GridDB V4.1CE、
API拡充についてご説明いたしました。
• GitHubサイト、デベロッパーズサイトなどで、GridDB機能強化や主要OSSとの連携強
化、APIの拡充などの様々なOSS活動を実施しています。
● 本資料に掲載の製品名、サービス名には、各社の登録商標または商標が含まれています。
オープンソースのGridDBを是非とも使ってみてください。
42© 2018 Toshiba Digital Solutions Corporation
ご清聴ありがとうございました
43© 2019 Toshiba Digital Solutions Corporation
ご参考:GridDBに関する情報
• GridDB デベロッパーズサイト
– https://griddb.net/
• GridDB GitHubサイト
– https://github.com/griddb/griddb_nosql/
• Twitter: GridDB (日本)
– https://twitter.com/griddb_jp
• Twitter: GridDB Community
– https://twitter.com/GridDBCommunity
• Facebook: GridDB Community
– https://www.facebook.com/griddbcommunity/
• Wiki
– https://ja.wikipedia.org/wiki/GridDB
• GridDB お問い合わせ
– プログラミング関連:Stackoverflow(https://ja.stackoverflow.com/search?q=griddb)もしくはGitHubサイトの各リポジトリの
Issueをご利用ください
– その他:contact@griddb.netもしくはcontact@griddb.orgをご利用ください
44© 2019 Toshiba Digital Solutions Corporation
ご参考:デベロッパーズサイトの最近のブログ
45© 2019 Toshiba Digital Solutions Corporation
ご参考:デベロッパーズサイトの主なコンテンツ(ハウツーもの)
• AWS/Azure上で動かす方法
– 「GridDB Azureクラスタの構築」
– 「Fixed ListでGridDBを使う方法」
• Docker上で動かす方法
– 「Docker上でGridDBを実行する」
• Pappetによる設定方法
– 「Puppetを使用したGridDBの設定方法」
• 各種クライアント
– 「GridDB‘s C/Python/Ruby APIsを使ってみよう」
– 「GridDBのGo言語 Client入門」
– 「GridDB Node.jsクライアントを使ってみよう」
– 「GridDBのPHPクライアント入門」
• MapReduceコネクタ
– 「Hadoop MapReduce用のGridDBコネクタの使い方」
• Sparkコネクタ
– 「Apache SparkのためのGridDBコネクタ」
• YCSBコネクタ
– 「YCSB向けGridDBコネクタを使ってみよう」
※https://griddb.net/ja/blog/
46© 2019 Toshiba Digital Solutions Corporation
ご参考:デベロッパーズサイトの主なコンテンツ(ホワイトペーパなど)
ホワイトペーパ:
• GridDB®とは
• GridDB と Cassandra のパフォーマンスとスケーラビリティ – Microsoft Azure 環境における YCSB
パフォーマンス比較
• GridDBとInfluxDBのTimeSeriesベンチマーク比較
• GridDB Reliability and Robustness
など
ブログ:
• IoT産業におけるGridDB導入事例
• 自動車産業におけるGridDB導入事例
• 自律型データ配信アルゴルズム (ADDA)
• CAP 定理と GridDB
• Raspberry Piチュートリアル:KairosDBコネクタを介してGridDBに温度データを送信する
など
47© 2019 Toshiba Digital Solutions Corporation
ご参考:その他のコンテンツ
• Wiki:GridDB
– https://ja.wikipedia.org/wiki/GridDB
• 動画:db tech showcase Tokyo 2018のセッション『もうSQLとNoSQLを選ぶ必要はない!?
~ 両者を備えたスケールアウトデータベース GridDB ~』
– https://crash.academy/video/527/1855
48© 2019 Toshiba Digital Solutions Corporation
ご参考:WebAPI コマンド一覧
• コンテナ生成
– URL: POST {cluster}/dbs/public/containers
– BODY:コンテナ情報
• コンテナ削除
– URL: DELETE {cluster}/dbs/public/containers
– BODY:コンテナ名の一覧
• コンテナ名一覧取得
– URL: GET {cluster}/dbs/public/containers
– BODY:取得条件 (type, limit, offset, sort)
• コンテナ情報取得
– URL: GET {cluster}/dbs/public/containers/{container}/info
• ロウデータ登録
– URL:PUT {cluster}/dbs/public/containers/{container}/rows
– BODY:ロウデータの一覧
• ロウデータ取得
– URL:POST {cluster}/dbs/public/containers/{container}/rows
– BODY:取得条件 (offset, limit, condition, sort)
• ロウデータ削除
– URL:DELETE {cluster}/dbs/public/containers/{container}/rows
– BODY:ロウキーの一覧
• クエリ実行
– URL:POST {cluster}/dbs/public/tql
– BODY:{name, stmt, columns}の一覧
Base URL: http(s)://<host>:<port>/griddb/v2/

More Related Content

Similar to 「ものづくり」の現場に必要な機能を備えたスケールアウト型データベース GridDBとそのオープンソース活動 ~膨大なIoTデータの管理を実現 ~ (20)

PDF
Construction industry blockchain event munetoshi yamada
SBI R3 Japan
 
PDF
Spring Initializrをハックする-カスタマイズを通してその内部実装を覗く
apkiban
 
PDF
20180319 ccon sync kintone
CData Software Japan
 
PDF
Tokyo corda meetup 20190604 (Business session)
SBI R3 Japan
 
PDF
OSC 2020 Fukuoka IT運用自動化を支援する「運用レコメンドプラットフォーム」実現の舞台裏
Daisuke Ikeda
 
PDF
Why we need blockchain for dx
SBI R3 Japan
 
PPTX
Spark+AI Summit Europe 2019 セッションハイライト(Spark Meetup Tokyo #2 講演資料)
NTT DATA Technology & Innovation
 
PDF
B13_株式会社資生堂 プロフェッショナル事業の日本とタイの基幹系業務を「 Microsoft Dynamics 365 」で統合管理 [Microsof...
日本マイクロソフト株式会社
 
PPTX
Current status and future trends in Node-RED
nodered_ug_jp
 
PDF
IoTNEWSの取組とその活用法について
IoTビジネス共創ラボ
 
PDF
Low-Codeプログラミングシステム Node-REDとその応用
HiroyasuNishiyama1
 
PDF
クラウドサービスの活用〜IDCFクラウド〜
IDC Frontier
 
PDF
202209ILS.pdf
KoheiYAMAMOTO23
 
PPTX
Reladomoを使ったトランザクション履歴管理をプロダクトに適用した際のメリット/デメリット/課題など
なべ
 
PDF
Web3 School
Taiki Narita
 
PPTX
高知生成AIラボ(2025-02-14)AIエージェント時代のエンジニアリングと開発手法
amatatsu
 
PDF
Git超入門_座学編.pdf
憲昭 村田
 
PDF
JupyterLabを中心とした快適な分析生活
Classi.corp
 
PDF
エンタープライズ SaaS の初期成長戦略
Tomoe Sawai
 
PDF
A04_これがデジタル変革だ!3 か月で B2C の WEB ポータルをスクラッチした Microsoft クラウドネイティブ の開発事例 [Micros...
日本マイクロソフト株式会社
 
Construction industry blockchain event munetoshi yamada
SBI R3 Japan
 
Spring Initializrをハックする-カスタマイズを通してその内部実装を覗く
apkiban
 
20180319 ccon sync kintone
CData Software Japan
 
Tokyo corda meetup 20190604 (Business session)
SBI R3 Japan
 
OSC 2020 Fukuoka IT運用自動化を支援する「運用レコメンドプラットフォーム」実現の舞台裏
Daisuke Ikeda
 
Why we need blockchain for dx
SBI R3 Japan
 
Spark+AI Summit Europe 2019 セッションハイライト(Spark Meetup Tokyo #2 講演資料)
NTT DATA Technology & Innovation
 
B13_株式会社資生堂 プロフェッショナル事業の日本とタイの基幹系業務を「 Microsoft Dynamics 365 」で統合管理 [Microsof...
日本マイクロソフト株式会社
 
Current status and future trends in Node-RED
nodered_ug_jp
 
IoTNEWSの取組とその活用法について
IoTビジネス共創ラボ
 
Low-Codeプログラミングシステム Node-REDとその応用
HiroyasuNishiyama1
 
クラウドサービスの活用〜IDCFクラウド〜
IDC Frontier
 
202209ILS.pdf
KoheiYAMAMOTO23
 
Reladomoを使ったトランザクション履歴管理をプロダクトに適用した際のメリット/デメリット/課題など
なべ
 
Web3 School
Taiki Narita
 
高知生成AIラボ(2025-02-14)AIエージェント時代のエンジニアリングと開発手法
amatatsu
 
Git超入門_座学編.pdf
憲昭 村田
 
JupyterLabを中心とした快適な分析生活
Classi.corp
 
エンタープライズ SaaS の初期成長戦略
Tomoe Sawai
 
A04_これがデジタル変革だ!3 か月で B2C の WEB ポータルをスクラッチした Microsoft クラウドネイティブ の開発事例 [Micros...
日本マイクロソフト株式会社
 

More from griddb (20)

PDF
オープンソースのIoT向けデータベースGridDB-最新の強化ポイントについて-
griddb
 
PDF
ペタバイトデータをSQLでリアルタイム分析し、品質を向上させたユーザ事例~現場の苦労を紹介~
griddb
 
PDF
2024年時系列データベースの最新動向と最適な選択基準…時系列データベースは、現代のデータ駆動型ビジネスにおいて不可欠な要素となっています。適切な時系列デ...
griddb
 
PDF
ビッグデータ・IoTシステム向け高速スケールアウト型データベース GridDB - 従来のデータベースでは不可能だったビッグデータのリアルタイム分析が可...
griddb
 
PDF
NoSQL/SQLデュアルインターフェースを備えた IoT向けデータベースGridDB - 強化された時系列データ管理・検索機能について -
griddb
 
PDF
東芝のデータ処理技術基盤のご紹介(ポスター)
griddb
 
PDF
NoSQL/SQLデュアルインターフェースを備えた IoT向けデータベースGridDB ~ クラウドでGridDBを使ってみましょう ~
griddb
 
PDF
IoT指向のクラウドデータベースサービスGridDB Cloud ~その特徴とデータ連携の方法~
griddb
 
PDF
ペタバイト級でも扱えるGridDBのアーキテクチャ Deep Dive
griddb
 
PDF
日本発のオープンソース・データベース GridDB
griddb
 
PDF
NoSQL/SQLデュアルインタフェースを備えたIoT向けデータベースGridDB ~コマンドライン・インターフェース(CLI)を使ってみましょう~
griddb
 
PDF
多様性時代のDB選択
griddb
 
PDF
遂に登場! GridDBからデータベースサービス GridDB Cloud ~その設計思想と運用の原則
griddb
 
PDF
アーキテクチャを一新したIoT/ビッグデータ向けデータベースGridDB
griddb
 
PDF
NoSQL/SQLデュアルインターフェースを備えた IoT向けデータベースGridDB ~ GridDB CE 4.6のテーブルパーティショニングを 使っ...
griddb
 
PDF
ビッグデータやIoTシステムを支えるデータベース 『GridDB』
griddb
 
PDF
【ハンズオンセミナー】NoSQL/SQLデュアルインタフェースを備えたIoT向けデータベースGridDB ~ GridDB CE 4.6のテーブルパーティ...
griddb
 
PDF
データを事業に活かすために必要なデータ基盤とは
griddb
 
PDF
GridDB: A Distributed SQL time series database for IoT and Big Data
griddb
 
PDF
オープンソースデータベース GridDB ~ なぜ いま、データベースを開発したのか?その理由とGridDBの概要紹介 ~
griddb
 
オープンソースのIoT向けデータベースGridDB-最新の強化ポイントについて-
griddb
 
ペタバイトデータをSQLでリアルタイム分析し、品質を向上させたユーザ事例~現場の苦労を紹介~
griddb
 
2024年時系列データベースの最新動向と最適な選択基準…時系列データベースは、現代のデータ駆動型ビジネスにおいて不可欠な要素となっています。適切な時系列デ...
griddb
 
ビッグデータ・IoTシステム向け高速スケールアウト型データベース GridDB - 従来のデータベースでは不可能だったビッグデータのリアルタイム分析が可...
griddb
 
NoSQL/SQLデュアルインターフェースを備えた IoT向けデータベースGridDB - 強化された時系列データ管理・検索機能について -
griddb
 
東芝のデータ処理技術基盤のご紹介(ポスター)
griddb
 
NoSQL/SQLデュアルインターフェースを備えた IoT向けデータベースGridDB ~ クラウドでGridDBを使ってみましょう ~
griddb
 
IoT指向のクラウドデータベースサービスGridDB Cloud ~その特徴とデータ連携の方法~
griddb
 
ペタバイト級でも扱えるGridDBのアーキテクチャ Deep Dive
griddb
 
日本発のオープンソース・データベース GridDB
griddb
 
NoSQL/SQLデュアルインタフェースを備えたIoT向けデータベースGridDB ~コマンドライン・インターフェース(CLI)を使ってみましょう~
griddb
 
多様性時代のDB選択
griddb
 
遂に登場! GridDBからデータベースサービス GridDB Cloud ~その設計思想と運用の原則
griddb
 
アーキテクチャを一新したIoT/ビッグデータ向けデータベースGridDB
griddb
 
NoSQL/SQLデュアルインターフェースを備えた IoT向けデータベースGridDB ~ GridDB CE 4.6のテーブルパーティショニングを 使っ...
griddb
 
ビッグデータやIoTシステムを支えるデータベース 『GridDB』
griddb
 
【ハンズオンセミナー】NoSQL/SQLデュアルインタフェースを備えたIoT向けデータベースGridDB ~ GridDB CE 4.6のテーブルパーティ...
griddb
 
データを事業に活かすために必要なデータ基盤とは
griddb
 
GridDB: A Distributed SQL time series database for IoT and Big Data
griddb
 
オープンソースデータベース GridDB ~ なぜ いま、データベースを開発したのか?その理由とGridDBの概要紹介 ~
griddb
 
Ad

Recently uploaded (9)

PDF
第三世代 ウェザーステーションキット v3 ー WSC3-L 日本語カタログ
CRI Japan, Inc.
 
PDF
【学会聴講報告】CVPR2025からみるVision最先端トレンド / CVPR2025 report
Sony - Neural Network Libraries
 
PDF
TaketoFujikawa_ComicComputing12th_inKumamoto
Matsushita Laboratory
 
PPTX
2025_7_25_吉祥寺_設計ナイト_ADR運用におけるデータ利活用の考え方.pptx
ssuserfcafd1
 
PDF
20250726_Devinで変えるエンプラシステム開発の未来
Masaki Yamakawa
 
PDF
LoRaWAN ウェザーステーションキット v3 -WSC3-L 日本語ユーザーマニュアル
CRI Japan, Inc.
 
PDF
VMUG Japan book vsan 20250515 CPU/Memory vSAN
Kazuhiro Sota
 
PDF
MahiroYoshida_セリフに着目したキャラクタロール推定に関する基礎検討_sigcc12th2025
Matsushita Laboratory
 
PPTX
baserCMS『カスタムコンテンツ』徹底活用術〜あなただけの管理画面を自由自在に〜
Ryuji Egashira
 
第三世代 ウェザーステーションキット v3 ー WSC3-L 日本語カタログ
CRI Japan, Inc.
 
【学会聴講報告】CVPR2025からみるVision最先端トレンド / CVPR2025 report
Sony - Neural Network Libraries
 
TaketoFujikawa_ComicComputing12th_inKumamoto
Matsushita Laboratory
 
2025_7_25_吉祥寺_設計ナイト_ADR運用におけるデータ利活用の考え方.pptx
ssuserfcafd1
 
20250726_Devinで変えるエンプラシステム開発の未来
Masaki Yamakawa
 
LoRaWAN ウェザーステーションキット v3 -WSC3-L 日本語ユーザーマニュアル
CRI Japan, Inc.
 
VMUG Japan book vsan 20250515 CPU/Memory vSAN
Kazuhiro Sota
 
MahiroYoshida_セリフに着目したキャラクタロール推定に関する基礎検討_sigcc12th2025
Matsushita Laboratory
 
baserCMS『カスタムコンテンツ』徹底活用術〜あなただけの管理画面を自由自在に〜
Ryuji Egashira
 
Ad

「ものづくり」の現場に必要な機能を備えたスケールアウト型データベース GridDBとそのオープンソース活動 ~膨大なIoTデータの管理を実現 ~

  • 1. © 2019 Toshiba Digital Solutions Corporation 東芝デジタルソリューションズ株式会社 野々村 克彦 2019.2.22 「ものづくり」の現場に必要な機能を備えた スケールアウト型データベース GridDBと そのオープンソース活動 ~膨大なIoTデータの管理を実現 ~
  • 2. プロフィール 名前:野々村 克彦 所属:東芝デジタルソリューションズ(株) ソフトウェア&AIテクノロジーセンタ- 知識・メディア処理技術開発部 2011年 スケールアウト型DB GridDBの開発メンバ 2015年 GridDBのオープンソースPJ開始 現在 GridDBコミュニティ版の開発・コミッター、海外展開の技術支援など。 GitHub歴 4年 出身高校:県立米子東(鳥取県) 祝!23年ぶり甲子園出場
  • 3. 2© 2019 Toshiba Digital Solutions Corporation 発表内容 1.スケールアウト型データベースGridDBの概要 2.GridDBのオープンソース活動 – GridDB V4.1 CE(Community Edition) – API拡充(Node.JSクライアント、WebAPI) – その他の活動 3.まとめ
  • 4. 3© 2019 Toshiba Digital Solutions Corporation Toshiba Confidential 電力系統制御 PV監視制御 BEMS HEMS 上下水道 交通 医療 MEMORY HDD Scale Out GridDB スケールアウト型データベースGridDB • ビッグデータ/IoT向けスケールアウト型データベース • V1.0製品化(2013年)、OSS化(2016年)、V4.1(2019年1月) • 社会インフラを中心に、高い信頼性・可用性が求められるシステムに適用中
  • 5. 4© 2019 Toshiba Digital Solutions Corporation Toshiba Confidential • 社会インフラを中心に、高い信頼性・可用性が求められるシステムに適用中 • 東芝のIoT「SPINEX」の構成ソリューション 適用事例 ・フランス リヨン 太陽光発電 監視・診断システム 発電量の遠隔監視、発電パネルの性能劣化を診断 ・クラウドBEMS ビルに設置された各種メータの情報の収集、蓄積、分析 ・石巻スマートコミュニティ プロジェクト 地域全体のエネルギーのメータ情報の収集、蓄積、分析 ・電力会社 低圧託送業務システム スマートメータから収集される電力使用量を集計し、需要量と発電量のバランスを調整 ・神戸製鋼所 産業用コンプレッサ稼働監視システム グローバルに販売した産業用コンプレッサをクラウドを利用して稼働監視 ・東芝機械 IoTプラットフォーム 工作機器、射出成形、ダイカストマシン、など膨大な製造データを管理 ・デンソー Factory-IoT (IoTを活用したダントツ工場) https://www.youtube.com/watch?v=9-yf-XN1Bgg&feature=youtu.be (ビデオ) ・DENSO International Americaの次世代の車両管理システム https://griddb.net/ja/blog/griddb-automotive/ ・クラウド型IoTソリューション ....
  • 6. 5© 2019 Toshiba Digital Solutions Corporation Toshiba Confidential • 「製品がいつ・どこで・どのように製造されたか」を追跡して可視化するトレーサビリティの確保 が求めれている。 • そのためには、製造装置や製造ラインから発生するIoTデータを、10年や20年といった長期 間にわたって管理する必要がある。 「ものづくり」の現場からの要求
  • 7. 6© 2019 Toshiba Digital Solutions Corporation Toshiba Confidential GridDBの特長 IoT指向の データモデル 高い信頼性と 可用性 • データの複製をノード間で自動的に実行 • ノード障害があってもフェールオーバによりサービス継続 • 数秒から数十秒の切替え時間 高いスケーラビリティ • 少ないノード台数で初期投資を抑制 • 負荷や容量の増大に合わせたノード増設が可能 • 自律データ再配置により、高いスケーラビリティを実現 高性能な NoSQL+SQL • メモリを主、ストレージを従としたハイブリッド型インメモリDB • メモリやディスクの排他処理や同期待ちを極力排除 • SQLにおける分散並列処理 • データモデルはキー・コンテナ。コンテナ内でのデータ一貫性を保証 • 時系列データ管理する特別な機能 • 過去データをコールド保存する長期アーカイブ機能
  • 8. 7© 2019 Toshiba Digital Solutions Corporation Toshiba Confidential • NoSQL型でよく採用されているキー・バリューを拡張 • 順序に関係無くレコードが格納されるコレクションコンテナ • 時間順にレコードが格納される時系列コンテナ 時系列レコードを圧縮する機能や期限解放する機能 • コンテナ内でのデータ一貫性を保証 キーコンテナ型キーバリュー型 データモデル コレクション(Collection) "siteA_equip" id name specification equip001 変圧器1 xxx変圧器 equip002 変圧器2 yyy変圧器 equip003 遮断機1 xxx遮断機 equip004 遮断機2 yyy遮断機 equip005 ケーブル1 zzzケーブル ... ... ... 時系列(TimeSeries) "siteA_s012" timestamp heat_rate temperature 4/28/20011 ... 78.3 47.9 4/28/20011 ... 82.9 63.4 ... ... ... 5 10 15 20 17:30 21:30 1:30 5:30 9:30 13:30 17:30 キー バリュー キー バリュー キー バリュー キー バリュー C0 C1 C2 C3 Val Val Val Val Val Val Val Val Val Val Val Val キー バリュー C4 C5 C6 C7 Val Val Val Val Val Val Val Val Val Val Val Val キー バリュー C8 C9 C10C11 Val Val Val Val Val Val Val Val Val Val Val Val
  • 9. 8© 2019 Toshiba Digital Solutions Corporation Toshiba Confidential • 適切に容量を抑えつつ、長期間データをコールド保存 • 効率の良いアーカイブ処理 長期アーカイブ機能 DB ノード (1)古いデータのアーカイブ化 (3)アーカイブの参照 2008/10/30以前 のデータをアーカイブ化 DB ノード DB ノード (2) 古いデータの削除 アタッチ 外部ストレージ 2008/10/30以前のデータ 2008/11/01以降のデータ 2008/11/01以降のデータ
  • 10. 9© 2019 Toshiba Digital Solutions Corporation Toshiba Confidential (従来の)期限解放機能 具体的な挙動 2019/1/3 2019/1/2 2019/1/1 2019/1/6 2019/1/5 2019/1/4 2019/1/9 2019/1/8 2019/1/7 2019/1/12 2019/1/11 2019/1/10 2019/1/15 2019/1/14 2019/1/13 2019/1/16 2019/1/3 2019/1/2 2019/1/1 2019/1/6 2019/1/5 2019/1/4 2019/1/9 2019/1/8 2019/1/7 2019/1/12 2019/1/11 2019/1/10 2019/1/132019/1/1 日付 2019/1/162019/1/1 2019/1/13 保持期間:12日、分割数:3 ⇒削除単位:12/3=4日 期限内:12日 期限切れ:参照不可
  • 11. 10© 2019 Toshiba Digital Solutions Corporation Toshiba Confidential (従来の)期限解放機能 2019/1/1 効率的に 自動削除 保持期間:12日、分割数:3 ⇒削除単位:12/3=4日 日付 2019/1/162019/1/1 2019/1/13 2019/1/6 2019/1/5 2019/1/9 2019/1/8 2019/1/7 2019/1/12 2019/1/11 2019/1/10 2019/1/15 2019/1/14 2019/1/13 2019/1/16 2019/1/3 2019/1/2 2019/1/1 2019/1/6 2019/1/5 2019/1/4 2019/1/9 2019/1/8 2019/1/7 2019/1/12 2019/1/11 2019/1/10 2019/1/13 具体的な挙動
  • 12. 11© 2019 Toshiba Digital Solutions Corporation Toshiba Confidential 長期アーカイブ:期限解放機能を拡張 具体的な挙動 2019/1/1 保持期間:12日、分割数:3 ⇒削除単位:12/3=4日 + 自動削除オフ 2019/1/1 2019/1/13 2019/1/3 2019/1/2 2019/1/1 2019/1/6 2019/1/5 2019/1/4 2019/1/18日付 2019/1/3 2019/1/2 2019/1/1 2019/1/6 2019/1/5 2019/1/4 2019/1/9 2019/1/8 2019/1/7 2019/1/12 2019/1/11 2019/1/10 2019/1/13 2019/1/9 2019/1/8 2019/1/7 2019/1/12 2019/1/11 2019/1/10 2019/1/15 2019/1/14 2019/1/13 2019/1/18 2019/1/17 2019/1/16
  • 13. 12© 2019 Toshiba Digital Solutions Corporation Toshiba Confidential 長期アーカイブ:期限解放機能を拡張 具体的な挙動 2019/1/1 保持期間:12日、分割数:3 ⇒削除単位:12/3=4日 + 自動削除オフ 2019/1/1 2019/1/13 古いデータのアーカイブ化 (DBノードの負荷小) 2019/1/18日付 2019/1/3 2019/1/2 2019/1/1 2019/1/6 2019/1/5 2019/1/4 2019/1/3 2019/1/2 2019/1/1 2019/1/6 2019/1/5 2019/1/4 2019/1/9 2019/1/8 2019/1/7 2019/1/12 2019/1/11 2019/1/10 2019/1/13 2019/1/9 2019/1/8 2019/1/7 2019/1/12 2019/1/11 2019/1/10 2019/1/15 2019/1/14 2019/1/13 2019/1/18 2019/1/17 2019/1/16 アーカイブ エンジン
  • 14. 13© 2019 Toshiba Digital Solutions Corporation Toshiba Confidential 長期アーカイブ:期限解放機能を拡張 具体的な挙動 2019/1/1 保持期間:12日、分割数:3 ⇒削除単位:12/3=4日 + 自動削除オフ 2019/1/1 2019/1/13 古いデータの削除 (DBノードの負荷小) 2019/1/18日付 2019/1/6 2019/1/5 2019/1/9 2019/1/8 2019/1/7 2019/1/12 2019/1/11 2019/1/10 2019/1/15 2019/1/14 2019/1/13 2019/1/18 2019/1/17 2019/1/16 2019/1/3 2019/1/2 2019/1/1 2019/1/6 2019/1/5 2019/1/4 2019/1/9 2019/1/8 2019/1/7 2019/1/12 2019/1/11 2019/1/10 2019/1/13
  • 15. 14© 2019 Toshiba Digital Solutions Corporation Toshiba Confidential GridDBの特長 IoT指向の データモデル 高い信頼性と 可用性 • データの複製をノード間で自動的に実行 • ノード障害があってもフェールオーバによりサービス継続 • 数秒から数十秒の切替え時間 高いスケーラビリティ • 少ないノード台数で初期投資を抑制 • 負荷や容量の増大に合わせたノード増設が可能 • 自律データ再配置により、高いスケーラビリティを実現 高性能な NoSQL+SQL • メモリを主、ストレージを従としたハイブリッド型インメモリDB • メモリやディスクの排他処理や同期待ちを極力排除 • SQLにおける分散並列処理 • データモデルはキー・コンテナ。コンテナ内でのデータ一貫性を保証 • 時系列データ管理する特別な機能 • 過去データをコールド保存する長期アーカイブ機能
  • 16. 15© 2019 Toshiba Digital Solutions Corporation Toshiba Confidential • 自律データ再配置技術(ADDA : Autonomous Data Distribution Algorithm) • データを分散化するゆえにデータの一貫性が弱くなり、 一貫性やスケール性を求めるとパフォーマンスが落ちる、という大きな欠点を解決 DBクラスタ 管理ノード DBノード DBノード DBノード クライアント 仲介ノード FSノード FSノード FSノード DBノード (マスタノード) DBノード DBノード クライアント データ複製 データ配置 データ複製 データ配置 要求 要求 従来技術 GridDB 自律的なDBクラスタ技術 ADDA DBノード DBノード DBノード 従来技術 平成30年度 関東地方発明表彰
  • 17. 16© 2019 Toshiba Digital Solutions Corporation Toshiba Confidential • マスタースレーブモデルの改良 – ノード間でマスタノードを自動選択。管理サーバがクラスタ内に存在せず、SPOFを完全排除 – ノード過半数を占めたサブクラスタのみがサービス可能となるクオーラムポリシーにより、 スプリットブレインを完全排除 • 自律データ再配置技術の開発 – (マスターノードが)ノード間アンバランス、レプリカ欠損を検知⇒バックグラウンドでデータ再配置 – 2種類のレプリカデータを使って高速同期、完了後切替え 具体的な挙動 〈ノード間データ再配置〉 〈アクセス切替え〉〈負荷アンバランスの検知〉 DBノード 負荷小 クライアント 更新ログ メモリブロック
  • 18. 17© 2019 Toshiba Digital Solutions Corporation Toshiba Confidential GridDBの特長 IoT指向の データモデル 高い信頼性と 可用性 • データの複製をノード間で自動的に実行 • ノード障害があってもフェールオーバによりサービス継続 • 数秒から数十秒の切替え時間 高いスケーラビリティ • 少ないノード台数で初期投資を抑制 • 負荷や容量の増大に合わせたノード増設が可能 • 自律データ再配置により、高いスケーラビリティを実現 高性能な NoSQL+SQL • メモリを主、ストレージを従としたハイブリッド型インメモリDB • メモリやディスクの排他処理や同期待ちを極力排除 • SQLにおける分散並列処理 • データモデルはキー・コンテナ。コンテナ内でのデータ一貫性を保証 • 時系列データ管理する特別な機能 • 過去データをコールド保存する長期アーカイブ機能
  • 19. 18© 2019 Toshiba Digital Solutions Corporation Toshiba Confidential NoSQL性能 Read 50% + Write 50% 約2.5倍 Read 95% + Write 5% 約8倍 ※フィックスターズ社によるYCSBベンチマーク結果 NoSQLの代表的なベンチマーク https://github.com/brianfrankcooper/YCSB • YCSB (Yahoo! Cloud Serving Benchmark)
  • 20. 19© 2019 Toshiba Digital Solutions Corporation Toshiba Confidential NoSQLとSQLのデュアルインターフェイス GridDB クラスタ DB ノード DB ノード DB ノード キー・バリュー型インターフェイス SQLインターフェイス 他DB BI ETL 他システム NoSQL(キー・バリュー型)インターフェイス • 高可用、高スループット指向のKVS • キーコンテナに対するCRUD • Java/C/Python/Node.JS/Goクライアント SQLインターフェイス • 分散並列SQLデータベース • 巨大コンテナに対するコンテナパーティショニング • ジョインなど複数コンテナ(テーブル)に対するSQL • JDBC/ODBCドライバー
  • 21. 20© 2019 Toshiba Digital Solutions Corporation Toshiba Confidential DBノード SQLにおける分散並列処理 クライアント C0 C1 C2 C3 Val Val Val Val Val Val Val Val Val Val Val Val a@0 C4 C5 C6 Val Val Val Val Val Val Val Val Val b@0 C0 C1 C2 C3 Val Val Val Val Val Val Val Val Val Val Val Val a@1 C4 C5 C6 Val Val Val Val Val Val Val Val Val b@1 C0 C1 C2 C3 Val Val Val Val Val Val Val Val Val Val Val Val a@2 C4 C5 C6 Val Val Val Val Val Val Val Val Val b@2 Task Task Task Task Task Task Task Task Task Task パイプライン並列化 パーティション並列化 (タスク)独立並列化C0 C2 C7 Val Val Val Val Val Val C0 C2 C6 Val Val Val Val Val Val Val Val Val C0 C2 C6 Val Val Val Val Val Val Val Val Val NoSQL(KVS) SQL
  • 22. 21© 2019 Toshiba Digital Solutions Corporation Toshiba Confidential 製品ラインアップ NewSQL NoSQL NoSQL’ ①GridDB SE (Standard Edition) ③GridDB CE (Community Edition) ②GridDB AE (Advanced Edition) Monitoring Dashboard
  • 23. 22© 2019 Toshiba Digital Solutions Corporation Toshiba Confidential GridDBのオープンソース活動 • GridDB V4.1 CE • API拡充 (Node.JSクライアント、WebAPI) • その他
  • 24. 23© 2019 Toshiba Digital Solutions Corporation Toshiba Confidential GitHubサイト https://github.com/griddb/ • NoSQL機能、様々な開発言語のクライアント、 主要OSSとのコネクタをソース公開 https://github.com/griddb/griddb_nosqlなど • 目的 – ビッグデータ技術の普及促進 • 多くの人に知ってもらいたい、使ってみてもらいたい。 • いろんなニーズをつかみたい。 – 他のオープンソースソフトウェア、システムとの連携強化 griddb github 検索
  • 25. 24© 2019 Toshiba Digital Solutions Corporation Toshiba Confidential 最近のOSS活動(前回報告) 2018年 • 2月 GridDB Pythonクライアントのソース公開(GitHub) • 3月 GridDB Goクライアントのソース公開(GitHub) • 5月 GridDB V4.0 Community Editionのソース公開 (サーバ、Javaクライアント) (GitHub) • 6月 GridDB Node.JSクライアントのソース公開(GitHub) GridDB PHPクライアントのソース公開(GitHub) • 7月 GridDB V4.0 CE Cクライアントのソース公開(GitHub) • 8月 GridDB用Kafkaコネクタ・サンプルのソース公開(GitHub) • 9月 GridDB Pythonクライアントのパッケージ公開(PyPI) GridDB Node.JSクライアントのパッケージ公開(npm)
  • 26. 25© 2019 Toshiba Digital Solutions Corporation Toshiba Confidential 最近のOSS活動 2018年 • 10月 GridDB Perlクライアントのソース公開(GitHub) • 11月 YCSBリポジトリ本家へのPullRequest(活動中) ※YCSBのメインコミッターからお誘いがあった 2019年 • 1月 GridDB V4.1 Community Editionのソース公開(GitHub)★ • 2月 Javaクライアントのパッケージ公開(Maven Central Repository) GridDB V4.1 CEのUbuntu向けパッケージ公開(GitHub) Node.JSクライアントのインタフェース改良 v0.8★ WebAPIのソース公開(GitHub)★
  • 27. 26© 2019 Toshiba Digital Solutions Corporation GridDB V4.1 CE 2019/1ソース公開
  • 28. 27© 2019 Toshiba Digital Solutions Corporation GridDB V4.1 CE 追加機能 1. オンライン増設 – 稼働中のクラスタに対して、無停止でノード増設やノード切り離しを行うことができます。 2. 空間型 – データ型として空間型が追加されました。また空間索引も利用できます。 3. 時系列圧縮 – 時系列データに適した圧縮を時系列コンテナで利用できます。 4. カラム数の上限値の拡大 – コンテナで扱えるカラム数の上限値を拡大しました。 1024~32,000個 5. 動的なスキーマ変更(カラム追加)の改善 – カラム追加処理中のコンテナへの同時アクセスが可能になります。
  • 29. 28© 2019 Toshiba Digital Solutions Corporation オンライン増設(ノード増設) node1 node2 node3 node4 node1 node2 node3 node4 gs_appendcluster –u (username)/(passwd) –cluster (node1/2/3のいずれかのIPアドレス) –s (node4のIPアドレス) • 手順 1. クラスタの稼働状況を確認する。 2. 増設したいノード(node4)を起動する。 3. 増設したいノードに対し増設コマンド(gs_appendcluster)を実行する。 4. 増設したいノードの状況を確認する(gs_stat)。クラスタ状態がFOLLOWERになっていればOK • 注意点 – 構成ノード=有効ノード数(現在クラスタに参加している台数)の場合に使用できます。 しばらく経過すると。。。
  • 30. 29© 2019 Toshiba Digital Solutions Corporation オンライン増設(ノード切り離し) node1 node2 node3 gs_leavecluster –u (username)/(passwd) –s (node4のIPアドレス) • 手順 1. クラスタの稼働状況を確認する。 2. 切り離したいノード(node4)に対し離脱コマンド(gs_leavecluster)を実行する。 • 注意点 – 指定したノードを離脱させるとデータロストが起こる可能性がある場合、クラスタの縮小は行えません。 node1 node2 node3 node4
  • 31. 30© 2019 Toshiba Digital Solutions Corporation API拡充 ・Node.JSクライアント 2019/2 インタフェース改良 v0.8 ・WebAPI まもなくソース公開予定
  • 32. 31© 2019 Toshiba Digital Solutions Corporation Node.JSクライアント • 実現方法 – GridDB CクライアントとSWIG(Simplified Wrapper and Interface Generator)を利用 – Node.js V4で導入されたPromise(非同期処理を抽象化したオブジェクト)を利用して、Node.js層 でラッピングすることで、Webアプリに必要となる「非同期機能」に対応 • 最新版 v0.8の改良点 – Multi-Put/Get/Query (バッチ処理)への対応 – Blob型のデータのやり取りを(文字列形式でなく)Bufferクラスで対応 – Object型によるキーワード引数への対応:func({k1:v1, k2:v2}) Container::put(array<object> row){ // Cクライアント呼び出し } griddb_client.node (C++層) var griddb = require('griddb_client'); class Container { // 非同期機能 put(arr) { return new Promise(function(resolve, reject) { setTimeout(function(){ try { resolve(this_.container.put(arr)); } catch(err) { reject(err); } }, 0);});} griddb_node.js (Node.js層)sample.js (ユーザプログラム) var griddb = require('griddb_node'); con.put([“key1”, 1, false]) .then(con => { console.log(“completed”); })
  • 33. 32© 2019 Toshiba Digital Solutions Corporation Node.JSクライアント サンプル var griddb = require('griddb_node'); var factory = griddb.StoreFactory.getInstance(); # プロパティ(主に接続用)の設定 var store = factory.getStore({ "host": process.argv[2], "port": parseInt(process.argv[3]), "clusterName": process.argv[4], "username": process.argv[5], "password": process.argv[6]}); # コンテナ情報(コンテナ名、カラム情報、コンテナタイプなど)の設定 var conInfo = new griddb.ContainerInfo({'name': "col01", 'columnInfoList': [ ["name", griddb.Type.STRING], ["status", griddb.Type.BOOL], ["count", griddb.Type.LONG], ["lob", griddb.Type.BLOB] ], 'type': griddb.ContainerType.COLLECTION, 'rowKey': true}); var container; # コンテナの生成 store.putContainer(conInfo, false) .then(cont => { container = cont; # 索引(カラム名、索引タイプ)の設定 return container.createIndex({ 'columnName': 'count', 'indexType': griddb.IndexType.DEFAULT }); }) .then(() => { # データの登録 return container.put(["name01", false, 1, Buffer.from([65, 66, 67, 68, 69, 70, 71, 72, 73, 74])]); }) .then(() => { # 検索 query = container.query("select *") return query.fetch(); }) .then(rs => { while (rs.hasNext()) { console.log(rs.next()); } })
  • 34. 33© 2019 Toshiba Digital Solutions Corporation WebAPI • 実現方法 – GridDB JavaクライアントとSpring Bootフレームワークの組み込み型Tomcatを利用 • 機能一覧 – コンテナ生成、コンテナ削除 – コンテナ名一覧取得、コンテナ情報取得 – ロウデータ登録、ロウデータ削除 – クエリ実行 GridDB WebAPI
  • 35. 34© 2019 Toshiba Digital Solutions Corporation WebAPI サンプル1 • コンテナ生成 – Method POST – Request http://[host]:[port]/griddb/v2/[clusterName]/dbs/public/containers – Bodyの例 {“container_name":"test", "container_type":"COLLECTION", "rowkey":true, "columns":[{"name":"col1", "type":"STRING", "index":["TREE"]}, {"name":"col2", "type":"INTEGER"}, {"name":"col3", "type":"BOOL}]} // コンテナ名、コンテナタイプ、ロウキーの有無、カラム情報から成るコンテナ情報
  • 36. 35© 2019 Toshiba Digital Solutions Corporation WebAPI サンプル2 • ロウデータ登録 – Method PUT – Request http://[host]:[port]/griddb/v2/[clusterName]/dbs/public/containers/[containerName]/rows – Bodyの例 [[“value”, 1, true]] // ロウデータのリスト • クエリ実行 – Method POST – Request http://[host]:[port]/griddb/v2/[clusterName]/dbs/public/tql – Bodyの例 {[“name”:”test”, “stmt”:“select *”, “columns”:[]]} // コンテナ名、クエリ文、出力カラム名
  • 37. 36© 2019 Toshiba Digital Solutions Corporation その他
  • 38. 37© 2019 Toshiba Digital Solutions Corporation GitHubサイトを中心とした活動状況 GridDB V4.1 CE(Community Edition) Javaクライアント Cクライアント Hadoop MapReduce コネクタ YCSB コネクタ Spark コネクタ KairosDB コネクタ Python クライアント Node.JS クライアント 収集 可視化 分散処理 Webアプリ分析性能測定 Go クライアント PHP クライアント Kafka コネクタ Ruby クライアント ③APIの拡充②主要OSSとの連携強化 ④GitHub以外のサイトからの情報発信 ⑤主要OSSリポジトリへのコントリビュート(YCSBなど) GitHub (https://github.com/) PyPI (https://pypi.org/) npm (https://www.npmjs.com/) Perl クライアント Maven Central Repository (https://search.maven.org/) AI/機械学習 ①GridDB本体の機能強化
  • 39. 38© 2019 Toshiba Digital Solutions Corporation デベロッパーズサイト https://griddb.net/ • アプリケーション開発者向けのサイト • 様々なコンテンツを公開 – ホワイトペーパ、ブログ – マニュアル – サンプルコード など • コミュニケーションの場(フォーラム)を提供 griddb net 検索
  • 40. 39© 2019 Toshiba Digital Solutions Corporation ツイッター https://twitter.com/griddb_jp griddb • GridDBに関するリリース、 イベント、などをお知らせします。 (日本国内向け) griddb_jp 検索
  • 41. 40© 2019 Toshiba Digital Solutions Corporation 最近の記事 • Technologist‘s magazine[テクノロジストマガジン]vol.17発刊 – 『GridDB』の開発を手掛ける東芝デジタルソリューションズ・服部雅一氏の紹介 – https://www.criprof.com/magazine/2019/01/17/post-5569/ • GridDB V4.1プレスリリース – 膨大なIoTデータの長期保存を実現 スケールアウト型データベース「GridDB®」機能強化版の提供を開始 – https://www.toshiba-sol.co.jp/news/detail/20190115.htm • 中国「2018年新オープンソースソフトウェアトップ50」にてGridDBが42位に選ばれた – https://tech.sina.com.cn/roll/2019-01-26/doc-ihqfskcp0397662.shtml ※昨年春にGridDB V4.0 CEをソース公開した際に、中国人に注目された。GitHub中国版(?)の gitee.comから非常に多くのアクセスがあり、GridDBのスター数が2日間で30も上昇した。
  • 42. 41© 2019 Toshiba Digital Solutions Corporation まとめ • GridDBはビッグデータ・IoT向けのスケールアウト型データベースです。 • 今回、「ものづくり」の現場に必要な機能を備えたGridDBの特長、GridDB V4.1CE、 API拡充についてご説明いたしました。 • GitHubサイト、デベロッパーズサイトなどで、GridDB機能強化や主要OSSとの連携強 化、APIの拡充などの様々なOSS活動を実施しています。 ● 本資料に掲載の製品名、サービス名には、各社の登録商標または商標が含まれています。 オープンソースのGridDBを是非とも使ってみてください。
  • 43. 42© 2018 Toshiba Digital Solutions Corporation ご清聴ありがとうございました
  • 44. 43© 2019 Toshiba Digital Solutions Corporation ご参考:GridDBに関する情報 • GridDB デベロッパーズサイト – https://griddb.net/ • GridDB GitHubサイト – https://github.com/griddb/griddb_nosql/ • Twitter: GridDB (日本) – https://twitter.com/griddb_jp • Twitter: GridDB Community – https://twitter.com/GridDBCommunity • Facebook: GridDB Community – https://www.facebook.com/griddbcommunity/ • Wiki – https://ja.wikipedia.org/wiki/GridDB • GridDB お問い合わせ – プログラミング関連:Stackoverflow(https://ja.stackoverflow.com/search?q=griddb)もしくはGitHubサイトの各リポジトリの Issueをご利用ください – その他:[email protected]もしくは[email protected]をご利用ください
  • 45. 44© 2019 Toshiba Digital Solutions Corporation ご参考:デベロッパーズサイトの最近のブログ
  • 46. 45© 2019 Toshiba Digital Solutions Corporation ご参考:デベロッパーズサイトの主なコンテンツ(ハウツーもの) • AWS/Azure上で動かす方法 – 「GridDB Azureクラスタの構築」 – 「Fixed ListでGridDBを使う方法」 • Docker上で動かす方法 – 「Docker上でGridDBを実行する」 • Pappetによる設定方法 – 「Puppetを使用したGridDBの設定方法」 • 各種クライアント – 「GridDB‘s C/Python/Ruby APIsを使ってみよう」 – 「GridDBのGo言語 Client入門」 – 「GridDB Node.jsクライアントを使ってみよう」 – 「GridDBのPHPクライアント入門」 • MapReduceコネクタ – 「Hadoop MapReduce用のGridDBコネクタの使い方」 • Sparkコネクタ – 「Apache SparkのためのGridDBコネクタ」 • YCSBコネクタ – 「YCSB向けGridDBコネクタを使ってみよう」 ※https://griddb.net/ja/blog/
  • 47. 46© 2019 Toshiba Digital Solutions Corporation ご参考:デベロッパーズサイトの主なコンテンツ(ホワイトペーパなど) ホワイトペーパ: • GridDB®とは • GridDB と Cassandra のパフォーマンスとスケーラビリティ – Microsoft Azure 環境における YCSB パフォーマンス比較 • GridDBとInfluxDBのTimeSeriesベンチマーク比較 • GridDB Reliability and Robustness など ブログ: • IoT産業におけるGridDB導入事例 • 自動車産業におけるGridDB導入事例 • 自律型データ配信アルゴルズム (ADDA) • CAP 定理と GridDB • Raspberry Piチュートリアル:KairosDBコネクタを介してGridDBに温度データを送信する など
  • 48. 47© 2019 Toshiba Digital Solutions Corporation ご参考:その他のコンテンツ • Wiki:GridDB – https://ja.wikipedia.org/wiki/GridDB • 動画:db tech showcase Tokyo 2018のセッション『もうSQLとNoSQLを選ぶ必要はない!? ~ 両者を備えたスケールアウトデータベース GridDB ~』 – https://crash.academy/video/527/1855
  • 49. 48© 2019 Toshiba Digital Solutions Corporation ご参考:WebAPI コマンド一覧 • コンテナ生成 – URL: POST {cluster}/dbs/public/containers – BODY:コンテナ情報 • コンテナ削除 – URL: DELETE {cluster}/dbs/public/containers – BODY:コンテナ名の一覧 • コンテナ名一覧取得 – URL: GET {cluster}/dbs/public/containers – BODY:取得条件 (type, limit, offset, sort) • コンテナ情報取得 – URL: GET {cluster}/dbs/public/containers/{container}/info • ロウデータ登録 – URL:PUT {cluster}/dbs/public/containers/{container}/rows – BODY:ロウデータの一覧 • ロウデータ取得 – URL:POST {cluster}/dbs/public/containers/{container}/rows – BODY:取得条件 (offset, limit, condition, sort) • ロウデータ削除 – URL:DELETE {cluster}/dbs/public/containers/{container}/rows – BODY:ロウキーの一覧 • クエリ実行 – URL:POST {cluster}/dbs/public/tql – BODY:{name, stmt, columns}の一覧 Base URL: http(s)://<host>:<port>/griddb/v2/