TPC-C

OLTPシステムのパフォーマンスを比較するために使用されるベンチマーク
試験室でのTPC-C測定( 2008年頃)

TPC-C (Transaction Processing Performance Council Benchmark Cの略)は、オンライントランザクション処理(OLTP)システムのパフォーマンスを比較するために使用されるベンチマークです。この業界標準は1992年8月に公開され、最終的には1995年に廃止が宣言された以前のTPC-Aに取って代わりました。コンピュータのパフォーマンスが数桁向上するにつれて TPC-Cは妥当性を維持するために多くの変更が加えられ、2021年現在の最新バージョンは2010年にリリースされた5.11です。2006年には、より新しいOLTPベンチマークであるTPC-Eがスイートに追加されましたが、TPC-Cは依然として広く使用されています。 [アップデート]

TPC-Cシステムは、複数倉庫を擁する卸売業をモデル化し、これを単に「会社」と呼びます。最小限のテストでは、会社は10の倉庫を所有し、各倉庫には10台のユーザー端末が設置されています。各倉庫は10の特定の販売地区にサービスを提供し、各地区には3,000人の顧客がおり、彼らは10万点の商品カタログに対して注文を行っています。最も頻繁に発生するトランザクションは、顧客からの注文(平均10点の商品を含む)と顧客からの支払です。頻度の低いリクエストは、注文状況や倉庫在庫の照会、注文の出荷、在庫不足の補充などです。特定のシステムのパフォーマンスをテストするために、目標とするパフォーマンスレベルを測定するために必要な最小数を満たすように倉庫の数を増やします。[1]

ベンチマークの結果は、1分あたりのトランザクション数(tpmC)で測定されます。最初のtpmCの結果は1992年9月にIBM AS/400で発表され、54tpmCという結果が出ました。2000年代になると、ハイエンドマシンの平均結果は240万tpmCとなり、企業は記録更新を目指して大規模システムを構築するようになりました。現在の記録は2020年にクラウドコンピューティングで樹立され、7億730万tpmCを記録しました。小規模なオンプレミスシステムにおける最近の成果は、tpmCあたりのコスト削減に重点を置いています。

IBMはTPC-Cを改良し、社内使用向けに「 Commercial Processing Workload」と呼ばれる簡易版を作成しました。同様の変換は一般的ですが、各社以外ではあまり知られていません。

歴史

過去の仕事

Oracleのようなリレーショナルデータベースの登場により、業界内ではリレーショナルモデルと従来のCODASYL概念の間で議論が巻き起こりました。こうした議論から、現実的なパフォーマンス推定値を提供したいという要望が生まれました。1985年、タンデム・コンピューターズジム・グレイは、現在「Anon et.al.」として知られる論文を共同執筆し、DebitCreditという潜在的な標準の概要を示しました。[2]

このシステムには多くの変更や比較が行われ、その結果、1988年6月にトム・ソーヤーとオムリ・セルリンがシステムの標準化と新バージョン公開に取り組むことになりました。[3]このバージョンの公開とその使用に関する継続的な論争を受けて、1988年8月にトランザクション処理パフォーマンス協議会(TPC)という業界コンソーシアムが設立され、これらの作業を引き継いで正式な業界標準を作成することになりました。[4]

TPCは、DebitCreditをベースに完全なACID特性を追加した、初の業界標準ベンチマーク「TPC-A」を作成した。その他の要件は主に組織的なものであり、結果を提出するには、システムとテストの詳細をすべて提供しなければならず、第三者による監査の実施が推奨された。また、価格情報には5年間の保守契約を含める必要があった。その後まもなく、関連するベンチマーク「TPC-B」がリリースされたが、これは端末入力のエミュレーションではなくバッチ入力を使用するという点で大きく異なっていた。[5]

注文入力

1992年にパリで開催されたTPC-C小委員会でバージョン1.0のリリースを祝う

