X

オラクルエンジニア通信では、オンプレミスからクラウドまで、オラクルテクノロジーの最新情報をお届けします

Exadataでの永続メモリーの魔法

※本ページは、"Persistent Memory Magic in Exadata"の翻訳です

Exadataの永続メモリーの魔法では、Intel Optane Persistent Memory(または略してPMEM)を使用しています。これは、ソフトウェアがDRAMを使用するのと同じ方法で(ソフトウェアによって)使用できる新しいメモリテクノロジですが、コンテンツはフラッシュやディスクストレージのように永続化できます 。データがPMEMに永続化される方法にはいくつかの重要な側面があり、Oracle Database内の特定の操作によってパフォーマンスが向上します。Exadata 開発チームの課題は、データの整合性とデータベースの可用性を確保しながら、PMEMのパフォーマンス上の利点を実現することでした。ExadataのPMEMの魔法は、Oracleの開発者たちがOracle Databaseソフトウェアへの緊密な統合を通じて驚異的な速度とデータ永続性機能をどのように活用したかを物語っています。

 

Oracle Databaseは、Exadata上のPMEMをコンバージド・イーサネット上のRDMA通信で使用

PMEMはテクノロジーのパズルの重要な部分ですが、Exadata 開発チームは、RDMAが、これまでで最速のデータベースパフォーマンスを提供するためにPMEMと組み合わせて使用​​する必要があるもう1つの重要なコンポーネントであると判断しました。Oracle Databaseは、Exadataのストレージ側にあるIntel Optane Persistent Memory(PMEM)にキャッシュされたデータにアクセスするために、Remote Direct Memory Access over Converged Ethernet(RoCE)を使用しています。コンバージド・イーサネットはネットワーク層ですが、コンバージド・イーサネット上でリモートダイレクトメモリアクセス(RDMA)を使用する機能により、ExadataはPMEMの潜在的なパフォーマンスを最大限に発揮できます。

Oracle Databaseソフトウェアは、ExadataでのPMEMの使用方法を推進します。ExadataソフトウェアとOracle DatabaseソフトウェアはPMEMをストレージ側のキャッシュとして使用し、ソフトウェアはPMEMを冗長化してデータを保護します。Oracle Databaseソフトウェア、Exadataソフトウェア、およびExadataハードウェア間のこの高度な統合は、Exadataがクラウドおよびオンプレミス環境で使用される他のアーキテクチャと独自に異なる理由を示す最新の例です。Exadata内でPMEMがどのように使用されるかを理解するには、まず、RDMAを使用しないExadataでPMEMがどのように機能するかを確認する必要があります。

Oracle Databaseソフトウェアは通常、Exadata Database ServerおよびExadata Storage Server内で実行されているコードのレイヤーを使用して、内部Exadataネットワークを介してストレージにアクセスし、通信をやり取りします。PMEMの速度は非常に高速(マイクロ秒の範囲)であるため、I / Oパス内のコードのレイヤーが特定のしきい値を超えてパフォーマンスを向上させるための障壁になっています。PMEMのみを使用したExadataでも優れたパフォーマンスが得られますが、これらのコードのレイヤーは応答時間を遅くし、それ以上の改善を妨げています。 

 

Exadataは、数十マイクロ秒が新たな課題となるポイントに到達

Exadataに搭載されたPMEMの魔法はデータがストレージ層にどのようにキャッシュされるかどういったデータがキャッシュされるか理解することが重要です。 Exadataは、ウォームデータをFlashにインテリジェントにキャッシュし、最もホット(アクセス頻度が高い)なデータは、Oracle Database のキャッシングおよびデータアクセスパターンとの緊密な統合に基づいて、PMEMにキャッシュされます。最もホットなデータブロックは、データベースで発生する最も読み取りIOPS(1秒あたりの入力/出力操作)値が高い領域に関連付けられており、single block read operation(単一ブロックの読み取り操作)を通じてアクセスされます。これらは、Oracle Automatic Workload Repository(AWR)レポートの待機イベント"db file sequential read"(Exadata以外のシステムの場合)および"cell single block physical read"(Exadataの場合)で確認できます。読み取りIOPS率が高いデータベースでは、これらの特定の待機イベントに対して高い値が表示されます。

 

