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

Кибер Инфраструктура позволяет экспортировать дисковое пространство кластера для клиентов в форме S3-подобного хранилища на основе объектов.

Кибер Инфраструктура реализует API-интерфейс, подобный интерфейсу Amazon S3, который является одним из самых распространенных API-интерфейсов объектного хранилища. Конечные пользователи могут работать с продуктом Кибер Инфраструктура так же, как они работают с Amazon S3. Можно использовать привычные приложения для S3 и продолжать работу с ними после миграции данных из Amazon S3 в решение Кибер Инфраструктура.

Хранилище объектов представляет собой архитектуру хранения данных, которая позволяет управлять данными в виде объектов (как в хранилище данных типа «ключ-значение»), в противоположность файлам в файловых системах или блокам в блочном хранилище. Кроме данных, каждый объект содержит метаданные, которые его описывают, а также уникальный идентификатор, позволяющий найти объект в хранилище. Хранилище объектных данных оптимизировано для хранения миллиардов объектов, в частности для хранения приложений, хостинга статического веб-контента, сервисов хранения данных в Интернете, «больших данных» и резервных копий. Все эти сценарии реализуются хранилищем объектов благодаря сочетанию очень высокой масштабируемости с доступностью и согласованностью данных.

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

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