JuiceFS v0.9.0

Опубликовано August@Karro - чт, 01/14/2021 - 18:24

Теги

JuiceFS может быть развёрнута поверх СУБД Redis или хранилищ объектов, поддерживающих API Amazon S3.

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

Архитектура подразумевает использование СУБД Redis для хранения метаданных, определяющих структуру ФС и параметры отражения блоков данных в облачные хранилища. Файловая система реализована в пространстве пользователя с использованием механизма FUSE. Каждый файл разбивается на логические цепочки размером 64 МБ, которые в свою очередь разделяются на более мелкие блоки, которые после шифрования (опционально) и сжатия записываются в хранилища объектов. 

Основные изменения:

  • Полная совместимость с POSIX, для приложений хранилище выглядит как традиционная файловая система.
  • Высокая производительность, отзывчивость на уровне нескольких миллисекунд и гибкие возможности по расширению. По скорости выполнения операций с метаданными, а также последовательного чтения и записи, JuiceFS на порядок опережает Amazon EFS и FUSE-модуль S3FS.
  • Поддержка архитектуры Cloud-Native с независимым масштабированием хранилища и вычислительных компонентов. На базе JuiceFS может создаваться единое общее хранилище для облачных сервисов.
  • Поддержка создания совместных хранилищ для одновременных операций чтения и записи от большого числа клиентов. На базе JuiceFS также можно легко развёртывать хранилища для резервных копий или накопления больших объёмов аналитических данных.
  • Глобальные файловые блокировки с поддержкой flock (BSD-блокировки) и fcntl (POSIX-блокировки).
  • Встроенная возможность хранения данных в сжатом виде: по умолчанию используется алгоритм LZ4 и опционально доступен Zstd.
  • Обеспечение отказоустойчивости через избыточное хранение копий данных в разных хранилищах объектов.
  • Для хранения объектов могут использоваться локальный диск, СУБД Redis, Ceph RGW, MinIO, облачные сервисы Amazon S3, Google Cloud Storage, Azure Blob Storage, Alibaba Cloud Object Storage Service (OSS), Tencent Cloud Object Storage (COS) и QingStor Object Storage.

Код проекта написан на языке Go и распространяется под лицензией AGPLv3. 

 

Последние материалы