Criar e editar tabelas elásticas

Uma tabela elástica é uma tabela gerida pelo Microsoft Dataverse. As tabelas elásticas vêm com a mesma experiência de utilizador e a API familiares oferecidas com tabelas padrão. Partilham muitos aspetos e opções com tabelas padrão, mas têm funcionalidades e capacidades únicas com tecnologia Azure Cosmos DB.

Como acontece com tabelas padrão, as tabelas elásticas estão incluídas na sua utilização de capacidade da base de dados Dataverse.

Assista a este vídeo para conhecer as tabelas elásticas.

Quando considerar tabelas elásticas do Dataverse?

As tabelas elásticas foram concebidas para gerir grandes volumes de dados em tempo real. Com as tabelas elásticas, pode importar, armazenar e analisar grandes volumes de dados sem problemas de escalabilidade, latência ou de desempenho.

As tabelas elásticas têm capacidades únicas para esquemas flexíveis, dimensionamento horizontal e remoção automática de dados após um período de tempo.

As tabelas elásticas são escaladas automaticamente para ingerirem milhões de linhas a cada hora. Os processos em segundo plano podem comparar os sinais IoT, prever requisitos de manutenção e agendar técnicos de forma proativa.

Considere um cenário em que a Contoso é uma retalhista com milhões de clientes existentes. A Contoso tem uma grande base de dados de clientes e procura aumentar as vendas ao mesmo tempo que retém clientes. Com base no histórico anterior dos clientes, procuram eventos de venda flash de 24 horas com diferentes cupões destinados aos clientes e seus produtos. Estima-se que o número de cupões necessários será de 100 milhões a mais por campanha de venda flash. O marketing planeia executar várias campanhas de 24 horas que visam diferentes segmentos de clientes.

O requisito para a aplicação de marketing da Contoso é que deve ser capaz de ingerir até 100 milhões ou mais detalhes de cupões em algumas horas, ler milhões de cupões por horar e enviar cupões aos clientes.

As tabelas elásticas são escaladas automaticamente para este cenário de alto débito.

Por exemplo, no cenário acima, uma tabela elástica com o nome Cupão com milhões de registos pode ser associada a tabelas padrão do Dataverse como Contacto (informações do cliente) e Oferta (uma tabela padrão personalizada). Visto que as tabelas são isoladas das tabelas padrão, o desempenho da aplicação de marketing global não terá um impacto negativo. Além disso, a capacidade TTL com a tabela elástica (Cupão neste cenário) permite a remoção automática de dados após períodos fixos e assegura a otimização da capacidade de armazenamento.

Utilize tabelas elásticas quando:

  • Os dados possam ser desestruturados ou semiestruturados, ou se o modelo de dados mudar constantemente.
  • Necessita de dimensionamento horizontal automático.
  • Necessita de gerir um elevado volume de pedidos de leitura e escrita.

Utilize tabelas padrão quando:

  • A aplicação necessita de consistência forte.
  • A aplicação necessita de modelação relacional e de capacidade transacional em todas as tabelas e durante as fases de execução do plug-in.
  • A aplicação necessita de associações complexas.

A escolha da tabela deve basear-se nas necessidades específicas da sua aplicação. Uma combinação de ambos os tipos de tabela poderá ser apropriada.

Dimensionamento horizontal e desempenho

À medida que os seus dados de negócio crescem, as tabelas elásticas fornece escalabilidade automática ilimitada com base na carga de trabalho da sua aplicação, tanto para tamanho do armazenamento e débito, como o número de registos criados, atualizados ou eliminados num determinado período de tempo.

Se o seu cenário de negócio exigir um volume muito grande de escritas de dados, os criadores de aplicações podem utilizar APIs de múltiplos pedidos Dataverse, como CreateMultiple, UpdateMultiple e DeleteMultiple, para alcançar mais débito dentro dos limites do Dataverse. Mais informações: Guia do programador: mensagens de Operação em Massa e Otimizar o desempenho para operações em massa

Remoção automática de dados

As políticas TTL asseguram que está sempre a trabalhar com as informações mais atualizadas e precisas, ao mesmo tempo que otimiza recursos e reduz o risco. O valor em direto TTL é definido em segundos num registo, sendo interpretado como um delta a partir da hora em que esse registo foi alterado pela última vez.

Esquema flexível com colunas JSON

As tabelas elásticas permitem-lhe armazenar e consultar dados com estruturas diversas, sem que seja necessário esquemas ou migrações predefinidos. Não é necessário escrever código personalizado para mapear os dados importados para um esquema fixo. Mais Informações: Guia do programador: 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 é necessário escrever código personalizado para mapear os dados importados para um esquema fixo. Mais informações: Guia do programador: colunas de consulta JSON em tabelas elásticas

Considerações quando utiliza tabelas elásticas

