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


Иерархическое пространство имен Azure Data Lake Storage

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

Преимущества иерархического пространства имен

Следующие преимущества связаны с файловыми системами, которые реализуют иерархическое пространство имен для данных больших двоичных объектов:

  • Атомарное управление каталогами. Хранилища объектов выражают иерархию каталогов, внедряя символы косой черты (/) в имя объекта для обозначения сегментов пути. Хотя это соглашение подходит для организации объектов, оно не оказывает помощи в таких действиях, как перемещение, переименование или удаление каталогов. Без реальных каталогов приложения должны потенциально обрабатывать миллионы отдельных больших двоичных объектов для выполнения задач на уровне каталогов. Напротив, иерархическое пространство имен обрабатывает эти задачи путем обновления одной записи (родительского каталога).

    Эта оптимизация особенно важна для многих платформ анализа больших данных. Такие инструменты, как Hive и Spark, часто записывают выходные данные во временные расположения, а затем переименовывают расположение по завершении задания. Без иерархического пространства имен это переименование часто может занимать больше времени, чем сам процесс анализа. Уменьшение латентности задания равняется сокращению совокупной стоимости владения (TCO) для аналитических рабочих нагрузок.

  • Знакомый стиль интерфейса. Файловые системы хорошо понятны и разработчикам, и пользователям. При переходе в облако не требуется изучать новую парадигму хранения, так как интерфейс файловой системы, предоставляемый Data Lake Storage, является той же парадигмой, используемой компьютерами, большими и небольшими.

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

Принятие решения о включении иерархического пространства имен

После включения иерархического пространства имен в учетной записи вы не сможете вернуть ее к неструктурированному пространству имен. Поэтому определите, стоит ли включать иерархическое пространство имен с учетом рабочих нагрузок хранилища объектов. Чтобы оценить влияние включения иерархического пространства имен на рабочие нагрузки, приложения, затраты, интеграцию служб, средства, функции и документацию, см. статью "Обновление Хранилище BLOB-объектов Azure с помощью возможностей Azure Data Lake Storage".

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

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

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

Целесообразность включения иерархического пространства имен определяется по результатам анализа совокупной стоимости владения. Как правило, при улучшении латентности рабочей нагрузки в связи с ускорением хранения вычислительные ресурсы требуются на меньшее время. Задержку многих рабочих нагрузок можно сократить за счет атомарного управления каталогами, обеспечиваемого иерархическим пространством имен. Во многих рабочих нагрузках цена вычислительного ресурса составляет >> 85 % от общей стоимости, поэтому даже небольшое сокращение латентности рабочей нагрузки приводит к значительному уменьшению суммы совокупной стоимости владения. Даже в тех случаях, когда включение иерархического пространства имен увеличивает затраты на хранение, совокупная стоимость владения все равно снижается из-за сокращения затрат на вычислительные ресурсы.

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

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