Выбор технологии хранения больших данных в Azure

Примечание.

29 февраля 2024 года будет прекращена поддержка Azure Data Lake Storage 1-го поколения. Дополнительные сведения см. в официальном объявлении. Если вы используете Azure Data Lake Storage 1-го поколения, перейдите на Azure Data Lake Storage 2-го поколения до этой даты. Сведения о том, как выполнить миграцию Azure Data Lake служба хранилища из 1-го поколения в 2-го поколения с помощью портал Azure.

Если у вас еще нет учетной записи Azure Data Lake Storage 1-го поколения, вы не сможете ее создать.

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

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

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

Хранилище файлов:

Базы данных NoSQL

Аналитические базы данных:

Обозреватель данных Azure

Большие двоичные объекты службы хранилища Azure

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

Существует несколько служб хранилища Azure, которые можно использовать для хранения данных. Наиболее гибким вариантом хранения BLOB-объектов из многих источников данных является хранилище BLOB-объектов. Большие двоичные объекты по сути являются файлами. Они хранят изображения, документы, HTML-файлы, виртуальные жесткие диски (виртуальные жесткие диски), большие данные, такие как журналы, резервные копии баз данных— почти все. BLOB-объекты хранятся в контейнерах, которые по принципу использования похожи на папки. Контейнер обеспечивает группирование набора больших двоичных объектов. Учетная запись хранения может содержать неограниченное количество контейнеров. В каждом контейнере может храниться неограниченное количество больших двоичных объектов.

Хранилище Azure хорошо подходит для больших данных и аналитики благодаря гибкости, высокому уровню доступности и низкой цене. Оно предоставляет уровни "горячего", "холодного" и архивного доступа для вариантов использования. Дополнительные сведения см. в разделе Хранилище BLOB-объектов Azure: "горячий", "холодный" и архивный уровни.

Хранилище BLOB-объектов Azure доступно из Hadoop (через HDInsight). HDInsight может использовать контейнер больших двоичных объектов в службе хранилища Azure в качестве файловой системы по умолчанию для кластера. С помощью интерфейса распределенной файловой системы Hadoop, который предоставляется драйвером WASB, все компоненты в HDInsight могут напрямую взаимодействовать со структурированными или неструктурированными данными, хранимыми в виде больших двоичных объектов. К хранилищу BLOB-объектов Azure можно также обращаться через Azure Synapse Analytics с помощью PolyBase.

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

Хранилище Azure Data Lake Storage 1-го поколения

Azure Data Lake Storage 1-го поколения — это корпоративный репозиторий гипермасштабирования для рабочих нагрузок аналитики больших данных. Data Lake позволяет сохранять данные любого размера и типа с любой скоростью приема в одном защищенном расположении для выполнения эксплуатационной и исследовательской аналитики.

Azure Data Lake Storage 1-го поколения не накладывает никаких ограничений на размеры учетной записи, размеры файлов или объем данных, которые можно хранить в озере данных. Данные хранятся в дурном виде, делая несколько копий и не ограничивая время хранения данных в Data Lake. Для защиты от любых непредвиденных сбоев Data Lake не только хранит несколько копий файлов, но и распределяет их частями по нескольким отдельным серверам хранения. Это повышает пропускную способность при параллельном чтении файла для проведения анализа данных.

Доступ к azure Data Lake Storage 1-го поколения можно получить из Hadoop (доступно через HDInsight) с помощью ИНТЕРФЕЙСов REST, совместимых с WebHDFS. Этот вариант можно использовать вместо службы хранилища Azure, если размер отдельных файлов или их общий объем превышает ограничения, установленные для службы хранилища Azure. Однако при использовании Azure Data Lake Storage 1-го поколения в качестве основного хранилища для кластера HDInsight следует следовать рекомендациям по настройке производительности с определенными рекомендациями по Spark, Hive и MapReduce. Кроме того, обязательно проверка региональной доступности Azure Data Lake Storage 1-го поколения, так как она недоступна в столько регионов, сколько служба хранилища Azure, и она должна находиться в том же регионе, что и кластер HDInsight.

В сочетании с Azure Data Lake Analytics azure Data Lake Storage 1-го поколения предназначен для включения аналитики хранимых данных и настройки производительности для сценариев аналитики данных. Доступ к azure Data Lake Storage 1-го поколения также можно получить с помощью Azure Synapse с помощью функции PolyBase.

Azure Cosmos DB

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

Azure Cosmos DB является полностью бессхемной службой. Она автоматически индексирует все данные, избавляя вас от необходимости управлять схемой и индексами. В ней есть встроенная поддержка множества моделей данных, включая документы, пары "ключ-значение", графы и модели данных столбцов.

Функциональные возможности Azure Cosmos DB:

HBase в HDInsight

Apache HBase — это база данных NoSQL с открытым кодом, созданная на основе Hadoop по типу Google BigTable. HBase обеспечивает прямой доступ и строгую согласованность для больших объемов неструктурированных и слабоструктурированных данных в бессхемной базе данных, упорядоченных в семейства столбцов.

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

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

Azure Data Explorer