Apesar de as tabelas elásticas serem excelentes para gerir grandes volumes de pedidos em escala, as vantagens vêm com algumas contrapartidas, que devem ser tidas em consideração:

  • As tabelas elásticas não suportam transações com vários registos. Isto significa que várias operações de escrita que ocorrem como parte da execução de um único pedido não são transacionais entre si. Por exemplo, se tiver um passo de plug-in síncrono resgistado na fase PostOperation para Create message numa tabela elástica, qualquer erro no plug-in não irá reverter o registo criado no Dataverse. As validações em preplug-ins continuam a funcionar conforme esperado, uma vez que são executadas antes da fase principal.
  • As tabelas elásticas só suportam uma consistência forte numa sessão lógica. Fora do contexto de sessão, é possível que não veja alterações imediatamente numa linha. Mais informações: Guia do Programador: nível de consistência
  • As tabelas elásticas não suportam filtros em tabelas relacionadas ao criar vistas, pesquisa avançada ou qualquer consulta em geral utilizando a API. Se precisar de filtrar colunas de tabela relacionadas frequentemente, recomendamos que desnormalize as colunas das tabelas relacionadas, que necessitam de filtragem para a tabela principal. Considere um revendedor com duas tabelas: cliente e endereço. Um cliente tem muitos endereços. Pretende devolver os resultados da consulta a todos os clientes da tabela de clientes cujo valor da cidade na tabela de endereços é Nova Iorque. Neste exemplo, ao consultar a tabela de clientes, pretende aplicar um filtro na coluna cidade da tabela de endereços relacionada. Isto não é suportado para tabelas elásticas. Uma forma de fazer com que funcione é desnormalizar a coluna cidade para a tabela Cliente para que todos os valores de cidade dos clientes estejam presentes na própria tabela de clientes.

Suporte de funcionalidades de tabelas elásticas

  • Crie, obtenha, atualize, elimine operações (CRUD), incluindo várias operações da API (para alto débito), eliminação em massa e pedidos de plug-ins.
  • Relações:
    • Um-para-muitos
    • De muitos para um quando a tabela N é uma tabela padrão
  • Propriedade do registo, controlo de alterações, auditoria, móvel offline e pesquisa Dataverse.
  • Coluna de ficheiro com atributo de tipo de ficheiro

Suporte a funcionalidades de segurança

As tabelas elásticas aderem ao modelo de segurança do Dataverse.

Quando criar uma tabela e agora, pode definir:

  • Propriedade de um utilizador ou organização
  • Segurança ao nível dos campos

Atualmente, as funcionalidades não são suportadas com tabelas elásticas

Funcionalidades de tabela não suportadas atualmente com tabelas elásticas:

  • Regras de negócio
  • Gráficos
  • Fluxos de processo empresarial
  • Um conector Dataverse para Power BI
  • Relações de muitos para muitos (N:N) para tabelas padrão
  • Chave alternativa
  • Deteção de duplicados
  • Colunas calculadas e rollup
  • Colunas de moeda
  • Comparação de colunas em consultas
  • Partilha de tabela
  • Índices compostos
  • Operações em cascata: eliminar, re-hierarquizar, atribuir, partilhar, remover partilha
  • Ordenação em colunas de procura
  • Consultas agregadas:
    • Valor diferente de attribute1 enquanto orderby no valor do attribute2
    • Paginação quando tem vários distintos
    • Distinto com vários ordenar por
    • Ordenar por e agrupar por juntos
    • Agrupar por na entidade ligação (associação externa à esquerda)
    • Distinto em várias tabelas da propriedade do utilizador 
  • Ligações de tabela
  • Equipas de acesso
  • Queues
  • Anexo

Os tipos de dados de colunas não estão atualmete disponíveis com tabelas elásticas:

  • Moeda
  • Fórmula
  • Formato de número inteiro diferente de Nenhum (Duração, Código de Idioma e Fuso Horário)
  • Procura com base na opção Cliente

Criar uma tabela elástica

Cria uma tabela elástica como qualquer outra tabela nova no Dataverse.

  1. Inicie sessão no Power Apps e, em seguida, selecione Tabelas do painel de navegação esquerdo. Se o item não estiver no painel lateral, selecione ...Mais e, em seguida, selecione o item pretendido.
  2. Selecione Nova tabela > Definir propriedades avançadas na barra de comando.
  3. No painel de propriedades à direita, introduza um Nome a apresentar e um Nome plural.
  4. Expanda Opções avançadas e, em seguida, selecione Elástico como Tipo de tabela. Selecione Elástico como o Tipo de tabela
  5. Selecione as propriedades que pretende e, em seguida, selecione Guardar.

A coluna tempo para entrar em direto é criada automaticamente para uma tabela elástica. Pode adicionar o valor do período em segundos, conforme necessário. Os dados são removidos automaticamente após o período especificado.

Mais informações sobre tabelas: Opções avançadas

Problemas conhecidos

  • Quando o tempo para entrar em direto (TTL) é utilizado numa linha, a linha é eliminada da tabela elástica quando o TTL expira. Se for sincronizado com um data lake que utiliza o Azure Synapse Link for Dataverse antes de expirar o TTL, não será eliminado do data lake.
  • O restauro para um ponto anterior no tempo não restaura registos "atualizados", pois não há cópia de segurança das atualizações. Só os registos criados e eliminados são restaurados.
  • Se uma coluna específica numa tabela elástica for eliminada, o valor da coluna não será removido das linhas da tabela se tiver dados. Antes de eliminar uma coluna específica, elimine os dados de todas as linhas da coluna.

Tabelas elásticas de alto volume e gestão de limites de limitação da API do Dataverse

Utilize mensagens de operação em massa. Isto permite que atinja 10 vezes o débito com os mesmos limites de limitação de API do Dataverse. Os programadores podem consultar mais ligações fornecidos na secção abaixo.

Para programadores

As tabelas elásticas têm comportamentos e capacidades diferentes das tabelas padrão quando os programadores as utilizam com APIs Dataverse. Os artigos seguintes para programadores descrevem estas diferenças:

Consulte também

Criar e editar tabelas com o Power Apps