Criar e editar tabelas elásticas
Uma tabela elástica é uma tabela gerenciada pelo Microsoft Dataverse. As tabelas elásticas acompanham as mesmas experiência do usuário familiar e API oferecidas com tabelas padrão. Elas compartilham muitos aspectos e opções com tabelas padrão, mas acompanham seus próprios recursos e capacidades exclusivos da plataforma Azure Cosmos DB.
Assim como acontece com tabelas padrão, as tabelas elásticas estão incluídas no seu uso da capacidade do banco de dados Dataverse.
Assista a este vídeo para saber mais sobre tabelas elásticas.
Quando levar em consideração tabelas elásticas Dataverse?
As tabelas elásticas foram projetadas para processar grandes volumes de dados em tempo real. Com tabelas elásticas, é possível importar, armazenar e analisar grandes volumes de dados sem escalabilidade, latência ou problemas de desempenho.
As tabelas elásticas terão recursos exclusivos para esquema flexível, dimensionamento horizontal e remoção automática de dados depois de um período.
As tabelas elásticas são dimensionadas automaticamente para ingerir dezenas de milhões de linhas a cada hora. Os processos em segundo plano podem agrupar os sinais de IoT, prever requisitos de manutenção e agendar técnicos proativamente.
Leve em consideração um cenário no qual a Contoso seja um varejista com milhões de clientes existentes. A Contoso tem um grande banco de dados de clientes e está procurando aumentar as vendas enquanto mantém os clientes. Com base no histórico anterior do cliente, eles procuram ter eventos de venda instantânea de 24 horas com cupons diferentes segmentando clientes e produtos. Eles estimaram que o número de cupons necessários será de mais de 100 milhões por campanha de venda instantânea. O marketing pretende veicular várias campanhas 24 horas por dia visando segmentos de clientes diferentes.
O requisito do aplicativo de marketing da Contoso é que ele seja capaz de receber até 100 milhões ou mais de detalhes de cupons em poucas horas, ler milhões de cupons por hora e enviar cupons para os clientes.
As tabelas elásticas serão dimensionadas automaticamente para esse cenário de alta produtividade.
Por exemplo, no cenário acima, uma tabela elástica chamada Cupom com milhões de registros pode ser associada a tabelas padrão Dataverse, como Contato (informações do cliente) e Oferta (uma tabela padrão personalizada). Como as tabelas elásticas são isoladas das tabelas padrão, o desempenho do aplicativo de marketing geral não será prejudicado. Além disso, a capacidade de vida útil com tabela elástica (Cupom, neste cenário) permite a remoção automática de dados após períodos fixos e garante a otimização da capacidade de armazenamento.
Use tabelas elásticas quando:
- Os dados podem não estar estruturados ou ser semiestruturados, ou se o modelo de dados mudar constantemente.
- Você precisa de dimensionamento automático horizontal.
- Você precisa processar um grande volume de solicitações de leitura e gravação.
Use tabelas padrão quando:
- O aplicativo requer consistência forte.
- O aplicativo requer modelagem relacional e precisa de capacidade transacional entre tabelas e durante estágios de execução do plug-in.
- O aplicativo requer junções complexas.
A escolha da tabela deve se basear nas necessidades específicas do aplicativo. Uma combinação de ambos os tipos de tabelas pode ser indicada.
Dimensionamento horizontal e desempenho
À medida que os dados corporativos crescem, as tabelas elásticas proporcionam escalabilidade automática ilimitada com base na carga de trabalho do aplicativo, em termos de tamanho de armazenamento e produtividade, como o número de registros criados, atualizados ou excluídos em um determinado período.
Se o cenário de negócios exigir um volume muito grande de gravações de dados, os criadores de aplicativos podem usar APIs de várias solicitações do Dataverse, como CreateMultiple
, UpdateMultiple
e DeleteMultiple
, para obter mais produtividade dentro dos limites de limitação do Dataverse. Mais informações: Guia do desenvolvedor: mensagens de operação em massa e Otimizar o desempenho para operações em massa
Remoção automática de dados
As políticas de vida útil (TTL) garantem que você esteja sempre trabalhando com as informações mais atualizadas e precisas, otimizando recursos e reduzindo riscos. O valor TTL ao vivo é definido em segundos em um registro e é interpretado como um delta a partir do momento em que um registro foi modificado pela última vez.
Esquema flexível com colunas JSON
As tabelas elásticas permitem que você armazene e consulte dados com estruturas variadas, sem a necessidade de migrações ou esquemas predefinidos. Não há necessidade de gravar um código personalizado a fim de mapear os dados importados para um esquema fixo. Mais informações: Guia do desenvolvedor: consultar colunas JSON em tabelas elásticas As tabelas elásticas permitem armazenar e consultar dados com estruturas variadas, sem a necessidade de esquemas ou migrações predefinidas. Não há necessidade de gravar um código personalizado a fim de mapear os dados importados para um esquema fixo. Mais informações: Guia do desenvolvedor: colunas JSON de consulta em tabelas elásticas
Considerações ao usar tabelas elásticas
Embora as tabelas elásticas sejam ótimas para processar grandes volumes de solicitações em escala, as vantagens vêm com algumas compensações, que devem mantidas em mente:
- As tabelas elásticas não dão suporte a transações de vários registros. Isso significa que várias operações de gravação ocorridas como parte de uma única execução de solicitação não são transacionais entre si. Por exemplo, se você tiver uma etapa de plug-in síncrona registrada no estágio
PostOperation
paraCreate message
em uma tabela elástica, qualquer erro no plug-in não reverterá o registro criado em Dataverse. As validações em pré-plug-ins continuarão funcionando conforme esperado, pois são executadas antes do estágio principal. - As tabelas elásticas só são compatíveis com consistência forte dentro de uma sessão lógica. Fora do contexto da sessão, você talvez não veja imediatamente alterações feitas em uma linha. Mais informações: Guia do desenvolvedor: nível de consistência
- As tabelas elásticas não dão suporte a filtros em tabelas relacionadas durante a criação de exibições, localização avançada ou qualquer consulta em geral usando API. Se você precisar filtrar colunas em tabelas relacionadas com frequência, será recomendável desnormalizar colunas nas tabelas relacionadas, que precisam ser filtradas na própria tabela principal. Leve em consideração um varejista com duas tabelas elásticas: cliente e endereço. Um cliente tem muitos endereços. Convém retornar resultados da consulta para todos os clientes da tabela de clientes cujo valor de cidade na tabela de endereços seja Nova York. Neste exemplo, ao consultar a tabela de clientes, você deseja aplicar um filtro na coluna de cidades da tabela de endereços relacionada. Não há suporte para tabelas elásticas. Uma maneira de fazer isso funcionar é desnormalizando a coluna da cidade na tabela Cliente para que todos os valores de cidade dos clientes estejam presentes na própria tabela de clientes.
Suporte a recursos de tabelas elásticas
- Operações de CRUD (Criação, Recuperação, Atualização, Exclusão), inclusive várias operações de API (para alta produtividade), exclusão em massa e solicitações de plug-ins.
- Relacionamentos:
- Um para muitos
- Muitos para um quando a tabela N é uma tabela padrão
- Registro de propriedade, controle de alterações, auditoria, móvel offline e pesquisa Dataverse.
- Coluna Arquivo com atributo de tipo de arquivo
Suporte de recursos à segurança
As tabelas elásticas respeitam o modelo de segurança Dataverse.
Ao criar uma tabela elástica, você pode definir:
- Propriedade do usuário ou da organização
- Segurança no nível do campo
Recursos atualmente não compatíveis com tabelas elásticas
Recursos de tabela atualmente não compatíveis com tabelas elásticas:
- Regras de negócios
- Gráficos
- Fluxos de processo empresarial
- Um conector Dataverse para Power BI
- Relações muitos para muitos (N:N) para tabelas padrão
- Chave alternativa
- Detecção de duplicidades
- Colunas calculadas e de acúmulo
- Colunas de moeda
- Comparação de colunas em consultas
- Compartilhamento de tabelas
- Índices compostos
- Operações em cascata: Excluir, Reassociar, Atribuir, Compartilhar, Descompartilhar
- Ordenação em colunas de pesquisa
- Consultas agregadas:
- Valor distinto de
attribute1
e orderby em valorattribute2
- Paginação quando existem vários distintos
- Distinto com várias ordens por
- Ordenar por e agrupar por juntos
- Agrupar por em entidade de link (junção externa esquerda)
- Distinto em tabelas de propriedade do usuário
- Valor distinto de
- Conexões de tabela
- Equipes de acesso
- Filas
- Anexo
Tipos de dados da coluna atualmente não disponíveis com tabelas elásticas:
- Currency
- Fórmula
- Formato de número inteiro diferente de Nenhum (Duração, Código do idioma e Fuso horário)
- Pesquisa com base na opção Cliente
Crie uma tabela elástica
Você cria uma tabela elástica como qualquer outra tabela nova em Dataverse.
- Entre no Power Apps e selecione Tabelas no painel de navegação esquerdo. Se o item não estiver no painel lateral, selecione …Mais e selecione o item desejado.
- Selecione Nova tabela > Definir propriedades avançadas na barra de comandos.
- No painel de propriedades à direita, insira um Nome de exibição e um Nome no plural.
- Expanda Opções avançadas e selecione Elástica como o Tipo de tabela.
- Selecione as propriedades desejadas e selecione Salvar.
A coluna de vida útil é criada automaticamente para uma tabela elástica. Você pode adicionar o valor do período em segundos, conforme necessário. Os dados serão removidos automaticamente depois do período especificado.
Mais informações sobre Tabelas: Opções avançadas
Problemas conhecidos
- Quando vida útil (TTL) é usada em uma linha, a linha é excluída da tabela elástica quando o TTL expira. Se ela for sincronizada com um data lake usando o Azure Synapse Link for Dataverse antes do TTL expirar, ela não será excluída do data lake.
- A recuperação pontual não restaura registros "atualizados", pois não há backup das atualizações. Somente registros criados e excluídos são restaurados.
- Se uma coluna específica em uma tabela elástica for excluída, o valor da coluna não será removido das linhas da tabela se ela tiver dados. Antes de excluir uma coluna específica, exclua os dados de todas as linhas da coluna.
Tabelas elásticas de alto volume e gerenciamento e limitações de API do Dataverse
Use mensagens de operação em massa. Isso permite que você alcance 10 vezes mais taxa de transferência com as mesmas limitações da API do Dataverse. Os desenvolvedores podem consultar mais links fornecidos na seção abaixo.
Para desenvolvedores
As tabelas elásticas têm comportamentos e recursos diferentes das tabelas padrão quando os desenvolvedores as usam com APIs do Dataverse. Os seguintes artigos para desenvolvedores descrevem essas diferenças:
- Tabelas elásticas
- Criar tabelas elásticas usando código
- Usar tabelas elásticas usando código
- Consultar colunas JSON em tabelas elásticas
- Mensagens de operação em massa (versão preliminar)
- Código de exemplo de tabela elástica
- Enviar solicitações paralelas
- Limites da API de proteção de serviço