エンタープライズ NoSQL/Hbaseエンタ プライズ NoSQL/Hbaseプラットフォーム
M R M7 エディシ ンMapR M7 エディション
MapR Technologies 株式会社ソリューション・アーキテクト岡 昌孝
1©MapR Technologies ‐ Confidential
岡 昌孝
MapR M7エディションは
企業利⽤を前提とした、Apache HBase完全互換のNoSQL プラットフォームです完全互換のNoSQL プラットフォ ムです。
信頼性 ⾼速性 運⽤性信頼性 ⾼速性 運⽤性
2©MapR Technologies ‐ Confidential
たとえば… ⾼速性
YCSB Benchmark MapR 3.0.1 他の Hadoopデ トリビ シ dYCSB Benchmark
(ops/sec/node)MapR 3.0.1
(M7エディション) ディストリビューション
(HBase)M7 Advantage
50% read 50% update 7965 2918 2 7x50% read, 50% update 7965 2918 2.7x95% read, 5% update 3850 1541 2.5xRandom Read 5934 865 6.9xRange Scan (50 ) 838 274 3 1xRange Scan (50 rows) 838 274 3.1x
Hardware Configuration
CPU : Intel® Xeon® CPU E5645 2.40GHz 12 cores x2RAM : 48 GBData Disk : 12x 3TB (7200 rpm)Size – record size = 1k, data size = 2TB
10‐Node Cluster
3©MapR Technologies ‐ Confidential
OS : CentOS Release 6.2 (Final)
アジェンダ
A h Hb のア キテクチ と課題 Apache Hbase のアーキテクチャと課題MapR とは?/MapRの優位点MapR M7 エディションまとめ
4©MapR Technologies ‐ Confidential
Apache HBase のアーキテクチャ
JVM
Name Node
JVM
ZooKeeper
JVM
ZooKeeper
JVM
ZooKeeper
JVM
HBaseMaster
マスタノード
RegionServer RegionServer RegionServer RegionServer
Data Node
JVM
Data Node
JVM
Data Node
JVM
Data Node
JVM・・・・・・・・・・・
JVM JVM
Data Node
JVM
Data Node
JVM
Data Node
スレ ブノ ド
5©MapR Technologies ‐ Confidential
スレーブノード
Apache HBase のアーキテクチャ
JVM
RegionServer
JVM
RegionServer
JVM
RegionServer
JVM
RegionServer
・・・・・・・・・・・
JVM
Data Node
JVM
Data Node
JVM
Data Node
JVM
Data Node
・・・・・・・・・・・
キーレンジ1 キーレンジ2 キーレンジ3 キーレンジn・・・・・・・・・・・
HDFS
キ レンジ キ ンジ キ ンジ キ ジ
リージョン1 リージョン2 リージョン3 リージョンn
6©MapR Technologies ‐ Confidential
HDFS
Apache HBase ユーザーが抱える課題
ネームノードに単⼀障害点がある
信頼性パフォーマンスが安定(⼀定)しない
ハードウェア障害のデータ損失は防ぐことができても操作ミスの復旧の⼿⽴てがない
⾼速性コンパクションに時間がかかる
複数ユ ザ でクラスタを共⽤するときに個別複数ユーザーでクラスタを共⽤するときに個別の権限や運⽤ポリシーの設定が難しい
ノードを増やしても実際にはリニアにスケール
運⽤性運⽤には経験値の⾼い⼈員が常に不可⽋
ノ ドを増やしても実際にはリニアにスケ ルしない
7©MapR Technologies ‐ Confidential
運⽤には経験値の⾼い⼈員が常に不可⽋
Apache Hadoop に起因する課題
ネームノードに単⼀障害点がある
信頼性パフォーマンスが安定(⼀定)しない
⾼速性ハードウェア障害のデータ損失は防ぐことができても操作ミスの復旧の⼿⽴てがない
⾼速性コンパクションに時間がかかる
複数ユ ザ でクラスタを共⽤するときに個別
運⽤性
複数ユーザーでクラスタを共⽤するときに個別の権限や運⽤ポリシーの設定が難しい
ノードを増やしても実際にはリニアにスケール 運⽤性運⽤には経験値の⾼い⼈員が常に不可⽋
ノ ドを増やしても実際にはリニアにスケ ルしない
8©MapR Technologies ‐ Confidential
運⽤には経験値の⾼い⼈員が常に不可⽋
A h HB のア キテクチ と課題 Apache HBase のアーキテクチャと課題MapR とは?/MapR の優位点MapR M7 エディションまとめ
9©MapR Technologies ‐ Confidential
MapR = Apache Hadoop + Innovation
Apache HBase Table
JVM
HDFS FileFileFile Apache HBase Table
Linux ファイルシステムExt3/Ext4
JVM JVM
MapR‐FS FileFileFile MapR‐FS FileFileFileTable
ディスクデバイス
Ext3/Ext4
ディスクデバイス ディスクデバイス
その他のHadoopディストリビューション
10©MapR Technologies ‐ Confidential
MapR-FS: ランダムアクセスとNFSマウントが可能なファイルシステム
アーキテクチャ設計と再実装による性能向上Apahce Hadoop MapR
Java API Java API100%互換
J bT k HA
様々な追加機能
MapReduce MapReduce
Java API Java API
再設計• ランダムアクセス• 分散NameNode
• JobTracker HA• Direct Shuffle
HDFS MapR-FS再設計C/C++実装
• 分散NameNode• NFSアクセス• ボリューム• ミラーリング• スナップショットDFSIO性能MB/s • スナップショット
ハードウェアの限界性能を引き出すためのアーキテクチャ設計・再実装
DFSIO性能MB/s
• ビルトイン圧縮によるI/O削減• 分散NameNode
MapR
• RPC経由のShuffle転送• Java GCの影響の排除
10ノード, 2xクアッドコア, 24GBメモリ, 11x7200rpm SATA
11©MapR Technologies ‐ Confidential
MapRの⾼い信頼性単⼀障害点の完全な排除
分散NameNode JobTracker HA
MapRApache Hadoop アクティブなJobTracker
Name Node
Data Data
Data Node
HadoopHadoop
Hadoop Node NN
Hadoop Node NN
ノード2 ノード3 ノード4 ノード5ノード1
JobTracker サービス
Data Node
Data Node
Data Node
Data Node
HadoopNode NN
Hadoop Node NN
Hadoop Node NN
Hadoop Node NN
TaskTracker サービス
FileServer サ ビスData Node
Data Node
Hadoop Node NN
Hadoop Node NN
NameNode機能の分散配置による耐障害性 ビ 向上
JobTracker稼働ノードの障害でも中断
FileServer サービス
NFS サービス
耐障害性、スケーラビリティの向上 中断されるJob/Taskはない
12©MapR Technologies ‐ Confidential
システム管理機能の充実によるコスト削減NFS経由の効率的なデータ⼊出⼒ ボリューム活⽤によるマルチテナント運⽤
プマウントポイント: xx
MapR FS
Web サーバ アプリケーション
NFSマウント NFSマウント
MapReduceログ出⼒ 処理結果
ボリュームCボリュームC
ボリュームBボリュームB
ボリュームAボリュームA
ミラー設定
容量上限: xxレプリケーション数: x管理権限: xx xxx
xxx
NFSマウント NFSマウント
ログの出⼒を直接Hadoopファイルシステムにして中間ファイルサーバやデータ移動の⼿順を削減
ボリュ ムCボリュ ムC
「ボリューム」単位でファイルシステムを論理分割し、異なるポリシーを設定して運⽤管理を分離
ミラ 設定
スナップショットによるデータ喪失への備え クラスタ稼働状況の瞬時の把握と集中管理
⽉曜⽇の⽉曜⽇のスナップショッ
ボリューム
トスナップショッ
ト
ト
⽕曜⽇のスナップショッ
ト
最新版
⽔曜⽇の
ト
⽔曜⽇のスナップショッ
ト
差分更新
差分更新
使いやすいWeb管理画⾯と“Heat Map”表⽰、アラーム
最新版差分更新
スナップショットはHadoopファイルシステム内に作られ、差分のみを格納
13©MapR Technologies ‐ Confidential
MapR のミラーリング(バックアップ)
容易なバックアップ 災害対応容易なバックアップ、災害対応
効率的なバックアップ差分のみの更新
本番環境 開発環境
差分のみの更新 圧縮、およびチェックサムの上転送
管理 運⽤の容易性WAN
データセンター1 データセンター2 管理、運⽤の容易性 設定により定期的、またはオンデマ
ンドでバックアップ可能
データセンター1 データセンター2
本番環境
LAN/WAN経由、 バックアップ時点でのデータの⼀貫
性WANクラウド環境
14©MapR Technologies ‐ Confidential
ボリュームクラスタを構成するノードを論理的に束ねることで、ボリュームを構成することができます。
•各ボリュームはROOTボリュームを頂点とするファイルシステムの単⼀ネームス•各ボリュ ムはROOTボリュ ムを頂点とするファイルシステムの単 ネ ムスペースにマウントされます。
HDDHDDHDD HDDHDDHDD HDDHDDHDD HDDHDDHDD
ラック#1 ラック#2 ラック#3 ラック#4
/ (ROOT) HDDHDDHDD
HDDHDDHDD
HDDHDDHDD
HDDHDDHDD
HDDHDDHDD
HDDHDDHDD
HDDHDDHDD
HDDHDDHDD
HDDHDDHDD
HDDHDDHDD
HDDHDDHDD
HDDHDDHDD
/ (ROOT)
user/
/user/vol 1/HDDHDDHDD
HDDHDDHDD
SSDSSDSSD
HDDHDDHDD
HDDHDDHDD
SSDSSDSSD
HDDHDDHDD
HDDHDDHDD
SSDSSDSSD
HDDHDDHDD
HDDHDDHDD
SSDSSDSSD
vol_1/
fast/
/user/vol_1//fast/
•ボリューム機能の利点
SSDSSDSSD SSDSSDSSD SSDSSDSSD SSDSSDSSDfast/
•ボリューム毎にレプリケーション数、ユーザーアクセスコントロール、クォータ、スナップショット、ミラーリングの設定ができる。→マルチテナンシー•特定のデータを間接的に特定のノードに配置できる。→アクセススピードが求められるデータをSSDノードに格納する。
15©MapR Technologies ‐ Confidential
•使⽤状況に応じてボリューム毎にノードの拡張、縮退がオンラインのまま可能。
ファイル/チャンク/コンテナ
•MapRクラスタに格納するファイルは256MB(デフォルト)の“チャンク”に分解されます。•各チャンクは16GB(デフォルト)の“データコンテナ”に格納されます(各コンテナは複数のファ•各チャンクは16GB(デフォルト)の データコンテナ に格納されます(各コンテナは複数のファイルのチャンクを格納します)。•各コンテナはボリューム内で複数のノードにレプリケートされます。
ファイル: 256MB 256MB 256MB ・・・・・・・・・・・・・・・・・・・・・・・・・・・・チャンク チャンク チャンク
コンテナ: ・・・・・・・・・・・・・・・・・・・・・
ノード ノード ノード ノード
ボリューム:
16©MapR Technologies ‐ Confidential
CLDB (Container Location Database)CLDBはコンテナの位置情報を提供します。
•CLDBプロセスは複数のノードに常駐し、冗⻑構成します。これらのノードの⼀つにCLDBコンテナが作成され、他のCLDBプロセスノードにレプリケートされます。•CLDBコンテナにはクラスタ内のすべてのコンテナのノード情報が記録されます。CLDBプロセスはCLDBコンテナの内容をメモリにロードします。•各ボリュームにはネームコンテナが配置されます。ネームコンテナはボリューム内のファイルの位置情報が記録されます位置情報が記録されます。
ボリューム名→ネームコンテナID
CLDBコンテナ
ファイルパス
ネームコンテナ
コンテナID →•ノード#1•ノード#2•ノード#3
ァ↓
マウント先ボリューム名/データコンテナID
“/(ROOT)”ボリューム→ CLDB →ネームコンテナID/ノード/”/user/vol_1/test.data”→ ROOT:ネームコンテナ
“ /”ボリ ム ネ ム ンテナID/ノ ド/” l 1/t t d t ” ネ ナ
例:/user/vol_1/test.data のデータコンテナ解決
→“user/”ボリューム→ →ネームコンテナID/ノード/”vol_1/test.data”→ →
“vol_1/”ボリューム→ →データコンテナID→
user:ネームコンテナ
→ネームコンテナID/ノード/”test.data”→ Vol_1:ネームコンテナ
CLDB
CLDB
CLDB →ノード/データコンテナID/”test.data”→ データコンテナ
17©MapR Technologies ‐ Confidential
•クライアントはCLDB/ネームコンテナの検索結果を常にキャッシュします。
ネームノード vs. CLDB
CLDBCLDB
CLDB
CLDBコンテナ
Apache Hadoop MapR
ネ ムコンテナネ ムコンテナ
NameNode
ネ ムコンテナネームコンテナネームコンテナ ネームコンテナ
DataNode DataNode DataNode
ボリュームボリュームボリューム
データコンテナ データコンテナデータコンテナ データコンテナ データコンテナ データコンテナ
18©MapR Technologies ‐ Confidential
ネームノード・ボトルネックの解消
400 他のディストリビューションMapR 他のディストリ Advantage
150200250300350
イル生成/秒
他のディストリビュ ションMapR 他 ディ リビューション
Advantage
Rate (creates/s) 14‐16K 335‐360 40x
Scale (files) 6B 1.3M 4615x
16000
18000MapR
050
100
0 0.5 1 1.5
ファイ
百万ファイル
12000
14000
16000
成/秒
百万ファイル
6000
8000
10000
ファイル生成
2000
4000
6000
フ
他のディストリビューション
Benchmark: File creates (100B)Hardware: 10 nodes, 2 x 4 cores, 24 GB
19©MapR Technologies ‐ Confidential
00 1000 2000 3000 4000 5000 6000
百万ファイル0 100 200 400 600 800 1000 0 100 200 400 600 800 1000
RAM, 12 x 1 TB 7200 RPM
A h HB のア キテクチ と課題 Apache HBase のアーキテクチャと課題MapR とは?/MapR の優位点MapR M7 エディションまとめ
MapR FS FileFileFileTable
ディスクデバイス
MapR‐FS FileFileTable
ディスクデバイス
20©MapR Technologies ‐ Confidential
HBaseテーブルとファイルシステムの融合$ mount maprnode:/mapr /mapr$ cd /mapr/default/user/dave$ pwd
NFS マウントNFS マウント
/mapr/default/user/dave
$ lsfile1 file2 table1 table2file1 file2 table1 table2
$ hbase shellhbase(main):003:0> create '/user/dave/table3', 'cf1', 'cf2', 'cf3'0 row(s) in 0.1570 seconds
$ lsfile1 file2 table1 table2 table3file1 file2 table1 table2 table3
$ hadoop fs ‐ls /user/daveFound 5 items
Hadoop APIHadoop API
‐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/file2trwxr‐xr‐x 3 mapr mapr 2 2012‐09‐28 08:32 /user/dave/table1trwxr‐xr‐x 3 mapr mapr 2 2012‐09‐28 08:33 /user/dave/table2
21©MapR Technologies ‐ Confidential
trwxr xr x 3 mapr mapr 2 2012 09 28 08:33 /user/dave/table2trwxr‐xr‐x 3 mapr mapr 2 2012‐09‐28 08:38 /user/dave/table3
MapR プラットフォームの拡張
MapR%Distribu‐ on%forS) Pig
Hive
Flume
Oozie
HCatalog
MahoutMapR%Distribu‐ on%for
Apache%Hadoop
%System%(M
C
Cascading Sqoop Whirr
Map
R%Co
ntrol
MapReduce Apache%HBase
MapR%Data%Pla*orm%(MDP)
M HBase&API
HDFS%API
NFS%interface
HMaster、RegionServerは存在しない。
22©MapR Technologies ‐ Confidential
、 g は存在しな 。
複雑すぎるコンポーネント連携Apache HBaseのリージョン割り当て手順
23©MapR Technologies ‐ Confidential
Apache HBase HFile の構造それぞれのセルはキー・バリューペア(レコードではない)- カラムの数だけキーを繰り返す
64Kバイトのブ昇順にソ ト 64Kバイトのブロック単位で圧縮昇順にソート
されたキー・バリューペア
圧縮ブロックへのインデックスが付加される
24©MapR Technologies ‐ Confidential
HBase リージョンオペレーション
各HFileの典型的サイズは数GB~数⼗GB リージョンサーバはデータをメモリ上に保持しますが、
上限に達した時点で新しいHFileとしてディスクに書き出します出します
新
旧
当該リージョンのキーレンジ
25©MapR Technologies ‐ Confidential
HBase で増⼤するリードオペレーション
get/scanオペレーションでレコードを取得するには全てget/scanオペレ ションでレコ ドを取得するには全てのHFileを読み込む必要がある– スキーマレスなのでどこに必要なカラムがあるのかわからない
新
旧旧
26©MapR Technologies ‐ Confidential
HFile のコンパクション
データ読み込み時間を短縮するためにHBaseは定期的に複数のHFileをひとつのHFileに統合します– デフォルトではHFileが⼀定数に達した時点で⾃動的に実⾏され
るる– コンパクション中はディスクI/Oストームが発⽣し、パフォー
マンスが著しく低下する週末に⼿動実⾏?– 週末に⼿動実⾏?
コンパクションはすべてのHFileを読込んでひとつのファイルに書き出します。
27©MapR Technologies ‐ Confidential
なぜコンパクションが必要なのか?
HDFSHDFS– Map/Reduce バッチ処理を想定したファイルシステム– ⼤きなファイルに順次アクセスする
ク ズ済み フ イルに書き込む とは きな– クローズ済みのファイルに書き込むことはできない
MapR-FS– ランダムアクセスが可能
ファイルサイズを問わない– ファイルサイズを問わない– クローズ済みのファイルに編集・追記が可能
28©MapR Technologies ‐ Confidential
A h HB のア キテクチ と課題 Apache HBase のアーキテクチャと課題MapR とは?/MapR の優位点MapR M7 エディションまとめ
29©MapR Technologies ‐ Confidential
企業ユーザが求めるクオリティの実現
信頼性信頼性
⾼速性⾼速性
運⽤性
30©MapR Technologies ‐ Confidential
企業ユーザが求めるクオリティの実現
信頼性分散ネームノード(CLDB)
信頼性 ランダムアクセス可能なMapR-FS
⾼速性コンパクションの排除
NFSアクセス
⾼速性スナップショット・ミラーリング
コンパクションの排除
HMaster、RegionServerの排除
運⽤性 ボリューム定義/管理
真のスケーラビリティ
31©MapR Technologies ‐ Confidential
真のスケ ラビリティ
Apache HBase との⽐較
MapR M7 Apache HBaseMapR M7 Apache HBaseファイル/テーブル・ネームスペースの統合
〇 X
ク タ制御 〇クォータ制御 〇 X
データ配置制御 〇 X
ネットワークトラフィックの圧縮 〇 Xネットワ クトラフィックの圧縮 〇 X
特定ストレージの割当 〇SSDノードへの明示的な割当
X
スナ プシ ト 〇 Xスナップショット 〇 X
ミラーリング 〇 X
コンパクションの排除 〇 Xコンパクションの排除 〇 X
オンラインアップグレード 〇 X
32©MapR Technologies ‐ Confidential
Apache HBase の制限事項の排除
MapR M7 Apache HBaseMapR M7 Apache HBase
テーブル数 数十億 100
ノード数 10,000 数百
カラムファミリ数 64 3
33©MapR Technologies ‐ Confidential
M7 vs. CDH: 50-50 load (read latency)
CDH
MapR
35©MapR Technologies ‐ Confidential
p
M7 vs. CDH: 50-50 Mix (Reads)
MapR:スループット
CDH:レイテンシ
CDH:スループット
イテ シ
36©MapR Technologies ‐ Confidential
MapR:レイテンシ
M7 vs. CDH: 50‐50 Mix (Updates)
MapR:スループット
CDH:レイテンシ
CDH:スループット
37©MapR Technologies ‐ Confidential
MapR:レイテンシ
ベンチマーク結果ベンチマ ク結果
38©MapR Technologies ‐ Confidential
ベンチマーク結果
39©MapR Technologies ‐ Confidential
Apache Drill
Drill 概要⾼速かつインタラクティブなクエリ の実⾏– ⾼速かつインタラクティブなクエリーの実⾏
– 標準ANSI SQLのサポート– Google Dremelをベースの開発
オープンソース– ⽶国、ヨーロッパから数百⼈が開発に参加– コミュニティーの中で開発する機能、APIについて確認済み– ⼀部のコンポーネントは既に開発済み– Simba Technologies – ODBC 開発元がDrill⽤のODBCドライバーを開発– OpenDremel チームがコードをApache Drillに統合
スケジュ ル(予定) スケジュール(予定)– 2013年9⽉ α版リリース– 2013年12⽉ β
40©MapR Technologies ‐ Confidential
MapR: Apache Hadoop ディストリビューション
Ecoシステムも含めたHadoop完全パッケージ EcoシステムについてもMapR内で検証の上、製品パッケージとして提供 EcoシステムについてもMapR内で検証の上、製品パッケ ジとして提供 EcoシステムのパッチもMapRから提供 100%標準Hadoopインターフェイス エンタープライズ向け⾼信頼性 柔軟なファイルシステム
⾼パフォ マンス ⾼パフォーマンス
41©MapR Technologies ‐ Confidential