TPC-Aが最終決定された頃、Digital Equipment Corporation (DEC) は新しい分散データベースシステムであるRdbStarの開発に取り組んでいました。この開発がきっかけとなり、新しいデータベースシステムの性能を測定するための新しいベンチマークが開発されました。RdbStarの性能チームは、Wisconsinベンチマーク、AS3AP、Set Query Benchmarkなど、TPC以前の既存のベンチマークを多数調査しました。また、DECのヨーロッパ支社の顧客への聞き取り調査から得られた実際のデータベース使用事例も検証しました。最終的に、オースティンに拠点を置くMicroelectronics and Computer Consortiumが倉庫業務をシミュレートした未公開のワークロードのコンポーネントを選択しました。チームはこのワークロードを、Order-Entryと呼ばれる独自のベンチマークのベースとして使用しました。[6]

1990年8月にTPC-Bが公開された時点では、既にDebit/Creditが単純すぎて典型的なワークロードをモデル化していないのではないかという懸念がありました。11月には、業界に新たなベンチマークを提供するよう呼びかける新たな取り組みが開始されました。IBMRAMP-Cを、DECはOrder-Entryを提案しました。DECの提案が採用され、その主要著者であるFrancois Raabが標準化作業の技術リーダーに任命されました。[6]この取り組みは18ヶ月間続き、1992年8月13日にTPC-Cバージョン1.0がリリースされました。[7]

リリース後

TPC-Cベンチマーク仕様は、その後数年間にわたり、いくつかの小さな改訂を経ました。1993年6月の改訂1.1では、一部の文言が明確化され、テスト対象システムの顧客側での価格設定が義務付けられました。1993年10月の改訂2.0では、様々な報告要件が変更され、ベンチマーク固有の機能拡張を除外する文言が追加されました。1996年2月の改訂3.0では、トランザクション追跡、画像追加用の新フィールド(最終的には使用されませんでした)が追加され、端末がシステム価格から除外されました。この段階では、サーバーのコストが十分に低下し、端末のコストがシステム価格に占める割合が大きくなりすぎていたためです。[7]

ベンチマークは、クライアントサーバーモデルのような新しいコンピューティングアーキテクチャの出現に対応し、テスト手順の適切な実行と必要なレポートを管理するルールを明確にするために進化し続けました。最も重要な変更は2000年に行われ、保守価格が5年から3年に、8時間稼働の5日間(5x8)から24時間稼働の7日間(7x24)に変更され、測定期間が8時間から2時間に短縮され、アーカイブスペースの要件が3分の1に削減されました。これら3つの主要な変更は、2001年2月26日にバージョン5.0としてリリースされました。その後、ベンチマーク仕様に記載されているさまざまな要件の明確化を含む、マイナーな変更が行われました。2021年現在[アップデート]、最新の改訂版は2010年2月11日に公開された5.11です。[8]

新しいベンチマークの最初の結果は1992年9月に54 tpmCと発表されました。 [9]それ以来、TPC-Cの記録はムーアの法則にほぼ正確に従って時間とともに増加しました。初期の結果は数十でしたが、1年後には数百になり、1998年1月には記録は52,871に達しました。[9] 2010年までにこれは百万の範囲に達しました。2000年代には、記録を破るためのコストが大幅に増加したため、記録の数は減少しました。この期間中、マイクロソフトは新しいTPC-Eベンチマークに目を向け、オラクルは巨大なシステムを構築し、他社が追いつけないような記録を繰り返し樹立しました。[10]

この時点以降の記録挑戦は、2010年代後半にクラウドコンピューティングが台頭するまでは比較的少なかった。現在の記録保持者は、アリババを支えるOceanBaseを擁するAnt Financialである。2019年8月、同社は6000万件強という記録を樹立した。これは、2013年にOracleが800万件という記録を樹立して以来の試みであった。Oracleの記録は単一のワークステーション上で達成されたのに対し、Antの記録は完全なコンピューティングファームを必要としたことを指摘する向きもあった。こうした不満を払拭するため、2020年5月、Antは7億700万件という新たな記録を発表した。この記録は今日まで破られていない。[11]

