Multi-Temperature Storage を使用したデータ管理

頻繁にアクセスされるデータ (ホット・データ) は高速ストレージに保管され、アクセスされる頻度の低いデータ (ウォーム・データ) はそれより少し低速のストレージに保管され、ほとんどアクセスされないデータ (コールド・データ) はよりコストの低い低速ストレージに保管されるようにデータベースを構成することができます。 ホット・データが冷やされてアクセスの頻度が低下したら、そのデータをより低速のストレージに動的に移動することができます。

データベース・システムでは、ホット・データとなるデータの比率は比較的小さく、大多数のデータはウォーム・データまたはコールド・データになる傾向が強く見られます。 高速ストレージにコールド・データを保管しないようにして高速ストレージの使用を最適化しようとする場合、この多重温度データ (Multi-Temperature Data) のセットはかなりの挑戦となります。 データウェアハウスで消費されるストレージの量が増えるにつれ、ストレージ・コストを管理する上で高速ストレージの使用を最適化する重要性は大きくなります。

ストレージ・グループは、同様の品質を持つストレージ・パスのグループです。 ストレージ・グループを作成または変更する際には、使用可能なストレージ容量、待ち時間、データ転送速度、および RAID 保護の度合いといった、基礎となるストレージの重要な属性について考慮する必要があります。 データベース管理システム内のさまざまなストレージのクラスにマップするストレージ・グループを作成することができます。 ホット・データ、ウォーム・データ、コールド・データが含まれる表スペースに基づいて、自動ストレージ表スペースをそれらのストレージ・グループに割り当てることができます。 自動ストレージを使用するためにデータベース管理表スペースを変換するには、ALTER TABLESPACE ステートメントを、MANAGED BY AUTOMATIC STORAGE オプションを指定して発行してから、リバランス操作を実行する必要があります。

現行データはしばしばホット・データと見なされるため、時間の経過とともにウォーム・データになり、次いでコールド・データになるのが普通です。 USING STOGROUP オプションを指定して ALTER TABLESPACE ステートメントを使用することにより、表スペースをさまざまなストレージ・グループに動的に再び割り当てることができます。

次の例は、多重温度データ (Multi-Temperature Data) を持つストレージ・グループの使用方法を示しています。 DBA として企業で現行会計四半期データ処理のほとんどを担当しているとします。 図 1に示すように、このビジネスには、四半期全体のデータを保持するのに十分なソリッド・ステート・ドライブ (SSD) 容量と、年の残りのデータを保持するのに十分なファイバー・チャネル・ベース (FC) およびシリアル接続 SCSI (SAS) ドライブ容量があります。 1 年 より古い データは、大きなシリアル ATA (SATA) RAID アレイに保管されます。この RAID アレイは安定していますが、高負荷の照会ワークロードに耐えられるほど迅速に実行することはできません。 3 つのストレージ・グループを定義できます。1 つは SSD ストレージ (sg_hot) 用、もう 1 つは FC ストレージと SAS ストレージ (sg_warm) 用、もう 1 つは SATA ストレージ (sg_cold) 用です。 次に、以下のアクションを実行します。
  • 現行四半期のデータが含まれる表スペースを sg_hot ストレージ・グループに割り当てます。
  • その前の 3 つの四半期のデータが含まれる表スペースを sg_warm ストレージ・グループに割り当てます。
  • それより古いすべてのデータが含まれる表スペースを sg_cold ストレージ・グループに割り当てます。
現行四半期が過ぎた後、以下のアクションを実行します。
  • 新規四半期の表スペースを sg_hot ストレージ・グループに割り当てます。
  • 直前の四半期の表スペースを sg_warm ストレージ・グループに移動します。
  • sg_warm ストレージ・グループの最も古い四半期のデータを sg_cold ストレージ・グループに移動します。

これらの作業はすべて、データベースがオンラインのときに行うことができます。

図1: Multi-Temperature Data Storage を使った販売データの管理
Multi-Temperature Data Storage を使った販売データの管理

以下のステップは、現行会計年度の販売データの Multi-Temperature Data Storage をセットアップする方法をより詳しく示しています。

  1. 2 つのストレージ・クラスを反映する 2 つのストレージ・グループを作成します。1 つはホット・データを保管するためのストレージ・グループで、もう 1 つはウォーム・データを保管するためのストレージ・グループです。
    CREATE STOGROUP sg_hot ON '/ssd/path1', '/ssd/path2' DEVICE READ RATE 100 
             OVERHEAD 6.725;
    CREATE STOGROUP sg_warm ON '/hdd/path1', '/hdd/path2';

    これらのステートメントは、ホット・データを保管するための SSD ストレージ・グループ (sg_hot) とウォーム・データを保管するための FC および SAS ストレージ・グループ (sg_warm) を定義します。

  2. 会計年度のデータの四半期ごとに 1 つ、合計 4 つの表スペースを作成し、表スペースをストレージ・グループに割り当てます。
    CREATE TABLESPACE TbSpc11 USING STOGROUP sg_warm;
    CREATE TABLESPACE TbSpc12 USING STOGROUP sg_warm;
    CREATE TABLESPACE TbSpc13 USING STOGROUP sg_warm;
    CREATE TABLESPACE TbSpc14 USING STOGROUP sg_hot;
    
    この関連付けにより、表スペースによってストレージ・グループのプロパティーが継承されます。
  3. 販売表の範囲パーティションをセットアップします。
    CREATE TABLE sales (order_date DATE, order_id INT, cust_id BIGINT) 
    PARTITION BY RANGE (order_date) 
    (PART "Q22010" STARTING ('2010-04-01') ENDING ('2010-06-30') in "TbSpc11", 
     PART "Q32010" STARTING ('2010-07-01') ENDING ('2010-09-30') in "TbSpc12", 
     PART "Q42010" STARTING ('2010-10-01') ENDING ('2010-12-31') in "TbSpc13",
     PART "Q12011" STARTING ('2011-01-01') ENDING ('2011-03-31') in "TbSpc14"); 
    Q12011 データは、現在の会計四半期を表し、sg_hot ストレージ・グループを使用しています。
  4. 現行四半期が過ぎた後、新規四半期の表スペースを作成し、表スペースを sg_hot ストレージ・グループに割り当てます。
    CREATE TABLESPACE TbSpc15 USING STOGROUP sg_hot;
  5. 直前の四半期の表スペースを sg_warm ストレージ・グループに移動します。 TbSpc14 表スペースのストレージ・グループの関連を変更するには、USING STOGROUP オプションを指定して ALTER TABLESPACE ステートメントを発行します。
    ALTER TABLESPACE TbSpc14 USING STOGROUP sg_warm;
  6. 次の四半期の新しいパーティションを TbSpc15 に作成します。
    ALTER TABLE sales ADD PART Q22011 STARTING ('2011-04-01') ENDING ('2011-06-30') IN TbSpc15;