MicroStrategy ONE

Preservar a integridade das estatísticas durante atualizações paralelas, migração de metadados ou duplicação

Atualização paralela ou migração de metadados com Platform Analytics

Platform Analytics é uma ferramenta de telemetria que oferece suporte à captura de telemetria de vários MicroStrategy implantações simultaneamente. O Platform Analytics possui uma maneira exclusiva de identificar cada conexão de metadados com o Intelligence Server.

Quando um Administrador reconfigura o Intelligence Server com um backup de metadados diferente, o Platform Analytics reconhece imediatamente a alteração e começa a registrar uma nova telemetria associada aos novos metadados.

Dependendo do seu objetivo, nenhuma ação adicional será necessária. Por exemplo, se você criou um segundo ambiente como ambiente de teste ou sandbox. Se você quiser continuar capturando telemetria no mesmo repositório de metadados, veja abaixo:

Se algum dos parâmetros a seguir for alterado, o Platform Analytics considerará seus metadados como novos e uma linha adicional aparecerá na caixa lu_metadata mesa:

  • metadados_guid Um GUID de metadados exclusivo é gerado e armazenado quando novos metadados são criados por meio do assistente de configuração.
  • hospedar O servidor que hospeda o servidor de banco de dados.
  • porta A porta onde o servidor de banco de dados é executado.
  • base de dados O nome do banco de dados de metadados.
  • uid/sid Este campo é usado apenas para bancos de dados Oracle.

Os parâmetros listados acima são processados com base nos valores fornecidos no DSN de metadados. O DSN de metadados está localizado em seu odbc.ini arquivo para Linux e o Administrador de fonte de dados ODBC para Windows.

Para restaurar a telemetria e, opcionalmente, garantir que toda a telemetria seja capturada, execute as seguintes etapas:

  1. Mantenha seus serviços do Platform Analytics em funcionamento. Por exemplo, Zookeeper, Kafka, PAconsumer, REDIS, etc.
  2. Para garantir, opcionalmente, que o Platform Analytics concluiu o processamento da telemetria existente antes de fazer alterações na configuração, verifique o número de correspondências de mensagens de telemetria para tópicos de deslocamento ou se elas diferem em quantidade insignificante entre o Telemetry Server (por exemplo, Kafka) e o Platform Analytics Repository:
    1. MicroStrategy sugere que você verifique as mensagens dos seguintes tópicos principais ou áreas temáticas:
      1. IsReportStats
      2. IsDocumentStats
      3. IsSessionStats
    2. Para obter o resultado do Telemetry Server, vá para seu diretório de instalação (por exemplo, opt/MicroStrategy/Messaging Services/Kafka/kafka xx.xxx/bin) e execute a seguinte consulta:
      Copiar
      ./kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list <ip:port> --topic <topic> --time -1
    3. Para obter o resultado do repositório do Platform Analytics, conecte-se ao repositório por meio da ferramenta DB Query ou outro editor de consultas e execute a seguinte consulta:

      Copiar
      select * from platform_analytics_wh.lu_topic_partition_offset where id like '%<topic>%'
  3. Reconfigure o Intelligence Server com novos metadados.

  4. Conecte-se ao Platform Analytics Repository por meio da ferramenta DB Query ou outro editor de consultas e verifique se a nova entrada no lu_metadata tabela é preenchida.

  5. Pare o processo do Platform Analytics Consumer (PAconsumer).

  6. Usando a ferramenta DB Query, troque os metadata_ids na tabela lu_metadata usando um metadata_id modificado temporariamente para evitar exceções de chave primária:

    Contorno

    Copiar
    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';

    Exemplo

    Copiar
    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;';
  7. Inicie o consumidor do Platform Analytics.

  8. Confirme se as transações estão mapeadas para o metadata_id correto usando a consulta a seguir. As novas entradas devem ter o antigo metadata_id com o novo metdata_db_connection.

    Copiar
    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;
  9. Limpe o Platform Analytics Warehouse para excluir todos os objetos nos metadados com o metadata_id não utilizado usando a seguinte consulta:

    Copiar
    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