Compartilhamento de dados no Amazon Redshift
Com o Amazon Redshift, é possível compartilhar dados em tempo real entre clusters do Amazon Redshift ou com outros serviços da AWS. O compartilhamento de dados permite que você compartilhe dados em tempo real, sem precisar criar uma cópia ou movê-la. Os administradores de banco de dados e engenheiros de dados podem usar o compartilhamento de dados para fornecer acesso seguro e somente leitura aos dados para fins de analytics, mantendo o controle sobre os dados. Os analistas de dados, profissionais de business intelligence e cientistas de dados podem utilizar dados compartilhados para obter insights sem duplicar ou mover dados. Casos de uso comuns incluem compartilhar dados com parceiros, permitir análises multifuncionais e facilitar a democratização de dados dentro de uma organização. As seções a seguir apresentam detalhes da configuração e do gerenciamento do compartilhamento de dados no Amazon Redshift.
Com o compartilhamento de dados do Amazon Redshift, você pode compartilhar com segurança o acesso de leitura a dados em tempo real em clusters do Amazon Redshift, grupos de trabalho, Contas da AWS e Regiões da AWS sem mover ou copiar manualmente os dados. Como os dados ainda estão ativos, todos os usuários podem ver as informações mais atualizadas e consistentes no Amazon Redshift assim que elas são atualizadas.
É possível compartilhar dados entre clusters provisionados, grupos de trabalho sem servidor, zonas de disponibilidade, Contas da AWS e Regiões da AWS. Você pode compartilhar entre tipos de cluster, bem como entre clusters provisionados e sem servidor.
Você pode compartilhar objetos de banco de dados de leituras e gravações em clusters do Amazon Redshift diferentes ou grupos de trabalho do Amazon Redshift Serverless dentro da mesma Conta da AWS ou de uma Conta da AWS para outra. Também é possível ler e gravar dados em todas as regiões. Você pode conceder permissões como SELECT, INSERT e UPDATE para tabelas diferentes e USAGE e CREATE para esquemas diferentes. Os dados permanecem ativos e disponíveis para todos os warehouses assim que uma transação de gravação é confirmada.
Casos de uso de compartilhamento de dados para o Amazon Redshift
O compartilhamento de dados do Amazon Redshift é especialmente útil para esses casos de uso:
-
Suporte a diferentes tipos de workloads críticos aos negócios — Use um cluster central de extrair, transformar e carregar (ETL) que compartilhe dados com vários clusters de business intelligence (BI) ou analíticos. Essa abordagem fornece isolamento da workload de leitura e estorno para workloads individuais. Você pode dimensionar e escalar sua computação de workload individual de acordo com os requisitos específicos do workload de preço e performance.
-
Habilitar a colaboração entre grupos — Habilite a colaboração perfeita entre equipes e grupos de negócios para análise mais ampla, ciência de dados e análise de impacto entre produtos.
-
Fornecimento de dados como serviço — Compartilhe dados como um serviço em toda a sua organização.
-
Compartilhamento de dados entre ambientes — Compartilhe dados entre os ambientes de desenvolvimento, teste e produção. Você pode melhorar a agilidade da equipe compartilhando dados em diferentes níveis de granularidade.
-
Licenciar acesso a dados no Amazon Redshift: liste os conjuntos de dados do Amazon Redshift no catálogo do AWS Data Exchange que os clientes podem encontrar, assinar e consultar em minutos.
Casos de uso de compartilhamento de dados com acesso de gravação
O compartilhamento de dados para gravações tem vários casos de uso importantes:
-
Atualizar os dados da fonte comercial sobre o produtor: você pode compartilhar dados como um serviço em toda a organização, mas os consumidores também podem realizar ações nos dados de origem. Por exemplo, eles podem comunicar valores atualizados ou confirmar o recebimento de dados. Esses são apenas alguns possíveis casos de uso comercial.
-
Inserir registros adicionais sobre o produtor: os consumidores podem adicionar registros aos dados da fonte original. Eles podem ser marcados como do consumidor, se necessário.
Para obter informações específicas sobre como executar operações de gravação em uma unidade de compartilhamento de dados, consulte Compartilhar acesso de gravação a dados.
Compartilhamento de dados em diferentes níveis no Amazon Redshift
Com o Amazon Redshift, você pode compartilhar dados em diferentes níveis. Esses níveis incluem bancos de dados, esquemas, tabelas, visualizações (incluindo visualizações regulares, de vinculação tardia e materializadas) e funções definidas pelo usuário (UDFs) do SQL. Você pode criar vários datashares para um determinado banco de dados. Um datashare pode conter objetos de vários esquemas no banco de dados no qual o compartilhamento é criado.
Ao ter essa flexibilidade no compartilhamento de dados, você obtém um controle de acesso minucioso. Você pode personalizar esse controle para diferentes usuários e empresas que precisam de acesso aos dados do Amazon Redshift.
Gerenciamento de consistência para compartilhamento de dados no Amazon Redshift
O Amazon Redshift fornece consistência transacional em todos os clusters de produtores e consumidores e compartilha visualizações atualizadas e consistentes dos dados com todos os consumidores.
Você pode atualizar continuamente os dados no cluster de produtores. Todas as consultas em um cluster de consumidores dentro de uma transação ler o mesmo estado dos dados compartilhados. O Amazon Redshift não considera os dados que foram alterados por uma outra transação no cluster de produtores que foi confirmada após o início da transação no cluster de consumidores. Depois que a alteração de dados é confirmada no cluster de produtores, novas transações no cluster de consumidores podem consultar imediatamente os dados atualizados.
A forte consistência elimina os riscos de haver relatórios de negócios menos fidedignos que possam conter resultados inválidos durante o compartilhamento de dados. Esse fator é especialmente importante para a análise financeira ou onde os resultados podem ser usados para preparar conjuntos de dados que são usados para treinar modelos de Machine Learning.