Объектное, блочное и файловое хранилище
Основные типы сетевых хранилищ
Данные — один из самых ценных и важных ресурсов. Все данные помещаются в хранилища. Хранилищем называется набор аппаратных и программных ресурсов, используемых для обеспечения целостности и сохранности данных.
Надежное хранилище должно:
- иметь большой объем дискового пространства с возможностью расширения;
- обладать удобным интерфейсом для загрузки и выгрузки данных;
- быть доступным в любое время суток;
- иметь возможность резервирования данных;
- обеспечивать доступ с разных устройств;
- предоставлять возможность ограничивать доступ к определенным данным.
Выделяются следующие типы хранилищ: объектное, блочное и файловое.
Объектное хранилище
Основная единица хранения — объект. Объектом может быть все, что угодно: текстовый документ, изображение, аудиофайл и т.п. У каждого объекта имеется определенный набор метаданных: автор, дата создания, размер и т.п. Самый главный атрибут метаданных — уникальный идентификатор объекта (ключ).
Объекты помещаются в контейнеры, которые называются бакетами. Количество объектов в бакете ничем не ограничено. При этом создать бакет внутри бакета невозможно.
Бакеты находятся в регионах. Регионом называется набор ресурсов хранилища, расположенных в определенной географической точке.
Объектные хранилища отличаются плоской структурой: в них нет никакой иерархии и вложенности.
Преимущества объектного хранилища
- Возможности масштабирования — объектные хранилища легко масштабируются горизонтально путем добавления новых узлов и увеличения емкости;
- Хранение больших объемов данных — объектные хранилища хорошо подходят для сервисов, где требуются хранение и обработка больших объемов неструктурированных данных, в том числе систем с искусственным интеллектом, платформ для машинного обучения и предиктивного анализа;
- Быстрый поиск данных — метаданные хранятся вместе с объектами, благодаря чему они быстро индексируются. Эффективная индексация ускоряет поиск;
- Гибкие схемы оплаты — тарификация в объектных хранилищах основана на принципе pay-as-you-go: оплата взимается за фактический объем хранимых данных и объем исходящего трафика.
Недостатки объектного хранилища
Объектное хранилище плохо подходит для записи и хранения транзакционных данных из-за медленной скорости записи по сравнению с блочными и файловыми хранилищами. Кроме того, в объектном хранилище невозможно изменить объект после записи, поэтому оно не подходит для сервисов, где нужен постоянно изменять и перезаписывать данные.
Блочное хранилище
Основной единицей хранения является блок. Все блоки имеют одинаковый размер, и их можно записывать и читать по отдельности. Каждый блок получает индивидуальный идентификатор и хранится на сервере. Система хранения помещает блоки в разные локации по определенным алгоритмам. Блоки могут быть распределены между разными системами и окружениями. Когда пользователь запрашивает данные, система находит и возвращает ему нужные блоки. Как и в объектных хранилищах, в блочных хранилищах отсутствуют строгие пути и иерархии.
Благодаря четкой и оптимизированной структуре блочные хранилища хорошо подходят для высоконагруженных сервисов, в которых требуется быстрый доступ к данным: баз данных, контейнеризованных сервисов, систем кеширования и т.п.
Преимущества блочного хранилища
- Высокая скорость — отсутствие фиксированных путей и ограниченный объем метаданных обеспечивают высокую скорость передачи и получения данных;
- Высокая масштабируемость — при росте объема данных можно легко расширять дисковое пространство;
- Изменяемость данных — блоки можно легко изменять, перезаписывать и удалять.
Недостатки блочного хранилища
- Ограниченные возможности работы с метаданными — к данным можно добавлять очень небольшой объем метаданных по сравнению с объектными и файловыми хранилищами. Любую дополнительную информацию приходится обрабатывать на уровне базы данных или приложения.
- Высокая стоимость — как правило, при использовании блочных хранилищ оплата взимается за фиксированный объем дискового пространства вне зависимости от того, используется оно целиком или нет.
Файловое хранилище
Основная единица хранения — файл. Файлы хранятся в папках, или директориях. Внутри папок также могут быть созданы папки. Файлы имеют следующие атрибуты: имя, расширение и путь. Эти атрибуты выступают в качестве уникальных идентификаторов. Файловые хранилища получили широкое распространение благодаря простоте и логичности.
Преимущества файлового хранилища
- Низкий порог вхождения — с устройством файлового хранилища без труда разберется любой пользователь с базовыми навыками работы на персональном компьютере;
- Простота — благодаря простому интерфейсу любой пользователь может создавать, структурировать, изменять и удалять файлы;
Недостатки файлового хранилища
- Сложности при работе с большими объемами данных — иерархическая структура усложняет поиск и извлечение данных;
- Ограниченные возможности масштабирования — чтобы масштабировать файловое хранилище горизонтально, нужно приобретать новые устройства хранения, что также сопряжено с финансовыми затратами.
Основные отличия объектного, блочного и файлового хранилищ
При выборе типа хранения обратите внимание на следующие моменты:
| Объектное хранилище | Блочное хранилище | Файловое хранилище | |
|---|---|---|---|
| Метод хранения | Объекты в бакетах | Блоки фиксированного размера, собираются по запросу | Файлы в иерархической структуре папок и подпапок |
| Объем хранимых данных | Практически неограничен | Ограничен | Ограничен |
| Метаданные | К объектам можно без ограничений добавлять пользовательские метаданные, что ускоряет поиск | Можно добавить ограниченный набор метаданных. Управлять дополнительной информацией можно только на уровне базы данных или приложения | К файлам и папкам добавляется ограниченный набор метаданных |
| Производительность | Зависит от многих факторов. Показывает высокую скорость и производительность при работе с объектами большого размера | Высокая. Показывает особенно высокую скорость и производительность при работе с файлами небольшого размера | Чем выше объемы данных, тем ниже производительность |
| Стоимость | Зависит от объема хранимых данных | Высокая: оплата взимается за фиксированный объем дискового пространства | Высокая: для горизонтального масштабирования нужно приобретать новые устройства хранения |
| Возможность масштабирования | Практически неограничена | Ограничена | Ограничена |
| Варианты использования | Хранение больших объемов неструктурированных данных: резерные копии, архивы, медиафайлы и т.п. | Хранение изменяемых структурированных данных: базы данных, диски для виртуальных машин, системы кеширования | Хранение структурированных данных небольшого объема |