TPCが設定したビッグデータ向けベンチマークテストは、非構造化データや半構造化データの処理、機械学習まで性能測定の対象 [PR]
「TPC」(Transaction Processing Performance Council:トランザクション処理性能評議会)といえば、データベースの性能を計測するさまざまなベンチマークテストを策定し発表しているベンダニュートラルな団体として、多くのITエンジニアに知られているでしょう。
そのベンチマークテストは事実上の標準として受け入れられ、多くのベンダやユーザーが製品の向上や選択のために参照し活用しています。
TPCが公開しているベンチマークには、オンライントランザクション処理(OLTP)性能を計測する「TPC-C」や「TPC-E」だけでなく、大規模データ分析によるデシジョンサポートのためのデータベース性能を計測する「TPC-H」「TPC-DS」「TPC-DI」などもあり、データベースの新たな構成や用途に応じて新たなベンチマークがいまも開発されています。
そして最近、TPCのベンチマークテストに新たに加わったのが、いわゆるビッグデータと呼ばれる大量のデータを分析することを主な目的としたデータ処理基盤のためのベンチマークテストです。それが「TPCx-HS」と「TPCx-BB」です。
この2つのビッグデータ向け処理基盤のベンチマークとはどのようなものか、その概要を見てみましょう。
TPCx-HSはソート処理のベンチマーク
TPCx-HS(TPC Express Benchmark HS)は、2014年8月に発表された、TPCによる最初のビッグデータ向けベンチマークテストです。HadoopのベンチマークテストであるTeraSort MapReduceベンチマークを元にしているため、対象とするのはHadoop、すなわちHadoopファイルシステムAPIおよびMapReduceを備えたシステムです。
TPCx-HSはテストデータを生成する「HSGen」、生成されたデータを確認する「HSDataChek」、ベンチマーク本体となるソート処理を実行する「HSSort」、結果のチェックを行う「HSValidate」などで構成されています。
この構成から分かるように、TPCx-HSベンチマークで主に測定されるのは、Hadoopによる大規模データのソート処理の性能だといえます。
ベンチマークを行う際には、あらかじめ処理するデータの大きさを「Scale Factor」として決めておきます。Scale Factorには、1TB、3TB、10TB、30tB、1000TB、30000TB、10000TBなどの選択肢があります。
ベンチマークの対象となるハードウェア、ソフトウェアや関連コンポーネントはすべて製品として一般に入手可能でなければならず、また2つの処理のあいだ、ベンチマーク対象となるハードウェア、ソフトウェアのコンフィグレーションを変えることは許されていないなど、ベンチマークはあらかじめ決められた制約下で行われなければなりません。
ベンチマークの結果はScale Factorごとに表されます。スループットを表す「HSph@SF」、価格性能比を表す「$/HSph@SF」、そしてTPC-Energyオプションを選んだ場合には電力当たりの性能を示す「Watts/HSph@SF」も示されます。
機械学習や非構造化データまで含めたTPCx-HS
TPCx-HSベンチマークよりもさらに本格的なビッグデータ処理系のベンチマークとして最近登場したのがTPCx-BB(TPC Express BigBench)です。
TPCx-BBはもともと、インテルやClouderaをはじめとするベンダが開発したビッグデータ処理系向けのベンチマークテスト「BigBench」を、TPCが取り入れたもの。
その特徴は、現実的なビッグデータ処理に近づけるためにeコマースサイトにおけるデータ処理というシナリオに基づき、商品アイテムや顧客一覧、売り上げデータなど、数値や文字列からなる「構造化データ」(Structured Data)だけでなく、商品レビューのようなテキストデータからなる「非構造化データ」(Unstructured Data)、そしてWebサーバのログからなる「半構造化データ」(Semi-Structured Data)の3つの種類のデータをカバーし、それぞれに関連する30種類もの多様なクエリが含まれている点にあります。
例えば、特定の商品アイテムと一緒に売れた商品のトップ100を求める「Query01」、ショッピングカートに入ったものの購入されなかったケースでユーザーが平均でいくつのWebページを閲覧したかを求める「Query04」、レビューの中からポジティブあるいはネガティブな表現のセンテンスをすべて抜き出す「Query10」などが含まれています。
クエリを実行するには、Hiveや機械学習ライブラリなど、HadoopやSparkなどのエコシステムを活用されることが想定されています。
TPCx-BBの結果もTPCx-HSと同じように、性能だけでなく、価格性能比や電力性能比などが算出されます。
ベンダニュートラルなTPCベンチマークの活用を
よく知られているように、TPCはベンチマークの結果を公開しています。ここではTPCx-HSの性能順の結果を見てみましょう。
例えばもし、Scale Factorが小さいケースでは高速でもScale Factorが大きくなると性能が落ちるようなシステムがあれば、そこにスケーラビリティの課題を見ることができるでしょうし、同一ベンダでScale Factorごとに価格性能比を追っていくと、将来システムが増大したときの見積もりが想像できるかもしれません。
また性能順だけでなく、価格性能比順、電力性能比順のランキングも公開されているので、多面的な性能を把握できます。
そしてベンチマークを実行するために実際にどの製品を組み合わせ、どのような構成で実行したか、その詳細は「Full disclosure Report」として公開されています。ベンチマークで徹底的によい値を出すために、ベンダがどのような構成を採用したのか、参考になるはずです。
ビッグデータのための処理系は必然的に投資額が大きくなります。一方で規模が大きいためにフィージビリティテストを行うことも容易ではありません。そんな課題に対して、ベンダニュートラルなTPCのベンチマークテストの結果は、ベンダやシステムごとの性能、価格性能比、スケーラビリティの参考情報として一定の価値を持つのではないでしょうか。
(本記事はシスコシステムズ提供のタイアップ記事です)
あわせて読みたい
React Native用の統合開発環境「Deco IDE」、オープンソースで公開
≪前の記事
Ansible 2.1が登場。Docker Compose対応、Windows対応強化、40機種以上のネットワーク機器対応が正式版に