System Activity リードレプリカ データベースを作成する

エリート システム アクティビティ機能は、Looker がホストするインスタンスでのみ使用できます。セルフホスト型インスタンスの場合は、Looker バックエンド データベースのリードレプリカを作成することで、エリート システム アクティビティのメリットを活用できます。

このオプションを使用するには、MySQL バックエンド データベースを使用するようにインスタンスを構成する必要があります。

このオプションは、セルフホスト型インスタンスでのみ使用できます。Looker でホストされるインスタンスの場合は、Google Cloud セールス スペシャリストにお問い合わせください。

MySQL バックエンド データベースのリードレプリカを設定し、システム アクティビティ クエリにリードレプリカを使用するように Looker を構成するには:

  1. MySQL バックエンド データベースのリードレプリカを作成します。たとえば、AWS で MySQL リードレプリカを作成するには、Amazon のリードレプリカの操作ドキュメントの手順に従います。DB インスタンス ID とポート番号を保存します。これは、次のステップで Looker を構成する際に必要になります。

  2. Looker インスタンスで sa-db という名前の yaml ファイルを作成し、次の内容を含めます。

    dialect: mysql
    host: <DB instance identifier>
    username: root
    password: <password>
    database: looker
    port: <DB instance port>
    
  3. Looker を停止します。

  4. 起動オプション --internal-analytics-connection-file sa-db.yml を指定して Looker を起動します。これにより、システム アクティビティ クエリに sa-db.yml で構成されたリードレプリカ データベースを使用するように Looker が構成されます。

  5. 必要に応じて、次の起動オプションを使用してエリート システム アクティビティの構成を変更することもできます。

    • --internal-analytics-retention-days=<number>: デフォルトでは、システム アクティビティは 90 日分の履歴データを保存します。この起動オプションを使用して、システム アクティビティが保存する履歴データの日数を指定します。データの保持を 90 日を超えて延長することはおすすめしませんが、データ保持期間を短くするとパフォーマンスを改善できます。デフォルトの 90 日を超えて履歴保持を増やしたい場合は、エリート システム アクティビティ オプションを使用した Looker のホスティングについてアカウント責任者に質問してください。

    デフォルトを超える日数が必要な場合は、アカウント責任者にエリート システム アクティビティ オプション --internal-analytics-connection-pool-size=<number> を使用した Looker のホスティングについてお問い合わせください。デフォルトでは、システム アクティビティ クエリは 1 つのデータベース接続プールサイズに制限されます。つまり、複数のシステム分析クエリはキューに格納され、バックエンド データベースで順次実行されることになります。これにより、内部データベースがシステム分析クエリで過負荷にならないようにしています。この起動オプションを使用して、同時に実行できる同時実行システム分析クエリの数を指定できます。例、8

システム アクティビティ クエリでリードレプリカ データベースを使用するように構成した後、Looker は引き続き内部 MySQL データベースを内部アプリケーション データベースとして使用します。システム アクティビティ ダッシュボードと Explore では、リードレプリカ データベースを使用します。

Looker がシステム アクティビティ クエリにリードレプリカ データベースを使用していることを確認するには:

  • sa-db.yml ファイルのパスワードを変更すると、システム アクティビティ クエリでエラーが返されます。
  • MySQL データベースで show processlist; を実行すると、現在実行中のプロセスを確認できます。メインの Looker データベースにはスリープ状態のオープン接続が多数表示され、looker__internal__analytics データベースには分析クエリが表示されます。

システム アクティビティ ダッシュボードと Explore では、リードレプリカ データベースを使用しますが、従来の i__looker Explore では引き続きプライマリ バックエンド データベースにクエリを実行します。i__looker をクエリする保存済みの Look またはダッシュボードを更新し、システム アクティビティをクエリするようにします。このドキュメント ページに記載されている方法を使用して、保存したルックとダッシュボードが、読み取りレプリカ データベースへの正しい接続をクエリしていることを確認します。