Всем доброго времени суток!
Кто-нибудь знает высоконадежное распределенное файловое хранилище?
Специфика: - master-less, names-less - только один тип узлов. Без отдельных узлов метаданных и пр. (хороший пример: cassandra или cockroachdb)
- источник записи - всегда только один. Нет параллельных конфликтующих операций чтения/записи
- количество узлов от 2ух до 100
- узлы слабо мощные, могут появляться и исчезать (не мгновенно - можно рассчитывать на синхронизацию, но конфигурация не является фиксированной)
- задержка записи и чтения не критична в пределах разумного (т.е. не HFT, но и не батч режим)
- поддержка избыточности, а точнее - гарантии восстановления данных
- linux only - windows и mac поддержка не важна
Опционально:
- sharding - т.е. линейное увеличение доступного размера в зависимости от количества подключенных узлов
- файловое api, но и собственные утилиты тоже подойдут
Исследовал:
- gluster с replica - не позволяет добавлять узлы в количестве больше replica proof
- xtreemefs - требует отдельные узлы для метаданных proof
- cockroachdb* - требует минимум 3 узла для raft'a proof
- cassandra* - java, довольно требовательна к ресурсам
* понятно, что написать самому обертку на БД и/или сделать портянку из скриптов для синхронизации дело 2-3ех дней, но это будет велосипед.