1. サーバーに関する考慮事項

チュートリアル : レポート データベースの再構築

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

Sitecore Experience Database (xDB) は、Sitecoreレポート アプリケーションに正確なデータを提供するために同期を維持する必要がある2つのデータベース システム (SQL ServerとMongoDB) を使用します。

  • MongoDB collection database - すべての経験データを保存

  • SQL Serverレポート データベース - 集計されたレポート データを格納します

Sitecoreはこれらのデータベースを自動的に同期しますが、特定の状況では、レポート データベースの完全な再構築を実行する必要がある場合があります。たとえば、Sitecore Analytics変換ツールを実行し、レポート アプリケーションに含める追加の履歴データがある場合です。 レポート・データベースを再構築する理由は他にもいくつかあります。

レポーティング データベースを再構築するときは、リビルド プロセス中の中断を避けるために、セカンダリ レポーティング データベースを接続して、再処理時にすべての集計データを格納します。

このチュートリアルでは、次の方法について説明します。

メモ

xDB Cloudでレポート データベースを再構築するには、xDB CloudサービスのREST APIリファレンスを参照してください。

前提条件データベースの確認

再構築プロセスを開始する前に、まずMongoDB分析データベースとSQL Serverレポート データベースが接続されていることを確認します。これらのデータベースは、標準のSitecoreインストールの一部です。セカンダリ レポート データベースを作成および構成する必要があるのは、再構築プロセスを実行する場合のみです。

各データベースには、App_Config/ConnectionStrings.configファイルで構成できる個別の接続文字列があります。

  • コレクション データベース (MongoDB) – 変換されたSitecore DMS SQL Serverデータベースからの履歴データと、Webサイトから収集された新しいデータ (ライブ データ) を含めることができます。

    MongoDBコレクション データベース接続文字列:

    <add name="analytics" connectionString="mongodb://localhost/analytics"/>
  • プライマリ レポート データベース (SQL Server) – 新しいバージョンのSitecoreにアップグレードした後にWebサイトで収集されたすべてのライブ データが含まれています。

    プライマリ レポート データベース接続文字列:

    <add name="reporting" connectionString="user 
    id=_sql_server_user_;password=_user_password_;Data 
    Source=_sqlserver_;Database=Sitecore_Reporting" />
  • セカンダリ レポート データベース (SQL Server) は、レポート データベースの再構築中に履歴データを格納します。セカンダリ レポート データベースを作成して接続する方法の詳細については、次のセクションを参照してください。

    セカンダリ レポート データベース接続文字列:

    <add name="reporting.secondary" connectionString="user 
    id=_sql_server_user_;password=_user_password_;Data 
    Source=_sqlserver_;Database= Sitecore_Reporting_Secondary" />

2つ目のレポーティング データベースを作成して接続する

再構築プロセスの最初の手順は、セカンダリ レポート データベースを作成して接続することです。

セカンダリ レポート データベースに接続して構成するには、次のようにします。

  1. SitecoreディストリビューションからSitecore_AnalyticsデータベースのDACPACファイルのクリーン コピーを取得して、セカンダリ レポート データベースとして使用します。最良の結果を得るには、常にクリーン コピーを使用してください。

  2. Analyticsセカンダリに使用する空のデータベースを作成します。Azure SQLを使用している場合は、Azureポータルで新しいSQL Azureデータベースを作成する必要があります。関連付けられているAzure SQL Serverのファイアウォール設定を更新してクライアントIPアドレスを設定し、再構築プロセスが完了したら、このIPアドレスをファイアウォールから削除する必要があります。

  3. SQL Server Management Studioで、SQL ServerまたはAzure SQLデータベース インスタンスに接続し、Sitecore_Analytics DACPACをデプロイします。接続文字列にはreporting.secondaryという名前を使用します。

    手記

    レポート データベースとセカンダリ レポート データベースは、ディスク領域を大量に消費する可能性があるため、追加のストレージ要件を計画する必要がある場合があります。

  4. WFFMなどのSitecoreモジュールを実行している場合は、SQLスクリプトを実行して、セカンダリ レポート データベースに対してそれらのモジュールのファクト テーブルを追加します。

  5. 新しく作成したデータベースを指すようにreporting.secondary接続文字列を追加または編集します。例えば:

    <add name="reporting.secondary" connectionString="user 
    id=_sql_server_user_;password=_user_password_;Data 
    Source=_sqlserver_;Database=Sitecore_Reporting_Secondary" />
    手記

    Sitecoreアップグレード パッケージをインストールした場合は、セカンダリ レポート データベースがすでに追加されている可能性があり、その場合は、この手順を2回実行する必要はありません。

  6. 専用サーバーを構成する場合は、適切な構成ファイルで履歴処理プールが有効になっていることを確認します。

    たとえば、専用のコンテンツ配信サーバーで履歴処理を有効にするには、次の処理設定ファイルに移動します。

    App_Config/Include/Sitecore.Analytics.Processing.Aggregation.ProcessingPools.config

    この設定ファイルで、<Enabled> パラメータがtrueに設定されていることを確認します。 /configuration/sitecore/aggregationProcessing/processingPools/history/Enabled

    <history type="Sitecore.Analytics.Data.MongoDb.ProcessingPool.MongoDbProcessingPool, 
      Sitecore.Analytics.MongoDb" singleInstance="true" >
      <param desc="connectionStringName">tracking.history</param>
      <Name>history</Name>
      <Enabled>true</Enabled>
    </history>

ストレージ設定をクリアする時間を変更する

