レプリケートされたパーティション

Essbaseのレプリケートされたパーティションは、ターゲット・キューブに格納されているソース・データベース(キューブ)の一部のコピーです。ソース・キューブのデータにアクセスするユーザーもいれば、ターゲット・キューブ内のそのデータにアクセスするユーザーもあります。

たとえば、Samppartサンプル・アプリケーションとSampeastサンプル・アプリケーションで、The Beverage Company (TBC)のDBAが、EastデータベースとCompayデータベースの間に、Actual、B Budget、VarianceおよびVariances%が含まれる複製パーティションを作成しました。現在、東部地域のユーザーは予算データをローカルに保管しています。データを実際に本社から取得する必要がないため、応答時間が短縮され、ダウンタイムの制御やローカル・データの管理によりいっそう集中できます。

レプリケート・パーティション内のデータに対する変更は、ソース・キューブからターゲット・キューブに渡されます。データ・ターゲット内の複製されたデータに対する変更は、データソースには戻されません。ユーザーがそのデータ・ターゲットでデータを変更した場合、DBAが複製パーティションを更新すると、Essbaseによって、その変更内容が上書きされます。

複製パーティションが定義されている場合、DBAは、ターゲット・キューブの複製された部分のデータが更新されないようにする設定を選択できます。更新設定(更新の許可または不許可)は、セキュリティ・フィルタで指定されたアクセス権よりも優先され、データ・ロードや計算などのバッチ操作にも適用されます。

複製パーティションは、次のいずれかの目的を達成するために使用します。

  • ネットワーク・アクティビティの低減

  • 問合せ応答時間の短縮

  • 計算時間の短縮

  • システム障害からのリカバリの簡易化

複製パーティションのルール

ソース・アウトラインとターゲット・アウトラインの共有複製領域をマップできる必要がありますが、共有領域がまったく同じである必要はありません。ソース内の各ディメンションとメンバーを、ターゲット内の各ディメンションとメンバーにマップする方法をEssbaseで指定する必要があります。

非共有領域のソース・アウトラインとターゲット・アウトラインは、マップ可能である必要はありません。

複製パーティションのターゲットとして使用する領域のうち、透過パーティションをソースに持つものはないため、図に示すように、透過パーティションの上に複製パーティションを作成できません。

図9-4無効な複製パーティション


このイメージは、複製パーティションのターゲットには透過パーティションのソースからのデータは含まれない仕組みを示しています。

複製パーティションのターゲット内のセルが、2つのソースを持つことはできません。同じパーティション内のセルは、1つのキューブに所属している必要があります。複数のキューブからセルをレプリケートするには、データのソースごとに異なるパーティションを作成します。

ターゲット・キューブのセルは、別のレプリケート・パーティションのソースにできます。たとえば、Samppart.CompanyデータベースにSampeast.Eastデータベースの複製パーティションが含まれている場合、Sampeast.East内のセルをSampwest.Westなどの3つ目のデータベースに複製できます。

属性メンバーを使用して複製パーティションを定義できません。たとえば、Urban、SuburbanおよびRuralは、Marketディメンションに関連付けられたMarket Type属性ディメンション・メンバーです。複製パーティションには、保管済データではなく動的データが含まれるため、Urban、SuburbanまたはRuralではパーティションを定義できません。したがって、複製パーティション内の属性をマップしようとすると、エラー・メッセージが表示されます。ただし、WITHATTRコマンドを使用して、属性データを複製することは可能です。

複製パーティションの長所

データが比較的エンドユーザーの近くに保管されるため、ターゲット・キューブ内で、複製パーティションによりネットワーク・アクティビティを低減少できるため、取得時間が改善されます。

すべてのユーザーが、より容易にデータにアクセスできます。ソース・キューブでデータにアクセスするユーザーもあれば、ターゲット・キューブでデータにアクセスするユーザーもいます。

障害が発生しても、大きな影響はありません。データが複数の場所にあるため、1つのデータベースで障害が発生した場合は、そのデータベースに接続しているユーザーのみが、情報にアクセスできなくなります。他のサイトからは、引き続きデータにアクセスして取得できます。

ローカル管理者は停止時間を制御します。たとえば、東部地域のユーザーは、Companyデータベースではなく独自の複製データにアクセスするため、管理者は、東部地域のユーザーに影響を及ぼすことなくCompanyデータベースを停止できます。

各サイトには関連データのみが保持されるため、データベースのサイズを小さくできます。たとえば、東部地域のユーザーは、すべての地域の予算情報が含まれる会社のより大規模なデータベースにアクセスするかわりに、東部の予算情報のみを複製できます。

複製パーティションの短所

データが複数の場所に保管されるため、より多くのディスク・スペースが必要になります。

パーティション管理者が定期的にデータをリフレッシュする必要があるため、ユーザーは最新版のデータを表示できないことがあります。

複製パーティションのパフォーマンスの考慮事項

複製パーティションのパフォーマンスを改善するには、次のガイドラインに従います。

Essbaseでは、動的に計算されるメンバーとそれらの子をアウトラインの検索により見つけ出し、計算の実行方法を決定する必要があるため、ソース・キューブ内で動的に計算されるメンバーを複製しないでください。

ソース・キューブから導出データを複製しないでください。かわりに、各ディメンションの最下位の実用レベルを複製し、複製の完了後にターゲット・キューブ上で計算を実行します。

たとえば、Marketディメンションに沿ってデータベースを複製するには、次のようにします。

  • 共有領域を、関心があるMarketディメンションの最下位メンバー(East、West、South、Centralなど)および他のディメンションのレベル0のメンバーとして定義します。

  • レプリケーションが完了したら、ターゲットでMarketの値と他のディメンション内の上位レベルの値を計算します。

    ターゲット・キューブで派生データを計算できないことがあります。その場合は、ソース・キューブから複製します。データが次のいずれかの基準を満たしている場合は、ソースで派生データを計算できません。

    • 複製領域外のデータを計算する必要があります。

    • 該当部分のみを抽出できない計算スクリプトをターゲットで計算する必要があります。

    • ラップトップなどの処理能力が低いコンピュータ上に複製されます。

ブロック・ストレージ・データベースがソース・キューブであり、2つのアウトラインが同一である間に、レプリケートされたターゲットである集約ストレージ(ASO)キューブのレプリケーションを最適化するには、次のいずれかの方法で、レプリケーションで同じアウトラインを想定する方法を使用します。

  • REPLICATIONASSUMEIDENTICALOUTLINE構成設定を有効にします。構文は次のとおりです:

    REPLICATIONASSUMEIDENTICALOUTLINE [appname [dbname]] TRUE | FALSE
  • alter database MaxL文をreplication_assume_identical_outline文法とともに発行します。この文はASOキューブにのみ発行でき、ブロック・ストレージ・レプリケーションには適用されません。構文は次のとおりです:

    alter database appname.dbname enable | disable replication_assume_identical_outline;

密ディメンションに沿ったパーティション化は、疎ディメンションに沿ったパーティション化よりも時間がかかります。Essbaseでは、密ディメンションに沿ってパーティション化されたデータを複製する場合は、複製操作中にデータソース内の各ブロックにアクセスし、各ブロックをデータ・ターゲット内に作成する必要があります。

ターゲット・キューブで動的に計算されるメンバーにはデータを複製できません。Essbaseでは、実行時にユーザーが要求するまで動的計算メンバーにはデータが含まれないため、これらのメンバーにはロードも複製も実行されません。Essbaseでは、複製データはデータ・ターゲットに保管されないため、複製ターゲットの動的な密メンバーと動的な疎メンバーのどちらかに送信されません。

パーティション全体ではなく変更されたデータ値のみを複製するには、複製パーティションの移入および更新を参照してください。

複製パーティションとポートの使用方法

複製パーティションでは、ユーザーはターゲット・キューブのみに接続します。ターゲット・データベースでデータが更新される場合、ソース・キューブからターゲット・キューブへのデータの複製プロセスで1つのポートが使用され、この接続は、パーティション定義で宣言されたユーザー名(パーティション・ユーザー)に基づきます。

ノート:

複製はその性質上短期的なものであるため、複製パーティションとポートはほとんど問題になりません。