Значится, под задачу хранения метаданных файлов нужно выбрать базу.
Поскольку данные могут быть разные - schema-based хранилища не подходят.
Нужна скорость + гибкость поиска по полям. Аггрегация и mapreduce не нужны.
Варианты:
1) mongodb. плюсы: скорость, простота поисков по вложенным полям. минусы: ненадежность и общее недоверие к проекту. отвратительный коннектор для nginx-lua.
2) couchdb. плюсы: надежность и консистентность, простота апи. минусы: для всего нужны вьюхи через map(reduce). обновляются они не особо шутро. требует переодической ручной чистки.
3) postgres. плюсы: скорость, надежность. минусы: сложность настройки в целом и вакуума в частности. ну и, я с ним никогда особо не работал. плюс по докам не очень понятно, что там с индексацией вложенных полей в json.
4) mysql, лол. плюсы: простота. минусы: индексить вложенные поля можно только через автогенерированные колонки, насколько я понял. ну и, оракаль, ибо в марии с json все плохо пока.
Я пока склоняюсь в сторону постгресса.
Мнения?