説明

TPC-Cは、DECがTPCに提示した受注入力ワークロードに基づいています。以前のTPC-Aベンチマークは、単純な借方/貸方記帳システムの操作に一致するデータベース更新に主に焦点を当てていましたが、これは実際の使用パターンとは一致していませんでした。実稼働ワークロードのサンプルでは、​​実際のパターンをより適切に再現するには、更新と読み取り専用操作を散りばめたより複雑な挿入操作の組み合わせが必要であることが示されました。さらに、TPC-Aデータベースはそれほど複雑ではありませんでした。実際のシステムでは、データはより多様なサイズと複雑さを持つ、より多くのテーブルに分散されていました。[12]

TPC-Cは、合計9つのテーブルを持つデータベーススキーマを使用します。この構造は主にWarehouseテーブルによって駆動され、このテーブルにはWで示される倉庫エントリが含まれます。Wの最小値は10で、テスト対象システムの飽和レベルに合わせてWをスケーリング係数として増加させる必要があります。報告されるパフォーマンスメトリックは12.86 x Wを超えることはできません。[1]すべての倉庫は同じカタログの商品在庫を保管しています。Itemテーブルには100,000行、StockテーブルにはW x 100,000行が含まれます。スキーマの2番目のブランチはDistrictsで、各Warehouseに10個のエントリがあります。Districtsには顧客がおり、Districtごとに3,000人がいます。顧客は注文ごとに5~15の注文明細行を含む注文を生成します。つまり、Order-Lineテーブルは最大のテーブルであり、約W(倉庫数)×3000(顧客数)×10(初回注文数)×10(注文明細数)=W×300,000エントリを有します。注文を処理するプロセスは、1つ以上の倉庫に関連付けられたStockエントリと連携します。[13]

このアクティビティは、W x 10台の仮想端末が半ランダムな方式に従ってトランザクションを入力する一連の処理で構成されます。主要なトランザクションは新規注文で、1件の注文が作成されます。各注文は、1件の支払いトランザクションと1件の配送トランザクションを生成します。10件の新規注文トランザクションごとに、1件の注文状況トランザクションと1件の在庫レベルトランザクションが生成されます。「リモート端末エミュレータ」(RTE)は、ユーザーのデータ入力、入力遅延、フィールド間およびトランザクション間の遅延をシミュレートするようにプログラムされています。RTEはまた、ユーザーが各トランザクションを要求してから完了するまでの時間、つまり応答時間も記録します。1分間に実行される新規注文トランザクションの速度はtpmC値(1分あたりのトランザクション数C)として報告され、ベンチマークの主要なパフォーマンス指標となります。[12]

初期の結果では、TPC-Aと比較して、TPC-Cのワークロードは約10倍複雑であることが示されました。TPC-Cの1分あたりのトランザクション数の結果には、5種類のトランザクションのうち1種類(全体の44%)しか含まれていませんが、TPC-Aは1秒あたりのトランザクション数で測定され、すべてのトランザクションが含まれています。つまり、秒から分への変換のために60を、含まれるトランザクションのサブセットを考慮して2.3を掛けるなど、何らかの変換を行わない限り、2つの数値を直接比較することはできません。IBM RS/6000 Model 570という単一のマシンを例に挙げると、TPC-Aは129 tpsAを返しますが、TPC-Cは365.45 tpmCを返します。tpmCに2.3を掛け、60で割ってtpsAに変換すると、結果は13.5となり、パフォーマンスの差は約9.5倍になります。[14]

TPC-C結果の提出には、テスト対象構成の詳細な価格開示も求められます。これには、3年間の24時間365日対応のハードウェアおよびソフトウェア保守が含まれます。価格設定されたシステムには、システム本体だけでなく、提示されたtpmCレートで60日間システムを稼働させて生成されるデータを保持できる十分なストレージも含まれる必要があります。理論上、tpmCが1の場合、履歴に252KB、注文に133KB、注文明細に1325KBのエントリが生成されます。[15]システム全体の価格と測定されたtpmCを組み合わせることで、価格性能比が算出されます。公開された結果の中には、可能な限り高いtpmCを生み出すことを目指したものもありましたが、より多くの公開結果は、競争力のある価格性能比カテゴリーでトップの座を目指しており、時には比較的低いtpmCを実現しています。[14]

