Распределенное хранилище ключей-значений для общего объема данных 80 ТБ
TL;DR:
Я хотел бы получить рекомендации для распределенного хранилища значения ключа, для avg. размер записи до 50 КБ для установки в среде Linux (выделенные серверы).
Решение файловой системы подойдет.
Я нашел несколько решений: Ceph, Cassandra, Riak и еще несколько.
подробности
Я ищу решение для хранения для одного из наших компонентов, это должно быть хранилище с ключом-значением, плоское пространство имен.
сценарий
Шаблоны чтения / записи очень просты:
После того, как ключ-значение записано, в течение следующих часов происходит несколько чтений.
После этого ничто не касается заданного значения ключа. Мы хотели бы сохранить данные для будущих целей, "Режим хранения".
Другие аспекты использования
- ОС: Linux
- Python клиент / коннектор
- Общий размер: до 80 ТБ (это значение также отражает будущие потребности).
- Средний размер записи (для одного значения в паре кв): от 10 до 50 КБ, несжатые, в основном текстовые данные
- Сжатие: встроенное или внешнее.
- Шифрование: не требуется
- Пропускная способность сети: 1 Гб, одна локальная сеть
- Серверы: выделенные (не в облаке)
Самые важные требования
"Базовые" требования:
- ОС: Linux
- Клиент / соединитель Python или API RESTful через HTTP
- Может легко хранить до 80 ТБ (это значение также отражает будущие потребности).
- Максимальная задержка чтения: несколько секунд для первого чтения, 30 секунд для "режима хранения" (объяснение см. Выше)
- Встроенная репликация (так что данные хранятся более чем на одном узле)
Хорошо бы иметь
- RESTful шлюз
- Фоновое резервное копирование данных в другое хранилище (для восстановления данных в случае аварии).
- Прост в настройке
Что я нашел до сих пор
- Ceph
- HDFS
- HBase поверх HDFS
- Блеск
- GlusterFS
- Монго GridFS - но я могу доверять инфраструктуре Монго?
- Кассандра - не вариант, так как процесс слияния потребляет двойной размер диска
- Риак - похоже, у него та же проблема, что и у Кассандры, нужно больше исследований
- Swift + OpenStack (фактическое хранилище может быть на Amazon S3)
- Волдеморт
- Существуют десятки дополнительных инструментов, но я не буду писать их здесь, поскольку некоторые из них имеют проприетарную лицензию, а другие кажутся незрелыми.
Я был бы признателен за любые рекомендации по любому из инструментов, которые я упомянул выше (с общей емкостью более 50 ТБ), или по инструменту, который вы считаете достаточным.
1 ответ
Просто используйте Ceph (я имею в виду прямое использование librados). Не используйте GlusterFS - это зависает.