SlideShare a Scribd company logo
1© 2018 Toshiba Digital Solutions Corporation
もうSQLとNoSQLを選ぶ必要はない!?
~ 両者を備えたスケールアウトデータベースGridDB ~
東芝デジタルソリューションズ株式会社
ソフトウェア&AIテクノロジーセンター 技監
服部 雅一
db tech showcase Tokyo 2018
2© 2018 Toshiba Digital Solutions Corporation
Toshiba Confidential
• 東芝デジタルソリューションズ株式会社
ソフトウェア&AIテクノロジーセンター 技監
服部 雅一 masakazu.hattori@toshiba.co.jp
• 東芝入社 機械設計自動化、プラント監視自動化、電力系統最適化、
などのAIシステムの研究開発、および実用化
• その後 XMLデータベースなどデータベース関連の研究開発、および製品化
• 2011年 ビッグデータ向けデータベースのチーフアーキテクトとして研究開発を開始
• 2013年 GridDB V1.0製品化
• 平成21年(社)情報処理学会 喜安記念業績賞、
• 第55回(財)電気科学技術奨励会電気科学技術奨励賞(電気科学技術奨励賞委員会会長)、等
自己紹介
3© 2018 Toshiba Digital Solutions Corporation
Toshiba Confidential
電力系統制御 PV監視制御 BEMS HEMS 上下水道 交通 医療
MEMORY
HDD
Scale Out
GridDB
スケールアウト型データベースGridDB
• ビッグデータ/IoT向けスケールアウト型データベース
• V1.0製品化(2013年)、OSS化(2016年)、V4.1(2018年10月)
• 社会インフラを中心に、高い信頼性・可用性が求められるシステムに適用中
4© 2018 Toshiba Digital Solutions Corporation
Toshiba Confidential
• GridDBの特長1
– IoT指向のデータモデル
– 高い信頼性と可用性
– スケーラビリティ
•GridDBの特長2
– NoSQL+SQL
– SQLにおける分散並列処理
•適用事例
ご紹介内容
5© 2018 Toshiba Digital Solutions Corporation
Toshiba Confidential
GridDBの特長1
IoT指向の
データモデル
高い信頼性と
可用性
• データの複製をノード間で自動的に実行
• ノード障害があってもフェールオーバによりサービス継続
• 数秒から数十秒の切替え時間
高いスケーラビリティ
• 少ないノード台数で初期投資を抑制
• 負荷や容量の増大に合わせたノード増設が可能
• 自律データ再配置により、高いスケーラビリティを実現
高性能な
NoSQL+SQL
• メモリを主、ストレージを従としたハイブリッド型インメモリDB
• メモリやディスクの排他処理や同期待ちを極力排除
• SQLにおける分散並列処理
• データモデルはキー・コンテナ。コンテナ内でのデータ一貫性を保証
• 時系列データ管理する特別な機能
• 過去データをコールド保存する長期アーカイブ機能
6© 2018 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
7© 2018 Toshiba Digital Solutions Corporation
Toshiba Confidential
• 適切に容量を抑えつつ、長期間データをコールド保存
• 効率の良いアーカイブ処理
長期アーカイブ機能
DB
ノード
(1)古いデータのアーカイブ化 (3)アーカイブの参照
2008/10/30以前
のデータをアーカイブ化
DB
ノード
DB
ノード
(2) 古いデータの削除
アタッチ
外部ストレージ
2008/10/30以前のデータ
2008/11/01以降のデータ
2008/11/01以降のデータ
8© 2018 Toshiba Digital Solutions Corporation
Toshiba Confidential
GridDBの特長1
IoT指向の
データモデル
高い信頼性と
可用性
• データの複製をノード間で自動的に実行
• ノード障害があってもフェールオーバによりサービス継続
• 数秒から数十秒の切替え時間
高いスケーラビリティ
• 少ないノード台数で初期投資を抑制
• 負荷や容量の増大に合わせたノード増設が可能
• 自律データ再配置により、高いスケーラビリティを実現
高性能な
NoSQL+SQL
• メモリを主、ストレージを従としたハイブリッド型インメモリDB
• メモリやディスクの排他処理や同期待ちを極力排除
• SQLにおける分散並列処理
• データモデルはキー・コンテナ。コンテナ内でのデータ一貫性を保証
• 時系列データ管理する特別な機能
• 過去データをコールド保存する長期アーカイブ機能
9© 2018 Toshiba Digital Solutions Corporation
Toshiba Confidential
• 自律データ再配置技術(ADDA : Autonomous Data Distribution Algorithm)
• データを分散化するゆえにデータの一貫性が弱くなり、
一貫性やスケール性を求めるとパフォーマンスが落ちる、という大きな欠点を解決
DBクラスタ
管理ノード
DBノード DBノード DBノード
クライアント
仲介ノード
FSノード FSノード FSノード
DBノード
(マスタノード)
DBノード DBノード
クライアント
データ複製
データ配置
データ複製
データ配置
要求
要求
従来技術 GridDB
自律的なDBクラスタ技術 ADDR
DBノード
DBノード
DBノード
従来技術
10© 2018 Toshiba Digital Solutions Corporation
Toshiba Confidential
• マスタースレーブモデルの改良
– ノード間でマスタノードを自動選択。管理サーバがクラスタ内に存在せず、SPOFを完全排除
– ノード過半数を占めたサブクラスタのみがサービス可能となるクオーラムポリシーにより、
スプリットブレインを完全排除
• 自律データ再配置技術の開発
– (マスターノードが)ノード間アンバランス、レプリカ欠損を検知⇒バックグラウンドでデータ再配置
– 2種類のレプリカデータを使って高速同期、完了後切替え
具体的な挙動
〈ノード間データ再配置〉 〈アクセス切替え〉〈負荷アンバランスの検知〉
DBノード
負荷小
クライアント
更新ログ メモリブロック
11© 2018 Toshiba Digital Solutions Corporation
Toshiba Confidential
• GridDBはCP。強い一貫性を持ち、古いデータが見えてしまうことは無い。
Proc. 19th Ann. ACM Symp.Principles of Distributed Computing
(PODC 00), ACM, 2000, pp. 7-10;
CAP定理
A
C P
Pick Two
Consistency
All clients always have
same view of the data.
(cf. ACID)
Partition Tolerance
The system works despite
physical network partitions.
Availability
Clients can always
read and write.
RDBMSs
MPP DBMSs
・Key-Value
MemcacheDB,
Redis
・Key-Document
MongoDB
・Key-Column Store
BigTable,HBase
・Key-Table
GridDB
・Key-Value
Dynamo,Voldemort
・Key-Document
CouchDB,Riak,SimpleDB
・Key-Column Store
Cassandra
BASE
• Basically Available
• Soft State
• Eventually Consistency(結果整合)
12© 2018 Toshiba Digital Solutions Corporation
Toshiba Confidential
• 中間結果
(ご参考)GridDB/SE最新版を使った簡単な障害テスト
3台レプリカ充足 障害起こして2台 再起動で3台
30クライアント 登録/更新/参照
時間経過
通常設定+レプリケーションタイプ(非同期/準同期)
+WALフラッシュ間隔(1秒/0秒)
17億Update/3万秒、障害回数 117回
クライアントエラー 0件、誤読 0件
極端な設定、つまりCPインターバル数秒にすると 440万Update/2万秒、障害回数 63回
短期同期に時間を要したエラー 3件
レプリカ未達による誤読(1個ズレ) 2件
• エラー発生率?
• 誤読率?
13© 2018 Toshiba Digital Solutions Corporation
Toshiba Confidential
GridDBの特長2
IoT指向の
データモデル
高い信頼性と
可用性
• データの複製をノード間で自動的に実行
• ノード障害があってもフェールオーバによりサービス継続
• 数秒から数十秒の切替え時間
高いスケーラビリティ
• 少ないノード台数で初期投資を抑制
• 負荷や容量の増大に合わせたノード増設が可能
• 自律データ再配置により、高いスケーラビリティを実現
高性能な
NoSQL+SQL
• メモリを主、ストレージを従としたハイブリッド型インメモリDB
• メモリやディスクの排他処理や同期待ちを極力排除
• SQLにおける分散並列処理
• データモデルはキー・コンテナ。コンテナ内でのデータ一貫性を保証
• 時系列データ管理する特別な機能
• 過去データをコールド保存する長期アーカイブ機能
14© 2018 Toshiba Digital Solutions Corporation
Toshiba Confidential
• 本質的なデータ処理に費やすCPU使用率は10%強
• バッファ管理、ラッチ、ロック、リカバリ、等で大半のCPUを消費
Harizopoulos, S. et al, “OLTP Through the Looking Glass, and What We Found There”, SIGMOD 2008
DBMSにおけるCPU使途
要求処理
Data File
WAL File
トランザクション管理
クエリ処理
バッファ管理
RDB
15© 2018 Toshiba Digital Solutions Corporation
Toshiba Confidential
• メモリを主、ストレージを従としたハイブリッド型インメモリDB
GridDBの考え方
SQL
NoSQL
Data File
WAL File
イベント駆動
GridDB/DBノード
ラッチ • 大半のラッチを無くし
• 時分割的な挙動で代用
メモリ • 適材適所のメモリプール
• それ以前にメモリコピーを減らす
バッファ管理 • ブロックサイズをかなり大きく
• メモリ指向のバッファ管理
リカバリ • WAL(REDO LOG)を踏襲しつつ
• リカバリ処理を軽量化
パワーを無駄なく、
イベント駆動モデル
目標
16© 2018 Toshiba Digital Solutions Corporation
Toshiba Confidential
• イベント駆動(Event-Driven)
– イベント=ユーザや他システムからの要求や事象
– そのイベントに応じて、設定された関数やサービスを起動
イベント駆動モデル
E
Handler
E
Data
イベント
イベントハンドラー
イベントキュー
イベントループ
ディスパッチャー
ステート
17© 2018 Toshiba Digital Solutions Corporation
Toshiba Confidential
• YCSB (Yahoo! Cloud Serving Benchmark)
NoSQL性能
18© 2018 Toshiba Digital Solutions Corporation
Toshiba Confidential
• いつもの4象限マトリクス
DB分類
オペレーション用途 分析用途
スケールアウト指向
スケールアップ指向
Hadoop
(HDFS+MR)
MapR、Cloudera、Spark
RDB DWH
Oracle Exa、
Netezza、RedShift
RDB OLTP
Oracle、SQLServer、
PostgreSQL
KVS
Cassandra、Mongodb、
memcached
19© 2018 Toshiba Digital Solutions Corporation
Toshiba Confidential
• 将来が見通せないので、スケールアウトするストア
IoTでは
オペレーション用途 分析用途
スケールアウト指向
スケールアップ指向
Hadoop
(HDFS+MR)
MapR、Cloudera、Spark
RDB DWH
Oracle Exa、
Netezza、RedShift
RDB OLTP
Oracle、SQLServer、
PostgreSQL
NoSQL
20© 2018 Toshiba Digital Solutions Corporation
Toshiba Confidential
• 貯めていくうちに分析もしたくなる
IoTでは
オペレーション用途 分析用途
スケールアウト指向
スケールアップ指向
Hadoop
(HDFS+MR)
MapR、Cloudera、Spark
RDB DWH
Oracle Exa、
Netezza、RedShift
RDB OLTP
Oracle、SQLServer、
PostgreSQL
他DB
BI
他システム
ETLNoSQL
21© 2018 Toshiba Digital Solutions Corporation
Toshiba Confidential
• 「ラムダアーキテクチャ」 適材適所、組み合わせの妙
• だけど構成が複雑で扱いにくい
http://horicky.blogspot.jp/2014/08/lambda-architecture-principles.html
このような構成が推奨されますが、
Hadoop
(HDFS+MR)
MapR、Cloudera、Spark
RDB DWH
Oracle Exa、
Netezza、RedShift
RDB OLTP
Oracle、SQLServer、
PostgreSQL
他DB
BI
他システム
ETLNoSQL
22© 2018 Toshiba Digital Solutions Corporation
Toshiba Confidential
• 一つでやれ!
求められたのは…
オペレーション用途 分析用途
スケールアウト指向
スケールアップ指向
RDB DWH
Oracle Exa、
Netezza、RedShift
RDB OLTP
Oracle、SQLServer、
PostgreSQL
他DB
BI
他システム
ETL
NoSQL NewSQL
23© 2018 Toshiba Digital Solutions Corporation
Toshiba Confidential
NoSQLとSQLのデュアルインターフェイス
GridDB
クラスタ
DB
ノード
DB
ノード
DB
ノード
キー・バリュー型インターフェイス
SQLインターフェイス
他DB
BI ETL
他システム
NoSQL(キー・バリュー型)インターフェイス
• 高可用、高スループット指向のKVS
• キーコンテナに対するCRUD
• Java/C/Python/Rubyドライバー
SQLインターフェイス
• 分散並列SQLデータベース
• 巨大コンテナに対するコンテナパーティショニング
• ジョインなど複数コンテナ(テーブル)に対するSQL
• JDBC/ODBCドライバー
24© 2018 Toshiba Digital Solutions Corporation
Toshiba Confidential
キーワード
SQL
分散並列処理(MPP)SQL-NoSQLマッピング
イベント駆動モデル
アーキテクチャ
NoSQL(KVS)
即時性 一括処理性
25© 2018 Toshiba Digital Solutions Corporation
Toshiba Confidential
• NoSQL(KVS)の上に...
NoSQL+SQLですが...
KVSノード KVSノード
クライアント
KVSクラスタ
26© 2018 Toshiba Digital Solutions Corporation
Toshiba Confidential
• SQLを載せる、よくある構成
NoSQL+SQLですが...
SQLノード
KVSノード
SQLノード
KVSノード
クライアント
SQLルータ
RDBMS RDBMS
KVSクラスタ
27© 2018 Toshiba Digital Solutions Corporation
Toshiba Confidential
• このようなものではないです! 昔、試したこともありましたが、
性能が出ませんでした。
NoSQL+SQLですが...
SQLノード
KVSノード
SQLノード
KVSノード
クライアント
SQLルータ
RDBMS RDBMS
KVSクラスタ
28© 2018 Toshiba Digital Solutions Corporation
Toshiba Confidential
• どちらかというとこのような感じ
NoSQL+SQLですが...
NoSQL+SQL
ノード
NoSQL+SQL
ノード
クライアント
29© 2018 Toshiba Digital Solutions Corporation
Toshiba Confidential
DBノード
SQL-NoSQLのマッピング
NoSQL(KVS)
SQL
クライアント
C0 C1 C2 C3
Val Val Val Val
Val Val Val Val
Val Val Val Val
a@1
C0 C1 C2 C3
Val Val Val Val
Val Val Val Val
Val Val Val Val
a@2
C0 C1 C2 C3
Val Val Val Val
Val Val Val Val
Val Val Val Val
Table a
Val Val Val Val
Val Val Val Val
C0 C1 C2 C3
Val Val Val Val
Val Val Val Val
Val Val Val Val
a@0
“NoSQL”
cont.put(a_point)
“SQL”
INSERT INTO a VALUES(...)
30© 2018 Toshiba Digital Solutions Corporation
Toshiba Confidential
DBノード
• テーブルパーティショニング
IoTデータの散らし方
NoSQL(KVS)
SQL
クライアント
2018/8/1 2018/8/2 2018/8/3
2018/8 2018/9 2018/10
2018,A 2018,B 2018,C
装置
データ
製造品
データ
試験
データ
31© 2018 Toshiba Digital Solutions Corporation
Toshiba Confidential
テーブルパーティショニング
-- インターバル
CREATE TABLE a1 (code INT, ts TIMESTAMP NOT NULL, dest STRING)
PARTITION BY INTERVAL(ts) EVERY(1,DAY)
-- レンジ
CREATE TABLE a2 (code INT NOT NULL, ts TIMESTAMP, dest STRING)
PARTITION BY RANGE(code) EVERY(1000)
-- ハッシュ
CREATE TABLE a3 (code INT, ts TIMESTAMP, dest STRING NOT NULL)
PARTITION BY HASH(dest) PARTITIONS 10
-- インターバルハッシュ/レンジハッシュ
CREATE TABLE a4 (code INT NOT NULL, ts TIMESTAMP, dest STRING)
PARTITION BY RANGE(code) EVERY(1000)
SUBPARTITION BY HASH(dest) SUBPARTITIONS 2
32© 2018 Toshiba Digital Solutions Corporation
Toshiba Confidential
• Pros.
– 分割されたテーブルを並列処理。大規模なデータかつ並列化しやすいSQLでは効果大。
– 分割によるメモリアクセスが局所化する場合はI/O量削減。ランダムにアクセスするインデックス
• Cons.
– 分割されたテーブルをまとめる処理は低速化。少量テーブルに対するJoinやScanなど
– 分割されたテーブル間でコミットできない
• ベストケースとして
– 分割されたテーブル内で処理が閉じている。
– 分割されたテーブルおよびインデックスがうまくメモリに乗っている
• 各タイプの選択基準
– ハッシュパーティショニング...散らすべきキーにランダム性が高く、キーの間に処理上の関連性が無い場合
– インターバルパーティショニング...散らすべきキーの数値的な範囲で散らしたい場合
– インターバルハッシュパーティショニング...インターバルパーティショニングでは力不足の場合
テーブルパーティショニングのPros. / Cons.
33© 2018 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
34© 2018 Toshiba Digital Solutions Corporation
Toshiba Confidential
• 分散並列処理のベースとなっているのがイベント駆動モデル
• GridDBではサービスと呼ぶ
(再び)イベント駆動モデル
E
Handler
E
Data
35© 2018 Toshiba Digital Solutions Corporation
Toshiba Confidential
Logical Architecture of GridDB
GridDB Node
System Service
Cluster Service
Partition Table
Transaction Service
Data Store
Objects
Log(WAL)
Files
CP Files
CP Service SQL Service
Container
NoSQL Client
Sync
Service
Java
C
Python,Go,...
Short Term Sync
SQL Client
JDBC ODBC
Cluster Info SummaryCluster Info
SQL Job
Long Term
Sync
GridDB Node
ystem Service
Cluster Service
ion Table
nsaction Service
Data Store
Log(WAL)
Files
Files
ce SQL Service
Sync
Service
36© 2018 Toshiba Digital Solutions Corporation
Toshiba Confidential
Internal Structure of SQL Service
SQL Service
Parse
Compile
Deploy
Fetch
RS
Job
Pipe
TL
TL
Job
E0
E1
E2
E2
E3
E1
E2
プラン(JOB)生成
JOBパイプラン実行
RS結果
37© 2018 Toshiba Digital Solutions Corporation
Toshiba Confidential
Internal Structure of Transaction Service
Transaction Service
Job
Pipe
DataStore
TL
E1
E2
E2
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
JOBパイプラン実行
(NoSQL側)
38© 2018 Toshiba Digital Solutions Corporation
Toshiba Confidential
SQLパーサ、SQLコンパイラから実行系まで
全部自製です。
つまり、…
39© 2018 Toshiba Digital Solutions Corporation
Toshiba Confidential
サンプルSQL
CREATE TABLE A (num INT NOT NULL, id INT, ...)
PARTITION BY HASH(num) PARTITIONS 3
SELECT A.num, SUM(A.id)
FROM A, B
WHERE A.num = B.num
GROUP BY A.num
40© 2018 Toshiba Digital Solutions Corporation
Toshiba Confidential
JOB(EXPLAIN ANALYZE)
41© 2018 Toshiba Digital Solutions Corporation
Toshiba Confidential
TL
TL
TL
TL
TL
TL
TL
TL
TL
TL
TL
JOB
SCAN
Executor
SCAN
Executor
SCAN
Executor
SCAN
Executor
SCAN
Executor
SCAN
Executor
JOIN
Executor
JOIN
Executor
JOIN
AGGREGATE
Executor
AGGREGATE
AGGREGATE
ExecutorExecutor
UNION
Executor
Executor
AGGREGATE
Executor
42© 2018 Toshiba Digital Solutions Corporation
Toshiba Confidential
TL
TL
TL
TL
TL
TL
TL
TL
TL
TL
TL
JOB
SCAN
Executor
SCAN
Executor
SCAN
Executor
SCAN
Executor
SCAN
Executor
SCAN
Executor
JOIN
Executor
JOIN
Executor
JOIN
AGGREGATE
Executor
AGGREGATE
AGGREGATE
ExecutorExecutor
UNION
Executor
Executor
AGGREGATE
Executor
HashJoin/Probe
が始まる
43© 2018 Toshiba Digital Solutions Corporation
Toshiba Confidential
TL
TL
TL
TL
TL
TL
TL
TL
TL
TL
TL
JOB
SCAN
Executor
SCAN
Executor
SCAN
Executor
SCAN
Executor
SCAN
Executor
SCAN
Executor
JOIN
Executor
JOIN
Executor
JOIN
AGGREGATE
Executor
AGGREGATE
AGGREGATE
ExecutorExecutor
UNION
Executor
Executor
AGGREGATE
Executor
Aggregate/Probe
が始まる
44© 2018 Toshiba Digital Solutions Corporation
Toshiba Confidential
TL
TL
TL
TL
TL
TL
TL
TL
TL
TL
TL
JOB
SCAN
Executor
SCAN
Executor
SCAN
Executor
SCAN
Executor
SCAN
Executor
SCAN
Executor
JOIN
Executor
JOIN
Executor
JOIN
AGGREGATE
Executor
AGGREGATE
AGGREGATE
ExecutorExecutor
UNION
Executor
Executor
AGGREGATE
Executor
Union
Through
45© 2018 Toshiba Digital Solutions Corporation
Toshiba Confidential
TL
TL
TL
TL
TL
TL
TL
TL
TL
TL
TL
JOB
SCAN
Executor
SCAN
Executor
SCAN
Executor
SCAN
Executor
SCAN
Executor
SCAN
Executor
JOIN
Executor
JOIN
Executor
JOIN
AGGREGATE
Executor
AGGREGATE
AGGREGATE
ExecutorExecutor
UNION
Executor
Executor
AGGREGATE
Executor
Aggregate/Probe
が始まる
46© 2018 Toshiba Digital Solutions Corporation
Toshiba Confidential
SQL性能
• TPC-H(Transaction Processing Performance Council)
• SQLのスケールアウト効果
47© 2018 Toshiba Digital Solutions Corporation
Toshiba Confidential
• 社会インフラを中心に、高い信頼性・可用性が求められるシステムに適用中
• 東芝IoTアーキテクチャー「SPINEX」の構成ソリューション
適用事例
・フランス リヨン 太陽光発電 監視・診断システム
発電量の遠隔監視、発電パネルの性能劣化を診断
・クラウドBEMS
ビルに設置された各種メータの情報の収集、蓄積、分析
・石巻スマートコミュニティ プロジェクト
地域全体のエネルギーのメータ情報の収集、蓄積、分析
・電力会社 低圧託送業務システム
スマートメータから収集される電力使用量を集計し、需要量と発電量のバランスを調整
・神戸製鋼所 産業用コンプレッサ稼働監視システム
グローバルに販売した産業用コンプレッサをクラウドを利用して稼働監視
・東芝機械 IoTプラットフォーム
工作機器、射出成形、ダイカストマシン、など膨大な製造データを管理
・DENSO International Americaの次世代の車両管理システム
https://griddb.net/ja/blog/griddb-automotive/
・クラウド型IoTソリューション
....
48© 2018 Toshiba Digital Solutions Corporation
Toshiba Confidential
適用事例
低圧託送業務
• 電力の小売全面自由化スマートメーター数の増加
など要件の変化
• RDBを使った従来システムと比較して、数十倍のパ
フォーマンス向上と高い信頼性が必要
ものづくり情報プラットフォーム Meister DigitalTwin
日経BP、”明日”をつむぐテクノロジー、
「製造と使用の両面でモノを捉え最適化と価値創造を目指す」
http://special.nikkeibp.co.jp/atclh/tomorrowtech/factory_iot/
49© 2018 Toshiba Digital Solutions Corporation
Toshiba Confidential
製品ラインアップ
NewSQL
NoSQL NoSQL’
①GridDB SE
(Standard Edition)
③GridDB CE
(Community Edition)
②GridDB AE
(Advanced Edition)
Monitoring Dashboard
50© 2018 Toshiba Digital Solutions Corporation
Toshiba Confidential
• ビッグデータ技術の普及促進と多様なニーズの把握
• GitHub上にNoSQL主要機能をソース公開
https://github.com/griddb/griddb_nosql/
• 主要OSSとのコネクタ、
様々な開発言語のクライアントもソース公開
• 開発者向け情報
https://griddb.net
GridDB CE
51© 2018 Toshiba Digital Solutions Corporation
Toshiba Confidential
1. ノード毎のインストールおよびセットアップ
• rpmコマンド
• クラスタ共通のクラスタ定義ファイル
(gs_cluster.json)の配置
• ノードごとのノード定義ファイル
(gs_node.json)の配置
2. クライアントのインストール
• rpmコマンド
3. クラスタの起動
• 全ノードの起動
• クラスタの構成
4. クラスタの停止
• 全ノードの停止
• クラスタ構成の解除
クイックスタート
$ gs_startnode -u admin/admin –w
$ gs_joincluster -c dms_150 -n 6 -u admin/admin
$ gs_stat -u admin/admin
{
"checkpoint": {
"archiveLog": 0,
"backupOperation": 0,
"duplicateLog": 0,
"endTime": 1535672733362,
"mode": "NORMAL_CHECKPOINT",
"normalCheckpointOperation": 2152,
"pendingPartition": 0,
"requestedCheckpointOperation": 0,
"startTime": 1535672733361
},
"cluster": {
"activeCount": 6,
"clusterName": "dms_150",
"clusterStatus": "MASTER",
"designatedCount": 6,
....
$ gs_stopcluster -u admin/admin
$ gs_stopnode -u admin/admin
52© 2018 Toshiba Digital Solutions Corporation
Toshiba Confidential
GridDB設定例
gs_node.json gs_cluster.json
{
"dataStore":{
"dbPath":"data",
"backupPath":"backup",
"syncTempPath":"synctemp",
"storeMemoryLimit":"10240MB",
"storeWarmStart":false,
"concurrency":3,
"logWriteMode":1,
"persistencyMode":"NORMAL",
"affinityGroupSize":4,
"storeCompressionMode":0
},
"checkpoint":{
"checkpointInterval":"60s",
"checkpointMemoryLimit":"1024MB",
"useParallelMode":false
},
"cluster":{
"servicePort":10190
},
"sync":{
"servicePort":10170
},
"system":{
"servicePort":10150,
"eventLogPath":"log"
{
"dataStore":{
"partitionNum":128,
"storeBlockSize":"1MB"
},
"cluster":{
"replicationNum":2,
"notificationAddress":"239.0.0.1",
"notificationPort":20150,
"notificationInterval":"5s",
"heartbeatInterval":"5s",
"loadbalanceCheckInterval":"180s",
"clusterName" : "dms_150"
},
"sync":{
"timeoutInterval":"30s"
},
"transaction":{
"notificationAddress":"239.0.0.1",
"notificationPort":30150,
"notificationInterval":"5s",
"replicationMode":1,
"replicationTimeoutInterval":"10s"
},
"sql":{
"notificationAddress":"239.0.0.1",
"notificationPort":40150,
53© 2018 Toshiba Digital Solutions Corporation
Toshiba Confidential
54© 2018 Toshiba Digital Solutions Corporation
Toshiba Confidential
• お手元の資料に黄色いアンケート用紙がございますので、
ぜひご協力ください。
• ご記入いただけましたら、スタフにお渡しください。
最後に

More Related Content

PDF
サイバーフィジカルシステム(CPS)に必要なデータ基盤を考える ~ NoSQL/SQLハイブリット型GridDB ~
PDF
NoSQL/SQLデュアルインターフェースを備えた IoT向けデータベースGridDB ~ GridDB CE 4.6のテーブルパーティショニングを 使っ...
PDF
ビッグデータやIoTシステムを支えるデータベース 『GridDB』
PDF
もうSQLとNoSQLを選ぶ必要はない!?~両者を備えたスケールアウトデータベースGridDB~
PDF
【ハンズオンセミナー】NoSQL/SQLデュアルインタフェースを備えたIoT向けデータベースGridDB ~ GridDB CE 4.6のテーブルパーティ...
PDF
アーキテクチャを一新したIoT/ビッグデータ向けデータベースGridDB
PDF
DXを支えるスケールアウト型NoSQL/SQLハイブリッドデータベース GridDB
PDF
オープンソースデータベース GridDBとそのオープンコミュニティ活動
サイバーフィジカルシステム(CPS)に必要なデータ基盤を考える ~ NoSQL/SQLハイブリット型GridDB ~
NoSQL/SQLデュアルインターフェースを備えた IoT向けデータベースGridDB ~ GridDB CE 4.6のテーブルパーティショニングを 使っ...
ビッグデータやIoTシステムを支えるデータベース 『GridDB』
もうSQLとNoSQLを選ぶ必要はない!?~両者を備えたスケールアウトデータベースGridDB~
【ハンズオンセミナー】NoSQL/SQLデュアルインタフェースを備えたIoT向けデータベースGridDB ~ GridDB CE 4.6のテーブルパーティ...
アーキテクチャを一新したIoT/ビッグデータ向けデータベースGridDB
DXを支えるスケールアウト型NoSQL/SQLハイブリッドデータベース GridDB
オープンソースデータベース GridDBとそのオープンコミュニティ活動

What's hot (20)

PDF
遂に登場! GridDBからデータベースサービス GridDB Cloud ~その設計思想と運用の原則
PDF
NoSQL/SQLデュアルインタフェースを備えたIoT向けデータベースGridDB ~コマンドライン・インターフェース(CLI)を使ってみましょう~
PDF
【GridDB入門】 IoT、そしてサイバー・フィジカル・システムを支える オープンソースデータベース GridDB ~ こだわりの理由と実現方法のポイント
PDF
データを事業に活かすために必要なデータ基盤とは
PDF
ビッグデータIoT向けDB GridDBの紹介
PDF
ビッグデータ×IoT時代のデータベースのアーキテクチャとメカニズムの比較
PDF
多様性時代のDB選択
PDF
オープンソースデータベース GridDB ~ なぜ いま、データベースを開発したのか?その理由とGridDBの概要紹介 ~
PPTX
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
PPTX
大量時空間データの処理 ~ 現状の課題と今後OSSが解決すべきこと。(Open Source Conference 2021 Online/Osaka講演資料)
PDF
Kubernetes雑にまとめてみた 2020年8月版
PPTX
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
PDF
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...
PPTX
PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)
PDF
平成最後の1月ですし、Databricksでもやってみましょうか
PDF
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
PPTX
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
PDF
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
PDF
[db tech showcase Tokyo 2014] D15:日立ストレージと国産DBMS HiRDBで実現する『ワンランク上』のディザスタリカバリ...
PDF
Db2 & Db2 Warehouse v11.5.4 最新情報アップデート2020年8月25日
遂に登場! GridDBからデータベースサービス GridDB Cloud ~その設計思想と運用の原則
NoSQL/SQLデュアルインタフェースを備えたIoT向けデータベースGridDB ~コマンドライン・インターフェース(CLI)を使ってみましょう~
【GridDB入門】 IoT、そしてサイバー・フィジカル・システムを支える オープンソースデータベース GridDB ~ こだわりの理由と実現方法のポイント
データを事業に活かすために必要なデータ基盤とは
ビッグデータIoT向けDB GridDBの紹介
ビッグデータ×IoT時代のデータベースのアーキテクチャとメカニズムの比較
多様性時代のDB選択
オープンソースデータベース GridDB ~ なぜ いま、データベースを開発したのか?その理由とGridDBの概要紹介 ~
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
大量時空間データの処理 ~ 現状の課題と今後OSSが解決すべきこと。(Open Source Conference 2021 Online/Osaka講演資料)
Kubernetes雑にまとめてみた 2020年8月版
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...
PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)
平成最後の1月ですし、Databricksでもやってみましょうか
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
[db tech showcase Tokyo 2014] D15:日立ストレージと国産DBMS HiRDBで実現する『ワンランク上』のディザスタリカバリ...
Db2 & Db2 Warehouse v11.5.4 最新情報アップデート2020年8月25日
Ad

Similar to もうSQLとNoSQLを選ぶ必要はない!? ~両者を備えたスケールアウトデータベースGridDB~ (20)

PDF
IoT時代を迎えて、あなたのシステムは今までのDBで充分ですか?~ GridDBとその適用事例紹介 ~
PDF
ビッグIoTデータに対応したデータベース GridDB
PDF
オープンソースのビッグデータ・IoT向け スケールアウト型データベースGridDBとPython連携 〜GridDBとPythonと私〜
PDF
何を基準に選定すべきなのか!? 〜ビッグデータ×IoT×AI時代のデータベースのアーキテクチャとメカニズムの比較〜
PDF
[db tech showcase Tokyo 2017] D35: 何を基準に選定すべきなのか!? ~ビッグデータ×IoT×AI時代のデータベースのアー...
PDF
何を基準に選定すべきなのか!? 〜ビッグデータ×IoT×AI時代のデータベースのアーキテクチャとメカニズムの比較〜
PDF
NoSQL/SQLデュアルインターフェースを備えた IoT向けデータベースGridDB ~ クラウドでGridDBを使ってみましょう ~
PDF
高速処理と高信頼性を両立し、ペタバイト級の多種大量データを蓄積する、ビッグデータ/ IoT時代のデータベースとは??
PDF
ペタバイトデータをSQLでリアルタイム分析し、品質を向上させたユーザ事例~現場の苦労を紹介~
PDF
オープンソースのIoT向けデータベースGridDB-最新の強化ポイントについて-
PPT
Cassandra(no sql)によるシステム提案と開発
PDF
ビッグデータ向け スケールアウト型データベース GridDBのご紹介
PDF
Nosqlの基礎知識(2013年7月講義資料)
PPT
Devsumi2013【15-e-5】NoSQLの野心的な使い方 ~Apache Cassandra編~
PDF
高速処理と高信頼性を両立し、ペタバイト級の多種大量データを蓄積する、ビッグデータ/ IoT時代のデータベースとは??
PDF
About NoSQL
PDF
日本発オープンソース!! スケールアウト型データベース GridDB入門 ~ GitHubからダウンロードして使ってみましょう ~
PDF
高速処理と高信頼性を両立し、ペタバイト級の多種大量データを蓄積する、ビッグデータ/IoT時代のデータベース GridDB
PDF
NoSQL/SQLデュアルインターフェースを備えた IoT向けデータベースGridDB - 強化された時系列データ管理・検索機能について -
PPTX
NoSQL Bigtable and Azure Table
IoT時代を迎えて、あなたのシステムは今までのDBで充分ですか?~ GridDBとその適用事例紹介 ~
ビッグIoTデータに対応したデータベース GridDB
オープンソースのビッグデータ・IoT向け スケールアウト型データベースGridDBとPython連携 〜GridDBとPythonと私〜
何を基準に選定すべきなのか!? 〜ビッグデータ×IoT×AI時代のデータベースのアーキテクチャとメカニズムの比較〜
[db tech showcase Tokyo 2017] D35: 何を基準に選定すべきなのか!? ~ビッグデータ×IoT×AI時代のデータベースのアー...
何を基準に選定すべきなのか!? 〜ビッグデータ×IoT×AI時代のデータベースのアーキテクチャとメカニズムの比較〜
NoSQL/SQLデュアルインターフェースを備えた IoT向けデータベースGridDB ~ クラウドでGridDBを使ってみましょう ~
高速処理と高信頼性を両立し、ペタバイト級の多種大量データを蓄積する、ビッグデータ/ IoT時代のデータベースとは??
ペタバイトデータをSQLでリアルタイム分析し、品質を向上させたユーザ事例~現場の苦労を紹介~
オープンソースのIoT向けデータベースGridDB-最新の強化ポイントについて-
Cassandra(no sql)によるシステム提案と開発
ビッグデータ向け スケールアウト型データベース GridDBのご紹介
Nosqlの基礎知識(2013年7月講義資料)
Devsumi2013【15-e-5】NoSQLの野心的な使い方 ~Apache Cassandra編~
高速処理と高信頼性を両立し、ペタバイト級の多種大量データを蓄積する、ビッグデータ/ IoT時代のデータベースとは??
About NoSQL
日本発オープンソース!! スケールアウト型データベース GridDB入門 ~ GitHubからダウンロードして使ってみましょう ~
高速処理と高信頼性を両立し、ペタバイト級の多種大量データを蓄積する、ビッグデータ/IoT時代のデータベース GridDB
NoSQL/SQLデュアルインターフェースを備えた IoT向けデータベースGridDB - 強化された時系列データ管理・検索機能について -
NoSQL Bigtable and Azure Table
Ad

More from griddb (11)

PDF
2024年時系列データベースの最新動向と最適な選択基準…時系列データベースは、現代のデータ駆動型ビジネスにおいて不可欠な要素となっています。適切な時系列デ...
PDF
ビッグデータ・IoTシステム向け高速スケールアウト型データベース GridDB - 従来のデータベースでは不可能だったビッグデータのリアルタイム分析が可...
PDF
東芝のデータ処理技術基盤のご紹介(ポスター)
PDF
IoT指向のクラウドデータベースサービスGridDB Cloud ~その特徴とデータ連携の方法~
PDF
ペタバイト級でも扱えるGridDBのアーキテクチャ Deep Dive
PDF
日本発のオープンソース・データベース GridDB
PDF
GridDB: A Distributed SQL time series database for IoT and Big Data
PDF
多様性時代のDB選択
PDF
GridDBを使用する理由…IoTビッグデータ システムを支える分散スケールアウト型NoSQL/SQLハイブリットデータベースGridDB
PDF
「情報爆発時代」を勝ち抜くためのIT基盤技術とは?膨大な情報から最適解を 「SmartEDA®」
PDF
「ものづくり」の現場に必要な機能を備えたスケールアウト型データベース GridDBとそのオープンソース活動 ~膨大なIoTデータの管理を実現 ~
2024年時系列データベースの最新動向と最適な選択基準…時系列データベースは、現代のデータ駆動型ビジネスにおいて不可欠な要素となっています。適切な時系列デ...
ビッグデータ・IoTシステム向け高速スケールアウト型データベース GridDB - 従来のデータベースでは不可能だったビッグデータのリアルタイム分析が可...
東芝のデータ処理技術基盤のご紹介(ポスター)
IoT指向のクラウドデータベースサービスGridDB Cloud ~その特徴とデータ連携の方法~
ペタバイト級でも扱えるGridDBのアーキテクチャ Deep Dive
日本発のオープンソース・データベース GridDB
GridDB: A Distributed SQL time series database for IoT and Big Data
多様性時代のDB選択
GridDBを使用する理由…IoTビッグデータ システムを支える分散スケールアウト型NoSQL/SQLハイブリットデータベースGridDB
「情報爆発時代」を勝ち抜くためのIT基盤技術とは?膨大な情報から最適解を 「SmartEDA®」
「ものづくり」の現場に必要な機能を備えたスケールアウト型データベース GridDBとそのオープンソース活動 ~膨大なIoTデータの管理を実現 ~

もうSQLとNoSQLを選ぶ必要はない!? ~両者を備えたスケールアウトデータベースGridDB~

  • 1. 1© 2018 Toshiba Digital Solutions Corporation もうSQLとNoSQLを選ぶ必要はない!? ~ 両者を備えたスケールアウトデータベースGridDB ~ 東芝デジタルソリューションズ株式会社 ソフトウェア&AIテクノロジーセンター 技監 服部 雅一 db tech showcase Tokyo 2018
  • 2. 2© 2018 Toshiba Digital Solutions Corporation Toshiba Confidential • 東芝デジタルソリューションズ株式会社 ソフトウェア&AIテクノロジーセンター 技監 服部 雅一 masakazu.hattori@toshiba.co.jp • 東芝入社 機械設計自動化、プラント監視自動化、電力系統最適化、 などのAIシステムの研究開発、および実用化 • その後 XMLデータベースなどデータベース関連の研究開発、および製品化 • 2011年 ビッグデータ向けデータベースのチーフアーキテクトとして研究開発を開始 • 2013年 GridDB V1.0製品化 • 平成21年(社)情報処理学会 喜安記念業績賞、 • 第55回(財)電気科学技術奨励会電気科学技術奨励賞(電気科学技術奨励賞委員会会長)、等 自己紹介
  • 3. 3© 2018 Toshiba Digital Solutions Corporation Toshiba Confidential 電力系統制御 PV監視制御 BEMS HEMS 上下水道 交通 医療 MEMORY HDD Scale Out GridDB スケールアウト型データベースGridDB • ビッグデータ/IoT向けスケールアウト型データベース • V1.0製品化(2013年)、OSS化(2016年)、V4.1(2018年10月) • 社会インフラを中心に、高い信頼性・可用性が求められるシステムに適用中
  • 4. 4© 2018 Toshiba Digital Solutions Corporation Toshiba Confidential • GridDBの特長1 – IoT指向のデータモデル – 高い信頼性と可用性 – スケーラビリティ •GridDBの特長2 – NoSQL+SQL – SQLにおける分散並列処理 •適用事例 ご紹介内容
  • 5. 5© 2018 Toshiba Digital Solutions Corporation Toshiba Confidential GridDBの特長1 IoT指向の データモデル 高い信頼性と 可用性 • データの複製をノード間で自動的に実行 • ノード障害があってもフェールオーバによりサービス継続 • 数秒から数十秒の切替え時間 高いスケーラビリティ • 少ないノード台数で初期投資を抑制 • 負荷や容量の増大に合わせたノード増設が可能 • 自律データ再配置により、高いスケーラビリティを実現 高性能な NoSQL+SQL • メモリを主、ストレージを従としたハイブリッド型インメモリDB • メモリやディスクの排他処理や同期待ちを極力排除 • SQLにおける分散並列処理 • データモデルはキー・コンテナ。コンテナ内でのデータ一貫性を保証 • 時系列データ管理する特別な機能 • 過去データをコールド保存する長期アーカイブ機能
  • 6. 6© 2018 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
  • 7. 7© 2018 Toshiba Digital Solutions Corporation Toshiba Confidential • 適切に容量を抑えつつ、長期間データをコールド保存 • 効率の良いアーカイブ処理 長期アーカイブ機能 DB ノード (1)古いデータのアーカイブ化 (3)アーカイブの参照 2008/10/30以前 のデータをアーカイブ化 DB ノード DB ノード (2) 古いデータの削除 アタッチ 外部ストレージ 2008/10/30以前のデータ 2008/11/01以降のデータ 2008/11/01以降のデータ
  • 8. 8© 2018 Toshiba Digital Solutions Corporation Toshiba Confidential GridDBの特長1 IoT指向の データモデル 高い信頼性と 可用性 • データの複製をノード間で自動的に実行 • ノード障害があってもフェールオーバによりサービス継続 • 数秒から数十秒の切替え時間 高いスケーラビリティ • 少ないノード台数で初期投資を抑制 • 負荷や容量の増大に合わせたノード増設が可能 • 自律データ再配置により、高いスケーラビリティを実現 高性能な NoSQL+SQL • メモリを主、ストレージを従としたハイブリッド型インメモリDB • メモリやディスクの排他処理や同期待ちを極力排除 • SQLにおける分散並列処理 • データモデルはキー・コンテナ。コンテナ内でのデータ一貫性を保証 • 時系列データ管理する特別な機能 • 過去データをコールド保存する長期アーカイブ機能
  • 9. 9© 2018 Toshiba Digital Solutions Corporation Toshiba Confidential • 自律データ再配置技術(ADDA : Autonomous Data Distribution Algorithm) • データを分散化するゆえにデータの一貫性が弱くなり、 一貫性やスケール性を求めるとパフォーマンスが落ちる、という大きな欠点を解決 DBクラスタ 管理ノード DBノード DBノード DBノード クライアント 仲介ノード FSノード FSノード FSノード DBノード (マスタノード) DBノード DBノード クライアント データ複製 データ配置 データ複製 データ配置 要求 要求 従来技術 GridDB 自律的なDBクラスタ技術 ADDR DBノード DBノード DBノード 従来技術
  • 10. 10© 2018 Toshiba Digital Solutions Corporation Toshiba Confidential • マスタースレーブモデルの改良 – ノード間でマスタノードを自動選択。管理サーバがクラスタ内に存在せず、SPOFを完全排除 – ノード過半数を占めたサブクラスタのみがサービス可能となるクオーラムポリシーにより、 スプリットブレインを完全排除 • 自律データ再配置技術の開発 – (マスターノードが)ノード間アンバランス、レプリカ欠損を検知⇒バックグラウンドでデータ再配置 – 2種類のレプリカデータを使って高速同期、完了後切替え 具体的な挙動 〈ノード間データ再配置〉 〈アクセス切替え〉〈負荷アンバランスの検知〉 DBノード 負荷小 クライアント 更新ログ メモリブロック
  • 11. 11© 2018 Toshiba Digital Solutions Corporation Toshiba Confidential • GridDBはCP。強い一貫性を持ち、古いデータが見えてしまうことは無い。 Proc. 19th Ann. ACM Symp.Principles of Distributed Computing (PODC 00), ACM, 2000, pp. 7-10; CAP定理 A C P Pick Two Consistency All clients always have same view of the data. (cf. ACID) Partition Tolerance The system works despite physical network partitions. Availability Clients can always read and write. RDBMSs MPP DBMSs ・Key-Value MemcacheDB, Redis ・Key-Document MongoDB ・Key-Column Store BigTable,HBase ・Key-Table GridDB ・Key-Value Dynamo,Voldemort ・Key-Document CouchDB,Riak,SimpleDB ・Key-Column Store Cassandra BASE • Basically Available • Soft State • Eventually Consistency(結果整合)
  • 12. 12© 2018 Toshiba Digital Solutions Corporation Toshiba Confidential • 中間結果 (ご参考)GridDB/SE最新版を使った簡単な障害テスト 3台レプリカ充足 障害起こして2台 再起動で3台 30クライアント 登録/更新/参照 時間経過 通常設定+レプリケーションタイプ(非同期/準同期) +WALフラッシュ間隔(1秒/0秒) 17億Update/3万秒、障害回数 117回 クライアントエラー 0件、誤読 0件 極端な設定、つまりCPインターバル数秒にすると 440万Update/2万秒、障害回数 63回 短期同期に時間を要したエラー 3件 レプリカ未達による誤読(1個ズレ) 2件 • エラー発生率? • 誤読率?
  • 13. 13© 2018 Toshiba Digital Solutions Corporation Toshiba Confidential GridDBの特長2 IoT指向の データモデル 高い信頼性と 可用性 • データの複製をノード間で自動的に実行 • ノード障害があってもフェールオーバによりサービス継続 • 数秒から数十秒の切替え時間 高いスケーラビリティ • 少ないノード台数で初期投資を抑制 • 負荷や容量の増大に合わせたノード増設が可能 • 自律データ再配置により、高いスケーラビリティを実現 高性能な NoSQL+SQL • メモリを主、ストレージを従としたハイブリッド型インメモリDB • メモリやディスクの排他処理や同期待ちを極力排除 • SQLにおける分散並列処理 • データモデルはキー・コンテナ。コンテナ内でのデータ一貫性を保証 • 時系列データ管理する特別な機能 • 過去データをコールド保存する長期アーカイブ機能
  • 14. 14© 2018 Toshiba Digital Solutions Corporation Toshiba Confidential • 本質的なデータ処理に費やすCPU使用率は10%強 • バッファ管理、ラッチ、ロック、リカバリ、等で大半のCPUを消費 Harizopoulos, S. et al, “OLTP Through the Looking Glass, and What We Found There”, SIGMOD 2008 DBMSにおけるCPU使途 要求処理 Data File WAL File トランザクション管理 クエリ処理 バッファ管理 RDB
  • 15. 15© 2018 Toshiba Digital Solutions Corporation Toshiba Confidential • メモリを主、ストレージを従としたハイブリッド型インメモリDB GridDBの考え方 SQL NoSQL Data File WAL File イベント駆動 GridDB/DBノード ラッチ • 大半のラッチを無くし • 時分割的な挙動で代用 メモリ • 適材適所のメモリプール • それ以前にメモリコピーを減らす バッファ管理 • ブロックサイズをかなり大きく • メモリ指向のバッファ管理 リカバリ • WAL(REDO LOG)を踏襲しつつ • リカバリ処理を軽量化 パワーを無駄なく、 イベント駆動モデル 目標
  • 16. 16© 2018 Toshiba Digital Solutions Corporation Toshiba Confidential • イベント駆動(Event-Driven) – イベント=ユーザや他システムからの要求や事象 – そのイベントに応じて、設定された関数やサービスを起動 イベント駆動モデル E Handler E Data イベント イベントハンドラー イベントキュー イベントループ ディスパッチャー ステート
  • 17. 17© 2018 Toshiba Digital Solutions Corporation Toshiba Confidential • YCSB (Yahoo! Cloud Serving Benchmark) NoSQL性能
  • 18. 18© 2018 Toshiba Digital Solutions Corporation Toshiba Confidential • いつもの4象限マトリクス DB分類 オペレーション用途 分析用途 スケールアウト指向 スケールアップ指向 Hadoop (HDFS+MR) MapR、Cloudera、Spark RDB DWH Oracle Exa、 Netezza、RedShift RDB OLTP Oracle、SQLServer、 PostgreSQL KVS Cassandra、Mongodb、 memcached
  • 19. 19© 2018 Toshiba Digital Solutions Corporation Toshiba Confidential • 将来が見通せないので、スケールアウトするストア IoTでは オペレーション用途 分析用途 スケールアウト指向 スケールアップ指向 Hadoop (HDFS+MR) MapR、Cloudera、Spark RDB DWH Oracle Exa、 Netezza、RedShift RDB OLTP Oracle、SQLServer、 PostgreSQL NoSQL
  • 20. 20© 2018 Toshiba Digital Solutions Corporation Toshiba Confidential • 貯めていくうちに分析もしたくなる IoTでは オペレーション用途 分析用途 スケールアウト指向 スケールアップ指向 Hadoop (HDFS+MR) MapR、Cloudera、Spark RDB DWH Oracle Exa、 Netezza、RedShift RDB OLTP Oracle、SQLServer、 PostgreSQL 他DB BI 他システム ETLNoSQL
  • 21. 21© 2018 Toshiba Digital Solutions Corporation Toshiba Confidential • 「ラムダアーキテクチャ」 適材適所、組み合わせの妙 • だけど構成が複雑で扱いにくい http://horicky.blogspot.jp/2014/08/lambda-architecture-principles.html このような構成が推奨されますが、 Hadoop (HDFS+MR) MapR、Cloudera、Spark RDB DWH Oracle Exa、 Netezza、RedShift RDB OLTP Oracle、SQLServer、 PostgreSQL 他DB BI 他システム ETLNoSQL
  • 22. 22© 2018 Toshiba Digital Solutions Corporation Toshiba Confidential • 一つでやれ! 求められたのは… オペレーション用途 分析用途 スケールアウト指向 スケールアップ指向 RDB DWH Oracle Exa、 Netezza、RedShift RDB OLTP Oracle、SQLServer、 PostgreSQL 他DB BI 他システム ETL NoSQL NewSQL
  • 23. 23© 2018 Toshiba Digital Solutions Corporation Toshiba Confidential NoSQLとSQLのデュアルインターフェイス GridDB クラスタ DB ノード DB ノード DB ノード キー・バリュー型インターフェイス SQLインターフェイス 他DB BI ETL 他システム NoSQL(キー・バリュー型)インターフェイス • 高可用、高スループット指向のKVS • キーコンテナに対するCRUD • Java/C/Python/Rubyドライバー SQLインターフェイス • 分散並列SQLデータベース • 巨大コンテナに対するコンテナパーティショニング • ジョインなど複数コンテナ(テーブル)に対するSQL • JDBC/ODBCドライバー
  • 24. 24© 2018 Toshiba Digital Solutions Corporation Toshiba Confidential キーワード SQL 分散並列処理(MPP)SQL-NoSQLマッピング イベント駆動モデル アーキテクチャ NoSQL(KVS) 即時性 一括処理性
  • 25. 25© 2018 Toshiba Digital Solutions Corporation Toshiba Confidential • NoSQL(KVS)の上に... NoSQL+SQLですが... KVSノード KVSノード クライアント KVSクラスタ
  • 26. 26© 2018 Toshiba Digital Solutions Corporation Toshiba Confidential • SQLを載せる、よくある構成 NoSQL+SQLですが... SQLノード KVSノード SQLノード KVSノード クライアント SQLルータ RDBMS RDBMS KVSクラスタ
  • 27. 27© 2018 Toshiba Digital Solutions Corporation Toshiba Confidential • このようなものではないです! 昔、試したこともありましたが、 性能が出ませんでした。 NoSQL+SQLですが... SQLノード KVSノード SQLノード KVSノード クライアント SQLルータ RDBMS RDBMS KVSクラスタ
  • 28. 28© 2018 Toshiba Digital Solutions Corporation Toshiba Confidential • どちらかというとこのような感じ NoSQL+SQLですが... NoSQL+SQL ノード NoSQL+SQL ノード クライアント
  • 29. 29© 2018 Toshiba Digital Solutions Corporation Toshiba Confidential DBノード SQL-NoSQLのマッピング NoSQL(KVS) SQL クライアント C0 C1 C2 C3 Val Val Val Val Val Val Val Val Val Val Val Val a@1 C0 C1 C2 C3 Val Val Val Val Val Val Val Val Val Val Val Val a@2 C0 C1 C2 C3 Val Val Val Val Val Val Val Val Val Val Val Val Table a Val Val Val Val Val Val Val Val C0 C1 C2 C3 Val Val Val Val Val Val Val Val Val Val Val Val a@0 “NoSQL” cont.put(a_point) “SQL” INSERT INTO a VALUES(...)
  • 30. 30© 2018 Toshiba Digital Solutions Corporation Toshiba Confidential DBノード • テーブルパーティショニング IoTデータの散らし方 NoSQL(KVS) SQL クライアント 2018/8/1 2018/8/2 2018/8/3 2018/8 2018/9 2018/10 2018,A 2018,B 2018,C 装置 データ 製造品 データ 試験 データ
  • 31. 31© 2018 Toshiba Digital Solutions Corporation Toshiba Confidential テーブルパーティショニング -- インターバル CREATE TABLE a1 (code INT, ts TIMESTAMP NOT NULL, dest STRING) PARTITION BY INTERVAL(ts) EVERY(1,DAY) -- レンジ CREATE TABLE a2 (code INT NOT NULL, ts TIMESTAMP, dest STRING) PARTITION BY RANGE(code) EVERY(1000) -- ハッシュ CREATE TABLE a3 (code INT, ts TIMESTAMP, dest STRING NOT NULL) PARTITION BY HASH(dest) PARTITIONS 10 -- インターバルハッシュ/レンジハッシュ CREATE TABLE a4 (code INT NOT NULL, ts TIMESTAMP, dest STRING) PARTITION BY RANGE(code) EVERY(1000) SUBPARTITION BY HASH(dest) SUBPARTITIONS 2
  • 32. 32© 2018 Toshiba Digital Solutions Corporation Toshiba Confidential • Pros. – 分割されたテーブルを並列処理。大規模なデータかつ並列化しやすいSQLでは効果大。 – 分割によるメモリアクセスが局所化する場合はI/O量削減。ランダムにアクセスするインデックス • Cons. – 分割されたテーブルをまとめる処理は低速化。少量テーブルに対するJoinやScanなど – 分割されたテーブル間でコミットできない • ベストケースとして – 分割されたテーブル内で処理が閉じている。 – 分割されたテーブルおよびインデックスがうまくメモリに乗っている • 各タイプの選択基準 – ハッシュパーティショニング...散らすべきキーにランダム性が高く、キーの間に処理上の関連性が無い場合 – インターバルパーティショニング...散らすべきキーの数値的な範囲で散らしたい場合 – インターバルハッシュパーティショニング...インターバルパーティショニングでは力不足の場合 テーブルパーティショニングのPros. / Cons.
  • 33. 33© 2018 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
  • 34. 34© 2018 Toshiba Digital Solutions Corporation Toshiba Confidential • 分散並列処理のベースとなっているのがイベント駆動モデル • GridDBではサービスと呼ぶ (再び)イベント駆動モデル E Handler E Data
  • 35. 35© 2018 Toshiba Digital Solutions Corporation Toshiba Confidential Logical Architecture of GridDB GridDB Node System Service Cluster Service Partition Table Transaction Service Data Store Objects Log(WAL) Files CP Files CP Service SQL Service Container NoSQL Client Sync Service Java C Python,Go,... Short Term Sync SQL Client JDBC ODBC Cluster Info SummaryCluster Info SQL Job Long Term Sync GridDB Node ystem Service Cluster Service ion Table nsaction Service Data Store Log(WAL) Files Files ce SQL Service Sync Service
  • 36. 36© 2018 Toshiba Digital Solutions Corporation Toshiba Confidential Internal Structure of SQL Service SQL Service Parse Compile Deploy Fetch RS Job Pipe TL TL Job E0 E1 E2 E2 E3 E1 E2 プラン(JOB)生成 JOBパイプラン実行 RS結果
  • 37. 37© 2018 Toshiba Digital Solutions Corporation Toshiba Confidential Internal Structure of Transaction Service Transaction Service Job Pipe DataStore TL E1 E2 E2 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 JOBパイプラン実行 (NoSQL側)
  • 38. 38© 2018 Toshiba Digital Solutions Corporation Toshiba Confidential SQLパーサ、SQLコンパイラから実行系まで 全部自製です。 つまり、…
  • 39. 39© 2018 Toshiba Digital Solutions Corporation Toshiba Confidential サンプルSQL CREATE TABLE A (num INT NOT NULL, id INT, ...) PARTITION BY HASH(num) PARTITIONS 3 SELECT A.num, SUM(A.id) FROM A, B WHERE A.num = B.num GROUP BY A.num
  • 40. 40© 2018 Toshiba Digital Solutions Corporation Toshiba Confidential JOB(EXPLAIN ANALYZE)
  • 41. 41© 2018 Toshiba Digital Solutions Corporation Toshiba Confidential TL TL TL TL TL TL TL TL TL TL TL JOB SCAN Executor SCAN Executor SCAN Executor SCAN Executor SCAN Executor SCAN Executor JOIN Executor JOIN Executor JOIN AGGREGATE Executor AGGREGATE AGGREGATE ExecutorExecutor UNION Executor Executor AGGREGATE Executor
  • 42. 42© 2018 Toshiba Digital Solutions Corporation Toshiba Confidential TL TL TL TL TL TL TL TL TL TL TL JOB SCAN Executor SCAN Executor SCAN Executor SCAN Executor SCAN Executor SCAN Executor JOIN Executor JOIN Executor JOIN AGGREGATE Executor AGGREGATE AGGREGATE ExecutorExecutor UNION Executor Executor AGGREGATE Executor HashJoin/Probe が始まる
  • 43. 43© 2018 Toshiba Digital Solutions Corporation Toshiba Confidential TL TL TL TL TL TL TL TL TL TL TL JOB SCAN Executor SCAN Executor SCAN Executor SCAN Executor SCAN Executor SCAN Executor JOIN Executor JOIN Executor JOIN AGGREGATE Executor AGGREGATE AGGREGATE ExecutorExecutor UNION Executor Executor AGGREGATE Executor Aggregate/Probe が始まる
  • 44. 44© 2018 Toshiba Digital Solutions Corporation Toshiba Confidential TL TL TL TL TL TL TL TL TL TL TL JOB SCAN Executor SCAN Executor SCAN Executor SCAN Executor SCAN Executor SCAN Executor JOIN Executor JOIN Executor JOIN AGGREGATE Executor AGGREGATE AGGREGATE ExecutorExecutor UNION Executor Executor AGGREGATE Executor Union Through
  • 45. 45© 2018 Toshiba Digital Solutions Corporation Toshiba Confidential TL TL TL TL TL TL TL TL TL TL TL JOB SCAN Executor SCAN Executor SCAN Executor SCAN Executor SCAN Executor SCAN Executor JOIN Executor JOIN Executor JOIN AGGREGATE Executor AGGREGATE AGGREGATE ExecutorExecutor UNION Executor Executor AGGREGATE Executor Aggregate/Probe が始まる
  • 46. 46© 2018 Toshiba Digital Solutions Corporation Toshiba Confidential SQL性能 • TPC-H(Transaction Processing Performance Council) • SQLのスケールアウト効果
  • 47. 47© 2018 Toshiba Digital Solutions Corporation Toshiba Confidential • 社会インフラを中心に、高い信頼性・可用性が求められるシステムに適用中 • 東芝IoTアーキテクチャー「SPINEX」の構成ソリューション 適用事例 ・フランス リヨン 太陽光発電 監視・診断システム 発電量の遠隔監視、発電パネルの性能劣化を診断 ・クラウドBEMS ビルに設置された各種メータの情報の収集、蓄積、分析 ・石巻スマートコミュニティ プロジェクト 地域全体のエネルギーのメータ情報の収集、蓄積、分析 ・電力会社 低圧託送業務システム スマートメータから収集される電力使用量を集計し、需要量と発電量のバランスを調整 ・神戸製鋼所 産業用コンプレッサ稼働監視システム グローバルに販売した産業用コンプレッサをクラウドを利用して稼働監視 ・東芝機械 IoTプラットフォーム 工作機器、射出成形、ダイカストマシン、など膨大な製造データを管理 ・DENSO International Americaの次世代の車両管理システム https://griddb.net/ja/blog/griddb-automotive/ ・クラウド型IoTソリューション ....
  • 48. 48© 2018 Toshiba Digital Solutions Corporation Toshiba Confidential 適用事例 低圧託送業務 • 電力の小売全面自由化スマートメーター数の増加 など要件の変化 • RDBを使った従来システムと比較して、数十倍のパ フォーマンス向上と高い信頼性が必要 ものづくり情報プラットフォーム Meister DigitalTwin 日経BP、”明日”をつむぐテクノロジー、 「製造と使用の両面でモノを捉え最適化と価値創造を目指す」 http://special.nikkeibp.co.jp/atclh/tomorrowtech/factory_iot/
  • 49. 49© 2018 Toshiba Digital Solutions Corporation Toshiba Confidential 製品ラインアップ NewSQL NoSQL NoSQL’ ①GridDB SE (Standard Edition) ③GridDB CE (Community Edition) ②GridDB AE (Advanced Edition) Monitoring Dashboard
  • 50. 50© 2018 Toshiba Digital Solutions Corporation Toshiba Confidential • ビッグデータ技術の普及促進と多様なニーズの把握 • GitHub上にNoSQL主要機能をソース公開 https://github.com/griddb/griddb_nosql/ • 主要OSSとのコネクタ、 様々な開発言語のクライアントもソース公開 • 開発者向け情報 https://griddb.net GridDB CE
  • 51. 51© 2018 Toshiba Digital Solutions Corporation Toshiba Confidential 1. ノード毎のインストールおよびセットアップ • rpmコマンド • クラスタ共通のクラスタ定義ファイル (gs_cluster.json)の配置 • ノードごとのノード定義ファイル (gs_node.json)の配置 2. クライアントのインストール • rpmコマンド 3. クラスタの起動 • 全ノードの起動 • クラスタの構成 4. クラスタの停止 • 全ノードの停止 • クラスタ構成の解除 クイックスタート $ gs_startnode -u admin/admin –w $ gs_joincluster -c dms_150 -n 6 -u admin/admin $ gs_stat -u admin/admin { "checkpoint": { "archiveLog": 0, "backupOperation": 0, "duplicateLog": 0, "endTime": 1535672733362, "mode": "NORMAL_CHECKPOINT", "normalCheckpointOperation": 2152, "pendingPartition": 0, "requestedCheckpointOperation": 0, "startTime": 1535672733361 }, "cluster": { "activeCount": 6, "clusterName": "dms_150", "clusterStatus": "MASTER", "designatedCount": 6, .... $ gs_stopcluster -u admin/admin $ gs_stopnode -u admin/admin
  • 52. 52© 2018 Toshiba Digital Solutions Corporation Toshiba Confidential GridDB設定例 gs_node.json gs_cluster.json { "dataStore":{ "dbPath":"data", "backupPath":"backup", "syncTempPath":"synctemp", "storeMemoryLimit":"10240MB", "storeWarmStart":false, "concurrency":3, "logWriteMode":1, "persistencyMode":"NORMAL", "affinityGroupSize":4, "storeCompressionMode":0 }, "checkpoint":{ "checkpointInterval":"60s", "checkpointMemoryLimit":"1024MB", "useParallelMode":false }, "cluster":{ "servicePort":10190 }, "sync":{ "servicePort":10170 }, "system":{ "servicePort":10150, "eventLogPath":"log" { "dataStore":{ "partitionNum":128, "storeBlockSize":"1MB" }, "cluster":{ "replicationNum":2, "notificationAddress":"239.0.0.1", "notificationPort":20150, "notificationInterval":"5s", "heartbeatInterval":"5s", "loadbalanceCheckInterval":"180s", "clusterName" : "dms_150" }, "sync":{ "timeoutInterval":"30s" }, "transaction":{ "notificationAddress":"239.0.0.1", "notificationPort":30150, "notificationInterval":"5s", "replicationMode":1, "replicationTimeoutInterval":"10s" }, "sql":{ "notificationAddress":"239.0.0.1", "notificationPort":40150,
  • 53. 53© 2018 Toshiba Digital Solutions Corporation Toshiba Confidential
  • 54. 54© 2018 Toshiba Digital Solutions Corporation Toshiba Confidential • お手元の資料に黄色いアンケート用紙がございますので、 ぜひご協力ください。 • ご記入いただけましたら、スタフにお渡しください。 最後に