Entender os data warehouses no Fabric

Concluído

Agora que você entende os conceitos básicos de data warehouse, vamos explorar o que o Microsoft Fabric oferece para data warehousing.

Descrever um data warehouse do Fabric

Um fabric data warehouse é um banco de dados relacional de escala empresarial totalmente gerenciado criado no OneLake. Ele fornece recursos T-SQL transacionais completos, incluindo instruções DDL (CREATE, ALTER, DROP) e instruções DML (INSERT, UPDATE, DELETE, MERGE), com conformidade total com ACID para consistência de dados.

Os dados são armazenados no formato Delta aberto no OneLake, significando que outras cargas de trabalho do Fabric podem acessar os mesmos dados sem duplicação. Você usa o T-SQL para criar tabelas, carregar dados, criar exibições e procedimentos armazenados e executar transformações, tudo dentro de uma experiência sql familiar.

As principais funcionalidades incluem:

  • Suporte completo a T-SQL – escreva instruções DDL e DML, incluindo MERGE para cenários de upsert, usando a sintaxe familiar do SQL Server.
  • Totalmente gerenciado – nenhuma infraestrutura a ser configurada. A computação dimensiona-se automaticamente e independentemente do armazenamento.
  • Integração do OneLake – Os dados do warehouse são armazenados no formato Delta e acessíveis por outras cargas de trabalho do Fabric sem duplicação.
  • Consulta entre bancos de dados – consultar dados entre warehouses e lakehouses sem copiar dados. Use uma nomenclatura com três componentes (database.schema.table) para unir tabelas de armazém com tabelas "lakehouse" em uma única consulta.
  • Ferramentas conhecidas - conecte-se ao SQL Server Management Studio (SSMS), Azure Data Studio ou a qualquer cliente SQL usando conexões TDS padrão.
  • Copilot assistance - Copilot for Data Warehouse gera consultas SQL de linguagem natural, fornece preenchimento de código conforme você digita e pode explicar ou corrigir consultas existentes no editor do SQL.

Warehouse vs. ponto de extremidade de análise SQL

Os workspaces do Fabric podem conter dois tipos de itens baseados em SQL que atendem a diferentes finalidades.

Capacidade Armazém Terminal de análise SQL
Ler dados Yes Yes
Gravar dados (INSERT, UPDATE, DELETE, MERGE) Yes Não
Criar tabelas (DDL) Yes Não
Criar exibições e procedimentos armazenados Yes Yes
Fonte de dados Tabelas de warehouse nativas Tabelas Delta Lakehouse

Use um warehouse quando precisar de recursos T-SQL de leitura/gravação completos. Use o ponto de extremidade de análise do SQL quando precisar de acesso SQL somente leitura para dados do lakehouse.

Criar um data warehouse

Você pode criar uma data warehouse no Fabric a partir do hub create ou em um workspace. Depois de criar um armazém vazio, você pode adicionar tabelas, exibições e outros objetos.

Captura de tela da interface do usuário do Fabric com uma seta apontando para o hub de criação.

Depois que o warehouse for criado, você poderá começar a criar tabelas e carregar dados usando o SQL query editor no portal do Fabric.

Ingerir dados em um warehouse

Há várias maneiras de carregar dados em uma data warehouse do Fabric:

  • COPY INTO – carregamento em massa de dados de arquivos externos (CSV, Parquet) no armazenamento do Azure para tabelas de warehouse.
  • OPENROWSET – Executar consultas diretamente em arquivos de armazenamento externo ou locais OneLake para análise ou integração ad hoc, sem criar tabelas primeiro.
  • Pipelines e fluxos de dados – use o Data Factory pipelines ou o Dataflows Gen2 para movimentação e transformação de dados orquestradas.
  • Consultas entre bancos de dados – consulte tabelas de lakehouse diretamente do warehouse usando nomenclatura de três partes, sem copiar dados.

