Amazon S3-совместимые хранилища

В данной статье будут рассмотрены объектные хранилища данных совместимые с API Amazon S3.

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

Основные функции

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

LeoFS

LeoFS — это высокодоступное, распределённое объектное и блоб хранилище. Если вы ищите систему хранения, которая может хранить большое количество и различных видов необработанных данных в своём родном формате.

Особенности

  • Поддержка нескольких протоколов:
    • RESTful интерфейс
    • Amazon S3-совместимая система хранения
    • NFS v3
  • Встроенная функция кеширования объектов
  • Репликация между несклолькими дата центрами или кластерами
  • Управление пользователями и хранилищами
  • Лицензия Apache v2

Ссылки

Riak CS

Riak CS (Cloud Storage) — программное обеспечение для управления объектным хранилищем, построенное на базе распределенной базы данных Basho Riak

Ссылки

Minio

Реализован на языке Go под лицензией Apache v2. Подходит для хранения неструктурированных данных, таких как фотографии, видео, лог-файлов, бекапов, контейнеров или образов виртуальных машин.

Несмотря на заявление разработчиков, что размер объектов может составлять от нескольких килобайт до максимального размера в 5 терабайт, стоит иметь в виду, что файлы загруженные в minio разполагаются на сервере в файловой системе, что может привести к проблемам с производительностью при большом количестве файлов.

Ссылки

Sheepdog

Sheepdog — это распределенная система хранения объектов для служб томов и контейнеров, которая интеллектуально управляет дисками и узлами. Sheepdog отличается простотой использования, простотой кода и может масштабироваться до тысяч узлов.

Особенности

  • Поддерживает протоколы iSCSI и NBD
  • Поддерживает кеширование объектов
  • Поддерживает libvirt и OpenStack

Ссылки

Redhat Ceph

Redhat Ceph — это распределённое объектное хранилище и файловая система разработанная для обеспечения высокой производительности, надёжности и масштабируемости.

Ссылки

OpenStack Swift

Распределённое объектное система хранения разработанная для масштабирования от одного сервера до нескольких тысяч серверов. Swift оптимизирован для многопользовательского режима и высокой степени параллелизма. Swift подходит для бекапов, веб и мобильного контента и любые другие неструктурированные данные, которые могут расти без ограничений.

Swift имеет простой, хорошо документированный REST API.

Ссылки

Вывод

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

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

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

Смотри также

Поделиться ссылкой: