Иерархическое пространство имен Azure Data Lake Storage 2-го поколения

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Дальнейшие действия