オープンソースカンファレンス 2020 Online/Kyoto

オープンソースデータベース GridDB〜 なぜ いま、データベースを開発したのか︖
その理由とGridDBの概要紹介 〜
東芝デジタルソリューションズ株式会社

栗⽥ 雅芳
2020/8/28© 2020 Toshiba Digital Solutions Corporation

GridDB とは︖
膨⼤なリアルタイムのセンシングデータを活⽤する
ミッションクリティカルなIoTシステム✱ をターゲットにデザインしたデータベース✱ インダストリアルIoT︓IIoT
サイバーフィジカルシステム︓CPS
デジタルツイン© 2020 Toshiba Digital Solutions Corporation2

アジェンダ開発した背景特⻑・こだわり
データモデル
クラスタリング技術
デュアル インターフェース
スケールアウト/スケールアップ ベストミックス

導⼊事例
まとめ
© 2020 Toshiba Digital Solutions Corporation3

⻑年にわたって、東芝グループでは・・・膨⼤かつ重要なセンシングデータ（時系列データ）を活⽤したミッションクリティカルなシステムを実現© 2020 Toshiba Digital Solutions Corporation4

約10年前・・・ビッグデータの潮流
更なる膨⼤なリアルタイムなセンシング（時系列）データの処理の必要性
⼤規模

リアルタイム性中 or 低リアルタイム性⾼B2C IoT
購買⾏動分析
ソーシャルメディア分析

インダストリアル IoT︓IIoT
サイバーフィジカルシステム︓CPS
デジタルツイン

⼩規模© 2020 Toshiba Digital Solutions Corporation5センシングデータ（今で⾔う IoTデータ）の特性

カラム型

センサID

String

⽇時

Date

測定値1

Double

測定値2

Double

分析・予測
最適化・計画制御

Webサイト

CRM/ERP

RDBMS© 2020 Toshiba Digital Solutions Corporation

6

従来のIT系のデータとは異なる・・・
ミリ秒オーダーで⾼頻度に発⽣データの⼀貫性の保証

IoTデータ!
"
#発⽣量

カラム

時間

24H365D
絶え間なく発⽣型

センサID

String

⽇時

Date

測定値1

Double

測定値2

Double

発⽣直後からリアルタイム参照

分析・予測
最適化・計画⼤量データが単調増加

制御

従来のIT系データ
Webサイト

CRM/ERPRDBMS!
"#発⽣量時間!
"
#
保管
量

⽉・年
© 2020 Toshiba Digital Solutions Corporation7

リアルタイム IoTのデータベース要件
ミリ秒オーダーで⾼頻度に発⽣
IoTデータ

⾼い処理能⼒!
"#発 High Performance
⽣量時間

24H365D
絶え間なく発⽣

データの⼀貫性の保証
カラム型

String
⾼い信頼性

センサID
⽇時

Date
High Reliability

測定値1Double

測定値2

Double

⼤量データが単調増加

発⽣直後からリアルタイム参照

分析・予測
⾼い処理能⼒High Performance

最適化・計画制御

従来のIT系データ
Webサイト

CRM/ERPRDBMS!
"
#
発⽣
量

⾼い信頼性

High Reliability
時間!
"
#
保管
量 High Scalability
⽉・年

柔軟な拡張性© 2020 Toshiba Digital Solutions Corporation8

2010年当時の技術では・・・・
⾼い処理能⼒

柔軟な拡張性

⾼い信頼性

High PerformanceHigh Scalability

High Reliability

RDBMS△

×〇

NoSQL

△〇

△

Hadoop FS△〇×

要件を満たすデータベースが存在しない

あくまでも、弊社におけるIoTシステムにおける⾒解です。
注︓トランザクションシステムにおける評価は異なります。

© 2020 Toshiba Digital Solutions Corporation

9じゃあ、⾃分たちで 開発しましょう・・・
⾼い処理能⼒

柔軟な拡張性

⾼い信頼性

High PerformanceHigh Scalability

High Reliability

RDBMS△
2011年 〜 本格的開発

×〇

NoSQL

△〇

△

Hadoop FS△〇×

2013年 〜 商品化 GridStore v1.0 ➜ GridDB

2016年〜オープンソース化
GridDB◎◎◎© 2020 Toshiba Digital Solutions Corporation10

© 2020 Toshiba Digital Solutions Corporation

11

GridDBの特⻑✔

IoT指向モデル
IoT Oriented

⾼い処理能⼒High Performance

✔

⾼い信頼性
High Reliability✔

柔軟な拡張性✔

抜群の使い勝⼿High Scalability

Excellent Usability

