Таблицы в Fabric Data Warehouse

Применимо к:✅ Хранилище в Microsoft Fabric

В этой статье объясняются ключевые концепции проектирования таблиц в Microsoft Fabric.

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

Определение категории таблицы

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

  • Таблицы фактов содержат количественные данные, генерируемые транзакционными системами и затем загружаемые в хранилище данных. Например, розничное предприятие ежедневно создает транзакции продаж, а затем загружает данные в таблицу фактов хранилища данных для анализа.

  • Таблицы измерений содержат данные атрибутов, которые могут измениться, хотя обычно это происходит редко. Например, храните имя и адрес клиента в таблице измерений и обновляйте их только при изменении профиля клиента. Чтобы минимизировать размер большой таблицы фактов, необязательно включать имя и адрес клиента в каждой строке. Вместо этого в таблице фактов и таблице измерений может совместно использоваться идентификатор клиента. Запрос может объединить две таблицы, чтобы связать профиль и транзакции клиента.

  • Таблицы интеграции служат для интеграции или промежуточного размещения данных. Например, вы можете загружать данные в промежуточную таблицу, выполнять преобразования данных в этой таблице, а затем вставлять в рабочую таблицу.

Таблица хранит данные в OneLake как часть хранилища. Таблица и данные сохраняются независимо от того, открыт ли сеанс.

Таблицы в хранилище

Чтобы показать организацию таблиц, используйте fact, dim, или int как префиксы к названиям таблиц. В следующей таблице показаны некоторые названия схем и таблиц для хранилища данных WideWorldImportersDW .

Имя исходной таблицы WideWorldImportersDW Тип таблицы имя таблицы Хранилища данных
Город Измерение wwi.DimCity
Порядок Факт wwi.FactOrder
  • Имена таблиц не могут содержать /, \ или заканчиваться на ..
  • В Fabric Data Warehouse можно создавать временные (#temp) таблицы на уровне сеанса. Для получения дополнительной информации см. таблицы временных часов в Fabric Data Warehouse.

Создание таблицы

Для хранилища можно создать таблицу в виде новой пустой таблицы. Вы также можете создать и заполнить таблицу результатами инструкции Select. В следующей таблице показаны команды T-SQL для создания таблицы.

Инструкция T-SQL Описание
СОЗДАТЬ ТАБЛИЦУ Создает пустую таблицу, определив все столбцы и параметры таблицы.
СОЗДАВАТЬ ТАБЛИЦУ КАК SELECT Заполняет новую таблицу результатами запроса SELECT. Столбцы и типы данных таблицы основаны на результатах инструкции Select. Чтобы импортировать данные, эта инструкция может выбрать данные из внешней таблицы.

В этом примере создается таблица с двумя столбцами:

CREATE TABLE MyTable (col1 int, col2 int );

Fabric Data Warehouse поддерживает столбцы IDENTITY в таблицах для автоматической вставки последовательности увеличивающихся чисел. Для начала см. раздел «Использовать столбцы IDENTITY» в Fabric Data Warehouse.

Аналогично, вы можете изменять существующие таблицы с помощью T-SQL-синтаксиса ALTER TABLE (Transact-SQL).

Метаданные для представлений в хранилище могут устаревать из-за изменений в базовых таблицах, от которых зависит представление. Чтобы обновить метаданные представления, используйте sys.sp_refreshview (Transact-SQL). Представления, созданные с помощью SCHEMABINDING, блокируют изменения базовых объектов, если эти изменения влияют на определение представления. Если вы не создаёте представление с помощью SCHEMABINDING, запустите sp_refreshview, когда вы вносите изменения в объекты, лежащие в основе представления, которые влияют на определение представления. В противном случае представление может вернуть неожиданные результаты при запросе.

Имена схем

Хранилище поддерживает создание пользовательских схем. Как и в SQL Server, схемы являются хорошим способом группировки объектов, которые используются аналогичным образом. В следующем коде создается пользовательская схема с именем wwi.

  • Имена схем не могут содержать / или \ или заканчиваться на ..
CREATE SCHEMA wwi;

Типы данных

Microsoft Fabric поддерживает наиболее часто используемые типы данных T-SQL.

Сортировка

Хранилища Fabric настраиваются на основе параметра сортировки рабочей области, который по умолчанию является параметром сортировки, чувствительным к регистру (CS) Latin1_General_100_BIN2_UTF8. При создании нового склада используется параметр сортировки рабочего пространства. Для получения дополнительной информации см. Сопоставление Data Warehouse.

Поддерживаемые параметры сортировки хранилища:

  • Latin1_General_100_BIN2_UTF8 (по умолчанию)
  • Latin1_General_100_CI_AS_KS_WS_SC_UTF8

Вы можете создать склад с нестандартными правилами сортировки, используя REST API. Дополнительные сведения см. в статье Практическое руководство: Создание хранилища с нечувствительной к регистру (CI) сортировкой.

После того как вы настроите колляцию при создании базы данных, все последующие объекты (таблицы, столбцы и т.д.) наследуют эту стандартную колляцию. После создания склада нельзя изменить параметр сортировки.

Статистика

Оптимизатор запросов использует статистику уровня столбца при создании плана выполнения запроса. Чтобы повысить производительность запросов, важно получить статистику по отдельным столбцам, особенно столбцам, используемым в объединениях запросов. Хранилище поддерживает автоматическое создание статистики.

Обновление статистики не происходит автоматически. Обновите статистику после добавления или изменения значительного числа строк. Например, обновите статистику после загрузки. Дополнительную информацию см. в разделе Статистика в Fabric Data Warehouse.

Первичный ключ, внешний ключ и уникальный ключ

Для Warehouse вы можете использовать ограничения PRIMARY KEY и UNIQUE только при использовании обоих NONCLUSTERED и NOT ENFORCED.

Вы можете использовать FOREIGN KEY только тогда, когда используете NOT ENFORCED.

Согласование исходных данных с хранилищем данных

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

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

Ограничения

Склад поддерживает многие функции таблиц, предлагаемых другими базами данных, но не все функции.

  • Глобальные временные таблицы в настоящее время не поддерживаются.

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

  • 1024 максимальных столбцов на таблицу
  • Вычисляемые столбцы
  • Индексированные представления
  • Секционированные таблицы
  • Последовательность
  • Разреженные столбцы
  • Синонимы
  • Триггеры
  • Уникальные индексы
  • Определяемые пользователем типы
  • Внешние таблицы

Fabric Data Warehouse кэширует метаданные объектов хранилища для быстрого доступа к объектам и их определениям. Для очень больших хранилищ с более чем 750 000 объектов (например, таблицы, представления, хранимые процедуры и функции) система больше не кэширует метаданные. Вместо этого операции схемы запрашивают хранилище метаданных напрямую. Такая конструкция обеспечивает стабильность системы и предотвращает истощение кэша в очень больших базах данных. Однако операции обновления схемы могут занять больше времени по сравнению с меньшими хранилищами, в которых включен кэширование метаданных.

Внимание

Существуют ограничения при добавлении таблиц или столбцов при использовании Git Integration for Fabric Warehouse Development.