Лучше вместе: озеро и склад

Область применения:✅ конечная точка аналитики SQL и хранилище в Microsoft Fabric

В этой статье объясняется рабочая нагрузка хранения данных с конечной точкой аналитики SQL Lakehouse и сценариями использования Lakehouse в хранилище данных. Руководство по принятию решений о выборе разработки данных для хранилища см. в руководстве по принятию решений Microsoft Fabric: выбор между хранилищем и Lakehouse.

Что такое конечная точка аналитики SQL Lakehouse?

Конечная точка аналитики SQL позволяет запрашивать данные в Lakehouse с помощью языка T-SQL и протокола TDS.

  • Конечная точка аналитики SQL предоставляет разностные таблицы из Lakehouse в виде таблиц SQL, которые можно запрашивать с помощью языка T-SQL.
  • Каждая дельта-таблица из среды Lakehouse представлена в виде одной таблицы. Данные должны быть в разностном формате.
  • Каждый Lakehouse имеет одну конечную точку аналитики SQL, и каждая рабочая область может иметь более одного Lakehouse. Количество конечных точек аналитики SQL в рабочей области соответствует количеству элементов Lakehouse.

Нет необходимости создавать конечную точку аналитики SQL в Microsoft Fabric. Конечная точка аналитики SQL автоматически создается для каждой lakehouse, любой базы данных или зеркальной базы данных. Конечная точка аналитики SQL выступает в качестве упрощенной возможности хранения данных для своих родительских элементов, дополняя архитектуру озера хранилища. Это позволяет зеркальным отображением Spark или Fabric управлять данными в структуре папок в lakehouse, которую может просматривать конечная точка аналитики SQL.

Примечание.

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

Автоматическое обнаружение метаданных

Беспрерывный процесс считывает журналы изменений из папки с файлами и гарантирует, что метаданные SQL для таблиц, такие как статистика, всегда актуальны. Не требуется никаких действий пользователя, а также не требуется импортировать, копировать данные или настраивать инфраструктуру. Дополнительные сведения см. в статье "Автоматически созданная схема" в конечной точке аналитики SQL.

Сценарии использования Lakehouse в хранилищах данных

В Fabric мы предлагаем один склад.

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

Аналитика с помощью золотого слоя Fabric Lakehouse

Одна из известных стратегий для организации данных озера — это архитектура медальона, в которой файлы организованы в необработанных (бронзовых), консолидированных (серебряных) и рафинированных (золотых) слоях. Конечная точка аналитики SQL может использоваться для анализа данных в золотом слое архитектуры медальона, если файлы хранятся в Delta Lake формате, даже если они хранятся вне Microsoft Fabric OneLake.

Сочетания клавиш OneLake можно использовать для ссылки на золотые папки во внешних учетных записях хранения Azure Data Lake, управляемых обработчиками Synapse Spark или Azure Databricks.

Хранилища также могут быть добавлены как решения, ориентированные на конкретные предметные области или домены, которые могут иметь свои собственные аналитические требования.

Если вы решили сохранить данные в Fabric, они всегда будут открыты и доступны через API, формат Delta и, конечно, T-SQL.

Запрос в качестве службы по разностным таблицам из Lakehouse и других элементов из OneLake

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

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

Данные в Microsoft Fabric Lakehouse физически хранятся в OneLake со следующей структурой папок:

  • Папка /Files содержит необработанные и неконсолидированные (бронзовые) файлы, которые должны обрабатываться инженерами данных перед их анализом. Файлы могут находиться в различных форматах, таких как CSV, Parquet, различные типы изображений и т. д.
  • Папка /Tables содержит уточненные и консолидированные (золотые) данные, готовые к бизнес-анализу. Консолидированные данные приведены в формате Delta Lake.

Конечная точка аналитики SQL может считывать данные в папке /tables в OneLake. Анализ осуществляется так же легко, как и выполнение запроса к конечной точке аналитики SQL в Lakehouse. Вместе с хранилищем вы также получаете запросы между базами данных и возможность простого перехода от запросов только для чтения к созданию дополнительной бизнес-логики на основе данных OneLake с помощью хранилища данных Fabric.

Инжиниринг данных с Spark и обслуживанием с помощью SQL

Предприятия, управляемые данными, должны синхронизировать бэкэндовые и аналитические системы с пользовательскими приложениями практически в реальном времени. Влияние транзакций должно точно отражаться в комплексных процессах, связанных приложениях и системах обработки транзакций в сети (OLTP).

В Fabric можно использовать потоковую передачу Spark или Инжиниринг данных для обработки данных. Для проверки качества данных и существующих процессов T-SQL можно использовать конечную точку аналитики SQL Lakehouse. Это можно сделать в архитектуре медальона или на нескольких уровнях вашего Lakehouse: бронза, серебро, золото, а также промежуточные, курированные и уточненные данные. Вы можете настроить папки и таблицы, созданные с помощью Spark, в соответствии с требованиями к проектированию данных и бизнес-требованиям. Когда будет готово, хранилище может использоваться для всех смежных приложений бизнес-аналитики и других сценариев использования аналитики без копирования данных, с использованием представлений или обработки данных с помощью CREATE TABLE AS SELECT (CTAS), хранимых процедур и других команд DML или DDL.

Интеграция с золотым уровнем вашего Open Lakehouse

