[2021年1月20日の記事です]

※本ページは、”Introducing Exadata X8M: In-Memory Performance with All the Benefits of Shared Storage for both OLTP and Analytics“(blogs.oracle.com/exadata/exadata-x8m)の翻訳です

Oracle Exadata Database Machine X8Mは、Larry EllisonによってOracle OpenWorldで発表されました(リンクにご注目ください)。Exadata X8の最先端のハードウェアとソフトウェアに基づいて構築された、Exadata X8Mファミリは、2つの新しい最先端テクノロジーを採用しています。

  • RDMA over Converged Ethernet(RoCE)ネットワーク・ファブリック。100Gb/秒のRDMAを利用可能
  • 永続メモリー、新しい共有ストレージ層へのアクセラレーションの追加

Exadata X8Mは、記録破りのパフォーマンスを提供し、19マイクロ秒未満で1,600万のOLTP読み取りIOPS(8K I/O)とOLTP I/Oレイテンシーを達成します。これは、新しいコンポーネントによるものだけではありません。共同設計されたソフトウェア拡張機能と統合された新しいテクノロジーを組み込むためにアーキテクチャを進化させるExadataの機能は、個々のコンポーネントのテクノロジーの価値を高めています。Exadata X8Mでは、データベースのI/Oを意識したプロトコルとソフトウェアを使用して、より高速なRDMA通信(RoCE経由)と新しい永続メモリー層によってデータベースが高速化されます。

RDMA over Converged Ethernet(RoCE)ネットワーク・ファブリック
リモート・ダイレクト・メモリ・アクセス(RDMA)は、1台のコンピューターがOSやCPUの関与なしにリモート・コンピューターからデータにアクセスする機能です。RDMAアクセスの場合、ネットワーク・カードは、余分なコピーやバッファリングなしでメモリーを直接読み取り/書き込みすることができるため、待ち時間が非常に短くなります。RDMAはInfiniBandとともにExadataに導入され、Exadataの高性能アーキテクチャの基本的な部分です。RDMAは、Direct-to-WireProtocolやSmart Fusion Block Transferなど、いくつかの独自のExadata機能を有効にします。
RDMA over Converged Ethernet(RoCE)は、オープンコンソーシアムによって定義され、オープンソースで開発され、Linux Upstreamで維持されているプロトコルのセットです。RoCEのプロトコルにより、InfiniBand RDMAソフトウェアをイーサネット上で実行できます。これにより、同じソフトウェアをネットワーク・プロトコル・スタックの上位レベルで使用しながら、イーサネットを介してInfiniBandパケットを下位レベルのUDP over IPとして転送できます。APIインフラストラクチャはInfiniBandとイーサネット間で共有されるため、Exadataでの10年以上のパフォーマンス・エンジニアリングを含め、既存のInfiniBand RDMAのすべての利点をRoCEでも利用できます。

図1 Exadata X8M共有ネットワークの遺産

Exadata RoCE ネットワーク・ファブリックは、メッセージのタイプごとにトラフィックの透過的な優先順位付けを提供し、最小の遅延を必要とする重要なメッセージに対して最高のパフォーマンスを保証します。クラスタ・ハートビート、トランザクション・コミット、キャッシュ・フュージョンなどの低遅延メッセージは、スループットの高いメッセージ(バックアップ、レポート、バッチ・メッセージなど)によって遅くなることはありません。 
Exadata RoCE ネットワークは、コストのかかる再送信なしで最初の試行でパケットが配信されるようにすることで、通信を最適化します。Exadata RoCEは、RoCEプロトコルを利用してトラフィック・フローを管理し、受信者のバッファがいっぱいになった場合に送信者に速度を落とすように要求することで、パケット・ドロップを回避します。
Exadata X8Mは、スマートなExadata System Software 19.3.0を通じて、サーバーの障害を即座に検出することにより、障害によるデータベースのストールを実質的に排除します。サーバー障害の検出には通常、クラスタからの誤ったサーバーの削除を回避するために長いタイムアウトが必要ですが、サーバー障害と、CPUのビジーによるハートビートへの応答の遅さを区別するのは困難です。Exadata X8M Instant Failure Detectionは、ハードウェア・ベースのRDMAを使用してサーバーの応答を迅速に確認するため、OSまたはCPUの応答時間の影響を受けません。4つのRDMA読み取りが、送信元/ターゲットポートのすべての組み合わせで疑わしいサーバーに送信されます。4つの読み取りすべてが失敗した場合、サーバーはクラスタから削除されます。ポートが応答する場合、ソフトウェアが低速であっても、ハードウェアは使用可能です。

図2 Exadata X8Mの即時障害検出

永続メモリーによるアクセラレーション
永続メモリーは新しいシリコンテクノロジーであり、DRAMとフラッシュの間にパフォーマンス、容量、価格の明確なストレージ層を追加します。Exadata X8Mリリースでは、1.5TBの永続メモリーがストレージ・サーバーHigh Capacity モデルおよびExtreme Flashモデルに追加搭載されています。永続メモリーは、メモリ・アクセスに近い速度での読み取りを可能にし、発生する可能性のある電源障害の際も書き込みを保証します。

スマートなExadata System Softwareは、新しいRoCE 100Gb/s ネットワーク・ファブリックと組み合わせて、新たに特別に開発されたデータとコミットアクセラレータを介してリモートのストレージ・サーバー上の永続メモリーの利点を十分に活用できます。

