Strategy ONE

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

Upgrade paralelo ou migração de metadados com Platform Analytics

O Platform Analytics é uma ferramenta de telemetria que suporta a captura de telemetria de várias implementações da MicroStrategy simultaneamente. O Platform Analytics tem uma maneira única 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 que é associada aos novos metadados.

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

Se algum dos seguintes parâmetros mudar, o Platform Analytics considerará seus metadados como novos e uma linha adicional aparecerá na lu_metadata tabela:

  • metadata_guid Uma GUID de metadados exclusiva é gerada e armazenada quando novos metadados são criados por meio do assistente de configuração.
  • host O servidor que hospeda o servidor de banco de dados.
  • porta A porta na qual o servidor de banco de dados é executado.
  • banco de dados O nome do banco de dados de metadados.
  • uid/sid Esse campo só é usado 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 no seu odbc.ini para Linux e o ODBC Administrador da fonte de dados 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 ativos e em execução. 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 mensagem de telemetria para tópicos de deslocamento ou se elas diferirem por um valor desprezível entre o Telemetry Server (por exemplo, Kafka) e o Repositório do Platform Analytics:
    1. A MicroStrategy sugere que você verifique as mensagens dos seguintes tópicos principais ou áreas de assunto:
      1. IsReportStats
      2. IsDocumentStats
      3. IsSessionStats
    2. Para obter o resultado do Telemetry Server, acesse 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 do banco de dados Query tool 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 um novo metadados de .

  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 a tabela foi preenchida.

  5. Interrompa 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 Platform Analytics Consumer.

  8. Confirme se as transações são associadas ao metadata_id correto usando a seguinte consulta. As novas entradas devem ter o metadata_id antigo 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. Limpar 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