Конечная точка SQL аналитики не ограничивается аналитикой данных только в Fabric Lakehouse. Конечная точка аналитики SQL позволяет анализировать данные озера в любом озерном доме с помощью Synapse Spark, Azure Databricks или любого другого механизма проектирования данных, ориентированного на озеро. Эти данные можно хранить в Azure Data Lake Storage или Amazon S3.

Эта тесная двунаправленная интеграция с Fabric Lakehouse всегда доступна через любой механизм с открытыми API, форматом Delta и, конечно, T-SQL.

Виртуализация данных внешних озер данных с сочетаниями клавиш

Можно использовать шорткаты OneLake для ссылок на целевые папки во внешних учетных записях хранения Azure Data Lake, управляемые Spark Synapse или Azure Databricks, а также любую таблицу формата Delta, хранящуюся в Amazon S3.

Любой каталог, на который указывает ярлык, может быть проанализирован из конечной точки SQL-аналитики, и таблица SQL создаётся для этих данных. Таблицу SQL можно использовать для раскрытия данных в управляемых извне озерах данных и для проведения аналитики на них.

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

Чтобы проанализировать данные во внешних учетных записях хранения озера данных, выполните следующие действия.

  1. Создайте ярлык, ссылающийся на папку в хранилище Azure Data Lake или учетной записи Amazon S3. После ввода сведений о подключении и учетных данных ярлык отображается в Lakehouse.
  2. Перейдите в конечную точку аналитики SQL в Lakehouse и найдите таблицу SQL с именем, соответствующим ярлыку. Эта таблица SQL ссылается на папку в папке ADLS/S3.
  3. Запросите таблицу SQL, которая ссылается на данные в ADLS/S3. Таблицу можно использовать как любую другую таблицу в конечной точке аналитики SQL. Вы можете присоединить таблицы, ссылающиеся на данные в разных учетных записях хранения.

Примечание.

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

Анализ архивированных или исторических данных в озере данных

Секционирование данных — это хорошо известный метод оптимизации доступа к данным в озерах данных. Секционированные наборы данных хранятся в иерархических структурах папок в формате/year=<year>/month=<month>/day=<day>, где yearmonthи day являются столбцами секционирования. Это позволяет хранить исторические данные, логически разделенные таким образом, чтобы вычислительные модули могли считывать данные по мере необходимости, выполняя эффективную фильтрацию, в отличие от считывания всего каталога и всех папок и файлов, содержащихся в нем.

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

Конечная точка аналитики SQL может легко считывать этот тип данных без необходимости настройки. Например, можно использовать любое приложение для архивации данных в озеро данных, включая SQL Server 2022 или Управляемый экземпляр SQL Azure. После секционирования данных и приземления его в озере для архивации с внешними таблицами конечная точка аналитики SQL может считывать секционированные таблицы Delta Lake в виде таблиц SQL и позволить организации анализировать их. Это снижает общую стоимость владения, уменьшает дублирование данных и поддерживает большие данные, искусственный интеллект и другие сценарии анализа данных.

Виртуализация данных Fabric с сочетаниями клавиш

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

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

Ярлыки позволяют ссылаться на папки в любом расположении OneLake.

Каждое хранилище Microsoft Fabric хранит данные таблицы в OneLake. Если таблица доступна только для добавления, данные таблицы предоставляются как данные Delta Lake в OneLake. Ярлыки позволяют ссылаться на папки в любом OneLake, где доступны таблицы хранилища.

Совместное использование и выполнение запросов между рабочими областями

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

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

Конечная точка аналитики SQL позволяет запрашивать любую таблицу и простой общий доступ. Добавленные элементы управления ролями рабочей области и ролями безопасности, которые можно дополнительно сложить в соответствии с дополнительными бизнес-требованиями.

Чтобы включить аналитику данных между рабочими областями, выполните следующие действия.

  1. Создайте ярлык OneLake, ссылающийся на таблицу или папку в рабочей области, к которым можно получить доступ.
  2. Выберите Lakehouse или Warehouse, содержащий таблицу или папку Delta Lake, которую необходимо проанализировать. Как только вы выберете таблицу или папку, в Lakehouse будет отображаться ярлык.
  3. Перейдите в конечную точку аналитики SQL Lakehouse и найдите таблицу SQL, которая имеет имя, соответствующее ярлыку. Эта таблица SQL ссылается на папку в другой рабочей области.
  4. Запросите таблицу SQL, которая ссылается на данные в другой рабочей области. Таблицу можно использовать как любую другую таблицу в конечной точке аналитики SQL. Можно присоединить таблицы, которые ссылаются на данные в разных рабочих пространствах.

Дополнительные сведения о безопасности в конечной точке аналитики SQL см. в статье "Безопасность OneLake" для конечных точек аналитики SQL.

Примечание.

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

Анализ секционированных данных

Секционирование данных — это хорошо известный метод оптимизации доступа к данным в озерах данных. Секционированные наборы данных хранятся в иерархических структурах папок в формате/year=<year>/month=<month>/day=<day>, где yearmonthи day являются столбцами секционирования. Секционированные наборы данных обеспечивают быстрый доступ к данным, если запросы фильтруют данные с помощью предикатов, которые фильтруют данные, сравнивая столбцы предиката со значением.

Конечная точка аналитики SQL может представлять секционированные наборы данных Delta Lake в виде таблиц SQL и позволяют анализировать их.

Дополнительные сведения и примеры запроса внешних данных см. в статье "Запрос внешних файлов озера данных" с помощью хранилища данных Fabric или конечной точки аналитики SQL. Пример и вариант использования для запроса секционированных файлов parquet см. в разделе "Запрос секционированных данных".