Skip to content

Объектное, блочное и файловое хранилище

Основные типы сетевых хранилищ

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

Надежное хранилище должно:

  • иметь большой объем дискового пространства с возможностью расширения;
  • обладать удобным интерфейсом для загрузки и выгрузки данных;
  • быть доступным в любое время суток;
  • иметь возможность резервирования данных;
  • обеспечивать доступ с разных устройств;
  • предоставлять возможность ограничивать доступ к определенным данным.

Выделяются следующие типы хранилищ: объектное, блочное и файловое.

Объектное хранилище

Основная единица хранения — объект. Объектом может быть все, что угодно: текстовый документ, изображение, аудиофайл и т.п. У каждого объекта имеется определенный набор метаданных: автор, дата создания, размер и т.п. Самый главный атрибут метаданных — уникальный идентификатор объекта (ключ).

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

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

Объектные хранилища отличаются плоской структурой: в них нет никакой иерархии и вложенности.

Преимущества объектного хранилища

  • Возможности масштабирования — объектные хранилища легко масштабируются горизонтально путем добавления новых узлов и увеличения емкости;
  • Хранение больших объемов данных — объектные хранилища хорошо подходят для сервисов, где требуются хранение и обработка больших объемов неструктурированных данных, в том числе систем с искусственным интеллектом, платформ для машинного обучения и предиктивного анализа;
  • Быстрый поиск данных — метаданные хранятся вместе с объектами, благодаря чему они быстро индексируются. Эффективная индексация ускоряет поиск;
  • Гибкие схемы оплаты — тарификация в объектных хранилищах основана на принципе pay-as-you-go: оплата взимается за фактический объем хранимых данных и объем исходящего трафика.

Недостатки объектного хранилища

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

Блочное хранилище

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

Благодаря четкой и оптимизированной структуре блочные хранилища хорошо подходят для высоконагруженных сервисов, в которых требуется быстрый доступ к данным: баз данных, контейнеризованных сервисов, систем кеширования и т.п.

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

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

Недостатки блочного хранилища

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

Файловое хранилище

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

Преимущества файлового хранилища

  • Низкий порог вхождения — с устройством файлового хранилища без труда разберется любой пользователь с базовыми навыками работы на персональном компьютере;
  • Простота — благодаря простому интерфейсу любой пользователь может создавать, структурировать, изменять и удалять файлы;

Недостатки файлового хранилища

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

Основные отличия объектного, блочного и файлового хранилищ

При выборе типа хранения обратите внимание на следующие моменты:

Объектное хранилищеБлочное хранилищеФайловое хранилище
Метод храненияОбъекты в бакетахБлоки фиксированного размера, собираются по запросуФайлы в иерархической структуре папок и подпапок
Объем хранимых данныхПрактически неограниченОграниченОграничен
МетаданныеК объектам можно без ограничений добавлять пользовательские метаданные, что ускоряет поискМожно добавить ограниченный набор метаданных. Управлять дополнительной информацией можно только на уровне базы данных или приложенияК файлам и папкам добавляется ограниченный набор метаданных
ПроизводительностьЗависит от многих факторов. Показывает высокую скорость и производительность при работе с объектами большого размераВысокая. Показывает особенно высокую скорость и производительность при работе с файлами небольшого размераЧем выше объемы данных, тем ниже производительность
СтоимостьЗависит от объема хранимых данныхВысокая: оплата взимается за фиксированный объем дискового пространстваВысокая: для горизонтального масштабирования нужно приобретать новые устройства хранения
Возможность масштабированияПрактически неограниченаОграниченаОграничена
Варианты использованияХранение больших объемов неструктурированных данных: резерные копии, архивы, медиафайлы и т.п.Хранение изменяемых структурированных данных: базы данных, диски для виртуальных машин, системы кешированияХранение структурированных данных небольшого объема