永続メモリー・データ・アクセラレータ
Exadata X8M Storage Serverは、フラッシュ・メモリーの前に永続メモリーを透過的に組み込みます。これにより、Oracle Databaseが通常のI/Oの代わりにRDMAを使用してリモートのストレージ・サーバーの永続メモリーを読み取ることができるようになります。ネットワーク、I/Oソフトウェア、割り込み、コンテキストスイッチをバイパスすることで、遅延が通常の250マイクロ秒から19マイクロ秒未満に短縮され、10倍以上の改善が見られます。ストレージ層に永続メモリーを追加すると、すべてのストレージ・サーバー全体のパフォーマンスの総計が、任意のサーバー上の任意のデータベースで動的に利用できるようになります。また、最もホットなデータのみが永続メモリーに移動されるため、永続メモリー容量をより有効に活用できることを意味します。フォールトトレランスのために、Exadataのスマートソフトウェアは、このキャッシュされたデータをストレージ・サーバーの永続メモリー層全体にミラーリングし、ハードウェア障害からデータを保護します。 

図3 永続メモリー・データ・アクセラレータ

永続メモリ−・コミット・アクセラレータ
REDOログ書き込みの際の一貫性のある書き込みでの低遅延は、OLTPデータベースのパフォーマンスにとって重要です。トランザクションのコミットは、REDOログが永続化されている場合、つまり永続的にストレージに書き込まれている場合にのみ完了できます。Oracle Database 19cは、永続メモリ−・コミット・アクセラレータを使用して、RDMAを使用して複数のストレージ・サーバーの永続メモリーにREDOログレコードを直接配置できます。データベースはREDOログの書き込みにRDMAを使用するため、最大8倍高速なREDOログの書き込みが見られます。REDOログは複数のストレージ・サーバーに保持されるため、復元力が提供されます。

ストレージ・サーバーの永続メモリ−・ログは、データベースのREDOログ全体ではなく、最近書き込まれたレコードのみが含まれます。したがって、何百ものデータベースがバッファーのプールを共有できるため、一貫したパフォーマンスで統合できます。


図4 永続メモリー・コミット・アクセラレータ

セキュリティと管理は自動化されています。PMEMCacheおよびPMEMLog(永続メモリ−・ハードウェアの上のソフトウェア層)は、インストール時に自動的に構成されます。永続メモリーは、データベース・アクセス制御を使用してデータベースにのみアクセスされるため、OSまたはローカル・アクセスは使用できず、データのエンド・ツー・エンドのセキュリティが確保されます。ハードウェアの監視と障害管理はILOMを介して実行され、永続メモリー・ハードウェア・モジュールが含まれます。また、ストレージ・サーバーを利用終了または再インストールすると、基盤となる永続メモリ−・モジュールで Secure Erase 機能が自動的に実行されます。これにより、Exadata X8Mでの永続メモリーの追加が効果的に透過的になります。

まとめ
Exadata X8が2019年4月にリリースされ、ベンチマークで6,570,000の8K読み取りIOPSを達成し、単一のラック内で初めて600万のIOPSを破ったことを思い出してください。これは大きなマイルストーンであり、Exadataは、Oracle Database向けの最高のパフォーマンスを発揮する最も戦略的なプラットフォームのパフォーマンス、費用対効果、セキュリティ、および可用性を毎年改善し続けていることを確認しました。
Exadata X8Mは、独自の共同設計されたハードウェアとデータベース対応ソフトウェアを活用して、新しいテクノロジーをシームレスに統合するというこの優れた伝統を継承し、Oracle Databaseを実行するためのフラッグシップ・プラットフォームの利点をさらに高めます。それぞれの新しいテクノロジーは最先端ですが、10年以上の卓越したエンジニアリングと数多くのエンジニアの経験により、データの安全性と安全性が保証され、同じ価格で簡単な管理と最高のパフォーマンスで一貫性が提供されます。その間、アプリケーションの変更は必要ありません。
Exadata X8Mは、OLTP、分析、および混合ワークロードに大きなメリットをもたらします。分析および混合ワークロードの場合、永続メモリーとRDMAの組み合わせにより、ストレージ・サーバーのCPUサイクルが解放され、よりスマートなスキャン操作のための処理能力が向上します。100Gb/秒のRoCEネットワークにより、それを必要とする操作のネットワーク・スループットが向上します。OLTPの場合、ストレージからのキャッシュ・データのほぼ瞬時の取得、コミット・レコードのほぼ瞬時の書き込み、およびIOPSの大幅な増加により、Exadata X8MはOracle Databaseを実行するのに最適なプラットフォームになります。

Exadata X8Mの詳細は、oracle.com/exadataを参照してください。

脚注
参考までに、最初の画像の(1)の補足説明は以下の通りです。「これらは、ストレージ・ベンダーのパフォーマンスとは異なり、単一ラックのExadataシステム内で標準の8KデータベースI/Oサイズを使用してSQLワークロードを実行して測定された実際のエンド・ツー・エンドのパフォーマンスの数値です。小さなI/Oサイズと低レベルのI/Oツールに基づく数値であるため、現実的なSQLワークロードから達成できるよりも何倍も高くなります。実際のデータベース・ワークロードでのExadataのパフォーマンスは、従来のストレージ・アレイ・アーキテクチャよりも数桁高速です。アーキテクチャがフラッシュ・スループットにボトルネックを抱えている現在のオールフラッシュ・ストレージ・アレイよりもはるかに高速です。」