Zephyrnet Logo

Anúncio da filtragem de dados para integração de ETL zero do Amazon Aurora MySQL com o Amazon Redshift | Amazon Web Services

Data:

À medida que sua organização se torna mais orientada a dados e usa dados como fonte de vantagem competitiva, você desejará executar análises em seus dados para entender melhor seus principais impulsionadores de negócios para aumentar as vendas, reduzir custos e otimizar seus negócios. Para executar análises em seus dados operacionais, você pode criar uma solução que seja uma combinação de um banco de dados, um data warehouse e um pipeline de extração, transformação e carregamento (ETL). ETL é o processo que os engenheiros de dados usam para combinar dados de diferentes fontes.

Para reduzir o esforço envolvido na construção e manutenção de pipelines ETL entre bancos de dados transacionais e data warehouses, a AWS anunciou Integração de ETL zero do Amazon Aurora com o Amazon Redshift at AWS re: Invent 2022 e agora está disponível em geral (GA) para Amazon Aurora MySQL compatível com edição 3.05.0.

A AWS está anunciando agora a filtragem de dados em integrações de ETL zero, permitindo que você traga dados seletivos da instância de banco de dados em integrações de ETL zero entre Amazon Aurora MySQL e Amazon RedShift. Este recurso permite selecionar bancos de dados e tabelas individuais a serem replicados em seu data warehouse do Redshift para casos de uso analíticos.

Nesta postagem, fornecemos uma visão geral dos casos de uso em que você pode usar esse recurso e fornecemos orientação passo a passo sobre como começar a fazer análises operacionais quase em tempo real usando esse recurso.

Casos de uso de filtragem de dados

A filtragem de dados permite escolher os bancos de dados e tabelas a serem replicados do Amazon Aurora MySQL para o Amazon Redshift. Você pode aplicar vários filtros à integração zero-ETL, permitindo adaptar a replicação às suas necessidades específicas. A filtragem de dados aplica um exclude or include regra de filtro e pode usar expressões regulares para corresponder a vários bancos de dados e tabelas.

Nesta seção, discutimos alguns casos de uso comuns para filtragem de dados.

Melhore a segurança dos dados excluindo tabelas contendo dados PII da replicação

Os bancos de dados operacionais geralmente contêm informações de identificação pessoal (PII). Estas são informações de natureza sensível e podem incluir informações como endereços para correspondência, documentação de verificação do cliente ou informações de cartão de crédito.

Devido a regulamentações rígidas de conformidade de segurança, talvez você não queira usar PII em seus casos de uso analítico. A filtragem de dados permite filtrar bancos de dados ou tabelas que contenham dados PII, excluindo-os da replicação para o Amazon Redshift. Isso melhora a segurança dos dados e a conformidade com cargas de trabalho analíticas.

Economize em custos de armazenamento e gerencie cargas de trabalho analíticas replicando tabelas necessárias para casos de uso específicos

Os bancos de dados operacionais geralmente contêm muitos conjuntos de dados diferentes que não são úteis para análise. Isso inclui dados suplementares, dados de aplicativos específicos e múltiplas cópias do mesmo conjunto de dados para diferentes aplicativos.

Além disso, é comum construir diferentes casos de uso em diferentes armazéns do Redshift. Esta arquitetura requer que diferentes conjuntos de dados estejam disponíveis em terminais individuais.

A filtragem de dados permite replicar apenas os conjuntos de dados necessários para seus casos de uso. Isto pode economizar custos, eliminando a necessidade de armazenar dados que não estão sendo usados.

Você também pode modificar integrações de ETL zero existentes para aplicar replicação de dados mais restritiva quando desejar. Se você adicionar um filtro de dados a uma integração existente, o Aurora reavaliará totalmente os dados que estão sendo replicados com o novo filtro. Isso removerá os dados recém-filtrados do endpoint Redshift de destino.

Para obter mais informações sobre cotas para integrações do Aurora zero-ETL com o Amazon Redshift, consulte Quotas.

Comece com uma pequena replicação de dados e adicione tabelas de forma incremental conforme necessário

À medida que mais casos de uso de análise são desenvolvidos no Amazon Redshift, talvez você queira adicionar mais tabelas a uma replicação individual de ETL zero. Em vez de replicar todas as tabelas para o Amazon Redshift para satisfazer a chance de que elas possam ser usadas no futuro, a filtragem de dados permite que você comece aos poucos com um subconjunto de tabelas do seu banco de dados Aurora e adicione gradualmente mais tabelas ao filtro conforme necessário .

Depois que um filtro de dados em uma integração de ETL zero for atualizado, o Aurora reavaliará totalmente todo o filtro como se o filtro anterior não existisse, de modo que as cargas de trabalho que usam tabelas replicadas anteriormente não sejam afetadas pela adição de novas tabelas.

