Transmissão de registros e alterações de dados de entidades de IBM Master Data Management
Configure um fluxo de eventos de dados mestres para propagar alterações em seus registros e dados de entidades diretamente para sistemas downstream por meio de um servidor conectado ao Apache Kafka.
Transmita registros e alterações de dados de entidades para garantir que seus usuários e sistemas tenham sempre os dados mestres mais atualizados. Você pode obter sincronização de dados quase em tempo real entre IBM Master Data Management e diferentes pontos finais usando o recurso de streaming de eventos de dados mestres e uma conexão Apache Kafka. Os pontos finais típicos são sistemas a jusante que precisam sincronizar a visão confiável dos dados masterizados para diferentes casos de uso analítico e comercial.
Para realizar a transmissão de eventos, o IBM Master Data Management utiliza os serviços de conexão IBM Cloud Pak for Data. Especificamente, ele usa um recurso de conexão Apache Kafka para se conectar a clusters externos Kafka e IBM Event Streams. IBM Master Data Management suporta todas as variantes Kafka que a conexão Apache Kafka suporta. Para obter mais informações sobre a conexão Apache Kafka, consulte a conexão Apache Kafka.
IBM Master Data Management suporta streaming através de Apache Kafka para seus pontos finais de destino. Não é possível transmitir dados de um sistema externo para IBM Master Data Management através do mesmo mecanismo. No entanto, você pode obter uma configuração personalizada de streaming de dados de entrada usando DataStage, uma conexão Apache Kafka e os métodos da API de sincronização contínua IBM Master Data Management. Para obter mais informações sobre essa configuração, consulte a publicação do blog externo Ingestão de dados em tempo real para o IBM Master Data Management usando os recursos principais da plataforma.
Neste tópico:
- Tipos de eventos de dados mestres que podem ser transmitidos
- Configurando o streaming de eventos de dados mestres
Para obter mais detalhes sobre eventos de streaming de dados mestres, como modelos de mensagem e exemplos, consulte Modelo de mensagem de streaming de eventos de dados mestres.
Tipos de eventos de dados mestres que podem ser transmitidos
Os sistemas a jusante muitas vezes precisam sincronizar seus dados com os dados mestres mais atuais fornecidos por IBM Master Data Management. Ao usar o recurso de streaming de eventos, você pode se inscrever para receber eventos de alteração de dados no nível da entidade ou do registro. Você também pode se inscrever para receber todos os eventos de alteração de dados, incluindo alterações de entidades e registros.
IBM Master Data Management é um sistema ativo. Sempre que um registro é adicionado, atualizado ou excluído, um evento de alteração de registro é criado. Quando o mecanismo de correspondência é executado, as alterações nos registros são incluídas no processo de correspondência e podem afetar as entidades. Sempre que a correspondência é executada, IBM Master Data Management cria eventos de alteração de entidade para capturar entidades recém-criadas, alterações na associação de entidades existentes ou atualizações nos valores dos atributos compostos de uma entidade.
Alterações nos dados da entidade que acionam eventos de streaming da entidade
Os dados da entidade são alterados quando:
Existem alterações nos atributos dos registros dos membros da entidade que fazem com que valores diferentes sejam selecionados pelas regras de composição de atributos. Para obter mais informações sobre regras de composição de atributos, consulte Definindo regras de composição de atributos.
Um administrador de dados adiciona manualmente um atributo de entidade a uma entidade.
Um administrador de dados atualiza manualmente um atributo de entidade em uma entidade.
Lembre-se: um atributo de entidade é um atributo cujos valores são armazenados diretamente na entidade, em vez de serem derivados de seus registros membros.
Quando você se inscreve em eventos de alteração de entidade, todos os eventos de alteração de registro subjacentes também são incluídos no fluxo. Os registros dos membros de uma entidade de dados mestre podem ser alterados quando:
- A correspondência é executada após uma alteração nos dados do registro (adição, atualização ou exclusão).
- A correspondência é executada após um engenheiro de dados atualizar a configuração do algoritmo de correspondência.
- Um administrador de dados vincula ou desvincula registros manualmente.
Uma entidade pode ser excluída quando não tiver mais nenhum registro de membro.
Alterações nos dados de registro que acionam eventos de streaming de registros
Registre as alterações nos dados quando:
- Os registros são adicionados a IBM Master Data Management.
- Os valores dos registros são atualizados.
- Os valores registrados são excluídos.
Se você criar uma assinatura de streaming para eventos de alteração de entidade, os eventos de alteração de registro subjacentes também serão incluídos no fluxo. No entanto, existem alguns cenários em que você pode querer transmitir apenas dados registrados, como:
- Se o seu modelo de dados personalizado incluir tipos de registro que não estão associados a nenhum tipo de entidade.
- Se a sua assinatura de streaming de entidades incluir um filtro de nível de fonte para incluir ou excluir determinados tipos de entidades.
- Se você deseja processar eventos de alteração de registro separadamente dos eventos de alteração de entidade, enviando-os para um tópico diferente Kafka.
Configurando o streaming de eventos de dados mestres
Configure uma assinatura de streaming para que todas as alterações nos dados mestres sejam enviadas como uma mensagem de evento para um tópico Kafka. Comece a sincronizar suas entidades e registros de dados mestres com os sistemas downstream.
Você deve usar a API IBM Master Data Management para configurar ou gerenciar assinaturas de streaming.
A capacidade de streaming de eventos de dados mestres suporta os seguintes tipos de conexão e tipos de segurança.
| Tipo de conexão | Tipo de segurança |
|---|---|
| Apache Kafka e outras variantes específicas do fornecedor de Kafka | Nenhum, SSL, SASL_SSL, SCRAM-256, SCRAM-512 |
| IBM Event Streams | SASL_SSL, SCRAM-256, SCRAM-512 |
Para habilitar o recurso de streaming de eventos de dados mestres do IBM Master Data Management :
Crie um recurso de conexão Cloud Pak for Data Apache Kafka em um projeto ou catálogo:
a. Crie um projeto ou catálogo para gerenciar todos os seus ativos de conexão. Para obter informações sobre como criar um projeto, consulte Criando um projeto. Para obter informações sobre como criar um catálogo, consulte Criando um catálogo.
b. No seu projeto ou catálogo, vá para a guia Gerenciar. Na seção Geral, copie o ID do projeto ou o ID do catálogo. Você precisará desse ID para usar como ID do contêiner ao criar sua assinatura de streaming.
c. Vá para a guia Ativos e clique em Novo ativo > Conectar a uma fonte de dados.
d. Na lista de conectores, clique em “ Apache Kafka ” e, em seguida, clique em “Selecionar ”.
e. Insira as informações de conexão do Kafka, como nome, descrição e nome do host do servidor Kafka de destino. Certifique-se de que os seguintes itens de configuração estejam definidos corretamente:
- Defina a opção Credenciais como Compartilhadas.
- Desative a opção Ocultar credenciais confidenciais recuperadas por meio de chamadas de API.
- Selecione um tipo de conexão compatível e um tipo de segurança para sua conexão.
Gere uma chave de API para se autenticar nas APIs do Cloud Pak for Data.
Obtenha o ID do recurso de conexão Apache Kafka e o ID do seu projeto ou catálogo (ID do contêiner). Você precisa desses IDs para usar como entrada ao criar uma assinatura de streaming de eventos de dados mestres. Existem duas maneiras de obter esses IDs:
Do recurso URL : Abra o recurso de conexão Apache Kafka que você criou no seu projeto ou catálogo. Copie o ID do recurso e o ID do contêiner da barra de endereços URL do seu navegador. Consulte o exemplo a seguir:
https://cpd-namespace.apps.samplecp4d.cp.example.com/connections/<ASSET ID>?project_id=<CONTAINER ID>&context=icp4dataUsando a API de conexão: Execute o seguinte comando curl da API:
curl --location --request GET 'https://api.dataplatform.cloud.ibm.com/v2/connections?limit=100&entity.datasource_type=f13bc9b7-4a46-48f4-99c3-01d943334ba7&project_id=xxx&userfs=false' --H 'Accept: application/json' -H "Authorization: ZenApiKey ${TOKEN}"
Use a API IBM Master Data Management para criar sua assinatura de streaming de dados mestres. Use os seguintes métodos da API no
model-msmicroserviço para criar, atualizar ou excluir uma assinatura:
- Método Create:
GET /mdm/v1/event_subscription - Método de atualização:
PUT /mdm/v1/event_subscription - Método de exclusão:
DELETE /mdm/v1/event_subscription
Para obter informações sobre como usar a API IBM Master Data Management, consulte a documentação de referência da API IBM Master Data Management.
Exemplo de carga event_subscription útil:
{
"filter": ["person_entity"],
"event_type": "entity_change",
"created_user": "user123",
"last_update_user": "user123",
"stream_connection": {
"stream_type": "Kafka",
"asset_scope": "Project",
"topic": "PersonEntityTopic",
"asset_id": "<ASSET-ID>",
"container_id": "<CONTAINER-ID>"
},
"subscription_description": "Create PersonEntityRecordSub event subscription SASL SSL EventStream",
"subscription_name": "PersonEntityRecordSubSASLSSLEventStream",
"active": true,
"created_date": "1680297619428",
"last_update_date": "1680297619428"
}
| Parâmetro | Valor |
|---|---|
| filtro | O filtro para o tipo de evento selecionado. Isso filtra os tipos de entidade ou tipos de registro válidos, dependendo do valor do event_type parâmetro. |
| event_type | O tipo de evento que está sendo transmitido nesta assinatura. Os valores suportados são record_change, entity_change, ou ALL. |
| CREATED_USER | O usuário que criou esta assinatura. |
| último_usuário_atualizado | O usuário que atualizou esta assinatura mais recentemente. |
| stream_connection.stream_type | O tipo de fluxo suportado. O valor válido é Kafka. |
| stream_connection.asset_scope | Define se a conexão Kafka está limitada a um Project ou Catalog. |
| stream_connection.topic | O nome do tópico do Kafka no qual os eventos são publicados. |
| stream_connection.asset_id | O ID do recurso da conexão Apache Kafka. |
| stream_connection.container_id | O ID do contêiner do recurso de conexão Apache Kafka. Este é o ID do projeto ou ID do catálogo. |
| descrição_da_assinatura | Uma descrição desta assinatura. |
| subscription_name | O nome desta assinatura. |
| Ativo | O indicador que mostra se esta assinatura está ativa. Se definido como true, os eventos são transmitidos. Se definido como false, nenhum evento será transmitido. |
| data_de_criação | A data em que esta assinatura foi criada. |
| data_da_última_atualização | A data em que esta assinatura foi atualizada pela última vez. |