CDH5からCDH6にアップグレードするHBaseのお客様は、HBase1からHBase2に移行するHBaseアップグレードも取得します。パフォーマンスは、お客様が考慮する重要な側面です。 YCSBワークロードを使用してCDH5HBase1とCDH6HBase2のパフォーマンスを測定し、インプレースアップグレード(ハードウェアに変更なし)を行っているお客様に対するアップグレードのパフォーマンスへの影響を理解しました。
YCSBについて
テストには、 Yahoo!クラウドサービングベンチマーク (YCSB)。 YCSBは、コンピュータープログラムの取得および保守機能を評価するためのオープンソース仕様およびプログラムスイートです。これは、NoSQLデータベース管理システムの相対的なパフォーマンスを比較するためによく使用されます。
オリジナルのベンチマークは、Yahoo!の研究部門の労働者によって開発されました。 2010年にリリースした人。
YCSBの詳細 https://github.com/brianfrankcooper/YCSB
テスト環境では、YCSB @ 1TBデータスケールが使用され、実行ワークロードにはYCSBデフォルトワークロードとカスタマイズされたワークロードが含まれていました。
使用したYCSBテストワークロード:
- ワークロードA(読み取り+更新) :アプリケーション例:ユーザーセッションでの最近のアクションを記録するセッションストア
- 50%読む
- 50%更新
- ワークロードC(読み取り専用) :アプリケーション例:プロファイルが他の場所(Hadoopなど)で構築されているユーザープロファイルキャッシュを読み取ります
- 100%読む
- ワークロードF(読み取り+変更+書き込み) :アプリケーション例:ユーザーデータベース。ユーザーがユーザーレコードを読み取って変更したり、ユーザーアクティビティを記録したりします
- 50%読む
- 25%更新
- 25%READ-MODIFY-WRITE
- ClouderaカスタムYCSBワークロードの更新のみ :アプリケーション例:一括更新
- 100%UPDATE操作
YCSBワークロードの詳細については、https://github.com/brianfrankcooper/YCSB/wiki/Core-Workloadsをご覧ください
テスト方法
YCSBデータセットに1000,000,000レコードをロードし、各レコードのサイズは1KBで、合計1TBのデータを作成します。ロード後、すべての圧縮操作が完了するのを待ってから、ワークロードテストを開始します。テストされた各ワークロードは、それぞれ15分間で3回実行され、スループットは * 測定。平均数は、最終的な数を生成するために3つのテストから取得されます。
* スループット(ops / sec)=1秒あたりの操作数
YCSBを使用したCDH5HBase1とCDH6HBase2のスループット比較
カスタム更新のみのスループット
更新のみ 。 ユースケース:一括更新
CDH6 HBase2スループットはCDH5HBase1より50%高い
YCSBワークロードAスループット
大量の更新。 ユースケース:セッションストア、最近のアクションの記録
CDH6 HBase2スループットはHBase1を使用したCDH5より6%少ない
YCSBワークロードCスループット
読み取り専用。 ユースケース:ユーザープロファイルキャッシュ、ニュースフィードキャッシュ
CDH6 HBase2スループットはCDH5HBase1より5%少ない
YCSBワークロードFスループット
読み取り-変更-書き込み。 ユースケース:アクティビティストア、ユーザーデータベース
CDH5HBase1に非常に近いCDH6HBase2スループット
テスト結果の概要
カスタムアップデートのみ 作業負荷 : HBase2CDH6アップデートのみのワークロードのパフォーマンスが50%向上 HBase1CDH5より
YCSBワークロードFワークロード: CDH6YCSBワークロードFのワークロード操作とスループットは非常に類似していた CDH5HBase1へ
YCSBワークロードAおよびYCSBワークロードCワークロード: CDH6 YCSBワークロードCは読み取り専用で、YCSBワークロードAは約 5%少ない CDH5HBase1よりも操作とスループット
CDHバージョンの比較
CDH6バージョン:Cloudera Enterprise 6.2
CDH5バージョン:Cloudera Enterprise 5.16.2
Java VM名:Java HotSpot(TM)64ビットサーバーVM
Javaバージョン:1.8.0_141
テスト環境
使用されるクラスター: 6ノードクラスター
ノードの説明: Dell PowerEdge R430、20c / 40t Xenon e5-2630 v4 @ 2.2Ghz、128GB RAM、4-2TBディスク
テストセットアップ
- YCSBバージョン:0.14.0
- YCSBバインディングバージョンhbase20
- YCSBテーブル@1TBスケール
- WAL構成
- WALパイプラインのRegionServerあたりの数( wal.regiongrouping.numgroups )1に設定
- マルチウォルマート: wal.provider 複数のHDFSWALに設定
- 注->ここでは、WALパイプラインとして使用される単一のWALが1に設定されています
- 非同期WAL: region.replica.replication.enabled falseに設定
- セキュリティ: 構成なし(Kerberosなし)
- リージョンサーバー
- YCSBテーブル250のリージョン数、5+1ノードクラスターのリージョンサーバーあたり約50リージョン
- リージョンサーバーの平均サイズ290G
- 地域ごとのデータ〜6G
- 3GBのキャッシュサイズ制限で使用されるLruBlockCacheを備えたL1キャッシュのみ
私たちのテスト(上記の結果)に基づくと、CDH 5.xから6.xへのアップグレードを検討しているお客様は、現在得られているものと比較して、一括更新のパフォーマンスが大幅に向上し、他のワークロードのパフォーマンスもほぼ同じになると期待する必要があります。
ClouderaオペレーショナルDBの詳細はこちら