ベンチマークは通常、主要コンポーネント(データベースシステム、バックエンドサーバーなど)のベンダーによって実行され、システム構成、セットアップ、テスト条件、収集されたすべての結果に関する完全な詳細を含む開示レポートを提出する必要があります。[16]ベンチマークの実装全体、すべてのテスト手順、測定結果、システムの価格設定、および開示レポートは、TPCによって認定された独立監査人によって検証される必要があります。[17]

参考文献

引用

  1. ^ TPC 2010、64ページより。
  2. ^ セルリン1991、20~21頁。
  3. ^ セルリン1991、20ページ。
  4. ^ セルリン1991、21~22頁。
  5. ^ セルリン1991、21–30ページ。
  6. ^ ab チェン、ラーブ、カッツ、p. 3.1.
  7. ^ ab Raab 1998、3.3.2ページ。
  8. ^ TPC 2010、3ページ。
  9. ^ Shanley 1998より。
  10. ^ ナンビア&ポエス 2011、p. 117.
  11. ^ Ant 2020.
  12. ^ ab Raab、Kohler、Shah。
  13. ^ Weversら2015年、7ページ。
  14. ^ ab Raab 1998、3.2ページ。
  15. ^ ラーブ 1998、3.1ページ。
  16. ^ TPC 2010、93–104ページ。
  17. ^ TPC 2010、105–109ページ。

参考文献

  • セルリン、オムリ (1991). 「デビットクレジットとTPCの歴史」.データベースおよびトランザクション処理システムのベンチマークハンドブック. M. カウフマン出版社. pp.  19– 38. CiteSeerX  10.1.1.90.6123 . ISBN 9781558601598
  • Chen, Yanpei; Raab, Francois; Katz, Randy. TPC-Cからビッグデータベンチマークへ:機能的ワークロードモデル. ビッグデータベンチマークに関するワークショップ. pp.  28– 43. doi :10.1007/978-3-642-53974-9_4.
  • ナンビア、ラグナス、ポエス、マイクル (2011). 「トランザクションパフォーマンス vs. ムーアの法則:トレンド分析」.コンピュータサイエンス講義ノート. コンピュータサイエンス講義ノート. 第6417巻. シュプリンガー出版社. pp.  110– 120.書誌コード:2011LNCS.6417..110N. doi :10.1007/978-3-642-18206-8_9. ISBN 978-3-642-18205-1
  • TPCベンチマークC リビジョン5.11 (PDF) (技術レポート). トランザクション処理パフォーマンス評議会. 2010年2月.
  • Shanley, Kim (1998年2月). 「TPCの起源と最初の10年間」. Transaction Processing Performance Council .
  • Raab, Francois; Kohler, Walt; Shah, Amitabh. 「TPC-Cベンチマークの概要:注文入力ベンチマーク」。トランザクション処理パフォーマンス評議会
  • ラーブ、フランソワ (1998). グレイ、ジム (編). ベンチマークハンドブック(PDF) .
  • モーガン、ティモシー・プリケット(2009年9月29日)「TPC、ベンチマークの主張でOracleを痛烈に批判」The Register誌
  • 「TPC-C」。Cockroach Labs
  • Wevers, Lesley; Hofstra, Matthijs; Tammens, Menno; Van Keulen, Maurice (2015年1月). オンライン非ブロッキングスキーマ変換のベンチマーク. 第4回国際データ管理技術・アプリケーション会議. doi :10.5220/0005500202880298.
  • 「OceanBaseがTPC-Cの記録を更新:Ant Financialの専門家との対話」Alibaba Cloud . 2020年6月5日
「https://en.wikipedia.org/w/index.php?title=TPC-C&oldid=1319543009」から取得