Какое самое быстрое хранилище ключей для хранения без памяти для Node.js, поддерживающих несколько процессов?
Мне нужно хранить простые строки строки/строки для ключей (не документы или JSON, просто строки).
Вот несколько примеров (их было бы миллионы):
- 12345678 - abcdefghijklmnopabcdefghijklmnop
- 86358098 - ahijklmnopbcdefgahijklmnopbcdefg
- abcdefghijklmnopabcdefghijklmnop - 12345678
- ahijklmnopbcdefgahijklmnopbcdefg - 86358098
Я пробовал:
- Redis: он очень быстрый и делает все, что мне нужно, но потребляет слишком много оперативной памяти.
- LevelDB: он быстрый и не слишком тяжелый в ОЗУ, но только один процесс.
Обходной путь для LevelDB - multilevel, который предоставляет один процесс LevelDB, хотя HTTP.
Но это, конечно, стоит дорого; Мне нужно что-то быстро.
Есть ли какое-либо хранилище ключей, которое:
- поддерживает Node.js или имеет привязки для него;
- хранит пары строк/строк;
- поддерживает несколько процессов;
- не полностью находится в памяти;
- быстро?
Я только забочусь о чтении. Быстрое чтение нескольких процессов необходимо, но не писать.
Я доволен текущей скоростью LevelDB, просто не с тем, что это однопроцесс.
Дополнительная информация:
- Я говорю о 50 миллионах пар ключ/значение, с ключами и значениями между 8 и 500 символами.
- Код будет запущен на обычном сервере Linux.
- Использование памяти должно быть ограничено несколькими гигабайтами (4 ГБ в порядке, допустимо 8 ГБ).
- Чтение будет происходить больше, чем писать; на самом деле, я мог обойтись без написания.
- Скорость важнее всего (учитывая, что память и ограничение нескольких процессов соблюдаются).