RDS for Oracle インスタンスストアへの一時データの保存
サポートされている RDS for Oracle DB のインスタンスクラスで、一時テーブルスペースとデータベースのスマートフラッシュキャッシュ (フラッシュキャッシュ) 用のインスタンスストアを使用します。
トピック
RDS for Oracle インスタンスストアの概要
インスタンスストアは、RDS for Oracle DB インスタンスに一時ブロックレベルのストレージを提供します。インスタンスストアは、頻繁に変更される情報を一時的に保存するために使用できます。
インスタンスストアは、ホストコンピュータに物理的にアタッチされた不揮発性メモリエクスプレス (NVMe) デバイスをベースにしています。このストレージは、低レイテンシー、ランダム I/O パフォーマンス、シーケンシャル読み取りスループットを実現するために最適化されています。
インスタンスストアのサイズは DB インスタンスタイプによって異なります。インスタンスストアの詳細については、Linux インスタンス向け Amazon Elastic Compute Cloud ユーザーガイドの「Amazon EC2 インスタンスストア」を参照してください。
トピック
RDS for Oracle インスタンスストア内のデータのタイプ
インスタンスストアには、次のタイプの RDS for Oracle 一時データを配置できます。
- 一時テーブルスペース
-
Oracle Database は、一時テーブルスペースを使用して、メモリに収まらない中間クエリ結果を保存します。クエリのサイズが大きいと、一時的にキャッシュする必要はあるが、永続化する必要はない大量の中間データが生成されることがあります。特に、一時テーブルスペースは、ソート、ハッシュ集計、および結合に役立ちます。RDS for Oracle DB インスタンスがエンタープライズエディションまたはスタンダードエディション 2 を使用している場合は、インスタンスストアに一時テーブルスペースを配置できます。
- フラッシュキャッシュ
-
フラッシュキャッシュは、従来のパスでの単一ブロックのランダム読み取りのパフォーマンスを向上させます。ベストプラクティスは、アクティブなデータセットのほとんどを収容できるようにキャッシュのサイズを設定することです。RDS for Oracle DB インスタンスがエンタープライズエディションを使用している場合は、フラッシュキャッシュをインスタンスストアに配置できます。
デフォルトでは、インスタンスストアは一時テーブルスペース用に設定されていますが、フラッシュキャッシュ用には設定されていません。Oracle データファイルとデータベースログファイルは、インスタンスストアに配置できません。
RDS for Oracle インスタンスストアの利点
失ってもかまわない一時ファイルとキャッシュを保存するためにインスタンスストアを使用することを検討してください。DB のパフォーマンスを改善したい場合、またはワークロードの増加が Amazon EBS ストレージのパフォーマンス上の問題を引き起こしている場合は、インスタンスストアをサポートするインスタンスクラスにスケーリングすることを検討してください。
一時テーブルスペースとフラッシュキャッシュをインスタンスストアに配置すると、次のような利点があります。
-
読み込みのレイテンシーを短縮
-
高スループット
-
Amazon EBS ボリュームの負荷を軽減
-
Amazon EBS の負荷が軽減されるため、ストレージとスナップショットのコストが削減されます
-
高い IOPS をプロビジョニングする必要性が減り、全体的なコストが下がる可能性がある
一時的なテーブルスペースをインスタンスストアに配置すると、一時スペースを使用するクエリのパフォーマンスがすぐに向上します。フラッシュキャッシュをインスタンスストアに配置すると、通常、キャッシュされたブロック読み取りのレイテンシーは Amazon EBS の読み取りよりもはるかに短くなります。フラッシュキャッシュは、パフォーマンスを向上させる前に「ウォームアップ」する必要があります。データベースバッファキャッシュからブロックが期限切れになると、データベースがフラッシュキャッシュにブロックを書き込むため、キャッシュは自動的にウォームアップします。
注記
キャッシュ管理のため、フラッシュキャッシュが原因でパフォーマンスのオーバーヘッドが発生する場合があります。本番環境でフラッシュキャッシュを有効にする前に、ワークロードを分析し、テスト環境でキャッシュをテストすることをお勧めします。
サポートされている RDS for Oracle インスタンスストアのインスタンスクラス
Amazon RDS は、次の DB インスタンスクラスのインスタンスストアをサポートしています。
-
db.m5d
-
db.r5d
-
db.x2idn
-
db.x2iedn
RDS for Oracle は、BYOL ライセンスモデルでのみ前述の DB インスタンスクラスをサポートします。詳細については、サポートされている RDS for Oracle DB インスタンスクラスおよびEE および SE2 の Bring Your Own License (BYOL)を参照してください。
サポート対象の DB インスタンスタイプのインスタンスストレージの合計を確認するには、AWS CLI で次のコマンドを実行します。
aws ec2 describe-instance-types \ --filters "Name=instance-type,Values=*5d.*large*" \ --query "InstanceTypes[?contains(InstanceType,'m5d')||contains(InstanceType,'r5d')][InstanceType, InstanceStorageInfo.TotalSizeInGB]" \ --output table
前述のコマンドは、インスタンスストアの未フォーマットデバイスサイズを返します。RDS for Oracle は、このスペースのごく一部を設定に使用します。一時テーブルスペースまたはフラッシュキャッシュに使用できるインスタンスストア内のスペースは、少し小さくなっています。
RDS for Oracle インスタンスストアでサポートされているエンジンバージョン
インスタンスストアは、以下の RDS for Oracle エンジンバージョンでサポートされています。
-
21.0.0.0.ru-2022-01.rur-2022-01.r1 以上の Oracle Database 21c バージョン
-
19.0.0.0.ru-2021-10.rur-2021-10.r1 以上の Oracle Database 19c バージョン
RDS for Oracle インスタンスストアでサポートされている AWS リージョン
インスタンスストアは、これらのインスタンスタイプの 1 つ以上がサポートされているすべての AWS リージョン で使用できます。db.m5d と db.r5d インスタンスクラスの詳細については、「 DB インスタンスクラス」を参照してください。Amazon RDS for Oracle でサポートされるインスタンスクラスの詳細については、「RDS for Oracle DB インスタンスクラス」を参照してください。
RDS for Oracle インスタンスストアのコスト
インスタンスストアのコストは、有効になっているインスタンスストアのコストに組み込まれます。RDS for Oracle DB インスタンスでインスタンスストアを有効にしても、追加料金は発生しません。instance-store turned on インスタンスの詳細については、「サポートされている RDS for Oracle インスタンスストアのインスタンスクラス」を参照してください。
RDS for Oracle インスタンスストアの有効化
RDS for Oracle テンポラリデータのインスタンスストアを有効にするには、次のいずれかの操作を行います。
-
サポートされているインスタンスクラスを使用して RDS for Oracle DB インスタンスを作成します。詳細については、「Amazon RDS DB インスタンスの作成」を参照してください。
-
サポートされているインスタンスクラスを使用するように既存の RDS for Oracle DB インスタンスを変更します。詳細については、「Amazon RDS DB インスタンスを変更する」を参照してください。
RDS for Oracle インスタンスストアの削除
インスタンスストアを削除するには、インスタンスストアをサポートしないインスタンスタイプ (db.m5 または db.r5 ) を使用するように RDS for Oracle DB インスタンスを変更します。