複製パーティション

Essbaseの複製パーティションは、ターゲット・キューブに保管されているソース・データベース(キューブ)の一部のコピーです。一部のユーザーは、ソース・キューブ内のデータにアクセスできますが、他のユーザーはターゲット・キューブ内のデータにアクセスします。

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

複製パーティション内のデータへの変更は、ソース・キューブからターゲット・キューブに渡されます。データ・ターゲット内の複製されたデータに対する変更は、データソースには戻されません。ユーザーがデータ・ターゲットでデータを変更した場合、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
  • replication_assume_identical_outline構文を使用して、alter database MaxL文を発行します。文はASOキューブにのみ発行でき、ブロック・ストレージの複製には適用されません。構文は次のとおりです。

    alter database appname.dbname enable | disable replication_assume_identical_outline;

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

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

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

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

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

ノート:

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