Melhore o desempenho da carga de trabalho individual balanceando a carga dos processos de replicação

Para grandes bancos de dados transacionais, pode ser necessário balancear a carga da replicação e qualquer processamento downstream para vários clusters do Redshift para permitir a redução dos requisitos de computação para um endpoint individual do Redshift e a capacidade de dividir cargas de trabalho em vários endpoints. Ao balancear cargas de trabalho em vários endpoints do Redshift, você pode criar efetivamente uma arquitetura de malha de dados, onde os endpoints são dimensionados adequadamente para cargas de trabalho individuais. Isso pode melhorar o desempenho e reduzir o custo geral.

A filtragem de dados permite replicar diferentes bancos de dados e tabelas para separar endpoints do Redshift.

A figura a seguir mostra como você pode usar filtros de dados em integrações de ETL zero para dividir diferentes bancos de dados no Aurora para separar endpoints do Redshift.

Caso de uso de exemplo

Considere o BILHETE base de dados. O banco de dados de amostra TICKIT contém dados de uma empresa fictícia onde os usuários podem comprar e vender ingressos para vários eventos. Os analistas de negócios da empresa desejam usar os dados armazenados em seu banco de dados Aurora MySQL para gerar diversas métricas e gostariam de realizar essa análise quase em tempo real. Por esse motivo, a empresa identificou o ETL zero como uma solução potencial.

Ao longo da investigação dos conjuntos de dados necessários, os analistas da empresa observaram que a tabela de usuários contém informações pessoais sobre os usuários do cliente que não são úteis para seus requisitos analíticos. Portanto, eles desejam replicar todos os dados, exceto a tabela de usuários, e usarão a filtragem de dados do ETL zero para fazer isso.

instalação

Comece seguindo as etapas em Guia de conceitos básicos para análises operacionais quase em tempo real usando a integração zero-ETL do Amazon Aurora com o Amazon Redshift para criar um novo banco de dados Aurora MySQL, Sem servidor Amazon Redshift endpoint e integração zero-ETL. Em seguida, abra o editor de consultas Redshift v2 e execute a seguinte consulta para mostrar que os dados da tabela de usuários foram replicados com sucesso:

select * from aurora_zeroetl.demodb.users;

Filtros de dados

Os filtros de dados são aplicados diretamente à integração zero-ETL em Serviço de banco de dados relacional da Amazon (Amazon RDS). Você pode definir vários filtros para uma única integração, e cada filtro é definido como um Include or Exclude tipo de filtro. Os filtros de dados aplicam um padrão às tabelas de banco de dados existentes e futuras para determinar qual filtro deve ser aplicado.

Aplicar um filtro de dados

Para aplicar um filtro para remover o users tabela da integração zero-ETL, conclua as etapas a seguir:

  1. No console do Amazon RDS, escolha Integrações Zero-ETL no painel de navegação.
  2. Escolha a integração zero-ETL à qual adicionar um filtro.

O filtro padrão é incluir todos os bancos de dados e tabelas representados por um include:*.* filtro.

  1. Escolha modificar.
  2. Escolha Adicionar filtro no fonte seção.
  3. Escolha Escolha o tipo de filtro, escolha Excluir.
  4. Escolha Expressão de filtro, insira a expressão demodb.users.

A ordem da expressão do filtro é importante. Os filtros são avaliados da esquerda para a direita, de cima para baixo, e os filtros subsequentes substituirão os filtros anteriores. Neste exemplo, o Aurora avaliará que todas as tabelas devem ser incluídas (filtro 1) e depois avaliará que o demodb.users tabela deve ser excluída (filtro 2). O filtro de exclusão, portanto, substitui a inclusão porque vem depois do filtro de inclusão.

  1. Escolha Continuar.
  2. Revise as alterações, certificando-se de que a ordem dos filtros esteja correta e escolha Salvar as alterações .

A integração será adicionada e estará em um Modificando estado até que as alterações tenham sido aplicadas. Isso pode levar até 30 minutos. Para verificar se as alterações foram aplicadas, escolha a integração zero-ETL e verifique seu status. Quando aparece como Ativo, as alterações foram aplicadas.

Verifique a mudança

Para verificar se a integração zero-ETL foi atualizada, conclua as etapas a seguir:

  1. No editor de consultas Redshift v2, conecte-se ao cluster Redshift.
  2. Escolha (clique com o botão direito) o aurora-zeroetl banco de dados que você criou e escolha revisar.
  3. Expandir demodb e Tables.

A users tabela não está mais disponível porque foi removida da replicação. Todas as outras tabelas ainda estão disponíveis.

  1. Se você executar a mesma instrução SELECT anterior, receberá um erro informando que o objeto não existe no banco de dados:
    select * from aurora_zeroetl.demodb.users;

