データベースの増加率の検討と予測
物理モデルの作成 への移動
目次
データベースで最適なパフォーマンスを得るには、ストレージ要件を決定し、それに従って計画することが重要です。このセクションには、それらの作業に役立つ次のトピックが含まれています。
テーブル ストレージとインデックス ストレージを計画する
データベースのパフォーマンスを改善して、データ管理タスクを効率化するには、物理設計の段階でテーブルとインデックスのストレージを計画するのが最良の方法です。物理ストレージを計画する際には、テーブルとインデックスの配置およびサイズについて慎重に検討する必要があります。ほとんどのデータベース アプリケーションは、I/O の速度によってパフォーマンスが決まります。I/O のスループットを向上させるには、頻繁に結合されるテーブルを物理的に分離します。また、テーブルとインデックスも分離します。この目的は、データベース上でのデータの読み取りや書き込み処理をできるだけ並列して実行できるようにするためです。
データベース管理者が特に注意しなければならないのは、空き領域の管理とデータの断片化の 2 点です。テーブルとインデックスの容量と増加率に対する計画が不十分な場合、これら 2 つの管理上の問題がシステムの可用性やパフォーマンスに深刻な影響を与えることがあります。そのため、物理モデルの設計では、初期エクステント サイズおよび論理パーティション サイズを検討する必要があります。
まず最初に、予測した行数に基づいて各テーブルとそのインデックスのサイズを見積ります。キャパシティ プランニング ツールに正しい増加率パラメータを設定すると、データベースのサイズを見積もることができます。初期エクステント サイズを指定できるデータベース(Oracle など)では、初期エクステント サイズを見積もったサイズに設定することで、テーブルの拡大に伴うデータの断片化を回避することができます。テーブルを 1 つのエクステント内に保持すると、データ アクセスの時間が短縮され、テーブルの再編成を決定することができます。
データベース内のテーブルとインデックスの配置およびサイズを決定してから、データベースに必要な合計サイズを見積もります。そうすることで、データベースの空き領域の不足を回避できます。
テーブルの増加率を予測する
キャパシティ プランニングの評価指標は各テーブルに記録されるため、テーブルをデータベースに実装する前に、適切なサイズ調整を行うことができます。
テーブル エディタの[キャパシティ プランニング]タブでは、テーブルの行数、テーブルの増加率、増加のタイプ、増加期間、およびテーブルの最大サイズ(行)などの評価指標を使用して、データ増加率を予測できます。
- モデル エクスプローラで、物理モデルのテーブルをダブルクリックします。
- [キャパシティ プランニング]タブをクリックして、必要な値をすべて入力します。
ヒント: テーブルの増加率をさらに正確に予測するには、[平均桁数]と[Null比率]の値を変更します。
テーブル エディタで行った増加率の予測は、キャパシティ プランニング ユーティリティ([データベース|キャパシティ プランニング])でも表示および編集することができます。
データベースの増加率を予測する
キャパシティ プランニング ユーティリティを使用すると、新しく実装したデータベース システム、または既存のデータベース システムのストレージ要件を予測でき、必要な予算と作業をあらかじめ見積もることができます。
- モデル エクスプローラで、物理モデルを選択して右クリックします。
- [キャパシティ プランニング]をクリックして、必要な値をすべて入力します。
次に、一部のオプションについて補足説明します。
- [サイズ変更オプション]タブ: [インデックス オプション]: [PK](主キー)、[FK](外部キー)、[AK](代替キー)、および[IE](逆方向エントリ)から、いずれかのオプションを選択します。
- [増加パラメータ]タブ: データベースの増加率に関与するオーバーヘッドの要素を指定します。必要なオーバーヘッドの合計は、DBMS プラットフォームの種類と、データベースに対して選択したストレージ オプションによって決まります。ストレージ オプションには、空きスペースとして確保されるデータ ブロックの最小割合や、ログ、監査、データ リカバリのオプションなどがあります。ここで指定した値は、[増加分析]タブの[予測サイズ]ボックスに反映されます。
- [行オーバーヘッド]: 選択済みの DBMS プラットフォームに合わせて、各レコードを保存するために使用されるオーバーヘッドの計算式を調整します。この数値は、DBMS がレコードの保存するのみ使用すると予測されるオーバーヘッドのバイト数を表します。初期値は「0」に設定する必要がありますが、行サイズに追加する任意のバイト数を指定できます。
- [テーブル オーバーヘッド]: テーブルにデータを保存するためのオーバーヘッドを計算します。テーブル サイズに適用する乗数を入力します。「1.2」という値は、20% のオーバーヘッドに対応します。デフォルト値の「1」は、オーバーヘッドがないという意味です。
- [インデックス オーバーヘッド]: インデックスを保存するオーバーヘッドを計算します。インデックス化されたカラム サイズに追加されるバイト数です。たとえば、Oracle でのインデックス オーバーヘッドが 6 バイトであれば、インデックス化されたカラム サイズの合計は「6」です。
- [BLOB オーバーヘッド]: BLOB カラムを保存するオーバーヘッドを計算します。テーブル オーバーヘッドと似ていますが、BLOB ストレージに適用される乗数です。「1.2」という値は、20% のオーバーヘッドに対応します。1 は、オーバーヘッドがないことを示します。
[BLOB ブロック サイズ]: BLOB カラムの平均サイズの推定値を入力します。各 BLOB カラムの平均サイズとして使用されます。
- [サイズ変更オプション]タブでの変更は、同じタブにある[サイズ変更予測]に自動的に反映されます。
- [サイズ変更オプション]と[増加パラメータ]への変更は、[増加分析]タブに反映されます。
- キャパシティ プランニング ユーティリティで行ったキャパシティの予測は、テーブル エディタで表示して、編集することもできます。
キャパシティ プランニング データ増加率分析レポート
キャパシティ プランニング ユーティリティでは、生成された評価指標を RTF 形式または CSV 形式でエクスポートできます。たとえば、物理モデルにおけるデータ増加率のパターンを知るためのレポートを作成できます。
- モデル エクスプローラで、物理モデルを選択し、右クリックします。
- [キャパシティ プランニング]をクリックし、キャパシティ プランニング ユーティリティの[サイズ変更オプション]と[増加パラメータ]を設定します。
- [増加分析]タブをクリックし、[レポート タイプ]を選択します。[レポート オプション]は必要に応じて設定します。
レポート内容のプレビューが[出力]領域に表示されます。