Я ищу хранилище данных, которое очень эффективно использует память, но при этом допускает множество изменений объектов в секунду и игнорирует соответствие ACID для последних X записей.
Мне нужна эта база данных для сервера с небольшим объемом памяти, и я могу заставить работать хранилище значений ключей, документ или базу данных SQL.
Идея состоит в том, что индексы / ключи - это единственное, что мне нужно в памяти, и все фактические значения / объекты / строки могут быть сохранены на диске с низкой скоростью чтения (я просто хочу, чтобы поиск индекса / ключа был быстрым). Я также не хочу, чтобы записи постоянно сбрасывались на диск, поэтому я хотел бы, чтобы последнее число X записей хранилось в памяти, чтобы 100 или около того из них можно было записать одновременно. Меня не волнует, потеряю ли я объекты / значения за последние 10 секунд. Меня не волнует, может ли база данных в целом быть повреждена.
Есть ли подобное хранилище данных?
Redis может справиться с этой ситуацией - он записывает все на диск (в конечном итоге), но вы можете указать, как часто он это делает, и все, что не записано, (естественно) теряется.
http://redis.io/topics/persistence дает вам все кровавые подробности.
Да - любая база данных, использующая асинхронный ввод-вывод в современной операционной системе, будет иметь кэширование, близкое к оптимальному.
Redis уже упоминался
Другие варианты: