Published on

March 8, 2021

Изучение концепций SQL Server с помощью Dremio в Azure

Ищете мощный движок для озера данных, который поддерживает интерактивные запросы? Обратите внимание на Dremio в Azure. Dremio – это универсальный инструмент, который создает семантический слой и позволяет легко получать доступ и анализировать данные. В этой статье мы рассмотрим основные концепции и функции Dremio в Azure.

Понимание архитектуры Dremio

Dremio работает на виртуальных машинах Linux или контейнерах Kubernetes и использует Apache Arrow, Gandiva и файлы Parquet внутри. Он состоит как минимум из одного узла координатора и одного или нескольких узлов исполнителя, которые обмениваются данными и управляются с помощью Apache Zookeeper. Клиентские приложения могут подключаться к Dremio через ODBC, JDBC, REST API или Arrow Flight.

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

Dremio организован в пространства, которые могут содержать папки и наборы данных. Основные объекты в Dremio включают источники данных, физические наборы данных, виртуальные наборы данных, отражения и пространства. Источники данных представляют подключения к данным, к которым следует обращаться через Dremio, а физические наборы данных могут быть каталогами HDFS или таблицами базы данных. Виртуальные наборы данных – это представления, которые ссылается на один или несколько физических или виртуальных наборов данных и предоставляют информацию о их источниках. Отражения – это материализованные представления, используемые для улучшения производительности запросов.

Работа с Dremio в Azure

Dremio предлагает несколько функций, которые делают его отличным выбором для пользователей Azure. Он поддерживает единую аутентификацию с учетными данными AAD и позволяет назначать разрешения отдельным пользователям или группам AAD. Dremio может быть реализован в виртуальной сети в Azure, а узлы исполнителей могут использовать Private Link для доступа к ADLS через частную конечную точку.

Администраторы имеют возможность просматривать выполняющиеся запросы и могут создавать правила для назначения запросов разным очередям, обеспечивая изоляцию и предсказуемость рабочей нагрузки для пользователей. Dremio также предлагает представление о происхождении виртуальных наборов данных, что упрощает понимание зависимостей. Метаданные и отражения могут быть обновлены с помощью Rest API, что полезно для процессов ETL, добавляющих новые данные в озеро данных.

Рекомендации и лучшие практики

Хотя Dremio в Azure предлагает множество преимуществ, есть несколько вещей, которые следует иметь в виду. Dremio изначально был создан для AWS, поэтому реализация на Azure может иметь некоторые недоработки. Интеграция с Azure Key Vault в настоящее время недоступна, и разрешения могут потребоваться установить дважды для доступа к озеру данных, если рядом с Dremio используются другие инструменты.

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

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

Заключение

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

Вы использовали Dremio в Azure? Поделитесь своим опытом в комментариях ниже!

Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.