MicroStrategy ONE
並列アップグレード、メタデータ移行、またはクローン時の統計の統合維持
Platform Analytics を使用した並列アップグレードまたはメタデータ移行
Platform Analytics は、複数の MicroStrategy 配置から同時にテレメトリーを記録することができるテレメトリー ツールです。Platform Analytics は独自の方法で、メタデータの Intelligence Server への各接続を認識します。
管理者が、異なるメタデータ バックアップで Intelligence Server を再構成すると、Platform Analytics はすぐに変更を認識し、新しいメタデータに関連する新しいテレメトリーの記録を開始します。
目的によっては、追加の操作は必要ありません。たとえば、テストまたはサンドボックス環境として 2 つめの環境を作成した場合などです。同じメタデータ リポジトリのテレメトリーを記録し続けたい場合は、以下を参照してください。
以下のパラメーターのいずれかを変更した場合、新しいメタデータであり、lu_metadata テーブルに新たな行が追加されると想定します。
- metadata_guid 新しいメタデータが Configuration Wizard を通じて作成されたとき、一意のメタデータ GUID が作成され、保存されます。
- host データベース サーバーをホストしているサーバー。
- port データベース サーバーが動作しているポート。
- database メタデータ データベースの名前。
- uid/sid このフィールド Oracle データベースにのみ使用されます。
前述のパラメーターは、メタデータ DSN の値に基づいて処理されます。メタデータ DSN は odbc.ini
Linux 用のファイルとODBC データ ソース管理者 Windows 用です
テレメトリーを復元したり、オプションですべてのテレメトリーを確実に記録するには、以下の手順を実行します。
- Platform Analytics サービスを起動し、実行したままにします。たとえば、Zookeeper、Kafka、PAconsumer、REDIS などです。
- また、Platform Analytics が構成の変更を行う前に既存のテレメトリーの処理を完了していることを確認するには、テレメトリー メッセージの数がオフセット トピックに一致していることを確認します。それらの数が Telemetry Server (例: Kafka) および Platform Analytics Repository 間でわずかに違う場合は、以下を実行します。
- MicroStrategy では、以下の重要トピックまたはテーマ領域からのメッセージを確認することを推奨しています。
- IsReportStats
- IsDocumentStats
- IsSessionStats
- Telemetry Server から結果を取得するには、そのインストール ディレクトリ (例: opt/MicroStrategy/Messaging Services/Kafka/kafka xx.xxx/bin) に移動して、以下のクエリを実行します。コピー
./kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list <ip:port> --topic <topic> --time -1
Platform Analytics Repository から結果を取得するには、DB 経由でリポジトリに接続します クエリ ツールまたは別のクエリ エディターを選択し、次のクエリを実行します:
コピーselect * from platform_analytics_wh.lu_topic_partition_offset where id like '%<topic>%'
- MicroStrategy では、以下の重要トピックまたはテーマ領域からのメッセージを確認することを推奨しています。
-
DB クエリ ツールまたは他のクエリ エディターを使用して Platform Analytics Repository に接続し、lu_metadata テーブル内の新しいエントリーが入力されていることを確認します。
-
Platform Analytics Consumer (Paconsumer) プロセスを停止します。
-
主要な例外を回避するために、DB クエリ ツールを使用し、一時的に変更された metadata_id を使用して、lu_metadata テーブル内の metadata_ids を置き換えます。
アウトライン
コピーUPDATE lu_metadata SET metadata_id = 'TEMPORARY_MD_ID' WHERE metadata_db_connection = 'OLD_MD_CONNECTION';
UPDATE lu_metadata SET metadata_id = 'OLD_MD_ID' WHERE metadata_db_connection = 'NEW_MD_CONNECTION';
UPDATE lu_metadata SET metadata_id = 'NEW_MD_ID' WHERE metadata_db_connection = 'OLD_MD_CONNECTION';例
コピーUPDATE lu_metadata SET metadata_id = '7051653456108457985' WHERE metadata_db_connection = 'host=10.23.35.94;port=5432;database=platform_metadata;';
UPDATE lu_metadata SET metadata_id = '7051653456108457984' WHERE metadata_db_connection = 'host=127.0.0.1;port=5432;database=platform_metadata;';
UPDATE lu_metadata SET metadata_id = '7051946829721636864' WHERE metadata_db_connection = 'host=10.23.35.94;port=5432;database=platform_metadata;'; -
Platform Analytics Consumer を起動します。
-
以下のクエリを使用して、トランザクションが適切な metadata_id にマッピングされていることを確認します。新しいエントリには、新しい metdata_db_connection とともに古い metadata_id が含まれます。
コピーSELECT object_name, m.metadata_id, metadata_db_connection, tran_timestamp
FROM access_transactions a
JOIN lu_object o ON a.object_id = o.object_id
JOIN lu_project p ON o.project_id = p.project_id
JOIN lu_metadata m ON p.metadata_id = m.metadata_id
WHERE tran_timestamp > NOW() - INTERVAL '5 MINUTE'
ORDER BY tran_timestamp DESC; -
使用されない metadata_id を含むメタデータ内のすべてのオブジェクトを削除するには、以下のクエリを使用して、Platform Analytics Warehouse をパージします。
コピーdoTestBeforePurge: true
commandsToExecute:
# - commandName: DELETE_ALL_DELETED_OBJECTS
# - commandName: DELETE_ALL_DELETED_PROJECTS
- commandName: DELETE_ALL_OBJECTS_IN_METADATA
metadataList:
- METADATA_ID_TO_BE_PURGED
# - metadataId_2