Perguntas frequentes sobre o Link do Azure Synapse para Azure Cosmos DB

APLICA-SE AO: NoSQL MongoDB Gremlin

O Link do Azure Synapse para Azure Cosmos DB cria uma integração perfeita entre o Azure Cosmos DB e o Azure Synapse Analytics. Ele permite que os clientes executem análises quase em tempo real em seus dados operacionais com isolamento de desempenho total de suas cargas de trabalho transacionais e sem um pipeline ETL. Este artigo responde perguntas frequentes sobre o Link do Synapse para Azure Cosmos DB.

Perguntas frequentes gerais

O Link do Synapse do Azure é suportado para a API do Azure Cosmos DB para NoSQL e para a API do Azure Cosmos DB para MongoDB. O suporte à API do Azure Cosmos DB para Gremlin está em versão prévia.

Sim, para contas de várias regiões do Azure Cosmos DB, os dados armazenados no repositório analítico também são distribuídos globalmente. O repositório analítico existirá em todas as regiões em que você também tiver um repositório transacional. Independentemente de região de gravação única ou de várias regiões de gravação, as consultas analíticas executadas no Azure Synapse Analytics podem ser entregues pela região local mais próxima.

Quando o Link do Azure Synapse é habilitado para uma conta de várias regiões, o repositório analítico é criado em todas as regiões escolhidas pelos clientes para a replicação geográfica transacional. Os dados subjacentes são otimizados para consistência de taxa de transferência e transacional no repositório transacional.

O repositório analítico é compatível com todas as regiões do Azure Cosmos DB?

Sim.

Atualmente, depois que a funcionalidade de Link do Synapse é habilitada no nível da conta, você não poderá desabilitá-la. Não há implicações de cobrança se a funcionalidade Link do Synapse estiver habilitada no nível da conta e não houver contêineres habilitados para armazenamento analítico.

Se você precisar de desativar a capacidade, exclua e recrie uma nova conta do Azure Cosmos DB, migrando os dados, se necessário.

Sim, você pode usar a CLI do Azure ou o PowerShell para definir o TTL analítico como 0, o que desligará o Synapse Link do contêiner e excluirá permanentemente o armazenamento analítico. Observe que atualmente essa ação não pode ser desfeita e bloqueará a migração da conta do banco de dados para backup contínuo.

O repositório analítico tem algum impacto sobre os SLAs transacionais do Azure Cosmos DB?

Não, não há impacto.

Sim, para as APIs para contas de banco de dados MongoDB e NoSQL. Use a CLI ou o PowerShell para contas do MongoDB.

Você precisa da função Colaborador para habilitar o Link do Synapse no nível da conta.

Repositório analítico do Azure Cosmos DB

Posso habilitar o repositório analítico em contêineres existentes?

Sim. Atualmente, você pode usar o portal do Azure, a CLI do Azure, o PowerShell ou os SDKs do Azure Cosmos DB para habilitar o repositório analítico para a API existente para contêineres NoSQL. E você pode usar a CLI do Azure ou o PowerShell para coleções existentes da API para MongoDB.

Posso ver os arquivos do repositório analítico usando o Azure Data Explorer?

Não. O repositório analítico é mantido em uma conta de armazenamento localizada em uma assinatura interna do Cosmos DB. Os clientes não têm acesso a essa conta de armazenamento e precisam usar os runtimes do Azure Synapse para ler os dados.

Posso desabilitar o repositório analítico em meus contêineres do Azure Cosmos DB?

Sim, o repositório analítico pode ser desabilitado na API para contêineres NoSQL e em coleções da API para MongoDB, usando o PowerShell ou a CLI. Atualmente essa ação não pode ser desfeita.

O repositório analítico é compatível com contêineres do Azure Cosmos DB com taxa de transferência provisionada de dimensionamento automático?

Sim, o repositório analítico pode ser habilitado em contêineres com taxa de transferência provisionada de dimensionamento automático.

Há algum efeito nas RUs provisionadas do repositório transacional do Azure Cosmos DB?

O Azure Cosmos DB garante o isolamento de desempenho entre as cargas de trabalho transacionais e analíticas. A habilitação do repositório analítico em um contêiner não afeta o RU/s do Azure Cosmos DB. As transações (leitura e gravação) e os custos de armazenamento para o repositório analítico são cobrados separadamente. Consulte os preços para o repositório analítico do Azure Cosmos DB para obter mais detalhes.

Posso restringir o acesso da rede ao repositório analítico do Azure Cosmos DB?

Sim, você pode configurar um ponto de extremidade privado gerenciado e restringir o acesso de rede do repositório analítico à rede virtual gerenciada do Azure Synapse. Pontos de extremidade privados gerenciados estabelecem um link privado para o seu repositório analítico.

