В настоящее время я пишу анкету, которая собирает и хранит большое количество данных от разных пользователей, и я ищу способ эффективного хранения результатов. У меня есть следующие требования:
- очень быстрая запись
- стойкие
- можно использовать из node.js
- небольшие накладные расходы
- чтение не разрешено до сохранения данных (для повышения производительности мне нужна только запись)
Каждый пользователь может POST
несколько результатов, которые мне нужно будет запросить по идентификатору пользователя в более поздний момент времени. Эти запросы будут обрабатываться различными процессами node.js, работающими параллельно. В конце данные могут выглядеть так:
user1:
result1
result2
result3
user2:
result1
user3:
result1
result2
И в принципе мне нужно уметь:
- Получить список пользователей
- Запрос результатов от данного пользователя
Сначала я подумал, что буду использовать файл для каждого пользователя, но боюсь, он не будет масштабироваться, поскольку потенциально может быть больше пользователей, чем максимально допустимое количество файлов.
Есть предложения?
Редактировать : каждый результат будет маленьким, обычно менее 50 КБ, если это может помочь.
Редактировать 2 : каждый результат помещается в одну строку ASCII (без \n
в данных), в противном случае данные должны рассматриваться как строка без определенной структуры.