Sitecore xDBの最新バージョンでは、プライマリSQL Serverレポート データベースには、セカンダリ レポート データベースにコピーする必要がある追加のマーケティング定義テーブルが含まれています。リビルド・レポート・データベース・ページを実行するときは、これらのテーブルがコピーされている間、ストレージのクリア・プロセスにより多くの時間を確保してください。

デフォルトのストレージクリア時間は1分です。この設定をSitecoreソリューションに適した時間間隔 (10分など) に変更します。

TimeToClearStorage設定を変更するには:

  1. Sitecore.Analytics.Processing.Aggregation.configファイルを開きます。

  2. TimeToClearStorage設定を適切な時間に変更します。たとえば、10分です。

    <reportingStorageManager type="Sitecore.Analytics.Aggregation.History.ReportingStorageManager" singleInstance="true">
      <TimeToClearStorage>0.00:01:00</TimeToClearStorage>

レポート データベースの再構築 ページの実行

レポート・データベースを再構築するには:

  1. Webブラウザー・ウィンドウで、次のパスを使用して、レポート作成データベースの履歴処理の再構築ページを開きます。

    <sitename>/sitecore/admin/RebuildReportingDB.aspx

    手記

    RebuildReportingDB.aspxページとRedeployMarketingData.aspxページは、コンテンツ管理サーバーからのみ実行できます。

  2. 必要な再構築ターゲットを選択し、Startをクリックして、レポート・データベースの再構築 (同期処理) を開始します。Sitecoreは、Rebuild DBRebuild Indexの2つの再構築ターゲットをサポートしています。デフォルトでは、再構築プロセスによって両方のターゲットが再構築されます。

    Sitecore 8.2 Update 6以降は、タイム スライス集計をサポートしています。これにより、コレクション・データベース内のデータの一部のみを再構築することが可能になります。たとえば、再構築プロセスは過去3か月間のみ実行できます。これを行うには、必要な最も古いインタラクションのSaveDateTime値を入力します。

    再構築後、再構築ターゲットには、Minimum SaveDateTimeから現在までのデータのみが含まれます。

  3. Rebuild Reporting Databaseページで、「受信待ち」から「データ」ステータスと表示されたら、次のマーケティング定義テーブルをプライマリ・レポート・データベースからセカンダリ・レポート・データベースにコピーします。

    • CampaignActivityDefinitions

    • GoalDefinitions

    • OutcomeDefinitions

    • MarketingAssetDefinitions

    • Taxonomy_TaxonEntity

    • Taxonomy_TaxonEntityFieldDefinition

    • Taxonomy_TaxonEntityFieldValue

    大事な

    これらの追加テーブルをセカンダリ レポート データベースに追加するには、Rebuild Reporting Databaseページに データの受信待ち ステータスを表示することが重要です。Sitecore.Analytics.Processing.Aggregation.configファイルのTimeToClearStorage設定も変更して、これらのテーブルを追加するのに十分な時間を確保したことを確認します。

    これらのテーブルを追加すると、Rebuild Reporting Databaseページで再構築プロセスが再開されます。

  4. リビルド・レポート・データベース・ツールは、リビルド・プロセスが完了するまで、処理中にフィードバックを提供します。

    Sitecore 8.2 Update 6以降では、フィードバックは次のようになります。

    手記

    再構築プロセス (同期) を実行すると、Sitecore_Reporting_Secondaryデータベース内のすべての情報が消去されます。したがって、レポート データベースを再構築するときは、常にデータベースのクリーン コピーを使用する必要があります。これにより、再構築プロセスが高速化され、使用するリソースが少なくなります。

レポート接続文字列の再構成

再構築プロセスが完了したら、レポートとレポートのセカンダリ接続文字列を再構成する必要があります。

  1. Website/App_Configフォルダに移動し、ConnectionStrings.config file Database= 属性の名前を変更して、レポート接続文字列がSitecore_Reporting_Secondaryデータベースを指すようにします (これにより、Sitecore_Reportingデータベースが置き換えられました)。

  2. reporting.secondary接続文字列をコメントアウトします。

    次の例は、データベース名を入れ替えてreporting.secondary接続文字列をコメントアウトした後の接続文字列を示しています。

    <add name="reporting" connectionString="user 
    id=_sql_server_user_;password=_user_password_;Data 
    Source=_sqlserver_;Database=Sitecore_Reporting_Secondary" />
    <!--
    <add name="reporting.secondary" connectionString="user 
    id=_sql_server_user_;password=_user_password_;Data 
    Source=_sqlserver_;Database=Sitecore_Reporting2" />
    -->

    xDBは、Sitecore_Reporting_Secondaryデータベースをプライマリ レポート データベースとして使用して、Webサイトから新しいライブ データを収集するようになりました。 Sitecore_Reporting2データベースは、次回レポート データベースを再構築するときに再度有効にする必要が生じるまで無効になります。

    手記

    Sitecore_Reporting2は、次にレポート・データベースを再構築するときに、クリーンなレポート・データベースに使用できる名前の例です。

  3. 再構築が成功したことを確認するには、エクスペリエンス分析レポートアプリケーションを開き、Webサイトへの最新の訪問を示すレポートを表示します。これらのレポートに表示される訪問は、MongoDBコレクション データベースからの履歴データに対応している必要があります。

    手記

    問題が発生した場合は、接続文字列を簡単に交換して、以前のバージョンのレポート データベースを復元できます。

この記事を改善するための提案がある場合は、 お知らせください!