Object-based Storage Device
Object-based Storage Device (OSD, объектное запоминающее устройство) — это устройство хранения данных, которое управляет данными в виде объектов, а не блоков или файлов. Каждый объект включает в себя сами данные, метаданные (описательную информацию) и уникальный идентификатор. OSD является ключевым компонентом объектных систем хранения (Object Storage), которые широко используются в облачных вычислениях, распределённых системах и архивах больших данных.
История и развитие
Концепция объектного хранения возникла в конце 1990-х годов как ответ на ограничения традиционных блочных (Block Storage) и файловых (File Storage) систем. В 1999 году Национальная лаборатория Лоуренса в Беркли (США) представила протокол OSD (Object-based Storage Device) в рамках проекта Network Attached Secure Disks (NASD). Этот проект был направлен на создание масштабируемых и безопасных систем хранения для суперкомпьютеров.
В 2004 году Международная организация по стандартизации (ISO) и Международная электротехническая комиссия (IEC) приняли стандарт ISO/IEC 14776-451, который определял интерфейс OSD. Позднее, в 2005 году, Комитет по стандартам интерфейсов малых компьютерных систем (T10 SCSI) включил OSD в спецификации SCSI (Small Computer System Interface) как команду SCSI-3 OSD. Это позволило использовать OSD в рамках существующих инфраструктур хранения.
В 2010-х годах объектное хранение стало доминирующей моделью для облачных сервисов, таких как Amazon S3 (Simple Storage Service), Google Cloud Storage и Microsoft Azure Blob Storage. Хотя эти сервисы не всегда напрямую используют аппаратные OSD, их архитектура основана на тех же принципах — хранение данных в виде объектов с уникальными идентификаторами и метаданными.
Архитектура и принцип работы
Основные компоненты
OSD состоит из трёх ключевых элементов:
- Данные — собственно содержимое объекта (например, файл, изображение, видеофрагмент).
- Метаданные — информация об объекте (размер, тип, дата создания, права доступа, контрольные суммы).
- Идентификатор (Object ID) — уникальный ключ, по которому объект может быть найден и извлечён.
Процесс записи и чтения
При записи данных в OSD система генерирует уникальный идентификатор объекта, который затем используется для доступа. Метаданные хранятся вместе с данными, что позволяет быстро находить объекты без необходимости сканирования всей файловой системы. При чтении система отправляет запрос с идентификатором, и OSD возвращает объект целиком или его часть.
Отличия от блочного и файлового хранения
| Характеристика | Блочное хранение | Файловое хранение | Объектное хранение |
|---|---|---|---|
| Единица данных | Блок (обычно 512 байт — 4 КБ) | Файл | Объект (от нескольких байт до терабайт) |
| Метаданные | Ограничены (только адрес блока) | Иерархические (путь, имя, атрибуты) | Расширенные (любые пользовательские атрибуты) |
| Идентификация | Номер блока | Путь к файлу | Уникальный идентификатор (UUID) |
| Масштабируемость | Ограничена (до 16 ТБ на том) | Средняя (до нескольких ПБ) | Высокая (до эксабайт) |
| Доступ | Через SCSI, iSCSI, NVMe | Через NFS, SMB/CIFS | Через REST API (HTTP/HTTPS) |
Классификация OSD
По типу реализации
- Аппаратные OSD — специализированные устройства хранения, которые напрямую поддерживают протокол OSD. Примеры: Seagate Kinetic Open Storage (диски с Ethernet-интерфейсом, поддерживающие объектное хранение), а также некоторые модели от NetApp и EMC (ныне Dell Technologies).
- Программные OSD — реализованы на уровне операционной системы или прикладного программного обеспечения. Примеры: Ceph RADOS (Reliable Autonomic Distributed Object Store), OpenStack Swift, MinIO.
По способу организации
- Централизованные — один OSD-сервер, который управляет всеми объектами. Используются в небольших системах или для специализированных задач.
- Распределённые — кластер из нескольких OSD-узлов, которые обеспечивают отказоустойчивость и масштабирование. Примеры: Amazon S3, Google Cloud Storage, Ceph.
Применение
Облачные вычисления
Объектное хранение является основой для большинства облачных сервисов. Например, Amazon S3, запущенный в 2006 году, стал стандартом де-факто для хранения неструктурированных данных в облаке. В России аналогичные сервисы предоставляют Яндекс.Облако, VK Cloud, SberCloud, а также провайдеры, использующие решения на базе Ceph или MinIO.
Резервное копирование и архивирование
OSD идеально подходят для долгосрочного хранения резервных копий и архивов благодаря низкой стоимости хранения и возможности автоматического управления жизненным циклом объектов (например, автоматическое удаление старых версий).
Медиаконтент и потоковая передача
Видеохостинги, такие как YouTube и Vimeo, используют объектное хранение для хранения миллионов видеофайлов. Каждый видеоролик хранится как объект с метаданными (разрешение, кодек, длительность).
Научные исследования
В крупных научных проектах, таких как ЦЕРН (CERN) или проект «Сколково», объектное хранение используется для хранения данных с ускорителей частиц, телескопов и других приборов, генерирующих терабайты данных в день.
Критика и ограничения
Несмотря на преимущества, OSD имеют ряд недостатков:
- Задержки доступа — из-за необходимости обрабатывать метаданные и выполнять REST-запросы, объектное хранение обычно медленнее блочного для операций в реальном времени.
- Сложность модификации — объекты, как правило, неизменяемы (immutable). Для изменения данных нужно создать новый объект и удалить старый, что может быть неэффективно для часто обновляемых данных.
- Зависимость от сети — большинство OSD доступны через сеть, что создаёт риски при перегрузках или сбоях в сетевой инфраструктуре.
- Отсутствие стандартизации — хотя протокол OSD был стандартизирован, многие коммерческие реализации (например, Amazon S3) используют собственные API, что затрудняет миграцию между системами.
Интересные факты
- Первый коммерческий продукт на основе OSD — Seagate Kinetic Open Storage (2013 год) — представлял собой жёсткий диск с Ethernet-интерфейсом, который напрямую поддерживал объектное хранение. Однако проект был закрыт в 2016 году из-за низкого спроса.
- В России объектное хранение активно используется в государственных информационных системах, таких как «Единая система идентификации и аутентификации» (ЕСИА) и «Госуслуги», для хранения документов и персональных данных.
- Крупнейшая в мире объектная система хранения — Amazon S3 — по состоянию на 2023 год хранит более 100 триллионов объектов, обрабатывая миллионы запросов в секунду.
Источники
- ISO/IEC 14776-451:2004 — Information technology — Small Computer System Interface (SCSI) — Part 451: Object-based Storage Device Commands (OSD).
- Seagate Technology. (2013). Seagate Kinetic Open Storage Platform.
- Weil, S. A., et al. (2006). Ceph: A Scalable, High-Performance Distributed File System. Proceedings of the 7th USENIX Symposium on Operating Systems Design and Implementation.
- Amazon Web Services. (2006). Amazon S3 Developer Guide.
- OpenStack. (2010). OpenStack Swift Object Storage Documentation.
- MinIO, Inc. (2020). MinIO Object Storage Guide.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →