Просьба посоветовать, что посмотреть из дисковых хранилищ/key-value СУБД со следующими требованиями:
- Хранение blob значений по ключам или путям (число или строка, не важно).
- Сущностей для хранения много (порядка 10 млн), все они - бинарные блобы разных размеров - от 100Кб до 1Гб.
- Нужен быстрый random-access на чтение/запись. Намного быстрее, чем хранить каждую из сущностей в виде отдельного файла в фс (это проверено, очень медленно при росте числа файлов).
- Все хранится на одной машине, не распределенно
- Не слишком большой оверхед по занимаемому месту на диске
- С или C++ API
Копалось в сторону штук типа leveldb, проприетарных хранилищ и собственного велосипеда, все показывает сильное падение скорости доступа при росте числа значений или просто константно-низкую скорость (порядка 0.1 от скорости диска)