Strategy ONE
Conservar la integridad de las estadísticas durante las actualizaciones paralelas, la migración de metadatos o la clonación
Actualización en paralelo o migración de metadatos con Platform Analytics
Platform Analytics es una herramienta de telemetría que admite la captura de telemetría de varias implementaciones de MicroStrategy al mismo tiempo. Platform Analytics tiene una forma única de identificar cada conexión de metadatos con el Intelligence Server.
Cuando un administrador vuelve a configurar el Intelligence Server con una copia de seguridad de metadatos diferente, Platform Analytics reconoce inmediatamente el cambio y empieza a registrar una nueva telemetría asociada a los nuevos metadatos.
Dependiendo de su objetivo, no será necesaria ninguna otra acción. Por ejemplo, si ha creado un segundo entorno como de prueba o de espacio aislado. Si desea seguir capturando telemetría en el mismo repositorio de metadatos, consulte más abajo:
Si cambia alguno de los siguientes parámetros, significa que Platform Analytics considera que sus metadatos son nuevos y aparece una fila adicional en el lu_metadata tabla:
- metadata_guid Cuando se crean nuevos metadatos mediante el asistente de configuración, se genera y almacena un GUID de metadatos único.
- host El servidor que aloja el servidor de bases de datos.
- puerto El puerto en el que se ejecuta el servidor de bases de datos.
- base de datos El nombre de la base de datos de metadatos.
- UID/SID Este campo solo se utiliza para las bases de datos Oracle.
Los parámetros enumerados anteriormente se procesan según los valores que se proporcionan en los DSN de metadatos. El DSN de metadatos se encuentra en su odbc.ini
para Linux y el ODBC Administrador de origen de datos para Windows.
Para restaurar la telemetría y, opcionalmente, asegurarse de que se captura toda la telemetría, realice los siguientes pasos:
- Mantenga sus servicios de Platform Analytics en funcionamiento. Por ejemplo, Zookeeper, Kafka, PAconsumer, REDIS, etc.
- Para asegurarse de que Platform Analytics ha terminado de procesar la telemetría existente antes de realizar cambios en la configuración, compruebe el número de coincidencias de mensajes de telemetría para temas compensados o si se diferencian en una cantidad insignificante entre el servidor de telemetría (por ejemplo, Kafka) y el repositorio de Platform Analytics:
- MicroStrategy sugiere revisar los mensajes correspondientes a los siguientes temas principales o áreas temáticas:
- IsReportStats
- IsDocumentStats
- IsSessionStats
- Para obtener el resultado del servidor de Telemetría, vaya a su directorio de instalación (por ejemplo, opt/ MicroStrategy/Messaging Services/Kafka/kafka xx.xxx/bin) y ejecute la siguiente consulta:Copiar
./kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list <ip:port> --topic <topic> --time -1
Para obtener el resultado del repositorio de Platform Analytics, conéctese al repositorio a través de la base de datos Herramienta de consulta u otro editor de consultas y ejecute la siguiente consulta:
Copiarselect * from platform_analytics_wh.lu_topic_partition_offset where id like '%<topic>%'
- MicroStrategy sugiere revisar los mensajes correspondientes a los siguientes temas principales o áreas temáticas:
-
Volver a configurar Intelligence Server con nuevos metadatos.
-
Conéctese al repositorio de Platform Analytics a través de la herramienta de consulta de base de datos u otro editor de consultas y verifique que la nueva entrada en el lu_metadata la tabla está completa.
-
Detenga el proceso del consumidor de Platform Analytics (PAconsumer).
-
Con la herramienta de consulta de base de datos, intercambie los metadata_ids de la tabla lu_metadata por un metadata_id modificado temporalmente para evitar excepciones de clave primaria:
Esquema
CopiarUPDATE 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';Ejemplo
CopiarUPDATE 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;'; -
Inicie el consumidor de Platform Analytics.
-
Confirme que las transacciones se asignan al metadata_id correcto mediante la siguiente consulta. Las nuevas entradas deben tener el antiguo metadata_id con la nueva metdata_db_connection.
CopiarSELECT 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; -
Depure el almacén de Platform Analytics para eliminar todos los objetos de los metadatos con el metadata_id sin usar mediante la siguiente consulta:
CopiardoTestBeforePurge: 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