Você pode usar o COPY INTO comando T-SQL para carregar dados em massa de arquivos. Por exemplo, a instrução a seguir carrega dados de um arquivo CSV em uma tabela:

COPY INTO dbo.Region
FROM 'https://mystorageaccount.blob.core.windows.net/data/Region.csv'
WITH (
    FILE_TYPE = 'CSV',
    CREDENTIAL = (
        IDENTITY = 'Shared Access Signature',
        SECRET = 'xxx'
    ),
    FIRSTROW = 2
)
GO

Captura de tela do editor de consultas SQL com uma consulta aberta.

Dica

Caso você tenha tabelas em um lakehouse que deseja consultar do seu warehouse sem fazer alterações, use a consulta cruzada de banco de dados. Você não precisa copiar os dados.

Criar tabelas e carregar dados

Depois de criar um warehouse e escolher um método de ingestão, a próxima etapa é definir suas tabelas e carregar dados nelas.

Você cria tabelas usando instruções T-SQL CREATE TABLE . Defina colunas com tipos de dados apropriados para cargas de trabalho de análise.

CREATE TABLE dbo.DimCustomer
(
    CustomerKey INT NOT NULL,
    CustomerAltKey NVARCHAR(10) NOT NULL,
    CustomerName NVARCHAR(100) NOT NULL,
    Region NVARCHAR(50) NULL
);
GO

CREATE TABLE dbo.FactSales
(
    SalesKey INT NOT NULL,
    CustomerKey INT NOT NULL,
    ProductKey INT NOT NULL,
    DateKey INT NOT NULL,
    SalesAmount DECIMAL(10,2) NOT NULL,
    Quantity INT NOT NULL
);
GO

Escolha tipos de dados que equilibram a precisão com eficiência de armazenamento. Use INT para colunas de chave, NVARCHAR para texto que pode incluir caracteres especiais e DECIMAL para valores financeiros que exigem precisão.

Usar tabelas de preparo para carregamento de dados

Um padrão comum no data warehousing é armazenar dados brutos em tabelas de estágio antes de transformá-los e carregá-los em tabelas de dimensões e fatos finais. As tabelas de estágio espelham a estrutura dos dados de origem e atuam como uma área de armazenamento temporário.

Depois de carregar dados em tabelas de preparo usando COPY INTO ou pipelines, você os transforma e insere em seu modelo dimensional:

INSERT INTO dbo.FactSales (SalesKey, CustomerKey, ProductKey, DateKey, SalesAmount, Quantity)
SELECT
    s.OrderID,
    c.CustomerKey,
    p.ProductKey,
    d.DateKey,
    s.Amount,
    s.Qty
FROM dbo.StgSales AS s
INNER JOIN dbo.DimCustomer AS c ON s.CustomerID = c.CustomerAltKey
INNER JOIN dbo.DimProduct AS p ON s.ProductID = p.ProductAltKey
INNER JOIN dbo.DimDate AS d ON s.OrderDate = d.DateValue;
GO

Esse padrão mantém seus dados de origem intactos enquanto você aplica regras de negócios e pesquisas de chave durante o processo de carga.

Compreender clones de tabelas

Você pode criar clones de tabela de cópia zero em um data warehouse do Fabric. Clones copiam os metadados das tabelas enquanto ainda referenciam os mesmos arquivos de dados subjacentes no OneLake. Os dados em si não são duplicados, o que mantém os custos de armazenamento baixos.

O exemplo de código a seguir mostra como criar um clone com o T-SQL:

--Clone creation within the same schema
CREATE TABLE dbo.Employee AS CLONE OF dbo.EmployeeUSA;

Clones de tabela são úteis para desenvolvimento e teste, recuperação de dados após uma versão com falha e preservação de dados em pontos específicos no tempo para relatórios históricos.

Dica

Para obter mais informações, consulte a tabela Clone na documentação Microsoft Fabric.

Agora que você entende os recursos do warehouse do Fabric, vamos explorar como consultar e transformar seus dados.