Tabelas em Fabric Data Warehouse

Aplica-se a:✅ Warehouse do Microsoft Fabric

Este artigo detalha os principais conceitos para criar tabelas no Microsoft Fabric.

Nas tabelas, os dados são organizados de maneira lógica em um formato de linha-e-coluna semelhante ao de uma planilha. Cada linha representa um registro exclusivo e cada coluna representa um campo no registro.

Determinar a categoria da tabela

Um esquema em estrela organiza dados em tabelas de fatos e tabelas de dimensões. Algumas tabelas são usadas para dados de integração ou de estágio antes de serem transferidos para uma tabela de fatos ou dimensões. Ao criar uma tabela, decida se os dados da tabela pertencem a uma tabela de integração, de dimensão ou de fato. Essa decisão informa a estrutura de tabela apropriada.

  • As Tabelas de fatos contêm dados quantitativos normalmente gerados em um sistema transacional e, depois, carregados no data warehouse. Por exemplo, uma empresa de varejo gera transações de vendas todos os dias e, em seguida, carrega os dados para uma tabela de fatos do data warehouse para análise.

  • As Tabelas de dimensões contêm dados de atributo que podem ser alterados, mas essas alterações são raras. Por exemplo, um nome e endereço do cliente são armazenados em uma tabela de dimensões e atualizados somente quando o perfil do cliente é alterado. Para minimizar o tamanho de uma tabela de fatos grande, não é necessário que o nome e o endereço do cliente estejam em todas as linhas. Em vez disso, a tabela de fatos e a tabela de dimensões podem compartilhar uma ID do cliente. Uma consulta pode unir as duas tabelas para associar o perfil e as transações de um cliente.

  • As Tabelas de integrações oferecem um local para dados de preparo ou integração. Por exemplo, é possível carregar dados em uma tabela de preparo, executar transformações nos dados de preparo e, em seguida, inserir os dados em uma tabela de produção.

Uma tabela armazena dados no OneLake como parte do Warehouse. A tabela e os dados persistem, estando uma sessão aberta ou não.

Tabelas no armazém

Para mostrar a organização das tabelas, você pode usar fact, dim, ou int como prefixos para os nomes das tabelas. A tabela a seguir mostra alguns dos nomes de esquema e tabela para o data warehouse de amostra WideWorldImportersDW.

