3

ROLAP、MOLAP、HOLAPの違いは理解していますが、データベースから常にデータを直接取得するため、ROLAPを処理する必要がないということですか?

4

1 に答える 1

0

MOLAP では、集計を Analysis Services のデータ ディレクトリに格納します。ROLAP を使用すると、集計をリレーショナル データベースのインデックス付きビューに格納できます。ROLAP は、MOLAP よりもリアルタイムで遅いアプローチを提供しますが、たまに見る必要がある履歴データには適しています。

MSDN から:

パーティションが ROLAP ストレージ モードを使用し、そのソース データが SQL Server データベース エンジンに格納されている場合、Analysis Services はインデックス付きビューを作成して、パーティションの集計を含めようとします。Analysis Services は、インデックス付きビューを作成できない場合、集計テーブルを作成しません。Analysis Services は、SQL Server データベース エンジンでインデックス付きビューを作成するためのセッション要件を処理しますが、Analysis Services が集計用のインデックス付きビューを作成するには、ROLAP パーティションとそのスキーマ内のテーブルが次の条件を満たしている必要があります。

  • パーティションには、Min または Max 集計関数を使用するメジャーを含めることはできません。

  • ROLAP パーティションのスキーマ内の各テーブルは、1 回だけ使用する必要があります。たとえば、スキーマに [dbo].[address] AS "Customer Address" および [dbo].[address] AS "SalesRep Address" を含めることはできません。

  • 各テーブルは、ビューではなくテーブルである必要があります。

  • パーティションのスキーマ内のすべてのテーブル名は、[dbo].[customer] のように所有者名で修飾する必要があります。

  • パーティションのスキーマ内のすべてのテーブルは、同じ所有者でなければなりません。たとえば、テーブル [tk].[customer]、[john].[store]、および [dave].[sales_fact_2004] を参照する FROM 句を使用することはできません。

  • パーティションのメジャーのソース列は、NULL 可能であってはなりません。

  • ビューで使用されるすべてのテーブルは、次のオプションを ON に設定して作成されている必要があります。

    • ANSI_NULLS
    • QUOTED_IDENTIFIER

    • -
  • SQL Server データベース エンジンでは、インデックス キーの合計サイズが 900 バイトを超えることはできません。SQL Server データベース エンジンは、CREATE INDEX ステートメントが処理されるときに、固定長のキー列に基づいてこの条件をアサートします。ただし、インデックス キーに可変長の列がある場合、SQL Server データベース エンジンSQL Server Database Engine は、ベース テーブルを更新するたびにこの条件もアサートします。異なる集計には異なるビュー定義があるため、インデックス付きビューを使用した ROLAP 処理は、集計の設計に応じて成功または失敗する可能性があります。

  • インデックス付きビューを作成するセッションでは、次のオプションを ON に設定する必要があります: ARITHABORT、CONCAT_NULL_YEILDS_NULL、QUOTED_IDENTIFIER、ANSI_NULLS、ANSI_PADDING、および ANSI_WARNING。この設定は、SQL Server Management Studio で行うことができます。

  • インデックス付きビューを作成するセッションでは、オプション NUMERIC_ROUNDABORT を OFF に設定する必要があります。この設定は、SQL Server Management Studio で行うことができます。

ここですべてを読んでください。

于 2012-12-14T09:15:02.217 に答える