Azure Data Explorer — это быстрая и высокомасштабируемая служба для изучения данных журналов и телеметрии. Она позволяет обрабатывать множество потоков данных, создаваемых современным программным обеспечением, позволяя собирать, хранить и анализировать данные. Обозреватель данных Azure идеально подходит для анализа больших объемов разнообразных данных, поступающих из любых источников данных, таких как веб-сайты, приложения, устройства Интернета вещей и др. Эти данные используются для диагностики, мониторинга, формирования отчетов, машинного обучения и дополнительного анализа. Azure Data Explorer упрощает прием этих данных и позволяет мгновенно выполнять сложные специализированные запросы данных.

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

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

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

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

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

  • Нужно ли вам хранить неструктурированные или частично структурированные данные в бессхемной базе данных? Если да, выберите один из вариантов нереляционных хранилищ или аналитической обработки. Сравните варианты индексирования и моделей баз данных. В зависимости от типа сохраняемых данных, самым важным фактором может оказаться модель базы данных-источника.

  • Можно ли использовать эту службу в вашем регионе? Проверьте региональную доступность для каждой службы Azure. См. страницу Доступность продуктов по регионам.

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

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

Возможности для хранения файлов

Возможность Хранилище Azure Data Lake Storage 1-го поколения Контейнеры хранилища BLOB-объектов
Характер использования Оптимизированное хранилище для рабочих нагрузок, относящихся к аналитике больших данных Универсальное хранилище объектов для разнообразных сценариев хранения
Случаи использования Данные пакетной и потоковой аналитики или машинного обучения, например файлы журналов, данные Интернета вещей, истории посещений сайтов и большие наборы данных. Любой тип текстовых или двоичных данных, таких как данные серверной части приложений, архивируемые данные, мультимедийные хранилища для потоковой передачи и данные общего назначения.
Структура Иерархическая файловая система Хранилище объектов с одноуровневым пространством имен
Проверка подлинности На основе удостоверений Microsoft Entra Основана на общих секретах — ключи доступа к учетным записям, ключи подписанных URL-адресов и управление доступом на основе ролей Azure (Azure RBAC)
Протокол аутентификации OAuth 2.0. Вызовы должны содержать допустимый JWT (веб-токен JSON), выданный идентификатором Microsoft Entra Код проверки подлинности сообщения на основе хэша (HMAC). Вызовы должны содержать хэш SHA-256 с кодировкой Base64 для части HTTP-запроса.
Авторизация Списки управления доступом (ACL) POSIX. Списки управления доступом на основе удостоверений Microsoft Entra можно задать уровень файлов и папок. Для авторизации на уровне учетной записи используйте ключи доступа к учетным записям, а для авторизации в учетной записи, контейнере или большом двоичном объекте — ключи подписанных URL-адресов.
Аудит Доступно. На месте
Шифрование при хранении Прозрачное шифрование данных на стороне сервера. Прозрачное шифрование на стороне сервера; шифрование на стороне клиента.
Пакеты SDK для разработчиков .NET, Java, Python, Node.js .NET, Java, Python, Node.js, C++, Ruby
Производительность рабочих нагрузок аналитики Оптимизированная производительность для параллельных рабочих нагрузок аналитики, высокой пропускной способности и операций ввода-вывода. Не оптимизирована для рабочих нагрузок аналитики
Ограничения размера Нет ограничений на размер учетных записей, размер и количество файлов Определенные ограничения описаны здесь
Геоизбыточность Локальная избыточность (LRS), глобальная избыточность (GRS), геоизбыточность с доступом на чтение (RA-GRS), избыточность в пределах зоны (ZRS). Локальная избыточность (LRS), глобальная избыточность (GRS), геоизбыточность с доступом на чтение (RA-GRS), избыточность в пределах зоны (ZRS). Дополнительные сведения см. здесь.

Возможности баз данных NoSQL

Возможность Azure Cosmos DB HBase в HDInsight
Модель базы данных-источника Хранилище документов, граф, хранилище пар "ключ-значение", хранилище широких столбцов Хранилище широких столбцов
Вторичные индексы Да Нет
Поддержка языка SQL Да Да (с помощью драйвера Phoenix JDBC)
Согласованность Строгая согласованность, согласованность с ограниченным устареванием, согласованность уровня сеанса, согласованность префиксов или согласованность в конечном счете. Строгие
Встроенная интеграция с решением "Функции Azure" Да Нет
Автоматическое глобальное распределение Да Неудается настроить реплика кластера HBase в разных регионах с конечной согласованности
Модель ценообразования Гибко масштабируемые единицы запроса (ЕЗ) с посекундной оплатой по мере использования, гибко масштабируемое хранилище Поминутная оплата кластера HDInsight (с горизонтальным масштабированием узлов), хранилище

Возможности аналитических баз данных

Возможность Azure Data Explorer
Модель базы данных-источника Реляционное хранилище (хранилище столбцов) данных телеметрии и временных рядов
Поддержка языка SQL Да
Модель ценообразования Эластично масштабируемые экземпляры кластера
Проверка подлинности На основе удостоверений Microsoft Entra
Шифрование при хранении Поддерживается, используются ключи, управляемые клиентом
Производительность рабочих нагрузок аналитики Оптимизированная производительность для параллельных рабочих нагрузок аналитики
Ограничения размера Линейная масштабируемость

Соавторы

Эта статья поддерживается корпорацией Майкрософт. Первоначально он был написан следующими участник.

Автор субъекта:

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