Поделиться через


Выбор хранилища аналитических данных в Azure

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

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

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

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

Варианты при выборе хранилища аналитических данных

В Azure есть несколько вариантов для обслуживания данных, которые вы можете выбрать в зависимости от конкретных потребностей:

Эти варианты предоставляют разные модели баз данных, оптимизированные для разных типов задач.

  • В базах данных для пар "ключ-значение" хранится один сериализованный объект для каждого значения ключа. Они хорошо подходят для хранения больших объемов данных, когда нужно извлечь один элемент по заданному ключу, и при этом не требуется выполнять запросы, основанные на других свойствах элемента.
  • Базы данных документов, по сути, являются базами данных для пар "ключ-значение", в которых значениями являются документы. Под документами здесь подразумеваются любые коллекции именованных полей и значений. База данных обычно хранит данные в таком формате, как XML, YAML, JSON или двоичный JSON (BSON), но может использовать обычный текст. Базы данных документов позволяют применять запросы по полям, не являющимся ключами, а также определять дополнительные индексы для повышения эффективности таких запросов. Благодаря этому базы данных документов больше подходят для приложений, в которых нужно извлекать данные по более сложным критериям, чем одиночное значение ключа документа. Например, вы можете создать запрос по идентификаторам продуктов, идентификаторам клиентов или именам клиентов.
  • Колонковые базы данных — это хранилища данных формата ключ/значение, которые сохраняют каждый столбец отдельно на диске. База данных широкого хранилища столбцов — это разновидность базы данных, где хранятся семейства столбцов, а не только отдельные столбцы. Например, в базе данных переписи может быть семейство столбцов для имени человека (имя, отчество, фамилия), семейство столбцов для адреса человека и семейство столбцов для сведений профиля человека (дата рождения, пол). База данных может хранить каждое семейство столбцов в отдельном разделе, сохраняя все данные для одного человека, связанного с одним ключом. Тогда приложение сможет считывать одно семейство столбцов отдельно от остальных данных для одной и той же сущности.
  • В графовых базах данных сведения хранятся в виде коллекции объектов и отношений. База данных графов позволяет эффективно выполнять запросы в сети объектов и связей между ними. Например, в базе данных персонала объектами могут являться сотрудники и вам может потребоваться выполнить такой запрос, как "найти всех сотрудников, которые прямо или косвенно подчиняются Сергею".
  • Данные телеметрии и базы данных временных рядов представляют собой коллекцию объектов только для добавления. Базы данных телеметрии эффективно индексируют данные в различных хранилищах столбцов и структурах в памяти, что делает их оптимальным выбором для хранения и анализа огромных количеств данных телеметрии и временных рядов.
  • Microsoft Fabric поддерживает различные модели баз данных, включая ключ/значение, документ, хранилище столбцов, граф и базы данных телеметрии, обеспечивая гибкость и масштабируемость для различных аналитических задач.

Основные критерии выбора

Чтобы ограничить количество вариантов, сначала ответьте на следующие вопросы:

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

  • Нужна ли вам поддержка обработки с массовым параллелизмом (MPP), при которой запросы автоматически распространяются на несколько процессов или узлов? Если да, выберите параметр, поддерживающий горизонтальное масштабирование запросов.

  • Намерены ли вы использовать реляционное хранилище данных? Если да, исключите варианты, не поддерживающие модель реляционной базы данных. При этом не забывайте, что некоторые нереляционные хранилища поддерживают синтаксис запросов SQL и что для получения данных в нереляционных хранилищах можно применять такие средства, как PolyBase.

  • Вы собираете данные временных рядов? Вы используете данные, которые можно только добавлять?

  • OneLake Microsoft Fabric поддерживает несколько аналитических обработчиков, включая службы Analysis Services, T-SQL и Apache Spark, что делает его подходящим для различных потребностей в обработке и запросе данных

Матрица возможностей

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

Общие возможности

Возможность База данных SQL Пул Azure Synapse SQL Пул Azure Synapse Spark Azure Data Explorer (платформа для исследования данных) HBase/Phoenix в HDInsight Hive LLAP в HDInsight Azure Analysis Services Azure Cosmos DB Microsoft Fabric
Является управляемой службой Да Да Да Да Да 1 Да 1 Да Да Да
Модель базы данных-источника Реляционное (формат хранения в виде столбцов при использовании индексов столбцов) Реляционные таблицы с хранилищем столбцов Хранилище данных с широкими столбцами Реляционное (столбцовое) хранилище, хранилище телеметрии и хранилище временных рядов Широкий столбцовый база данных Hive с хранением в памяти Табличные семантические модели Хранилище документов, графовая база данных, хранилище пар "ключ-значение", хранилище широких столбцов Унифицированное озеро данных, реляционная, телеметрия, временные ряды, хранилище документов, граф, хранилище ключей и значений
Поддержка языка SQL Да Да Да Да Да (с помощью драйвера Phoenix JDBC) Да Нет Да Да
Оптимизировано для слоя быстрого обслуживания Да 2 Да 3 Да Да Да Да Нет Да Да

[1] Настройка и масштабирование вручную.

[2] С применением оптимизированных для памяти таблиц и хэша или некластеризованных индексов.

[3] Поддерживается в качестве выходных данных Azure Stream Analytics.

Масштабируемость

Возможность База данных SQL Пул SQL в Azure Synapse Пул Azure Synapse Spark Azure Data Explorer HBase/Phoenix в HDInsight Hive LLAP в HDInsight Azure Analysis Services Azure Cosmos DB Microsoft Fabric
Избыточные региональные серверы для высокого уровня доступности Да Нет Нет Да Да Нет Да Да Да
Поддерживает горизонтальное масштабирование запросов Нет Да Да Да Да Да Да Да Да
Динамическая масштабируемость (увеличение масштаба) Да Да Да Да Нет Нет Да Да Да
Выполняющееся в памяти кэширование данных Да Да Да Да Нет Да Да Нет Да

Возможности системы безопасности

Возможность База данных SQL Azure Synapse Azure Data Explorer (платформа для исследования данных) HBase/Phoenix в HDInsight Hive LLAP в HDInsight Azure Analysis Services Azure Cosmos DB Microsoft Fabric
Проверка подлинности SQL / Microsoft Entra ИД SQL / Microsoft Entra ID Microsoft Entra ID local / Microsoft Entra ID 1 local / Microsoft Entra ID 1 Microsoft Entra ID пользователи базы данных / Microsoft Entra ID через управление доступом (управление удостоверениями и доступом (IAM)) Microsoft Entra ID
Шифрование неактивных данных Да 2 Да 2 Да Да 1 Да 1 Да Да Да
Безопасность на уровне строк Да Да 3 Да Да 1 Да 1 Да Нет Да
Поддержка брандмауэров Да Да Да Да 4 Да 4 Да Да Да
Динамическое маскирование данных Да Да Да Да 1 Да Нет Нет Да

[1] Требуется использовать присоединенный к домену кластер HDInsight.

[2] Требуется использовать прозрачное шифрование данных для защиты данных в состоянии покоя.

[3] Только фильтрация предикатов. См. Безопасность на уровне строк.

[4] При использовании в виртуальной сети Azure. Дополнительные сведения см. в Расширение Azure HDInsight с помощью виртуальной сети Azure.

Соавторы

Эта статья поддерживается корпорацией Майкрософт.

Следующие шаги