8.1.1 インメモリーOLTPおよび統合アクセラレーション
Oracle Exadata Storage Serverは、フラッシュ・メモリーの前に新しいメモリー・キャッシュを追加します。これは、ハード・ディスクの前にある現在のフラッシュ・キャッシュと同様です。この機能は、100マイクロ秒(µs)のオンライン・トランザクション処理(OLTP)の読取りIOレイテンシを提供しており、250μsのフラッシュOLTPの読取りIOレイテンシよりも2.5倍低い値です。この機能を利用するために、既存のメモリー・アップグレード・キットを使用してメモリーをストレージ・サーバーに追加できます。
セルRAMキャッシュはストレージ・サーバーのフラッシュ・キャッシュの前にあるキャッシュで、データベース・キャッシュを拡張したものです。フラッシュ・キャッシュよりも高速ですが、容量は小さくなっています。バッファがデータベース・バッファ・キャッシュの有効期限を過ぎている場合、キャッシュ・ポリシーに従ってセルRAMキャッシュにこれらのバッファを移入できるように、データベースがセルに通知します。これらのバッファはセルRAMキャッシュに排他的にキャッシュされます。データ・ブロックをデータベース・バッファバッファ・キャッシュに戻す必要がある場合、バッファ(存在する場合)はセルRAMキャッシュから削除されます。セルRAMキャッシュは排他的なキャッシュです。データ・ブロックはセルRAMキャッシュまたはデータベース・バッファ・キャッシュのみに存在しますが、両方には存在しません。
読取り操作時にデータ・ブロックがデータベース・バッファ・キャッシュに見つからない場合(キャッシュ・ミス)、データベースはセルからのデータ・ブロックの読取りを指示します。CELLSRVはRAMキャッシュをチェックしてから、IOスタックのより低い層(フラッシュ・メモリーまたはハード・ディスク)にアクセスします。
-
データ・ブロックがRAMキャッシュに見つかった場合、データ・ブロックはデータベースに同期的に返されます。データ・ブロックがデータベース・バッファ・キャッシュにキャッシュされる場合、ストレージ・サーバーはRAMキャッシュからデータ・ブロックを削除します。
-
データ・ブロックがRAMキャッシュに見つからない場合、ストレージ・サーバーはフラッシュ・キャッシュを検索します。データ・ブロックがフラッシュ・キャッシュに見つからない場合、データ・ブロックはディスクから読み取られます。データ・ブロックはデータベースに返されますが、RAMキャッシュに追加されません。
書込み操作時に、データベースはデータ・ブロックの書込みをストレージ・サーバーに指示します。Cell Server (CELLSRV)はRAMキャッシュをチェックしてから、IOスタックのより低い層(フラッシュ・キャッシュまたはハード・ディスク)にアクセスします。
-
データ・ブロックがRAMキャッシュに見つかった場合、CELLSRVではRAMキャッシュの対応するキャッシュ行を無効にし、ディスクに書き込むためにデータ・ブロックをより低い層に送信します。RAMキャッシュには移入されません。
-
データ・ブロックがRAMキャッシュに見つからない場合、ストレージ・サーバーはディスクに書き込むためにデータ・ブロックをより低い層に送信します。RAMキャッシュには移入されません。
フラッシュ・キャッシュとは異なり、ストレージ・サーバー上のRAMキャッシュは排他的なキャッシュです。格納されるデータ・ブロックはRAMキャッシュまたはデータベースのバッファ・キャッシュのいずれかに存在しますが、両方には存在しません。データベースはバッファ・キャッシュからデータ・ブロックを削除した場合、RAMキャッシュにデータ・ブロックを移入するようにCELLSRVに指示します。CELLSRVはRAMキャッシュに非同期的に移入します。
プライマリ・ミラー上でストレージ・サーバーが失敗した場合、データベースでは、RAMキャッシュへの移入をセカンダリ・ミラーに送信します。これにより、ブロックはセカンダリ・ミラーのRAMキャッシュにキャッシュされます。プライマリ・ミラーがオンライン状態に戻ると、ブロックはプライマリ・ミラーのRAMキャッシュに戻されます。
新規メモリー・キャッシュ・セクションが、RAMキャッシュのステータスおよびアクティビティの監視用AWRレポートで使用可能です。
最小要件:
-
Oracle Exadata System Software 18c (18.1.0)
-
Oracle Exadata Storage Server X6またはX7
-
Oracle Databaseバージョン12.2.0.1 2018年4月のDBRUまたは18.1以降