В системах хранения данных (СХД) применяются три фундаментальные модели: блочная, файловая и объектная. Каждая определяет способ адресации, допустимые операции и область применения.
Блочное хранение
Блочное хранилище оперирует блоками фиксированного размера (например, 4 Кбайт), каждый из которых имеет числовой адрес. Операции чтения и записи выполняются над блоками напрямую. Поверх блочного уровня обычно строится файловая система.
- Основные свойства: поддержка произвольной перезаписи любых байтов; минимальные метаданные; сверхнизкие задержки (микросекунды–миллисекунды); сложность горизонтального масштабирования.
- Применение: системные диски виртуальных машин, высоконагруженные базы данных.
- Главное ограничение: высокая стоимость наращивания ёмкости и ограниченный объём метаданных.
Файловое хранение
Файловое хранилище предоставляет абстракции файла и каталога (папки), организованные в иерархическое дерево. Доступ осуществляется по символьному пути (например, /home/logs/app.log).
- Основные свойства: иерархическая навигация; возможность частичной перезаписи содержимого файла; богатые метаданные (владелец, права, временные метки); деградация производительности при миллионах файлов в одном каталоге.
- Применение: сетевые файловые сервисы (NFS, SMB), домашние директории, документооборот.
- Главное ограничение: не масштабируется до миллиардов файлов; операции по тегам или атрибутам требуют обхода дерева.
Объектное хранение
Объектное хранилище управляет данными как неделимыми объектами. Каждый объект содержит данные, уникальный ключ и метаданные (пары «ключ-значение»). Объекты группируются в бакеты — плоские контейнеры без вложенности.
- Основные свойства: плоское пространство имён; отсутствие операции частичного обновления — объект перезаписывается только целиком; расширяемые пользовательские метаданные (произвольные теги).
- Ключевые преимущества: горизонтальное масштабирование до эксабайт и миллиардов объектов; доступ к объекту по ключу не зависит от числа соседей; возможность искать объекты по пользовательским тегам; встроенный контроль целостности.
- Компромиссы: более высокие задержки (десятки–сотни миллисекунд) — плата за доступ через HTTP и распределённую архитектур. В сценариях «одна запись, многократное чтение» (бэкапы, логи, аналитика) эти ограничения некритичны.
- Применение: резервные копии, логи приложений и систем, мультимедийные файлы, статические веб-ресурсы и т.д. (подробнее — Что можно хранить в S3-объектном хранилище).