Partilhar via


Tabelas no Data Warehouse de malha

Aplica-se a:✅ Armazém no Microsoft Fabric

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

Nas tabelas, os dados são organizados logicamente em um formato de linha e coluna. Cada linha representa um registro exclusivo e cada coluna representa um campo no registro.

  • No Warehouse, as tabelas são objetos de banco de dados que contêm todos os dados transacionais.

Determinar categoria de tabela

Um esquema em estrela organiza os dados em tabelas de fatos e tabelas de dimensões. Algumas tabelas são usadas para integração ou preparo de dados antes de passar para uma tabela de fatos ou dimensões. Ao projetar uma tabela, decida se os dados da tabela pertencem a uma tabela de fato, dimensão ou integração. Esta decisão informa a estrutura de tabela adequada.

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

  • As tabelas de dimensão contêm dados de atributos que podem ser alterados, mas geralmente mudam com pouca frequência. Por exemplo, o nome e o endereço de um cliente são armazenados em uma tabela de dimensões e atualizados somente quando o perfil do cliente muda. Para minimizar o tamanho de uma grande tabela de fatos, o nome e o endereço do cliente não precisam estar em todas as linhas de uma tabela de fatos. Em vez disso, a tabela de fatos e a tabela de dimensões podem compartilhar uma ID de cliente. Uma consulta pode unir as duas tabelas para associar o perfil e as transações de um cliente.

  • As tabelas de integração fornecem um local para integrar ou preparar dados. Por exemplo, você pode carregar dados em uma tabela de preparo, executar transformações nos dados em preparo e, em seguida, inserir os dados em uma tabela de produção.

Uma tabela armazena dados no OneLake como parte do Depósito. A tabela e os dados persistem independentemente de uma sessão estar aberta ou não.

Mesas no armazém

Para mostrar a organização das tabelas, você pode usar fact, dimou 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 exemplo WideWorldImportersDW .

WideWorldImportersDW Nome da tabela de origem Tipo de Tabela Nome da tabela do Data Warehouse
City Dimensão wwi.DimCity
Ordenar Facto wwi.FactOrder
  • Os nomes de tabela não podem conter / ou \ terminar com um .arquivo .

Criar uma tabela

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

Instrução T-SQL Description
CRIAR TABELA Cria uma tabela vazia definindo todas as colunas e opções da tabela.
CRIAR TABELA COMO SELECIONAR Preenche uma nova tabela com os resultados de uma instrução select. As colunas da tabela e os tipos de dados baseiam-se nos resultados da instrução select. Para importar dados, esta instrução pode selecionar a partir de uma tabela externa.

Este exemplo cria uma tabela com duas colunas:

CREATE TABLE MyTable (col1 int, col2 int );

Nomes de esquema

O Warehouse suporta a criação de esquemas personalizados. Como no 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 diferenciam maiúsculas de minúsculas.
  • Os nomes de esquema não podem conter / ou \ terminar com um .arquivo .
CREATE SCHEMA wwi;

Tipos de dados

O Microsoft Fabric suporta os tipos de dados T-SQL mais usados.

Agrupamento

Os armazéns de malha são configurados com base na configuração de agrupamento do espaço de trabalho, que, por padrão, diferencia maiúsculas de minúsculas (CS).Latin1_General_100_BIN2_UTF8 Ao criar um novo armazém, o agrupamento do espaço de trabalho será usado. Para obter mais informações, consulte Agrupamento do Data Warehouse.

Os agrupamentos de armazém suportados são:

  • Latin1_General_100_BIN2_UTF8 (padrão)
  • Latin1_General_100_CI_AS_KS_WS_SC_UTF8

Você pode criar um depósito com um agrupamento não padrão usando a API REST. Para obter mais informações, consulte Como criar um depósito com agrupamento que não diferencia maiúsculas de minúsculas (CI).

Depois que o agrupamento for definido durante a criação do banco de dados, todos os objetos subsequentes (tabelas, colunas, etc.) herdarão esse agrupamento padrão. Depois que um depósito é criado, a configuração de agrupamento não pode ser alterada.

Estatísticas

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

A atualização estatística não acontece automaticamente. Atualize as estatísticas depois que um número significativo de linhas for adicionado ou alterado. Por exemplo, atualize as estatísticas após 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ó são suportadas quando NONCLUSTERED e NOT ENFORCED são ambas usadas.

FOREIGN KEY só é suportado quando NOT ENFORCED é utilizado.

#temp tabelas

Tabelas temporárias (#temp) com escopo de sessão podem ser criadas no Fabric Data Warehouse.

Estas tabelas existem apenas dentro da sessão em que são criadas e duram durante essa sessão. Eles não são visíveis para outros usuários ou sessões e são automaticamente descartados do sistema assim que a sessão termina ou a tabela #temp é descartada. Essas tabelas são acessíveis a todos os usuários sem a necessidade de permissão específica no nível do item.

Dois tipos de tabelas #temp podem ser criadas com base em casos de uso específicos, não distribuídos e distribuídos.

  • Uma tabela #temp não distribuída (apoiada por mdf) é o tipo padrão. A sintaxe para criar e usar tabelas de #temp não distribuídas no Fabric Data Warehouse é semelhante às tabelas de usuário, mas você precisa prefixar o nome da tabela temporária com #.

     CREATE TABLE #table_name (
       Col1 data_type1,
       Col2 data_type2
     );
    
  • Tabelas temp distribuídas (Parquet-backed) podem ser criadas com a DISTRIBUTION=ROUND_ROBIN palavra-chave:

    CREATE TABLE #table_name (
    Col1 data_type1,
    Col2 data_type2
    ) WITH (DISTRIBUTION=ROUND_ROBIN);
    

No script data_type1 anterior e data_type2 são espaços reservados para tipos de dados suportados no Fabric Data Warehouse.

Recomendam-se tabelas de #temp distribuídas, uma vez que se alinham com as tabelas normais do utilizador; eles têm armazenamento ilimitado, suporte a tipos de dados e operações T-SQL. A sintaxe para manipulação e definição de dados é idêntica às tabelas de usuário no Fabric Data Warehouse, com prefixo # adicionado ao nome da tabela.

No Fabric Data Warehouse, as tabelas temporárias não são afetadas por dicas de consulta de viagem no tempo e retornam sempre os dados mais recentes na tabela.

Alinhar os dados de origem com o data warehouse

As tabelas de depósito são preenchidas carregando 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 estar alinhados com a definição da tabela no depósito.

Se os dados forem provenientes de vários armazenamentos de dados, você poderá portá-los para o depósito e armazená-los em uma tabela de integração. Quando os dados estiverem na tabela de integração, você poderá usar o poder do depósito para implementar operações de transformação. Depois que os dados estiverem preparados, você poderá inseri-los em tabelas de produção.

Limitações

O Warehouse suporta muitos, mas não todos, dos 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 são suportados no momento.

  • 1.024 colunas máximas por tabela

  • Colunas computadas

  • Visualizações indexadas

  • Tabelas particionadas

  • Sequence

  • Colunas esparsas

  • Sinónimos

  • Acionadores

  • Índices exclusivos

  • Tipos definidos pelo usuário

  • Tabelas externas

  • Os metadados de objetos do Warehouse são armazenados em cache pelo Fabric Data Warehouse para fornecer acesso rápido aos 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 falta 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 armazéns menores onde o cache de metadados está habilitado.

Importante

Há limitações com a adição de restrições de tabela ou colunas ao usar o controle do código-fonte com o Warehouse.