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

Image for post
Image for post

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

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

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

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

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

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

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

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

Объекты могут быть локальными или находиться на сервере за тысячи километров, но поскольку они находятся в плоском адресном структуре, для вас это не имеет значения, запрос данных будет одинаковым.

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

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

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

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

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

Written by

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

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store