Общие сведения о хранилищах данных в 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 или в рабочем пространстве. После создания пустого хранилища можно добавить таблицы, представления и другие объекты.
После создания хранилища можно приступить к созданию таблиц и загрузке данных с помощью 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
Подсказка
Если у вас есть таблицы в 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, давайте рассмотрим, как запрашивать и преобразовывать данные.