Aplicar um filtro de dados usando a AWS CLI

Os analistas de negócios da empresa agora entendem que mais bancos de dados estão sendo adicionados ao banco de dados Aurora MySQL e querem garantir que apenas o demodb o banco de dados é replicado para seu cluster Redshift. Para tanto, desejam atualizar os filtros de integração zero-ETL com o Interface de linha de comando da AWS (AWSCL).

Para adicionar filtros de dados a uma integração sem ETL usando a AWS CLI, você pode chamar o método modificar-integração comando. Além do identificador de integração, especifique o --data-filter parâmetro com uma lista separada por vírgulas de include e exclude filtros.

Conclua as etapas a seguir para alterar o filtro na integração ETL zero:

  1. Abra um terminal com a AWS CLI instalada.
  2. Digite o seguinte comando para listar todas as integrações disponíveis:
    aws rds describe-integrations

  3. Encontre a integração que deseja atualizar e copie o identificador de integração.

O identificador de integração é uma string alfanumérica no final do ARN de integração.

  1. Execute o seguinte comando, atualizando com o identificador copiado da etapa anterior:
    aws rds modify-integration --integration-identifier "<integration identifier>" --data-filter 'exclude: *.*, include: demodb.*, exclude: demodb.users'

Quando o Aurora estiver avaliando esse filtro, ele excluirá tudo por padrão e incluirá apenas o demodb banco de dados, mas exclui o demodb.users tabela.

Os filtros de dados podem implementar expressões regulares para bancos de dados e tabelas. Por exemplo, se você quiser filtrar qualquer tabela que comece com user, você pode executar o seguinte:

aws rds modify-integration --integration-identifier "<integration identifier>" --data-filter 'exclude: *.*, include: demodb.*, exclude *./^user/'

Assim como na troca de filtro anterior, a integração será adicionada e ficará em uma Modificando estado até que as alterações tenham sido aplicadas. Isso pode levar até 30 minutos. Quando aparece como Ativo, as alterações foram aplicadas.

limpar

Para remover o filtro adicionado à integração ETL zero, conclua as etapas a seguir:

  1. No console do Amazon RDS, escolha Integrações Zero-ETL no painel de navegação.
  2. Escolha sua integração ETL zero.
  3. Escolha modificar.
  4. Escolha Eliminar ao lado dos filtros que você deseja remover.
  5. Você também pode alterar o Excluir tipo de filtro para Incluir.

Como alternativa, você pode usar a AWS CLI para executar o seguinte:

aws rds modify-integration --integration-identifier "<integration identifier>" --data-filter 'include: *.*'

  1. Escolha Continuar.
  2. Escolha Salvar as alterações .

O filtro de dados levará até 30 minutos para aplicar as alterações. Depois de remover os filtros de dados, o Aurora reavalia os filtros restantes como se o filtro removido nunca tivesse existido. Quaisquer dados que anteriormente não correspondiam aos critérios de filtragem, mas agora correspondem, são replicados no data warehouse de destino do Redshift.

Conclusão

Nesta postagem, mostramos como configurar a filtragem de dados na integração do Aurora zero-ETL do Amazon Aurora MySQL ao Amazon Redshift. Isso permite que você habilite análises quase em tempo real de dados transacionais e operacionais enquanto replica apenas os dados necessários.

Com a filtragem de dados, você pode dividir as cargas de trabalho em endpoints separados do Redshift, limitar a replicação de conjuntos de dados privados ou confidenciais e aumentar o desempenho das cargas de trabalho replicando apenas os conjuntos de dados necessários.

Para saber mais sobre a integração do Aurora zero-ETL com o Amazon Redshift, consulte Trabalhando com integrações Aurora zero-ETL com Amazon Redshift e Trabalhando com integrações zero-ETL.


Sobre os autores

Jyoti Aggarwal é líder de gerenciamento de produtos para AWS zero-ETL. Ela lidera a estratégia de produtos e negócios, incluindo a condução de iniciativas em torno de desempenho, experiência do cliente e segurança. Ela traz experiência em computação em nuvem, pipelines de dados, análises, inteligência artificial (IA) e serviços de dados, incluindo bancos de dados, data warehouses e data lakes.


Sean Beath
é arquiteto de soluções analíticas na Amazon Web Services. Ele tem experiência no ciclo de vida completo da modernização da plataforma de dados usando serviços da AWS e trabalha com clientes para ajudar a gerar valor analítico na AWS.

Gokul Soundararajan é engenheiro principal na AWS e recebeu um PhD da University of Toronto e tem trabalhado nas áreas de armazenamento, bancos de dados e análises.

local_img

Inteligência mais recente

local_img