Você pode adicionar os pontos de extremidade privados do repositório transacional e os do repositório analítico à mesma conta do Azure Cosmos DB em um espaço de trabalho do Azure Synapse Analytics. Para executar apenas consultas analíticas, convém habilitar apenas o ponto de extremidade privado analítico no espaço de trabalho do Synapse Analytics.

Posso usar chaves gerenciadas pelo cliente com o repositório analítico do Azure Cosmos DB?

Você pode criptografar diretamente os dados entre os armazenamentos transacional e analítico usando as mesmas chaves gerenciadas pelo cliente de maneira automática e transparente. Para usar chaves gerenciadas pelo cliente com o repositório analítico, você precisa usar a identidade gerenciada de sua conta do Azure Cosmos DB que foi atribuída pelo sistema em sua política de acesso do Azure Key Vault. Em seguida, você deve ser capaz de habilitar o repositório analítico em sua conta. Clique aqui para obter mais informações.

As operações de exclusão e atualização no repositório transacional se refletem no repositório analítico?

Sim, as operações de exclusão e atualização dos dados no repositório transacional são refletidas no repositório analítico. Você pode configurar o tempo de vida (TTL) no contêiner para incluir dados históricos, de forma que o repositório analítico mantenha todas as versões de itens que atendam aos critérios de TTL analítico. Consulte a visão geral sobre TTL analítico para saber mais detalhes.

Posso me conectar ao repositório analítico a partir de mecanismos de análise diferentes do Azure Synapse Analytics?

Você só pode acessar e executar consultas no repositório analítico usando os vários tempos de execução fornecidos pelo Azure Synapse Analytics. O repositório analítico pode ser consultado e analisado usando:

  • Synapse Spark com suporte completo para Scala, Python, SparkSQL e C#. O Synapse Spark é fundamental para cenários de engenharia de dados e científicos
  • Pool de SQL sem servidor com linguagem T-SQL e suporte para ferramentas de BI familiares (por exemplo, Power BI Premium etc.)

Posso me conectar ao repositório analítico a partir do SQL do Synapse provisionado?

Neste momento, o repositório analítico não pode ser acessado a partir do SQL do Synapse provisionado.

Posso fazer write-back dos resultados da agregação de consulta do Synapse de volta para o repositório analítico?

Não, o repositório analítico é somente leitura.

A replicação de sincronização automática do repositório transacional para o repositório analítico é assíncrona ou síncrona e quais são as latências?

A latência de sincronização automática geralmente é de 2 minutos. Em casos de banco de dados de taxa de transferência compartilhado com um grande número de contêineres, a latência de sincronização automática de contêineres individuais pode ser maior e levar até 5 minutos.

Há cenários em que os itens do repositório transacional não são propagados automaticamente para o repositório analítico?

Se itens específicos em seu contêiner violarem o esquema bem definido de análise, eles não são incluídos no repositório analítico.

Posso particionar os dados no repositório analítico de forma diferente do repositório transacional?

Por padrão, o armazenamento analítico não é particionado. Se suas consultas analíticas tiverem usado filtros com frequência, use o particionamento personalizado para melhorar o desempenho. Clique aqui para obter mais informações.

Posso personalizar ou substituir a maneira como os dados transacionais são transformados em formato de coluna no repositório analítico?

No momento, você não pode transformar os itens de dados quando eles são automaticamente propagados do repositório transacional para o repositório analítico. Se você tiver cenários bloqueados por essa limitação, envie um email para a equipe do Azure Cosmos DB.

Posso acessar o armazenamento analítico com os SDKs do Azure Cosmos DB?

Não, você não pode acessar o armazenamento analítico com os SDKs do Azure Cosmos DB. Você precisa usar o Azure Synapse Analytics, o Spark ou os pools sem servidor de SQL.

Posso acessar o armazenamento analítico com as APIs REST do Azure Cosmos DB?

Não, você não pode acessar o armazenamento analítico com as APIs REST do Azure Cosmos DB. Você precisa usar o Azure Synapse Analytics, o Spark ou os pools sem servidor de SQL.

O repositório analítico é compatível com o Terraform?

No momento, o Terraform não é compatível com contêineres de repositório analítico. Confira Problemas de GitHub do Terraform para obter mais informações.

Você precisa de pelo menos a função Operador para habilitar o Link do Synapse, para consequência, habilitar o repositório analítico, no nível do contêiner ou da coleção.

Tempo de vida (TTL) analítico

O TTL de dados analíticos é compatível com os níveis de contêiner e de item?

Neste momento, o TTL para dados analíticos só pode ser configurado no nível de contêiner e não há suporte para definir TTL analítico no nível de item.

Depois de definir o TTL analítico de nível de contêiner em um contêiner do Azure Cosmos DB, posso mudar para um valor diferente mais tarde?

Sim, o TTL analítico pode ser atualizado para qualquer valor válido. Consulte o artigo TTL analítico para obter mais detalhes sobre o TTL analítico.