Nome da tabela de origem WideWorldImportersDW Tipo de Tabela Nome da Tabela do Data Warehouse
Cidade Dimensão wwi.DimCity
Pedido Fato wwi.FactOrder
  • Os nomes de tabela não podem conter / ou \ ou terminar com um ..
  • Você pode criar tabelas temporárias (#temp) de escopo de sessão no Fabric Data Warehouse. Para mais informações, veja Tabelas temporárias em Fabric Data Warehouse.

Criar uma tabela

Para o Warehouse, você pode criar uma tabela como uma nova tabela vazia. Você também pode criar e popular uma tabela com os resultados de um comando SELECT. A seguir estão os comandos T-SQL para criar uma tabela.

Instrução T-SQL Descrição
CRIAR TABELA Cria uma tabela vazia com a definição de todas as opções e colunas da tabela.
CRIAR TABELA COMO SELEÇÃO Popula uma tabela nova com os resultados de uma instrução SELECT. Os tipos de dados e colunas de tabela baseiam-se nos resultados da instrução SELECT. Para importar dados, esta declaração pode selecionar de uma tabela externa.

Esse exemplo cria uma tabela com duas colunas.

CREATE TABLE MyTable (col1 int, col2 int );

O Fabric Data Warehouse dá suporte a colunas IDENTITY (Versão prévia) em tabelas para inserir automaticamente uma sequência numérica crescente.

Nomes do esquema

O Warehouse é compatível com a criação de esquemas personalizados. Como em SQL Server, os esquemas são uma boa maneira de agrupar objetos que são usados de maneira semelhante. O código a seguir cria um esquema definido pelo usuário chamado wwi.

  • Os nomes de esquema não podem conter / ou \ ou terminar com um ..
CREATE SCHEMA wwi;

Tipos de dados

Microsoft Fabric dá suporte aos tipos de dados T-SQL mais usados.

Ordenação

Fabric warehouses são configurados com base na configuração de intercalagem do workspace, que por padrão é a intercalagem sensível a maiúsculas e minúsculas (CS) Latin1_General_100_BIN2_UTF8. Ao criar um novo armazém, a ordenação do espaço de trabalho será usada. Para obter mais informações, consulte Data Warehouse ordenação.

Ordenações de armazém com suporte são:

  • Latin1_General_100_BIN2_UTF8 (padrão)
  • Latin1_General_100_CI_AS_KS_WS_SC_UTF8

Você pode criar um warehouse com uma ordenação não padrão usando a API REST. Para obter mais informações, consulte Como criar um armazém com ordenamento sem diferenciação entre maiúsculas e minúsculas.

Depois que a ordenação for definida durante a criação do banco de dados, todos os objetos subsequentes (tabelas, colunas etc.) herdarão essa ordenação padrão. Depois que um armazém é criado, a configuração de ordenação não pode ser alterada.

Estatísticas

O otimizador de consulta usa estatísticas de nível de coluna quando cria o plano para executar uma consulta. Para melhorar o desempenho de consulta, é importante criar estatísticas em colunas individuais, especialmente nas colunas usadas em junções de consulta. O Warehouse é compatível com a criação automática de estatísticas.

A atualização estatística não ocorre automaticamente. Atualize as estatísticas depois que um número significativo de linhas for adicionado ou alterado. Por exemplo, atualize as estatísticas depois de uma carga. Para obter mais informações, consulte Estatísticas no Fabric Data Warehouse.

Chave primária, chave estrangeira e chave exclusiva

Para o Warehouse, PRIMARY KEY e UNIQUE as restrições só têm suporte quando NONCLUSTERED e NOT ENFORCED são usadas.

FOREIGN KEY só tem suporte quando NOT ENFORCED é usado.

Alinhar dados de origem com o data warehouse

As tabelas do data warehouse são populadas pelo carregamento de dados de outra fonte de dados. Para obter uma carga bem-sucedida, o número e os tipos de dados das colunas nos dados de origem devem se alinhar com a definição da tabela no armazém de dados.

Se os dados forem provenientes de vários armazenamentos de dados, você poderá portar os dados no warehouse e armazená-los em uma tabela de integração. Uma vez que os dados estejam na tabela de integração, você pode usar o poder do warehouse para implementar operações de transformação. Quando os dados estiverem preparados, será possível inseri-los nas tabelas de produção.

Limitações

O Warehouse oferece suporte a muitos, mas não a todos, os recursos de tabela oferecidos por outros bancos de dados.

  • Atualmente, não há suporte para tabelas temporárias globais.

A lista a seguir mostra alguns dos recursos de tabela que não têm suporte no momento.

  • 1.024 colunas máximas por tabela

  • Colunas computadas

  • Visões indexadas

  • Tabelas particionadas

  • Sequência

  • Colunas esparsas

  • Sinônimos

  • Gatilhos

  • Índices exclusivos

  • Tipos definidos pelo usuário

  • Tabelas externas

  • Os metadados de objeto do warehouse são armazenados em cache por Fabric Data Warehouse para fornecer acesso rápido a objetos e suas definições. Para armazéns muito grandes com mais de 750.000 objetos (por exemplo, tabelas, exibições, procedimentos armazenados e funções), os metadados não são mais armazenados em cache pelo sistema. Em vez disso, as operações de esquema consultam o repositório de metadados diretamente. Isso garante a estabilidade do sistema e evita a fome de cache em bancos de dados extremamente grandes. No entanto, as operações de atualização de esquema podem levar mais tempo em comparação com os armazéns menores em que o cache de metadados está habilitado.

Importante

Existem limitações ao adicionar restrições de tabela ou colunas ao usar o Git Integration para o desenvolvimento do Fabric Warehouse.