SlideShare uma empresa Scribd logo
1 de 49
Baixar para ler offline
© 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/

Mais conteúdo relacionado

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

B13_株式会社資生堂 プロフェッショナル事業の日本とタイの基幹系業務を「 Microsoft Dynamics 365 」で統合管理 [Microsof...
B13_株式会社資生堂 プロフェッショナル事業の日本とタイの基幹系業務を「 Microsoft Dynamics 365 」で統合管理 [Microsof...B13_株式会社資生堂 プロフェッショナル事業の日本とタイの基幹系業務を「 Microsoft Dynamics 365 」で統合管理 [Microsof...
B13_株式会社資生堂 プロフェッショナル事業の日本とタイの基幹系業務を「 Microsoft Dynamics 365 」で統合管理 [Microsof...
日本マイクロソフト株式会社
 
202209ILS.pdf
202209ILS.pdf202209ILS.pdf
202209ILS.pdf
KoheiYAMAMOTO23
 
A04_これがデジタル変革だ!3 か月で B2C の WEB ポータルをスクラッチした Microsoft クラウドネイティブ の開発事例 [Micros...
A04_これがデジタル変革だ!3 か月で B2C の WEB ポータルをスクラッチした Microsoft クラウドネイティブ の開発事例 [Micros...A04_これがデジタル変革だ!3 か月で B2C の WEB ポータルをスクラッチした Microsoft クラウドネイティブ の開発事例 [Micros...
A04_これがデジタル変革だ!3 か月で B2C の WEB ポータルをスクラッチした Microsoft クラウドネイティブ の開発事例 [Micros...
日本マイクロソフト株式会社
 

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

Construction industry blockchain event munetoshi yamada
Construction industry blockchain event munetoshi yamadaConstruction industry blockchain event munetoshi yamada
Construction industry blockchain event munetoshi yamada
 
Spring Initializrをハックする-カスタマイズを通してその内部実装を覗く
Spring Initializrをハックする-カスタマイズを通してその内部実装を覗くSpring Initializrをハックする-カスタマイズを通してその内部実装を覗く
Spring Initializrをハックする-カスタマイズを通してその内部実装を覗く
 
20180319 ccon sync kintone
20180319 ccon sync kintone20180319 ccon sync kintone
20180319 ccon sync kintone
 
Tokyo corda meetup 20190604 (Business session)
Tokyo corda meetup 20190604 (Business session)Tokyo corda meetup 20190604 (Business session)
Tokyo corda meetup 20190604 (Business session)
 
OSC 2020 Fukuoka IT運用自動化を支援する「運用レコメンドプラットフォーム」実現の舞台裏
OSC 2020 Fukuoka IT運用自動化を支援する「運用レコメンドプラットフォーム」実現の舞台裏OSC 2020 Fukuoka IT運用自動化を支援する「運用レコメンドプラットフォーム」実現の舞台裏
OSC 2020 Fukuoka IT運用自動化を支援する「運用レコメンドプラットフォーム」実現の舞台裏
 
Why we need blockchain for dx
Why we need blockchain for dxWhy we need blockchain for dx
Why we need blockchain for dx
 
Spark+AI Summit Europe 2019 セッションハイライト(Spark Meetup Tokyo #2 講演資料)
Spark+AI Summit Europe 2019 セッションハイライト(Spark Meetup Tokyo #2 講演資料)Spark+AI Summit Europe 2019 セッションハイライト(Spark Meetup Tokyo #2 講演資料)
Spark+AI Summit Europe 2019 セッションハイライト(Spark Meetup Tokyo #2 講演資料)
 
B13_株式会社資生堂 プロフェッショナル事業の日本とタイの基幹系業務を「 Microsoft Dynamics 365 」で統合管理 [Microsof...
B13_株式会社資生堂 プロフェッショナル事業の日本とタイの基幹系業務を「 Microsoft Dynamics 365 」で統合管理 [Microsof...B13_株式会社資生堂 プロフェッショナル事業の日本とタイの基幹系業務を「 Microsoft Dynamics 365 」で統合管理 [Microsof...
B13_株式会社資生堂 プロフェッショナル事業の日本とタイの基幹系業務を「 Microsoft Dynamics 365 」で統合管理 [Microsof...
 
Current status and future trends in Node-RED
Current status and future trends in Node-REDCurrent status and future trends in Node-RED
Current status and future trends in Node-RED
 
IoTNEWSの取組とその活用法について
IoTNEWSの取組とその活用法についてIoTNEWSの取組とその活用法について
IoTNEWSの取組とその活用法について
 
Low-Codeプログラミングシステム Node-REDとその応用
Low-CodeプログラミングシステムNode-REDとその応用Low-CodeプログラミングシステムNode-REDとその応用
Low-Codeプログラミングシステム Node-REDとその応用
 
クラウドサービスの活用〜IDCFクラウド〜
クラウドサービスの活用〜IDCFクラウド〜クラウドサービスの活用〜IDCFクラウド〜
クラウドサービスの活用〜IDCFクラウド〜
 
202209ILS.pdf
202209ILS.pdf202209ILS.pdf
202209ILS.pdf
 
Reladomoを使ったトランザクション履歴管理をプロダクトに適用した際のメリット/デメリット/課題など
Reladomoを使ったトランザクション履歴管理をプロダクトに適用した際のメリット/デメリット/課題などReladomoを使ったトランザクション履歴管理をプロダクトに適用した際のメリット/デメリット/課題など
Reladomoを使ったトランザクション履歴管理をプロダクトに適用した際のメリット/デメリット/課題など
 
Web3 School
Web3 SchoolWeb3 School
Web3 School
 
Git超入門_座学編.pdf
Git超入門_座学編.pdfGit超入門_座学編.pdf
Git超入門_座学編.pdf
 
JupyterLabを中心とした快適な分析生活
JupyterLabを中心とした快適な分析生活JupyterLabを中心とした快適な分析生活
JupyterLabを中心とした快適な分析生活
 
エンタープライズ SaaS の初期成長戦略
エンタープライズ SaaS の初期成長戦略エンタープライズ SaaS の初期成長戦略
エンタープライズ SaaS の初期成長戦略
 
A04_これがデジタル変革だ!3 か月で B2C の WEB ポータルをスクラッチした Microsoft クラウドネイティブ の開発事例 [Micros...
A04_これがデジタル変革だ!3 か月で B2C の WEB ポータルをスクラッチした Microsoft クラウドネイティブ の開発事例 [Micros...A04_これがデジタル変革だ!3 か月で B2C の WEB ポータルをスクラッチした Microsoft クラウドネイティブ の開発事例 [Micros...
A04_これがデジタル変革だ!3 か月で B2C の WEB ポータルをスクラッチした Microsoft クラウドネイティブ の開発事例 [Micros...
 
GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢
GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢
GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢
 

Mais de griddb

ビッグデータ・IoTシステム向け高速スケールアウト型データベース GridDB - 従来のデータベースでは不可能だったビッグデータのリアルタイム分析が可...
ビッグデータ・IoTシステム向け高速スケールアウト型データベース GridDB  - 従来のデータベースでは不可能だったビッグデータのリアルタイム分析が可...ビッグデータ・IoTシステム向け高速スケールアウト型データベース GridDB  - 従来のデータベースでは不可能だったビッグデータのリアルタイム分析が可...
ビッグデータ・IoTシステム向け高速スケールアウト型データベース GridDB - 従来のデータベースでは不可能だったビッグデータのリアルタイム分析が可...
griddb
 
NoSQL/SQLデュアルインターフェースを備えた IoT向けデータベースGridDB ~ GridDB CE 4.6のテーブルパーティショニングを 使っ...
NoSQL/SQLデュアルインターフェースを備えた IoT向けデータベースGridDB ~ GridDB CE 4.6のテーブルパーティショニングを 使っ...NoSQL/SQLデュアルインターフェースを備えた IoT向けデータベースGridDB ~ GridDB CE 4.6のテーブルパーティショニングを 使っ...
NoSQL/SQLデュアルインターフェースを備えた IoT向けデータベースGridDB ~ GridDB CE 4.6のテーブルパーティショニングを 使っ...
griddb
 
【ハンズオンセミナー】NoSQL/SQLデュアルインタフェースを備えたIoT向けデータベースGridDB ~ GridDB CE 4.6のテーブルパーティ...
【ハンズオンセミナー】NoSQL/SQLデュアルインタフェースを備えたIoT向けデータベースGridDB ~ GridDB CE 4.6のテーブルパーティ...【ハンズオンセミナー】NoSQL/SQLデュアルインタフェースを備えたIoT向けデータベースGridDB ~ GridDB CE 4.6のテーブルパーティ...
【ハンズオンセミナー】NoSQL/SQLデュアルインタフェースを備えたIoT向けデータベースGridDB ~ GridDB CE 4.6のテーブルパーティ...
griddb
 
データを事業に活かすために必要なデータ基盤とは
データを事業に活かすために必要なデータ基盤とはデータを事業に活かすために必要なデータ基盤とは
データを事業に活かすために必要なデータ基盤とは
griddb
 
【GridDB入門】 IoT、そしてサイバー・フィジカル・システムを支える オープンソースデータベース GridDB ~ こだわりの理由と実現方法のポイント
【GridDB入門】 IoT、そしてサイバー・フィジカル・システムを支える オープンソースデータベース GridDB ~ こだわりの理由と実現方法のポイント【GridDB入門】 IoT、そしてサイバー・フィジカル・システムを支える オープンソースデータベース GridDB ~ こだわりの理由と実現方法のポイント
【GridDB入門】 IoT、そしてサイバー・フィジカル・システムを支える オープンソースデータベース GridDB ~ こだわりの理由と実現方法のポイント
griddb
 

Mais de griddb (20)

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

Último

Último (7)

業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 

「ものづくり」の現場に必要な機能を備えたスケールアウト型データベース 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をご利用ください – その他:contact@griddb.netもしくはcontact@griddb.orgをご利用ください
  • 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/