IoTデータを格納にするのに最適なキーコンテナ型データモデル
コンテナ内でデータの⼀貫性を保証
時系列データ管理に関する特別な機能
メモリを主、ストレージを従
メモリやディスクの排他処理や同期待ちなどのオーバヘッドを極⼒排除
SQLにおける分散並列処理
マスター・クラスタ⽅式とピアツーピア⽅式のハイブリット型クラスタ管理
データの複製をノード間で⾃動的に実⾏
ノード障害があってもフェールオーバによりシステムを⽌めることなく運⽤継続
少ないノード台数で初期投資を抑制
負荷や容量の増⼤に合わせたノード増設が可能
⾃律データ再配置により、⾼いスケーラビリティを実現
NoSQLとSQLのデュアルインターフェース（API）
NoSQLで⼤量データを収集しながら、SQLでリアルタイム分析が可能

要件に応じてスケールアウトとスケールアップをベストミックス© 2020 Toshiba Digital Solutions Corporation12

データモデル
キーバリュー型

IoTデータ向けに拡張した独⾃のキーコンテナ型
ワイドカラム型（例︓Redis）（例︓Cassandra）

Key

Key Value Value Value

Value

ドキュメント型（例︓MongoDB）
Key

Key1

Key2

Documet

JSON形式ドキュメント

JSON形式ドキュメント

キーコンテナ型
GridDB
Key

Container ( Table )
Value

Value

Value

Value

Value

Key1

Key2

IoTデータの管理・処理が扱いずらい© 2020 Toshiba Digital Solutions Corporation

13

キーバリューをグループ化するコンテナ
時刻
センサ A
00:00:00
1.12

機器 1

機器 N

1.11

3.12

・・・・・・・・・・・・

!
!
!
!

センサE
1.13

00:00:02

1.01

3.33

2.33

・・・・

・・・

・・・・

・・・・

時刻
センサ F
センサG
00:00:00
1.12
2.13

機器 3!
!
!
!

00:00:01

時刻
センサ C
センサD
00:00:00
1.12
2.13

機器 2

対象ごとのデータを格納

センサB2.13

00:00:01

1.11

3.12

・・・・

・・・・

・・・・

時刻
00:00:00

!
!
!
!

センサ

00:00:01

０.12
1.11

・・・・

・・・・

センサ
1.13
3.12
・・・・

!
"
#格
納

テーブルで表現

コンテナのスキーマ定義、カラムのインデックス設定により⾼速検索
レコード操作はコミット/ロールバック➜コンテナ単位で⼀貫性保証© 2020 Toshiba Digital Solutions Corporation

14

コンテナの種類
コレクション コンテナ
設備名

ラインA

時系列 コンテナ
機器名

機器A

設備番号

名称

仕様

時刻

熱効率

湿度

equip001

変圧器1xxx変圧器

2020/01/22 01:23:30:01

78.3

47.9

equip002

変圧器2yyy変圧器2020/01/22 01:23:30:02

82.9

63.4

equip003

遮断機1xxx遮断機

2020/01/22 01:23:30:03

96.6

69.6

equip004

遮断機2yyy遮断機

2020/01/22 01:23:30:04

82.9

63.4

equip005

ケーブル1zzzケーブル

2020/01/22 01:23:30:05

78.3

47.9

・・・・

・・・・・・・・・・・・・・・・・・・
・

ロウとカラムから構成されるテーブル

時刻で並べられたテーブル© 2020 Toshiba Digital Solu?ons Corpora?on15

時系列コンテナ
時系列データ圧縮
誤差あり間引き圧縮 (HI) と 誤差なし間引き圧縮 (SS)期限解放機能 / ⻑期アーカイブ機能保持期間を超えたデータを⾃動的に削除 または 外部ストレージなどにアーカイブ

時系列分析関数
集計演算関数︓重み付きで平均を求めるTIME_AVGなど
選択関数︓TIME_NEXT、TIME_NEXT_ONLY、TIME_PREV、TIME_PREV_ONLYなど
補間演算関数︓TIME_INTERPOLATED、TIME_SAMPLINGなど© 2020 Toshiba Digital Solutions Corporation16

代表的な２つのクラスタ管理⽅式
マスター・スレーブ 型ピア・ツー・ピア型(master-slave)(peer to peer)○ ⼀貫性の維持は容易✖ 単⼀障害点 (SPOF)、単⼀窓⼝（SPOC）✖ ノード追加時にはデータ再配置が困難〇 単⼀障害点 (SPOF)/単⼀窓⼝（SPOC）なし〇 ノード追加時にはデータ再配置が容易✖ ⼀貫性の維持にはノード間の通信の負荷が発⽣✖ 遅延やなどで処理順序により、⼀貫性が崩れる© 2020 Toshiba Digital Solu?ons Corpora?on17

