В настоящее время мы используем Redis в качестве оперативного кэша в памяти. Он работает хорошо. Проблема в том, что после перезапуска Redis нам нужно повторно заполнить ее, извлекая данные из нашего постоянного хранилища. Это перегружает наш постоянный магазин за его пределы, и, следовательно, восстановление занимает много времени.Какое значение ключа, база данных Nosql может гарантировать потерю данных при сбое питания?
Мы рассмотрели варианты сохранения Редиса. Лучшим вариантом (без ущерба для производительности) является использование AOF с «appendfsync everysec». Но с этой опцией мы можем потерять последние последние данные. Это неприемлемо. Использование AOF с «appednfsync always» имеет значительное снижение производительности.
Итак, мы оцениваем аэрозоль одного узла. Гарантирует ли это отсутствие потери данных при сбоях питания? В ответ на операцию записи, как только Aerospike отправляет клиенту успех, данные никогда не должны быть потеряны, даже если я вытащу кабель питания серверной машины. Как я упоминал выше, я считаю, что Redis может предоставить эту гарантию с опцией «appednfsync always». Но мы не рассматриваем его, так как он обладает значительным штрафом за производительность.
Если Aerospike может это сделать, я хотел бы детально понять, как упорство работает в Aerospike. Поделитесь некоторыми ресурсами, объясняя то же самое.
Мы не ищем распределенную систему, так как для нас необходима сильная консистенция. Данные не должны быть потеряны при сбоях узлов или разделить мозговые сценарии.
Если вы не являетесь косметологом, можете ли вы указать мне на другой инструмент, который может помочь в достижении этого?
Эй, Бен, я уверен, что вы имеете в виду «коэффициент репликации> = 2». –
lol, да, спасибо Ян –