Posso atualizar ou excluir um item do repositório analítico após o seu TTL ter expirado no repositório transacional?

Todas as atualizações e exclusões transacionais são copiadas para o repositório analítico, mas se o item tiver sido limpo do repositório transacional, ele não poderá ser atualizado no repositório analítico. Para saber mais, confira o artigo TTL analítico.

Cobrança

O modelo de cobrança do Link do Synapse inclui os custos incorridos usando o repositório analítico do Azure Cosmos DB e o runtime do Synapse. Para saber mais, confira os artigos Preços do repositório analítico do Azure Cosmos DB e Preços do Azure Synapse Analytics.

Nenhum. Cobranças só ocorrem quando você criar um contêiner habilitado para o repositório analítico e começar a carregar dados.

Segurança

Quais são as maneiras de autenticar com o repositório analítico?

A autenticação com o repositório analítico é igual a de um repositório transacional. Para um determinado banco de dados, você pode fazer a autenticação com a chave primária ou somente leitura. Você pode usar serviços vinculados no Azure Synapse Studio para evitar colar as chaves do Azure Cosmos DB nos blocos de anotação do Spark. O acesso a esse serviço vinculado está disponível para todos que têm acesso ao espaço de trabalho. Ao usar os pools de SQL sem o servidor do Synapse, você pode consultar o repositório analítico de Azure Cosmos DB criando previamente e fazendo referência a credenciais do SQL na função OPENROWSET. Para saber mais, consulte o artigo Fazer consultas com um pool de SQL sem servidor no link do Azure Synapse.

Sim, o Link do Azure Synapse dá suporte à configuração de chaves gerenciadas pelo cliente usando a identidade gerenciada da sua conta do Azure Cosmos DB. Você pode criptografar diretamente os dados entre os armazenamentos transacional e analítico usando as mesmas chaves gerenciadas pelo cliente de maneira automática e transparente. Para saber mais, confira o artigo Como configurar as chaves gerenciadas pelo cliente usando identidades gerenciadas das contas do Azure Cosmos DB.

Sim, você pode controlar o acesso de rede aos dados nos repositórios transacionais e analíticos de modo independente. O isolamento de rede é feito usando pontos de extremidade privados gerenciados separados para cada armazenamento, em redes virtuais gerenciadas nos espaços de trabalho do Azure Synapse. Para saber mais, consulte o artigo sobre como Configurar pontos de extremidade privados para o armazenamento analítico.

Normalmente, erros 403 são devido a configurações de rede/firewall que impedem que os usuários acessem dados específicos, até mesmo do portal. A causa mais comum para esse problema é que a etapa 1 do processo de isolamento de rede habilitada usando pontos de extremidade privados não foi executada com a CLI do Azure ou PowerShell. Mais detalhes aqui.

Tempos de execução do Synapse

Quais são os tempos de execução do Synapse com suporte, atualmente, para acessar o repositório analítico do Azure Cosmos DB?

Tempo de execução do Azure Synapse Suporte atual
Pools do Spark do Azure Synapse Leitura, gravação (por meio do repositório transacional), tabela, exibição temporária
Pool de SQL sem servidor do Azure Synapse Leitura, exibição
SQL do Azure Synapse Provisionado Não disponível

As tabelas do Spark sincronizam com tabelas do SQL sem servidor da mesma maneira que o fazem com o Azure Data Lake?

Esse recurso não está disponível no momento.

Posso fazer streaming estruturado do Spark a partir do repositório analítico?

Atualmente, o suporte a streaming estruturado do Spark para Azure Cosmos DB é implementado usando a funcionalidade de feed de alterações do repositório transacional e ainda não tem suporte do repositório analítico.

Há suporte para streaming?

Não há suporte para streaming de dados do repositório analítico.

Azure Synapse Studio

No Azure Synapse Studio, como reconheço se estou conectado a um contêiner do Azure Cosmos DB com o repositório de análise habilitado?

Um contêiner do Azure Cosmos DB habilitado com o repositório analítico tem o seguinte ícone:

Ícone do contêiner do Azure Cosmos DB habilitado com o repositório analítico

Um contêiner de repositório transacional é representado com o seguinte ícone:

Ícone do contêiner do Azure Cosmos DB com repositório transacional

Como passar as credenciais do Azure Cosmos DB a partir do Azure Synapse Studio?

Atualmente, as credenciais do Azure Cosmos DB são passadas durante a criação do serviço vinculado pelo usuário que tem acesso aos bancos de dados do Azure Cosmos DB. O acesso a esse repositório está disponível para outros usuários que tenham acesso ao espaço de trabalho.

Posso usar o SQL Server Management Studio para consultar o armazenamento analítico usando o pool de SQL sem servidor do Synapse?

Sim.