More Related Content Similar to 事例から見るNoSQLの使い方 - db tech showcase Tokyo 2015 2015/06/11 (20) More from MapR Technologies Japan (20) 事例から見るNoSQLの使い方 - db tech showcase Tokyo 2015 2015/06/111. ®
© 2015 MapR Technologies 1
®
© 2015 MapR Technologies
RDBだけではない!
事例から見るNoSQLの使い方
マップアール・テクノロジーズ株式会社
セールスエンジニア
梅川 真人
2015/6/11
2. ®
© 2015 MapR Technologies 2
アジェンダ
• NoSQL とは
• MapR-DB の特徴
• Use Case #1 世界最大のバイオメトリクスデータベース
• Use Case #2 サービス品質分析基盤
• MapR-DB 5.0 の新機能
3. ®
© 2015 MapR Technologies 3
NoSQL
• No SQL
• Not Only SQL
• NoSQL データベースは RDB を補完するもの
• RDB とは異なる特性を持っているため、適材適所で利用すべき
4. ®
© 2015 MapR Technologies 4
Web アプリケーションの進化
Web 1.0
Web 2.0
メモリ
ディスク
ランダムIO
Write
Read
Write
Read
Write
Read
memcached
Coherence
RDBMS
ディスク
シーケンシャルIO
RDBMS
メモリ
テーブル
書き込みログ・
テーブルファイル
BigData
時代の
Webアプリ
アクセス速度
5. ®
© 2015 MapR Technologies 5
NoSQL の特徴
• スキーマが固定されていない
• 関係モデルの結合操作を利用しない(Joinがない)
• 高いスケーラビリティ(リニアな性能向上)
• トランザクションがない(例外はある)
• SQL と比較してシンプルなデータ操作API
6. ®
© 2015 MapR Technologies 6
NoSQL の系譜
Google
FileSystem
Google
MapReduce
Google BigTable
Apache Hadoop
HyperTable
Apache HBase
Facebook
Cassandra
Amazon S3
Amazon Dynamo
Amazon SimpleDB
LinkedIn
Voldemort
7. ®
© 2015 MapR Technologies 7
NoSQL での分散方式
• コンシステントハッシング
– Dynamo, Cassandra
– キーのハッシュ値をもとに、
データを各ノードに分散
• レンジパーティション
– BigTable, HBase
– キーのレンジ、もしくは
カラムのレンジで
データベースを分散
8. ®
© 2015 MapR Technologies 8
NoSQL で典型的な書き込み方式
DISK
MEMORY
書き込み
読み込み
コミットログ
メモリテーブル
ファイル
一定サイズになったら
ディスクに永続化
9. ®
© 2015 MapR Technologies 9
NoSQL と RDBMS におけるインデックス方式の比較
• LSM (Log Structured Merge) Tree
– NoSQL でよく使われるインデックス構造
– メモリ上のデータ構造を効率よくシーケンシャルディスク IO に変換する
– 時間の経過とともに Read 性能が落ちてくるためコンパクション(データファイ
ルの再構築)が必要になり、その際高い IO 負荷がかかる
– Write が低遅延で安定する一方、Read 性能の振れ幅が大きい
• B+Tree
– RDBMS で使われるインデックス構造
– Write に高いコスト(処理時間, IO負荷)がかかる一方、Read が非常に早い
10. ®
© 2015 MapR Technologies 10© 2015 MapR Technologies
MapR-DB
(MapR Enterprise Database Edition)
11. ®
© 2015 MapR Technologies 11
HBase アーキテクチャが優れている点
• 強い一貫性モデル
– 書き込み完了後、すべての読み出しは同じ値になることを保証
– 他のNoSQLの「Eventually Consistent」は、実際にはときどき「Eventually
Inconsistent」に
• 効率の良いスキャン
– ブロードキャストを行わない
– Ring ベースの NoSQL データベース (例: Cassandra, Riak) はスキャンが大変
• 自動的にスケール
– Regionが大きくなると自動で分割される
– データ分散や格納スペースの管理に HDFS を利用
• Hadoop との連携
– HBase のデータをMapReduce で直接処理できる
12. ®
© 2015 MapR Technologies 12
HBase テーブルアーキテクチャ
• テーブルは Key 範囲で分割される (Region)
• Region は各ノードが管理 (RegionServer)
• カラムはアクセスグループに分割される(カラムファミリー)
CF1 CF2 CF3 CF4 CF5
R1
R2
R3
R4
13. ®
© 2015 MapR Technologies 13
先進ユーザの課題
• ビジネス上の課題
– ユースケースの増加: 不正検知、
レコメンデーション、レポーティング
– 既存のRDBMSを基盤としたアー
キテクチャの拡張ではコストに見合
わない
– 応答性が悪い: リアルタイムの異
常検知や、インタラクティブ/大規模
/SaaSベースのデータ配信
• 技術的な課題
– RDBMSテクノロジの性能・ス
ケーラビリティの限界
– 既存の NoSQL データベースが
技術的にフィットする領域は意
外に少ない
• 性能、データ一貫性、運用管理
– クラスタを分離することの弊害
• ネットワークトラフィック
• 最新のデータが利用できない
• 複雑さが原因の障害リスク
• データの二重持ち
14. ®
© 2015 MapR Technologies 14
MapR-DB
• MapR Enterprise Database Edition (旧 MapR M7 Edition) に含ま
れる、HBase API 互換の NoSQL データベース
– 以前は「MapR M7 テーブル」とも呼ばれていた
– HBase のアプリケーションをそのまま実行することが可能
15. ®
© 2015 MapR Technologies 15
MapR-DB の特徴
1. 分析とオペレーションを統合できる単一プラットフォーム
2. エンタープライズグレードの運用管理
3. 高い性能、スケーラビリティ
4. コンパクションの単位が細かいのでコンパクションの影響が少ない
5. インデックスの方式(LSM-Tree と B+Treeのいいとこどり)
6. ファイルシステムと統合する事でリージョンサーバ・マスターサーバが
不要に
16. ®
© 2015 MapR Technologies 16
MapR-DB: レイヤーを削除してシンプルに
Disks
MapR
JVM
HBase
Disks
ext3
JVM
HDFS
JVM
HBase
Apache ベース
のディストリビューション
Disks
Unified
17. ®
© 2015 MapR Technologies 17
ファイルとテーブルの管理理を統合
$ pwd
/mapr/default/user/dave
$ ls
file1 file2 table1 table2
$ hbase shell
hbase(main):003:0> create '/user/dave/table3', 'cf1', 'cf2', 'cf3'
0 row(s) in 0.1570 seconds
$ ls
file1 file2 table1 table2 table3
$ hadoop fs -‐ls /user/dave
Found 5 items
-‐rw-‐r-‐-‐r-‐-‐ 3 mapr mapr 16 2012-‐09-‐28 08:34 /user/dave/file1
-‐rw-‐r-‐-‐r-‐-‐ 3 mapr mapr 22 2012-‐09-‐28 08:34 /user/dave/file2
trwxr-‐xr-‐x 3 mapr mapr 2 2012-‐09-‐28 08:32 /user/dave/table1
trwxr-‐xr-‐x 3 mapr mapr 2 2012-‐09-‐28 08:33 /user/dave/table2
trwxr-‐xr-‐x 3 mapr mapr 2 2012-‐09-‐28 08:38 /user/dave/table3
19. ®
© 2015 MapR Technologies 19
HBase と MapR-DB
MapR-DB HBase
CAP CP CP
データ分散 シャーディング シャーディング
データモデル 列指向 列指向
ストレージ MicroWAL+MapRコンテナ WAL+MemStore+HFile
コンパクションによる停止 なし あり(影響大)
単一障害点 なし なし
ロック単位 行 行
最大テーブル数 無制限 100
最大カラムファミリ数 64 3程度
ノード障害時のアクセス 瞬時に別ノードに切り替え 別ノードに移動するまで待ち
20. ®
© 2015 MapR Technologies 20© 2015 MapR Technologies
Use Case #1
世界最大のバイオメトリクスデータベース
21. ®
© 2015 MapR Technologies 21
Aadhaar
PEOPLE
20 BILLION
BIOMETRICS
22. ®
© 2015 MapR Technologies 22
Aadhaar とは
• インド国民のためのマイナンバー制度
• 指紋、網膜スキャン、顔画像を登録
• 1日あたり約2000万のバイオメトリク情報が登録される。(160万人 x
12バイオメトリクス)
• 8箇所のデータセンターに分散
• 高いパフォーマンス要件
• 絶対にデータは失ってはならない
• 2015年現在で約6億人が登録
23. ®
© 2015 MapR Technologies 23
Aadhaar システムゴール
• 全ての住民にIDを付与する
– 重複は許されないためバイオメトリクス情報を採用
• 登録
– 複数のバイオメトリクス情報(指紋, 網膜)
– 12桁のユニークな Aadhaar number が割り当てられる
• 認証
– 本人確認
– 認証は速くなければならない
(数百万の同時検索をサポートしながら、100ミリ秒のレイテンシを満たす)
• 非同期レプリケーション
– 複数のデータセンタをまたがり、HBase上のデータを更新
24. Template Tables Audit Tables
Auth,
BFD, OTP
Auth Data
Server
FMS, Portals
Template Tables Audit Tables
Auth,
BFD, OTP
FMS, Portals
B
Data
Center
A
Data
Center
Read
Read
Write
Write
Read
Read Write
S
y
n
c
S
y
n
c
Aadhaar システムアーキテクチャ概要
25. ®
© 2015 MapR Technologies 25
Apache Hadoopでは満たせなかった機能
• データセンター間でレプリケーションをするとデータに矛盾が生じた
• Hadoop クラスタのレスポンスが遅いことに加え、Tasktracker が頻繁
にブラックリストに登録された
• DR運用に課題があった
• リージョンサーバが良く落ちた
• 高い可用性要求を NameNode と JobTracker が満たせなかった
• 簡単なアップグレードの手法が必要だった
• 管理のオーバーヘッドを最小限にする必要があった。
(ノード管理やミラーリング、スナップショット)
26. ®
© 2015 MapR Technologies 26© 2015 MapR Technologies
Use Case #2
サービス品質分析基盤
27. ®
© 2015 MapR Technologies 27
サービス品質分析基盤
要求
・ 1日に数TBのデータがインサートに対応
・ 1秒間に数百万件のデータインサートに対応
・ 1クエリ辺り200ms以内に検索に対応
課題
・ RDB のライセンスが高価(1CPU数百万)
・ スケーラビリティ
・ 1秒間に数百万件のインサートへの対応
28. ®
© 2015 MapR Technologies 28
RDB 利利⽤用時の構成
RDB
データ収集/集約/ETL データ蓄積 データ検索索
照会対応
呼情報検索索
位置情報分析
収集
収集
集約
/ETL
FTP
FTP
29. ®
© 2015 MapR Technologies 29
MapR-‐‑‒DB 利利⽤用時の構成
データ収集 データ蓄積 データ検索索
照会対応
呼情報検索索
位置情報分析
収集
収集
MapR−DB
• ユーザプロファイル・ステータス
• ユーザのインタラクション
• リアルタイム位置情報
• Web およびモバイルセッション
・ MapR-DB を使う事でETLが不要に
・ 高いスケーラビリティ
・ 安定した高い書き込み性能(1秒間に数百万件のインサートへの対応)
FTP
FTP NFS
NFS
30. ®
© 2015 MapR Technologies 30© 2015 MapR Technologies
MapR-DB 5.0の新機能
31. ®
© 2015 MapR Technologies 31
Elasticsearch にリアルタイムでインデクシング
アプリケーション
ストリーミン
グ
(Storm, Spark
Streaming)
アドホック
(Drill, Impala, Presto, ...)
MapR Data Platform
DISTRIBUTION INCLUDING HADOOP
MapR-DB
クリックスト
リーム
バッチ
(MR, Spark, Hive, Pig, …)
WEB
リアルタイム
レコメンド
データソース
MapR-FS
顧客トランザ
クション
購買情報
コールセンター
顧客サポート
Data Access
可視化
分析
分析
32. ®
© 2015 MapR Technologies 32
Traditional vs. Real-Time Search Indexing
Traditional NoSQL
Applications
HBase API Elasticsearch API
HBase Elasticsearch
Batch
indexing
HBase API
MapR-DB
Updates
Real-time
indexing
Updates Searches
MapR-DB/Elasticsearch をリアルタイムにイン
デックスを生成
• データの更新はデータストアと検索インデック
スの整合性を保証
• インデックス作成に追加開発の必要はない
HBase/Elasticsearch はバッチ処理でインデック
スを生成
• ユーザはデータを探すまでに遅延が発生する
• インデックス作成には追加開発が必要
Real-Time NoSQL
Applications
33. ®
© 2015 MapR Technologies 33
データ分析基盤
MapRがデータ分析基盤を最適化
データソース
販売・顧客系
データ
自動販売機、
配送経路
データ
LOG FILES,
CLICKSTREAMS
SENSORS
BLOGS,
TWEETS,
SNS
DATA WAREHOUSE
Data Movement
Data Access
検索
スキーマレス
データ探索
BI, BA
Ad-hoc integrated
analytics
ETL / 統合
Recommendation
不正検知
(Fraud Detection)
物流最適化
機械学習
MAPR DISTRIBUTION FOR HADOOP
ストリーム
(Spark Streaming,
Storm)
MapR Data Platform
MapR-DB
MAPR DISTRIBUTION FOR HADOOP
バッチ
(MapReduce,
Spark, Hive, Pig)
MapR-FS
アドホック
(Drill,
Impala)
業務アプリケーション
分析
34. ®
© 2015 MapR Technologies 34
まとめ:MapR-DB が真価を発揮する利用シーン
3. 将来の性能増強やビジネスの変化に柔軟に対応したい
2. リアルタイム要件のあるアプリ・時系列データなど複数の用途
1. HBase 運用をシンプルにしたい
35. ®
© 2015 MapR Technologies 35
© MapR Technologies ®
ご静聴ありがとうございました