Alluxio(/əˈlʌksio/)большойданныеимашинное обучениеэкологическая системасерединаизданные посещения слоев. Первый для научно-исследовательского проекта «Тахион»,Это в Калифорнийском университете в Беркли. AMPLab как создатель 2013 Год создания докторской диссертации. Аллюксио В 2014 Открытый исходный код.
В следующей таблице показаны основные функциональные различия между Alluxio и JuiceFS.
характеристика | Alluxio | JuiceFS |
---|---|---|
Формат хранения | Object | Block |
гранулярность кэша | 64MiB | 4MiB |
Многоуровневый кэш | ✓ | ✓ |
Совместимость с Hadoop | ✓ | ✓ |
Совместимость с S3 | ✓ | ✓ |
Kubernetes CSI Driver | ✓ | ✓ |
Местоположение данных Hadoop | ✓ | ✓ |
Полная совместимость с POSIX. | ✕ | ✓ |
Атомарные операции с метаданными | ✕ | ✓ |
последовательность | ✕ | ✓ |
Сжатие данных | ✕ | ✓ |
Шифрование данных | ✕ | ✓ |
Нулевая эксплуатация и обслуживание | ✕ | ✓ |
язык разработки | Java | Go |
Соглашение об открытом исходном коде | Apache License 2.0 | Apache License 2.0 |
Время с открытым исходным кодом | 2014 | 2021.1 |
JuiceFS серединаодиндокументизФормат храненияСодержит трислойсорт:chunk、slice и блокировать. Файл будет разбит на куски и сжат и зашифрован (необязательно) из хранилища в хранилище. объектовсередина。
Alluxio хранит файлы как «объекты» в UFS. Файлы не разбиваются на блоки, как JuiceFS.
JuiceFS изРазмер блока по умолчаниюдля 4 МБ по сравнению с Alluxio из 64 МБ, меньшая степень детализации. Блоки меньшего размера лучше подходят для случайного чтения (например, Parquet и ORC) рабочая нагрузка, то есть управление кэшем будет более эффективным.
JuiceFS Полностью совместим HDFS。не толькосовместимый Hadoop 2.x и Hadoop 3.x, также совместим с Hadoop Экологическая система состоит из различных компонентов.
JuiceFS предоставил Kubernetes CSI Driver прийти на помощь в Kubernetes середина Удобныйиспользовать JuiceFS。Alluxio такжепредоставил Kubernetes CSI Driver,Но этот проект поддерживается недостаточно активно.,Также не получил Alluxio от официального одобрения.
JuiceFS Полная совместимость с POSIX.。отЦзиндунизодин pjdfstest показывать Alluxio неуспешный POSIX Тестирование совместимости, например. Alluxio Символические ссылки, усечение, выделение, добавление, xattr, mkfifo, mknod не поддерживаются. и время. Кроме pjdfstest JuiceFS охватывает как Восток, так и Запад. возвращатьсяпредоставил Закрыть и открыть(close-to-open)последовательность、Атомарные операции с метаданными、mmap、fallocate перфорация, xattr, BSD замок(стая)и POSIX Блокировка записи (fcntl).
Alluxio Работа серединаizЮаньданных состоит из двух этапов: первый шаг — изменить Alluxio master из статуса, второй шаг — UFS Отправить запрос. Видно, что операция элемента не является атомарной, и если во время выполнения операции происходит какой-либо сбой, ее статус непредсказуем. Аллюксио полагаться UFS Для достижения метаопераций, таких как переименование файлов, будут копироваться операции удаления.
благодарный Транзакция Redis,JuiceFS — большинство атомарных операций являются атомарными.,Например, переименовывать файлы, Удалить файлы、Переименуйте каталог. Вам не придется беспокоиться о производительности последовательности.
Alluxio по мере необходимости от UFS Данные элемента загружены и он не запускается UFS из информации. По умолчанию Аллюксио ожидать UFS Все модификации производятся путем Alluxio руководить. Если напрямую UFS Изменения необходимо вносить вручную или периодически в Alluxio и UFS синхронизация между Юаньданные。как「Атомарные операции с метаданными」часть того, что сказано,Двухэтапная метаобработка может привести к несоответствиям.
JuiceFS поставлять Юаньданныеиданныеизмощныйпоследовательность。JuiceFS изданные сервис является единственным достоверным источником (единственный source of правда), нет UFS иззеркало. Юаньданные Сервис неполагатьсяхранилище объектовполучить Юаньданные。хранилище объектов просто считается никоимто ограничением в блок-хранилище. Сок ФС ихранилище Между объектами нет противоречий.
JuiceFS поддерживатьиспользовать LZ4 или Zstandard Сжать все ваши изданные. Аллюксио Нет такой функции.
JuiceFS Поддерживает шифрование при передаче (шифрование in транзит) и шифрование в состоянии покоя (шифрование at rest)。Alluxio Версия сообщества не имеет этой функции.,ноКорпоративная версияиметь。
Alluxio из Архитектуру можно разделить на 3 Компоненты: мастер, рабочий. и клиент. Типичный кластер состоит из одного мастер-узла (master), несколько резервных главных узлов (резервный master), главный узел задания (job главный), несколько резервных главных узлов заданий (резервный job мастер), несколько worker и job worker состав. Вам необходимо самостоятельно эксплуатировать и обслуживать эти узлы.
JuiceFS использовать Redis или ВОЗДругая системаделатьдлямеханизм метаданные. Вы можете легко использовать хостинг у поставщика услуг общедоступного облака для JuiceFS измеханизм метаданных, без каких-либо затрат на эксплуатацию и обслуживание.
Оба очень надежны,Высокая производительность благодаря эластичной распределенной файловой системе,И все они имеют хорошие совместимые свойства POSIX.,Вы можете опробовать ее в различных файловых системахиспользовать сцены.
Оба имеют разделение данных и данных по архитектуре, но существуют большие различия в реализации компонентов.
Это полноценная и независимая система, предназначенная для развертывания частного облака; все данные будут сохранены; Ceph Самостоятельный репозиторийбассейн(RADOS Бассейн).
kcephfs
),Клиент пользовательского режима(ceph-fuse
)и база В libcephfs Понимать C++、Python ждать SDK Недавно сообщество также; Windows клиент(ceph-dokan
)。в то же времяэкологиясерединатакжеиметьи Samba стыковкаиз VFS object ии NFS-Ganesha стыковкаиз FSAL Модули доступны к рассмотрению.JuiceFS В основном реализуем один libjfs библиотека FUSE Клиентская программа, Java SDK ждать,поддерживатьстыковка Различныймеханизм метаданныхихранилище объектов, подходящих для развертывания в средах публичного облака, частного облака и гибридного облака.
CephFS | JuiceFS | |
---|---|---|
Разбиение файлов на части [1] | ✓ | ✓ |
транзакции метаданных | ✓ | ✓ |
мощныйпоследовательность | ✓ | ✓ |
Kubernetes CSI Driver | ✓ | ✓ |
Совместимость с Hadoop | ✓ | ✓ |
Сжатие данных [2] | ✓ | ✓ |
Шифрование данных [3] | ✓ | ✓ |
Снимок | ✓ | ✕ |
Кэширование данных клиента | ✕ | ✓ |
Местоположение данных Hadoop | ✕ | ✓ |
Совместимость с S3 | ✕ | ✓ |
квота | Квота уровня каталога | Уровень файловой системы (тома) квота |
язык разработки | C++ | Go |
Соглашение об открытом исходном коде | LGPLv2.1 & LGPLv3 | Apache License 2.0 |
Хотя оба они делят большие файлы на фрагменты, существуют существенные различия в принципах их реализации. CephFS Файл будет нажат object_size
(по умолчаниюдля 4 МБ) разделить, по одному на каждый фрагмент RADOS объект. и JuiceFS Затем сначала нажмите файл 64MiB Chunk разделить, каждый Chunk При написании он разбивается на несколько логик за один шаг в соответствии с реальной ситуацией. Кусочек, каждый Slice Разделить на значения по умолчанию при записи в хранилище объектов 4MiB из Block,Block с объектным хранилищем object Переписка один на один. Имея дело с перезаписью, CephFS Необходимо напрямую изменить соответствующий из объекты, процесс более сложен, особенно стратегия резервирования; EC или кто открывает Сжатие данных, часто необходимо прочитать часть object Содержимое изменяется в памяти, а затем записывается. Этот процесс приведет к значительному снижению производительности. и JuiceFS Обновить данные как новые при перезаписи objects написать и изменить Юаньданные Вот и все,Кроме того, значительно улучшена производительность;,Если в процессе возникает избыточность, сборка мусора будет завершена асинхронно.
Строго говоря, CephFS Само сжатие не предусмотрено данных, ее фактическая опора составляет RADOS слой BlueStore из-за сжатия. и JuiceFS тогда ты сможешь Block Загрузить в хранилище объектовдо Входить Иди один раз Сжатие данных,уменьшитьхранилище Объекты среды из емкостииспользования. Другими словами, если вы используете JuiceFS стыковка RADOS может сделать это в Block Входить RADOS до и после Входить Иди один разсжатие。кроме того,как вРазбиение файлов на фрагментысерединаупомянулиз,Обеспечивает гарантию производительности при перезаписи записей.,CephFS Обычно не включено BlueStore из Функция сжатия.
Ceph Messenger v2 поддерживать Сетевая передачаслойиз Шифрование данных,слой хранилища и сжатие аналогично,полагаться В OSD Предоставляет возможности шифрования при создании. Сок ФС Шифрование и дешифрование выполняются перед загрузкой объекта и после загрузки в хранилище. Стороны объектов полностью прозрачны.
S3FS это C++ Разрабатывать инструменты с открытым исходным кодом, которые могут S3 хранение объектов через FUSE Подключите его локально и выполняйте доступ для чтения и записи, как к локальному диску. Кроме Amazon S3, он не совместим с резервными копиями S3 API изхранилище объектов。
Что касается базовой функциональности, S3FS и JuiceFS Все может пройти FUSE хранить объект Bucket Смонтируйте его локально и используйте POSIX интерфейсиспользовать。Но в функциональных деталяхи Техническая реализация,два ВОЗиметьсутьиздругой。
S3FS это практичный инструмент, который можно удобно использовать объект Bucket устанавливатьместному,Читать и писать привычным способом,Для тех сценариев, которые не чувствительны к производительности и задержке сети и обычно используются.
JuiceFS дараспределенныйдокументсистема,Он имеет уникальный метод управления и ряд технических оптимизаций для обеспечения высокой производительности, надежности и безопасности.,В основном решают огромный спрос на хранение данных.
S3FS Никакой специальной оптимизации файла нет, он как локальное ихранилище. объекты из канала доступа, локальная точка монтирования для просмотра содержимого и хранилищ Объекты видятся в браузере согласованно, поэтому вы можете легко использовать локальную облачную хранилище. Но с другой стороны, именно из-за такой простой архитектуры S3FS Как извлечение файлов, так и чтение и запись требуются в хранилищах. объектов Прямое взаимодействие, задержка в сети окажут большее влияние на производительность и удобство работы пользователей.
Техническая архитектура JuiceFS,любойдокумент Всевстреча Сначала разделите его наданныезаблокировать снова Загрузить в хранилище объекты, соответствующие изданные будут храниться в независимой изданной библиотеке. Преимущество этого заключается в том, что извлечение файлов и изменение метаинформации имени файла могут выполняться напрямую с более высокой скоростью ответа и взаимодействием с библиотекой, избегая необходимости хранения данных. интерактивные объекты из-за влияния задержки в сети.
кроме того,Что касается обработки больших файлов,Хотя S3FS Вы можете загружать частями, чтобы решить проблему передачи больших файлов, но хранилище объектыизхарактеристика определяет, что добавление и перезапись файлов требует перезаписи всего объекта. Да, десятки или сотни GB даже TB Для больших файлов повторная загрузка неизбежно приведет к потере большого количества времени и ресурсов полосы пропускания.
JuiceFS Это позволяет избежать подобных проблем. Независимо от размера отдельного файла, он будет локально разбит на блоки данных в соответствии с определенными правилами перед загрузкой (по умолчанию). 4MiB)。对любойдокументизпереписатьи Добавление в конечном итоге приведет к созданию новыхизданныекусок,Вместо модификации сгенерированного изданного блока,Значительно сокращает трату времени и ресурсов полосы пропускания.
связанный JuiceFS из Подробное описание архитектуры см.документ。
S3FS Кэширование диска поддерживается, но по умолчанию не включено. может пройти -o use_cache
Укажите путь к кэшу для включения локального кэш. После включения кэша любое чтение или запись файла сначала записывает кэш, прежде чем выполнять операцию. S3FS проходить MD5 Чтобы обнаружить изменения данных, убедитесь в их правильности и сократите количество повторных загрузок файлов. автор В S3FS Все операции, связанные с из требуют и S3 взаимодействия, поэтому вопрос о включении кэша существенно влияет на работу приложения.
S3FS По умолчанию верхний предел размера пространства отсутствует, который больше для Виз. Buket Это может привести к тому, что кэш заполнит диск, что потребует предоставления -o ensure_diskfree
Определите место, зарезервированное для диска. Кроме того, S3FS Нет механизма истечения срока действия и очистки кэша. Пользователям необходимо регулярно очищать кэш вручную. Как только пространство кэша заполнено, неиспользуемые файлы необходимо обрабатывать непосредственно в хранилище. Взаимодействие объектов, обработка крупномасштабных файлов окажет определенное влияние.
Что касается кеширования, JuiceFS и S3FS Совсем другое, прежде всего JuiceFS гарантируется Во-вторых, JuiceFS Определено по умолчанию 100GiB изDisk кэшиспользовать верхний предел. Пользователи могут свободно изменять это значение по мере необходимости, а значение по умолчанию гарантирует, что оставшееся дисковое пространство будет низким. 10% Больше нет места. Когда использование кэша достигает верхнего предела, JuiceFS использовал бы что-то вроде LRU Алгоритм из автоматически очищает строку Входить, чтобы гарантировать, что последующие операции чтения и записи всегда доступны.
связанный JuiceFS кэшиз Для получения дополнительной информации см.документ。
S3FS | JuiceFS | |
---|---|---|
хранение данных | S3 | S3, другое объектное хранилище, WebDAV, локальный диск |
Юаньхранение данных | никто | независимая база данных |
система | Linux、macOS | Linux、macOS、Windows |
Интерфейс доступа | POSIX | POSIX、HDFS API、S3 Gateway、CSI Driver |
POSIX совместимый | частично несовместимый | Полностью совместим |
общее монтирование | поддерживатьно нет гарантииданныеизчестностьипоследовательность | гарантироватьмощныйпоследовательность |
локальный кэш | ✓ | ✓ |
символическая ссылка | ✓ | ✓ |
Стандартные разрешения Unix | ✓ | ✓ |
мощныйпоследовательность | ✕ | ✓ |
расширенные атрибуты | ✕ | ✓ |
жесткая ссылка | ✕ | ✓ |
Разбиение файлов на фрагменты | ✕ | ✓ |
Атомарные операции | ✕ | ✓ |
Сжатие данных | ✕ | ✓ |
шифрование на стороне клиента | ✕ | ✓ |
язык разработки | C++ | Go |
Соглашение об открытом исходном коде | GPL v2.0 | Apache License 2.0 |
OSSFS、COSFS、OBSFS ожидание все геи S3FS Разработка производных, использование характеристик функций и S3FS В основном то же самое.
и JuiceFS Аналогично, S3QL Также продукт от хранилища Драйвер комбинации объектных библиотек из сетевой файловой системы с открытым исходным кодом, все изданные депозиты будут распределены по частям в хранилище Amazon. S3、Backblaze B2、OpenStack Swift ждатьмейнстримизхранилище объектовсередина,соответствующийиз Юаньданныевстречахранилищесуществоватьданные Библиотекасередина。
Уведомление
S3QL Уже 2022 Год 11 луна 9 Техническое обслуживание будет остановлено в указанную дату, см. Склад S3QL。
S3QL | JuiceFS | |
---|---|---|
Статус проекта | Остановить обслуживание | Активное развитие |
механизм метаданных | SQLite | Redis、MySQL、SQLite、TiKV |
двигатель хранения | Хранилище объектов, локальный диск | Объектное хранилище, WebDAV, локальный диск |
Держатьделатьсистема | Unix-like | Linux、macOS、Windows |
Алгоритм сжатия | LZMA, bzip2, gzip | LZ4, zstd |
алгоритм шифрования | AES-256 | AES-GCM, RSA |
POSIX совместимый | ✓ | ✓ |
жесткая ссылка | ✓ | ✓ |
символическая ссылка | ✓ | ✓ |
расширенные атрибуты | ✓ | ✓ |
Стандартные разрешения Unix | ✓ | ✓ |
Разбиение данных на блоки | ✓ | ✓ |
локальный кэш | ✓ | ✓ |
Пространственная эластичность | ✓ | ✓ |
Резервное копирование метаданных | ✓ | ✓ |
Дедупликация данных | ✓ | ✕ |
каталог только для чтения | ✓ | ✕ |
Снимок | ✓ | ✕ |
общее монтирование | ✕ | ✓ |
Hadoop SDK | ✕ | ✓ |
Kubernetes CSI Driver | ✕ | ✓ |
Шлюз S3 | ✕ | ✓ |
язык разработки | Python | Go |
Соглашение об открытом исходном коде | GPLv3 | Apache License 2.0 |
Время с открытым исходным кодом | 2011 | 2021.1 |
В этой части в основном оценивается простота использования двух продуктов на Установитьииспользовать.
В процессе установки,насиспользовать Rocky Linux 8.4 Система работы (версия ядра 4.18.0-305.12.1.el8_4.x86_64)。
S3QL использовать Python Требуется развитие, опора при установке python-devel
3.7 и выше версий. кроме того,возвращаться Необходимо выполнить как минимум следующееполагаться:fuse3-devel
、gcc
、pyfuse3
、sqlite-devel
、cryptography
、defusedxml
、apsw
、dugong
。кроме того,Необходимо специальное уведомление Python из-за проблемы с местоположением.
S3QL будет в системе Установить 12 бинарных программ,Каждая программа предлагает независимую функцию,Как показано ниже.
JuiceFS клиентиспользовать Go Для разработки языка вы можете напрямую загрузить предварительно скомпилированный файл «Издва Входить». Сок ФС У клиента есть только одна бинарная программа juicefs
,Просто скопируйте его в любой путь к исполняемому файлу.,например:/usr/local/bin
。
S3QL и JuiceFS Всеиспользоватьданные Библиотека保存Юаньданные,S3QL Поддерживает только SQLite База данных, JuiceFS поддерживать Redis、TiKV、MySQL、MariaDB、PostgreSQL и SQLite и другие базы данных.
Здесь use создается локально, а из объектов хранилища MinIO и use — это два инструмента, которые создают файловую систему соответственно:
S3QL использовать mkfs.s3ql
Файловая система создания инструмента:
mkfs.s3ql --plain --backend-options no-ssl -L s3ql s3c://127.0.0.1:9000/s3ql/
устанавливатьдокументсистемаиспользовать mount.s3ql
:
mount.s3ql --compress none --backend-options no-ssl s3c://127.0.0.1:9000/s3ql/ mnt-s3ql
S3QL Использование интерактивной командной строки из предоставленной хранилища требуется при создании и монтировании файлов системы. объектов API из Ключ доступа.
JuiceFS использовать format
Подкоманда для создания файловой системы:
juicefs format --storage minio \
--bucket http://127.0.0.1:9000/myjfs \
--access-key minioadmin \
--secret-key minioadmin \
sqlite3://myjfs.db \
myjfs
устанавливатьдокументсистемаиспользовать mount
Инструкция для ребенка:
sudo juicefs mount -d sqlite3://myjfs.db mnt-juicefs
JuiceFS Устанавливайте хранилище только при создании файловой системы объектов API Ключ доступа, соответствующая информация будет записана в механизме. метаданных, после монтированияиспользующегото вам необходимо повторно предоставить хранилище адрес объекта, ключевая информация об ожидании.
S3QL использоватьхранилище объектов + SQLite структура хранения,Разбивка данных на Блокхранилище позволяет не только повысить эффективность чтения и записи файлов, но и снизить затраты ресурсов при изменении файлов. забота из предоставления Снимок、Дедупликация данных, данные поддерживают расширенные функции ожидания, а также из Сжатие по умолчанию. данныхи Шифрование данных,позволять S3QL Для частных лиц очень удобно использовать более дешевые и более безопасные файлы в облаке.
JuiceFS поддерживатьхранилище объекты, HDFS, WebDAV, локальный диск для хранения данныхдвигатель,поддерживать Redis、TiKV、MySQL、MariaDB、PostgreSQL、SQLite ждать Популярностьизданныеделатьдля Юаньхранение данныхдвигатель。Кромепроходить FUSE поставлятьстандартныйиз POSIX Интерфейс файловой системы, отличный от JuiceFS Также доступен Java API, можно напрямую заменить HDFS для Hadoop Предлагаю хранилище. В то же время Также доступен Kubernetes CSI Driver,Можно сделать для Kubernetes изхранилищеслой, сделать хранилище данных постоянного хранения. JuiceFS предназначен для распределенного хранения данных на уровне предприятия, проектирования сцен из файловой системы.,Широко используется в машинном анализе больших данных. обучение、Совместное хранение контейнеров、Обмен данными и резервное копирование при различных сценариях.