マスター・スレーブ型とピア・ツー・ピア型のいいとこ取りをした

ハイブリッド型クラスタ管理技術❶ ノード同⼠の選挙で動的にマスターノードを決定➡ 単⼀障害点 （SPOF）なし❷ コンテナはグルーピングされ、ノードに分散配置 ➡各ノードが独⽴に動作し、ノード間のボトルネックを排除❸ コンテナのデータ配置情報を各ノードだけではなくクライアントで共有➡クライアントはダイレクトにデータアクセス
単⼀窓⼝点（SPOC）なし❹ ノード障害・増設、⻑時間稼働でのノード間のデータのインバランス状態を安定化➡ ⾃律データ再配置技術
クライアント
データ配置情報(キャッシュ)

コレクション
コンテナ
設備名

ラインA

設備番号

名称

仕様

equip001

変圧器1xxx変圧器

equip002

変圧器2yyy変圧器

equip003

遮断機1xxx遮断機

equip004

遮断機2yyy遮断機

equip005

ｹｰﾌﾞﾙ1zzzｹｰﾌﾞﾙ

・・・・

・・・・

・・・・

❷

データ配置情報(ローカル)

データ配置情報(ローカル)オーナ

バックアップオーナ

クライアント❸❶

データ配置情報(キャッシュ)データ配置情報(マスター)

バックアップオーナ

バックアップ

ノード 1

データ配置情報(ローカル)

バックアップ
オーナ

ノード 2

ノード 3

ノード 4

時系列
コンテナ
機器名

機器A

時刻

熱効率

湿度

2020/01/22 01:23:30:01

78.3

47.9

2020/01/22 01:23:30:02

82.9

2020/01/22 01:23:30:03

96.6

69.6

・・・・

・・・
・・・
・・

63.4

© 2020 Toshiba Digital Solutions Corporation

18⾃律的にバランスよくノード間でデータを再配置するアルゴリズム

⾃律データ再配置技術 ADDA
❶ インバランス状態の検知
マスターノードがノード情報を収集、ノード間のデータの不均衡やバックアップの⽋如を検知

クライアントクライアントクライアント❷ ⻑期同期プランニング ❸ データ再配置実⾏(⻑期同期/短期同期)
定常的な、短期同期 とは別に、現状 (インバランス)状態から⻑期同期の計画を決定
現状

リクエスト処理へ負荷を与えない
範囲で、メモリブロックとDB更新ログを使い分けながら、バックグラン
ドで⾼速同期クライアントクライアントクライアント❹ アクセス切替え完了後､データ配置情報を書き換えて、アクセス切替え

クライアントクライアントクライアント⻑期同期
プランニング
⽬標

レプリカ ２

負荷⼩

ADDA︓Autonomous Data Distribution Algorithm

Redoログ
メモリブロック(短期同期) (⻑期同期)© 2020 Toshiba Digital Solutions Corporation

19

NoSQL / SQL デュアル インタフェース（API）
BI/BA

他のシステム他のDBMSSQL インタフェース
SQL インターフェース

GridDB
クラスタ

DB
ノード

DB
ノード

DB
ノード

l 分散並列SQL処理エンジン ・・・参照・分析
l 巨⼤なテーブルを⾼速にアクセスするためのテーブルパーティショニング機能
l JDBC / ODBCドライバ➜BI/BAやETLツール連携

NoSQL (キー・バリュー) インタフェース
NoSQL インターフェースl KVS指向の⾼スループット、⾼レスポンス・・・登録・検索・更新
l キーコンテナのCRUD : Naitive I/F (put/get/remove), TQL
l Java / C / Ruby / Perl / Python / Go / Node.jsクライアント© 2020 Toshiba Digital Solutions Corporation

20

従来のSQL機能を持ったKVSとは⼀線を画す

分散並列SQL処理技術
パイプライン並列化

タスク並列化

クライアント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

Task

Task

SQL

Task

Task

TaskTask

Task

Task

Task

Task

a@0b@0a@1b@1a@2b@2

C0 C1 C2 C3Val Val Val Val
Val Val Val Val
Val Val Val Val

C4 C5 C6
Val Val Val
Val Val Val
Val Val Val

C0 C1 C2 C3Val Val Val Val
Val Val Val Val
Val Val Val Val

C4 C5 C6
Val Val Val
Val Val Val
Val Val Val

C0 C1 C2 C3Val Val Val Val
Val Val Val Val
Val Val Val Val

C4 C5 C6
Val Val Val
Val Val Val
Val Val Val

データ並列化NoSQL（KVS）© 2020 Toshiba Digital Solutions Corporation21

テラバイト/秒からペタバイト/ミリ秒

ペタバイト級のデータ管理
ペタバイト級となると数百台のサーバからなる⼤規模なクラスタシステムとなる
１"# 1000TB$%&'()#*
蓄 200TB
積量

スケールアウトだけでは現実的には無理︕〜数TB

MongoDB

Cassandra※各種DBMSの推奨値や事例から推定

50TB

PostgreSQL

GridDB© 2020 Toshiba Digital Solutions Corporation

22

内部データ管理構造の最適化を⾏うことでリソース使⽤量の⼤幅削減を図り

１ﾉｰﾄﾞ当たり蓄積できる最⼤サイズを拡⼤
少ないノードでもペタバイト級データとミリ秒オーダー処理の両⽴が可能
１"# 1000TB$%&'()#*
蓄 200TB
積量（圧縮時 数百TB）〜数TB

MongoDB

Cassandra

50TB

PostgreSQL

GridDB

GridDB© 2020 Toshiba Digital Solutions Corporation

23

スケールアウトとスケールアップのベストミックスでペタバイト級のデータ管理を実現© 2020 Toshiba Digital Solutions Corporation24代表的な導⼊事例
l フランス リヨン 太陽光発電 監視・診断システム
発熱量の遠隔監視、発電パネルの性能劣化を診断

l 電⼒会社 低圧託送業務システム
スマートメータから収集される電⼒使⽤量を集計し、需要量と発電量のバランスを調整

l ＨＤＤ製造会社 品質管理システム
製造装置のセンサーデータを⻑期にわたって蓄積・分析し、品質分析・改善に適⽤

l 半導体製造ライン 履歴管理システム
製造履歴や品質履歴、材料データなどのデータを横串で分析し、製品の品質管理やトレーサビリティに適⽤

l 半導体製造ライン 異常検出システム
製造ラインのセンサーデータをリアルタイムにAIで分析し、製造ラインの異常を検出

l デンソー ファクトリー IoT
⼯場のDigital Twinを実現し、⽣産性向上

l DENSO International America 次世代⾞両管理システム
⾞両の各センサーデータを⽤いる⾞両管理システムのPoC© 2020 Toshiba Digital Solutions Corporation25

代表的な導⼊事例
社会インフラを中⼼に、⾼い信頼性・性能が求められるシステム
で多く採⽤されています© 2020 Toshiba Digital Solutions Corporation26

２HDD 製造会社 品質管理システム
概要
l HDD 製造会社が品質管理システムを再構築l これまではNETEZZAとExadataを使⽤➜GridDB採⽤システムの課題
l HDD の製造レコードを全件貯めることを⽬指しており、NETEZZAとExadataでは莫⼤なコストがかかる
n データ蓄積量︓1.9PB / 5年
n 登録データ量︓267 GB / ⽇
n 分析⽤SQLによるアクセス頻度︓約30,000 回 / ⽇

想定する成果l Netteza、Exadataといった⾼性能DB専⽤機以上の性能を標準的なIAサーバで実現➜⼤幅なコストダウン© 2020 Toshiba Digital Solutions Corporation

27

まとめ
l 膨⼤なリアルタイムのセンシングデータを活⽤するミッションクリティカルなIoTシステムを⽣まれつき無理なく実現するデータベース
l すでに、インダストリ IoT、サイバーフィジカルシステム、デジタルツインなどの先駆的な導⼊事例が多くあります。
l 膨⼤なリアルタイムのセンシングデータの管理のためのデータベースにお困りの⽅、または、興味のある⽅は、ぜひ検討いただければと思います。
© 2020 Toshiba Digital Solutions Corporation

28

㈱ アイ・ティ・イノベーション 主催 国内研修 - ITアーキテクチャ

GridDB概要とプログラミング基礎 講義＋ハンズオン〜Java APIを利⽤したアプリケーション開発〜
主な学習項⽬

到達⽬標

l GridDBとは
l GridDB概要(アーキテクチャ)が理解できる
l アーキテクチャl TQL⾔語が理解できる
l データモデル
l JavaAPIを使って簡単なアプリケーションが作成
l 管理ツールできる
l 演習︓インストール、データの登録・取得・検索、複数コン
テナへの⼀括操作、時系列データの操作、その他の操作

受講料︓無料 テキスト代︓無料
2020年9⽉24⽇(⽊) 10:30〜16:30 オンライン講座
2020年12⽉8⽇(⽕) 10:30〜16:30 オンライン講座
2021年2⽉26⽇(⾦) 10:30〜16:30 オンライン講座

申し込み受付中

詳細︓https://www.it-innovation.co.jp/academy/ita-courses/ita-054/© 2020 Toshiba Digital Solutions Corporation29

© 2020 Toshiba Digital Solutions Corporation30

© 2020 Toshiba Digital Solutions Corporation31