Exadataは、ウォームデータをフラッシュにキャッシュし、最もホットなデータをPMEMにキャッシュ

Exadataは、特に多数のI / O操作に関係するOracle Databaseブロックをキャッシュすることにより、使用可能なPMEM容量をより効果的に使用します。仮にOracle Databaseソフトウェアとデータ・キャッシング・アルゴリズムの統合がなかった場合、はるかに大量のPMEMが必要になります。言い換えると、ExadataがPMEMを使用する方法は、PMEMの実効容量を少なくとも10倍、つまり1桁増加します。従来のストレージサブシステム(またはサーバー側ストレージ)は、特定のデータベースブロックの読み取りに起因するデータベース待機イベントを区別できないため、同じパフォーマンス結果を達成するには、より多くの領域が必要になります。Exadataのストレージ側キャッシュとしてPMEMを使用したエンドツーエンドの読み取りレイテンシは、約100マイクロ秒と非常に高速です。これは非常に素晴らしいパフォーマンスですが、Exadataの場合PMEM とともにRDMA(Remote Direct Memory Access)を用いることでさらなるパフォーマンス向上を実現します。

 

Exadata上のOracle Databaseは、RDMAを使用してコードのレイヤーをバイパス

RDMAとPMEMを組み合わせたこの新機能は、Exadata Persistent Memory Data Acceleratorと呼ばれ、シングルブロック読み取り("db file sequential read" または"cell single block physical read")をさらに高速化します。RDMAを使用すると、Oracle DatabaseのC / C ++コードで、ExadataストレージセルにあるPMEMを、そのメモリがデータベースサーバー自体の一部であるかのように使用できます。Oracle DatabaseソフトウェアのRDMAコールは、通信レイヤーをバイパスして、ソフトウェアの介在やコンテキストスイッチやネットワーク通信レイヤーなしにPMEMに直接アクセスできます。単一ブロックの読み取り待ち時間は劇的に短縮され、100マイクロ秒の範囲から19マイクロ秒未満に低下します。

Exadataのパフォーマンスは優れている一方で、障害に対する保護も同様に重要です。Exadataは、PMEMに格納されているデータをすべての構成でFlashに書き込み、さらに大容量(HC)モデルのExadataではディスクにも書き込むことにより、データを保護しています。Exadataは、複数のストレージ・サーバーに同時に複数のコピーを書き込みます。Exadata NORMAL冗長構成で2つのコピーを書き込むこと、およびHIGH冗長性を備えた3つのコピーを書き込むことにより、データを保護します。Exadataは障害を自動的に検出し、データを自動的に修復することもできます。

 

Exadataは、複数のストレージサーバーに同時に複数のコピーを書き込み、データ保護のためにフラッシュとディスクに書き込むことにより、データを保護します。

Exadataは、フラッシュとディスクに同時に複数のコピーを書き込むことによってデータを保護

PMEMをExadataのストレージ側で使用することにより、これらのシステムをサーバー側のPMEMが実現できるよりもはるかに大きな容量に拡張できると同時に、冗長性を提供し、データベースとビジネスアプリケーションの可用性を大幅に向上させることができます。Exadataだけがソフトウェアとハ​​ードウェアを統合して、比類のないデータベースのパフォーマンスと容量を提供すると同時に、障害からデータを保護します。Exadataのこれらの機能は自動的に機能し、追加のソフトウェアライセンスを必要とせず、特別な購入や構成の決定を必要とせずに、デフォルトで最新のExadataシステムに組み込まれています。ストレージ側の永続メモリ−は、Oracle Databaseソフトウェア、Exadataソフトウェア、およびExadataの最先端のハードウェア間の高度な統合の一例にすぎません。

PMEMの詳細については、「永続メモリー入門」を必ず参照してください。

ExadataX8Mの永続メモリ

Be the first to comment

Comments ( 0 )
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.