MicroStrategy ONE
並列アップグレード、メタデータ移行、またはクローン時の統計の統合維持
Platform Analytics を使用した並列アップグレードまたはメタデータ移行
Platform Analytics は、複数の MicroStrategy 配置から同時にテレメトリーを記録することができるテレメトリー ツールです。Platform Analytics は独自の方法で、メタデータの Intelligence Server への各接続を認識します。
管理者が別のメタデータ バックアップを使用して Intelligence Server を再構成すると、Platform Analytics はすぐに変更を認識し、新しいメタデータに関連付けられた新しいテレメトリの記録を開始します。
目的によっては、追加の操作は必要ありません。たとえば、テストまたはサンドボックス環境として 2 つめの環境を作成した場合などです。同じメタデータ リポジトリのテレメトリーを記録し続けたい場合は、以下を参照してください。
以下のパラメータのいずれかが変更された場合、Platform Analyticsはメタデータを新しいものとみなし、 lu_メタデータテーブル:
- メタデータ GUID構成ウィザードを使用して新しいメタデータが作成されると、一意のメタデータ GUID が生成され、保存されます。
- ホストデータベース サーバーをホストするサーバー。
- ポートデータベース サーバーが実行されるポート。
- データベースメタデータ データベース名。
- ユーザID/SIDこのフィールドは Oracle データベースでのみ使用されます。
前述のパラメーターは、メタデータ DSN の値に基づいて処理されます。メタデータDSNは、odbc.ini
Linux用のファイルとODBC データ ソース アドミニストレーター Windows 用。
テレメトリーを復元したり、オプションですべてのテレメトリーを確実に記録するには、以下の手順を実行します。
- Platform Analytics サービスを起動し、実行したままにします。たとえば、Zookeeper、Kafka、PAconsumer、REDIS などです。
- オプションで、構成変更を行う前に Platform Analytics が既存のテレメトリの処理を完了していることを確認するには、オフセット トピックのテレメトリ メッセージの一致数を確認するか、テレメトリ サーバー (Kafka など) と Platform Analytics リポジトリの間でテレメトリ メッセージの差が無視できるほど小さいかどうかを確認します。
- MicroStrategy では、次のコア トピックまたは主題領域からのメッセージを確認することをお勧めします。
- レポート統計
- ドキュメント統計
- セッション統計
- 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 リポジトリから結果を取得するには、DB クエリ ツールまたは別のクエリ エディターを使用してリポジトリに接続し、次のクエリを実行します。
コピーselect * from platform_analytics_wh.lu_topic_partition_offset where id like '%<topic>%'
- MicroStrategy では、次のコア トピックまたは主題領域からのメッセージを確認することをお勧めします。
-
DBクエリツールまたは別のクエリエディタを使用してPlatform Analyticsリポジトリに接続し、 lu_メタデータテーブルにデータが入力されます。
-
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