データベースストレージ - で Oracle Database を実行するためのベストプラクティス AWS

このホワイトペーパーは過去の参考用です。一部のコンテンツは古く、一部のリンクは使用できない場合があります。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

データベースストレージ

ほとんどのユーザーは、通常、データベースストレージに Amazon EBS を使用します。一部の非常に高性能なアーキテクチャでは、インスタンスストレージ SSDsを使用できますが、信頼性の高い永続性を実現するために、Amazon EBS ストレージで拡張する必要があります。

高い IOPS と一貫したデータベースパフォーマンスを実現するために、AWS では汎用 (GP2) ボリュームまたはプロビジョンド IOPS (PIOPS) ボリュームを使用することを強くお勧めします。GP2 ボリュームと PIOPS ボリュームは、Amazon EC2 と Amazon RDS の両方で使用できます。GP2 ボリュームタイプと PIOPS ボリュームタイプの両方のボリュームあたりの IOPS の最新の制限については、「Amazon RDS DB インスタンスストレージ」を参照してください。GP2 ボリュームは、ほとんどのデータベースのニーズに対して価格とパフォーマンスの優れたバランスを提供します。データベースで GP2 が提供できるものよりも高い IOPS が必要な場合は、PIOPS ボリュームが適しています。

PIOPS ボリュームの場合、ボリュームの作成時に IOPS レートを指定します。Amazon EBS は、特定の 1 年間に 99.9% の時間でプロビジョンド IOPS パフォーマンスの 10% 以内に配信します。リクエストされたボリュームサイズに対してプロビジョニングされる IOPS の比率は、最大 30 です。たとえば、3,000 IOPS を取得するには、ボリュームサイズが 100 GB 以上である必要があります。

PIOPS ボリュームと同様に、GP2 ボリュームも SSD ベースですが、GP2 ボリュームから得られる IOPS は、ベースライン IOPS からボリュームあたりバースト可能な最大 3,000 IOPS まで異なる場合があります。これは、ほとんどのデータベースワークロードで非常にうまく機能します。これは、データベースに必要な IOPS パフォーマンスが、ロードサイズと実行されるクエリの数に基づいて一定期間に何度も異なるためです。

汎用 (SSD) ボリュームのパフォーマンスはボリュームサイズによって管理され、ボリュームの基本パフォーマンスレベルと I/O クレジットの蓄積速度が決まります。ボリュームサイズが大きいほどベースパフォーマンスレベルが高くなり、I/O クレジットの取得速度も速くなります。

I/O クレジットは、基本パフォーマンス以上が必要な場合に、汎用 (SSD) ボリュームが大量の I/O をバーストするために使用できる帯域幅を表します。I/O に対するボリュームのクレジットが多いほど、基本パフォーマンスレベルを超えてバーストできる時間が増え、パフォーマンスの向上が必要な場合にパフォーマンスが向上します。

スループット最適化 HDD ボリューム (st1) は、IOPS が少なくスループットが高い負荷の高いワークロード向けに設計された低コストの HDD ボリュームを提供します。データウェアハウスとデータ分析の目的で使用される Oracle データベースは、st1 ボリュームを活用できます。

高スループットを必要とする Oracle 外部テーブルや外部 BLOB ストレージなどのログ処理またはデータステージング領域は、st1 ボリュームを活用できます。スループット最適化 (st1) ボリュームは、ボリュームあたり最大 500 IOPS を処理できます。

Cold HDD ボリューム (sc1) は、レガシーシステムの処理に適しています。レガシーシステムは、ときどき参照やアーカイブの目的で保持されます。これらのシステムへのアクセス頻度は低く、ボリュームに対して 1 日に数回のスキャンが実行されます。

適切な方法は、データベースに一貫して必要な IOPS の量を推定し、その数の IOPS を取得するのに十分な GP2 ストレージを割り当てることです。定期的なスパイクに必要な追加の IOPS は、利用可能なクレジットに基づいてバーストパフォーマンスでカバーする必要があります。

Oracle Database の IOPS ニーズを判断するために使用できる推定方法については、「AWS での Oracle Database の IOPS ニーズの決定」ホワイトペーパーを参照してください。

ボリュームのバースト期間は、ボリュームのサイズ、必要なバースト IOPS、およびバーストが開始された時点のクレジットバランスによって異なります。ボリュームのパフォーマンスが頻繁にベースレベルに制限される場合 (I/O クレジットバランスが空であるため)、10,000 IOPS を超える持続的な IOPS パフォーマンスを必要とするワークロードには、より大きな汎用 (SSD) ボリューム (基本パフォーマンスレベルが高い) を使用するか、プロビジョンド IOPS (SSD) ボリュームに切り替えることを検討する必要があります。GP2 ボリュームの詳細については、「Amazon EBS ボリュームタイプ」を参照してください。

Amazon RDS の場合、汎用 (SSD) ストレージは、プロビジョニングされた GB あたり 3 IOPS の一貫したベースラインを提供し、最大 3,000 IOPS をバーストする機能を提供します。Amazon RDS にマグネティックストレージを既に使用している場合は、汎用 (SSD) ストレージに変換できますが、その場合は可用性にわずかな影響が生じます。プロビジョンド IOPS を使用すると、データベースインスタンスあたりの現在の最大ストレージ制限と最大 IOPS までプロビジョニングできます。

実際の実現 IOPS は、データベースワークロード、インスタンスタイプ、データベースエンジンに基づいてプロビジョニングした量とは異なる場合があります。詳細については、「Amazon RDS ユーザーガイド」の「実現 IOPS レートに影響する要因」を参照してください。

Amazon EC2 上の Oracle Database の場合、複数のボリュームをストライプして IOPS を増やし、容量を増やします。複数の Amazon EBS ボリュームを異なるデータファイルに個別に使用できますが、それらをストライピングすることで、バランスとスケーラビリティが向上します。

Oracle Automatic Storage Management (ASM) はストライピングに使用できます。データファイル、ログファイル、バイナリを別々の Amazon EBS ボリュームに保存し、ログファイルボリュームのスナップショットを定期的に作成します。ローカル SSD ストレージでインスタンスタイプを選択すると、Smart Flash Cache (オペレーティングシステムが Oracle Linux の場合) を使用し、一時ファイルとテーブルスペースにローカルストレージを使用することで、データベースのパフォーマンスを向上させることができます。

Oracle Database on VMware Cloud on AWS の場合、vSAN はベアメタルホスト全体で必要な仮想化ストレージストライピングを提供します。vSAN 仮想化ストレージ機能は、Oracle RAC で使用して、高性能の共有ストレージとして使用できます。

Oracle RAC 用に作成された VMDK (仮想マシンディスク) ファイルは、厚みがゼロになるようにプロビジョニングし、マルチライターフラグを有効にする必要があります。VMware は、VMware Cloud on AWS での Oracle データベースの詳細なパフォーマンス調査を発表しました。