Что такое объектный сторадж, S3 совместимый сторадж, кому и для чего он нужен?

Grigory Pryalukhin
Mar 9 · 3 min read

Все последние исследования и отчеты, например IDC, говорят нам о том, что более 90% создаваемых данных являются неструктурированными, что к 2025 году 80% всех мировых данных будут неструктурированными (я не привожу конкретных ссылок, таких отчетов и прогнозов много и они немного различаются, но эти данные несложно найти по запросу unstructured data).

Традиционно, например, Web приложения, использовали файловые системы и базы данных для хранения пользовательских данных. Структурированные данные попадали в базы данных, неструктурированные — на файловые системы. И все было хорошо, пока большая часть данных была структурированной и без проблем сохранялась в базах данных. Но с появлением социальных сетей, облачных хранилищ и т.д. (фоточки, котики, видосики) количество неструктурированных данных взрывообразно растет, создавая новые вызовы для администраторов систем хранения данных. Традиционные решения, такие как NAS становятся неэффективными. Такой серьезный рост данных порождает сложности в управлении данными, росте накладных расходов на поддержание правил доступа к данным и увеличении количества вложенных каталогов.

Прежде чем мы дойдем до объектного хранилища, позвольте начать с пояснения, что такое структурированные и неструктурированные данные. Данные, которые нельзя организовать для хранения внутри реляционной базы данных, обычно называют неструктурированными данными. Неструктурированные данные могут быть текстовыми или нетекстовыми. Типичными примерами тестовых неструктурированных данных являются: почтовые сообщения, текстовые документы, презентации и т.д. Нетекстовые неструктурированные данные — картинки, фотографии, видео и аудио файлы и т.д.

Почему объектный сторадж?

Как было сказано выше, мы можем размещать неструктурированные данные на файловых системах, но:

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

Решить эти задачи как раз и возложено на объектный сторадж.

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

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

Ну и наконец, доступ к объектам осуществляется по HTTP(S). Подавляющее большинство объектных хранилищ предоставляют REST API, обеспечивающее доступ к данным, возможность получить свойства объектов, управлять правами доступа и т.д. Что дает широкие возможности автоматизации решения.

Благодаря доступу по HTTP(S), гибким метаданным и единому, плоскому пространству имен у нас есть все необходимое для работы с неструктурированными данными.

Что такое Amazon S3 Storage?

Amazon Simple Storage Service (S3) объектный сторадж созданный компанией Amazon и доступный через интернет. Amazon S3 API является на сегодня стандартом API для работы с объектными стораджами. Большинство производителей объектных стораджей всеми силами стараются поддержать этот стандарт и быть S3 совместимым (S3 Compatible).

Grigory Pryalukhin

Written by

Все, что здесь публикуется является моим персональным мнением. Не является мнением или позицией моих прошлых, текущих или будущих работодателей.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade