パーティション設計の要件
この項の情報を使用して、パーティションを実装する前に慎重に設計してください。
パーティション化の利点
Partitioningには、次の利点があります:
-
ブロック・ストレージ・データベースの場合、複数のデータベース間でのデータの同期
Essbaseは、パーティション内のデータ値に対する変更を追跡し、関連パーティション内のデータ値を更新するためのツールを提供します。
-
ディメンショナリティが異なるデータベース間のユーザー・ナビゲーション機能
ユーザーが新しいデータベースにドリル・クロスすると、より詳細なデータにドリルダウンできます。
パーティション化戦略
ユーザーの要件に基づいて、パーティション化戦略を選択します:
-
アプリケーションをトップダウンでパーティション化します。
「トップダウンのパーティション化」を使用して、データベースを複数のプロセッサ、サーバーまたはコンピュータに分割することで、データベースのスケーラビリティ、信頼性およびパフォーマンスを向上させることができます。 トップダウンのパーティション化を使用して最適な結果を得るには、パーティション化されたデータベースごとに個別のアプリケーションを作成します。
-
アプリケーションを下から上にパーティション化します。
「ボトムアップのパーティション化」を使用して、複数の関連データベース間のデータ・フローを管理します。これにより、データベース内のデータの品質とアクセス性が向上します。
-
ベース・ディメンション(1つ以上の属性ディメンションに関連付けられた標準ディメンション)に関連付けられた属性値に従って、データベースをパーティション化します。
この方針を使用して、フレーバやサイズなどのディメンションの特性に基づいてデータを抽出します。
ノート:
属性ディメンションはパーティション化できません。 「パーティションの属性」を参照してください。
データベースのパーティション化のガイドライン
次の情報を使用して、データベースをパーティション化するかどうかを判断します。
-
次の場合にデータベースをパーティション化します:
-
データは、それを使用しているユーザーにより近い必要があります。
-
単一の障害は致命的になります。
-
新しいデータがロードされた後に計算を実行するのに時間がかかりすぎ、複数のプロセッサまたはコンピュータに計算を分散することでパフォーマンスを向上させる場合。
-
ユーザーは、様々なアプリケーション・コンテキストでデータを表示し、ユーザーがデータベース間を移動する方法を制御する必要があります。
-
異なるソースからの情報を同期する必要があります。
-
独自のデータベースを持つことでメリットが得られる新しい組織単位を追加しようと考えています。
-
ユーザーは、他のユーザーがデータベースにアクセスするまで待機する必要があります。
-
リモートのロケーションに格納されているデータへのアクセス権をユーザーに付与することで、ディスク領域を節約します。
-
複数のロケーションにデータをレプリケートすることで、ネットワーク・トラフィックを削減します。
-
データベース・アウトラインは、中央のロケーションから制御する必要があります。
-
集約ストレージ・データベースでは、クライアントのライトバック機能が必要です。
-
-
次の場合は、データベースをパーティション化しないでください:
-
ディスク領域、ネットワーク帯域幅および管理リソースの問題があります。
-
単位レベルの値が合計値から導出される複雑な配賦を実行します。
-
すべてのデータベースを常にオンラインのままにしておく必要があります。
データベースをオンラインのままにしておくと、複数のタイムゾーンにデータベースがある場合に問題が発生することがあります。これは、ピーク時のユーザー負荷がタイムゾーンによって異なる可能性があるためです。 透過パーティションを使用すると、この問題が引き起こされますが、レプリケート・パーティションを使用すると便利な場合があります。
-
データベースは異なる言語またはUnicode関連モードです。
Essbaseは、各データベースが同じ言語を使用している場合、または各データベースが同じUnicodeモードまたは非Unicodeモードを使用している場合にのみ、データベースをパーティション化できます。
-
データのパーティション化のガイドライン
パーティション化されたデータベースを設計する場合は、次の情報を使用して、各パーティションに含めるデータを決定します:
-
どのデータベースをデータ・ソースにし、どのデータベースをデータ・ターゲットにするか。 データを所有するデータベース、データが更新される場所、およびほとんどのディテール・データが格納される場所は、データ・ソースである必要があります。
-
データベースの一部が他の部分より頻繁にアクセスされていますか。
-
サイト間でどのようなデータを共有できますか。
-
各ロケーションのデータの粒度はどの程度ですか。
-
データがアクセス、更新または計算される頻度
-
使用可能なリソース: ディスク領域、CPUおよびネットワーク・リソースはありますか。
-
ネットワーク経由で転送する必要があるデータ量はどれくらいですか。 どれくらいの時間がかかりますか。
-
データは1つまたは複数のロケーションに格納されていますか。
-
データは1つまたは複数のロケーションでアクセスされますか。
-
中央のロケーションからアクセスする必要がある情報は別のデータベースにありますか。 データのグループはどの程度密接に関連していますか。
パーティション化されたデータベースのセキュリティ
パーティションにアクセスするユーザーは、複数のデータベースに格納されているデータを表示する必要がある場合があります。 次の各項では、ユーザーが不適切なデータを表示または変更しないようにセキュリティを設定する方法について説明します。
エンドユーザー・セキュリティの設定
適切なフィルタを使用して必要なエンド・ユーザーを作成します。
-
データ・ターゲットでユーザーのアカウントを作成します。
-
データ・ターゲットで読取りおよび書込みフィルタを作成して、エンド・ユーザーが表示および更新できる内容を決定します。
「セキュリティ・フィルタを使用したデータベース・セルへのアクセスの制御」を参照してください。
-
レプリケート・パーティションを作成する場合は、ユーザーがデータ・ターゲットのレプリケート・パーティションを変更できるかどうかを決定します。 更新設定(更新を許可または禁止)は、ユーザーがデータを更新できるユーザー・フィルタをオーバーライドします。
create replicated partition MaxL文を使用してレプリケート・パーティションを作成する場合、update allow文法を指定しないと、レプリケート・パーティションはデフォルトで更新できません。
管理者セキュリティの設定
管理アカウントは、データ・ソースのデータ・ターゲットによってリクエストされたすべての読取りおよび書込み操作を実行します。 たとえば、エンド・ユーザーがデータ・ターゲットでデータをリクエストすると、管理アカウントがデータを取得します。 エンド・ユーザーがデータ・ターゲットでデータを更新すると、管理アカウントはデータ・ソースにログインし、そこでデータを更新します。
管理アカウントおよびエンド・ユーザーに対してフィルタを作成できます。 管理アカウントのフィルタにより、データ・ターゲットのユーザーが不適切なデータを表示または更新できないようにできます。 たとえば、企業データベースの管理者は、各エンド・ユーザーのセキュリティを正しく設定するために、リージョン内の管理者に依存しないように、特定のセルに対する書込みアクセスを制限できます。
適切なフィルタを使用して必要な管理ユーザーを作成します。
-
データ・ソースおよびデータ・ターゲットで管理アカウントを作成します。
「ユーザー名とパスワードの設定」を参照してください。
Essbaseは、このアカウントを使用してデータ・ソースにログオンし、データを取得します。
-
読取りおよび書込みフィルタを作成して、どのデータ管理者が表示および更新できるかを決定します。
「セキュリティ・フィルタを使用したデータベース・セルへのアクセスの制御」を参照してください。
-
レプリケート・パーティションの場合、データ・ソースで読取りフィルタを設定して、レプリケート時にEssbaseが読み取るデータを決定し、データ・ターゲットで書込みフィルタを設定して、レプリケート時にEssbaseが書き込むデータを決定します。
-
透過パーティションの場合は、データ・ソースで読取りフィルタを設定して、Essbaseがエンド・ユーザー用に取得するデータを決定し、データ・ソースで書込みフィルタを設定して、エンド・ユーザー用にEssbaseが更新するデータを決定します。
-