Общие сведения о хранилищах данных в Fabric

Завершено

Теперь, когда вы понимаете основы хранилищ данных, давайте рассмотрим, что Microsoft Fabric предлагает для складирования данных.

Опишите хранилище данных Fabric

Data warehouse Fabric — это полностью управляемая реляционная база данных корпоративного масштаба, основанная на OneLake. Он предоставляет полные возможности транзакций T-SQL, включая инструкции DDL (CREATE, ALTER, DROP) и инструкции DML (INSERT, UPDATE, DELETE, MERGE), с полным соответствием ACID для согласованности данных.

Данные хранятся в открытом формате Delta на OneLake, что означает, что другие рабочие нагрузки Fabric могут получить доступ к тем же данным без дублирования. Вы используете T-SQL для создания таблиц, загрузки данных, построения представлений и хранимых процедур, а также выполнения преобразований в привычной среде SQL.

Ключевые возможности:

  • поддержка Full T-SQL — запись инструкций DDL и DML, включая MERGE для сценариев upsert, используя знакомый синтаксис SQL Server.
  • Полностью управляемое — нет необходимости настраивать инфраструктуру. Масштабирование происходит автоматически и независимо от хранилища.
  • Интеграция OneLake — данные хранилища хранятся в формате Delta и доступны для других задач Fabric без дублирования.
  • Запрос между базами данных — запрос данных между хранилищами и озерами без копирования данных. Используйте трехкомпонентное именование (database.schema.table) для объединения таблиц хранилища с таблицами Lakehouse в одном запросе.
  • Знакомые инструменты — подключитесь к SQL Server Management Studio (SSMS), Azure Data Studio или любому SQL-клиенту через стандартные подключения TDS.
  • помощь Copilot — Copilot для Data Warehouse создает запросы SQL на естественном языке, предоставляет завершение кода по мере ввода и может объяснить или исправить существующие запросы в редакторе SQL.

Хранилище и конечная точка аналитики SQL

Рабочие области Fabric могут содержать два типа элементов на основе SQL, которые служат разным целям.

Функциональность Склад Конечная точка аналитики SQL
Чтение данных Yes Yes
Запись данных (INSERT, UPDATE, DELETE, MERGE) Yes нет
Создание таблиц (DDL) Yes нет
Создание представлений и хранимых процедур Yes Yes
Источник данных Таблицы встроенного хранилища Таблицы Delta Lakehouse

Используйте хранилище, если вам нужны полные возможности чтения и записи T-SQL. Используйте конечную точку аналитики SQL, если требуется доступ только для чтения SQL к данным «Lakehouse».

Создание хранилища данных

Вы можете создать хранилище данных в Fabric из create hub или в рабочем пространстве. После создания пустого хранилища можно добавить таблицы, представления и другие объекты.

Снимок экрана: пользовательский интерфейс Fabric со стрелкой, указывающей на центр создания.

После создания хранилища можно приступить к созданию таблиц и загрузке данных с помощью SQL query editor на портале Fabric.

Загрузка данных в хранилище

Существует несколько способов загрузки данных в data warehouse Fabric:

  • COPY INTO — массовая загрузка данных из внешних файлов (CSV, Parquet) в Azure storage в таблицы хранилища.
  • OPENROWSET — запрос файлов непосредственно из внешних хранилищ или расположений OneLake для неформализованного анализа или загрузки данных без предварительного создания таблиц.
  • Конвейеры и потоки данных — используйте конвейеры фабрики данных или потоки данных Gen2 для оркестрированного перемещения и преобразования данных.
  • Запросы между базами данных — запросы таблиц Lakehouse непосредственно из хранилища с помощью трех частей именования без копирования данных.

Для массовой COPY INTO загрузки данных из файлов можно использовать команду T-SQL. Например, следующая инструкция загружает данные из CSV-файла в таблицу:

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

Скриншот редактора запросов SQL с открытым запросом.

Подсказка

Если у вас есть таблицы в lakehouse, которые вы хотите запрашивать из хранилища без внесения изменений, используйте вместо этого запросы между базами данных. Вам не нужно копировать данные.

Создание таблиц и загрузка данных

После создания хранилища и выбора метода приема необходимо определить таблицы и загрузить в них данные.

Таблицы создаются с помощью инструкций T-SQL CREATE TABLE . Определите столбцы с соответствующими типами данных для рабочих нагрузок аналитики.

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

Выберите типы данных, которые балансируют точность с эффективностью хранения. Используется INT для ключевых столбцов, NVARCHAR для текста, которые могут содержать специальные символы, а DECIMAL также для финансовых значений, требующих точности.

Использование промежуточных таблиц для загрузки данных

Распространенный шаблон в хранилище данных заключается в том, чтобы помещать необработанные данные в промежуточные таблицы перед преобразованием и загрузкой их в конечные таблицы измерений и фактов. Промежуточные таблицы отражают структуру исходных данных и служат временной областью хранения.

После загрузки данных в промежуточные таблицы с помощью COPY INTO или pipelines вы преобразуете и вставляете их в трехмерную модель:

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

Этот шаблон поддерживает целостность исходных данных при применении бизнес-правил и поиска ключевых значений в процессе загрузки.

Общие сведения о клонах таблиц

В хранилище данных Fabric можно создать клоны таблиц с нулевым копированием. Клонирует метаданные таблицы, ссылаясь на те же базовые файлы данных в OneLake. Сами данные не дублируются, что обеспечивает низкие затраты на хранение.

В следующем примере кода показано, как создать клон с помощью T-SQL:

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

Клоны таблиц полезны для разработки и тестирования, восстановления данных после сбоя и сохранения данных в определенный момент времени для исторических отчетов.

Подсказка

Дополнительные сведения см. в таблице Clone в документации Microsoft Fabric.

Теперь, когда вы понимаете возможности хранилища Fabric, давайте рассмотрим, как запрашивать и преобразовывать данные.