Открыть сервис

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

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

История

Концепция объектного хранения возникла в конце 1990-х годов как ответ на ограничения традиционных файловых систем и систем хранения данных (SAN, NAS) при работе с растущими объёмами неструктурированных данных, таких как изображения, видео, аудиофайлы, резервные копии и документы.

Ранние разработки

Одним из первых коммерческих объектных хранилищ стала система Centera компании EMC (ныне Dell EMC), выпущенная в 2002 году. Centera была разработана для долговременного хранения фиксированного контента (Fixed Content Storage, CAS) и использовала собственный протокол доступа. В 2004 году компания Seagate представила технологию Object-based Storage Device (OSD), стандартизированную в спецификации T10 OSD.

Эра облачных вычислений

Настоящий прорыв объектного хранения произошёл с развитием облачных платформ. В 2006 году компания Amazon Web Services (AWS) запустила сервис Amazon S3 (Simple Storage Service), который стал де-факто стандартом для объектного хранения в облаке. Протокол S3 (RESTful API) был открыт и быстро принят другими поставщиками. Вслед за AWS свои объектные хранилища представили Google (Google Cloud Storage, 2010), Microsoft (Azure Blob Storage, 2010) и другие. В России облачные объектные хранилища предоставляются такими провайдерами, как Яндекс Облако (Object Storage), VK Cloud (Cloud Storage) и Selectel (Object Storage).

Развитие on-premise решений

Параллельно с облачными сервисами развивались программные решения для развёртывания объектного хранилища на собственной инфраструктуре организаций. Среди них выделяются OpenStack Swift (проект с открытым исходным кодом, запущен в 2010 году), Ceph (также с открытым кодом, изначально создан для блочного хранения, но включает объектный интерфейс RADOS Gateway), MinIO (высокопроизводительное объектное хранилище, совместимое с S3) и Scality RING. Эти системы позволяют строить частные облака и гибридные решения.

Архитектура и принцип работы

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

Основные компоненты объекта

Каждый объект состоит из трёх частей:

  1. Данные (Data): Непосредственно содержимое файла, документа, изображения или любого другого двоичного потока.
  2. Метаданные (Metadata): Расширенная описательная информация об объекте. Она может включать как системные метаданные (размер, дата создания, тип содержимого, контрольная сумма), так и пользовательские метаданные, задаваемые произвольно (например, «автор», «проект», «теги»). Наличие богатых метаданных — ключевое отличие объектного хранения от файлового, где метаданные ограничены (имя, дата, права доступа).
  3. Уникальный идентификатор (ID): Глобально уникальный адрес объекта, обычно представляющий собой длинную строку символов (например, хеш-сумму). Этот ID используется для доступа к объекту через API.

Доступ к данным

Доступ к объектам осуществляется не через пути файловой системы (например, /home/user/docs/file.pdf), а через HTTP-запросы к API. Наиболее распространённым протоколом является Amazon S3 REST API, который стал отраслевым стандартом. Типичные операции включают:

Масштабируемость и распределённость

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

Классификация

Объектные хранилища можно классифицировать по нескольким признакам.

По месту развёртывания

По функциональному назначению

Преимущества и недостатки

Преимущества

Недостатки

Применение

Объектное хранилище является основой для множества современных ИТ-решений и сервисов.

Облачные вычисления и SaaS

Медиа и развлечения

Наука и исследования

Резервное копирование и архивирование

Искусственный интеллект и машинное обучение

Интересные факты

Источники

  1. Объектное хранение данных: архитектура, преимущества и применение. (Habr, 2023)
  2. Amazon S3 — объектное хранилище, созданное для хранения и извлечения любого объема данных из любого источника. (AWS Documentation)
  3. What is Object Storage? (IBM Cloud Learn Hub)
  4. Ceph: A Distributed Object Store and File System. (Ceph Documentation)
  5. MinIO: High Performance, Kubernetes Native Object Storage. (MinIO Documentation)
  6. OpenStack Swift: Object Storage for OpenStack. (OpenStack Documentation)

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →