Что происходит с такими распределенными облачными базами данных в памяти, как Hazelcast и Scalris, если в кластере данных для хранения больше, чем оперативной памяти?
-
22-07-2019 - |
Вопрос
Что происходит с такими распределенными облачными базами данных в памяти, как
если в кластере требуется хранить больше данных, чем оперативной памяти?
Они собираются поменяться местами?Что делать, если пространство подкачки заполнено?Я не вижу стратегии аварийного восстановления в обеих базах данных!Может быть, все данные потеряны, если память заполнена?
Есть ли возможность записать данные на жесткий диск из-за проблем с памятью?Существуют ли другие базы данных, которые предлагают ту же функциональность, что и Hazelcast или Scalaris, с функциями резервного копирования / хранения на жестком диске / аварийного восстановления?
Решение
Я не знаю, каково было положение дел, когда принятый ответ Мартина К.был опубликован, но в часто задаваемых вопросах Scalaris теперь утверждается, что это поддерживается.
Могу ли я хранить в Scalaris больше данных, чем доступно в кластере ram+swapspace?
Да.У нас есть несколько бэкэндов баз данных, напримерsrc/db_ets.erl (ets) и src/db_tcerl (токийский кабинет). Первый использует основную память для хранения данных, в то время как второй использует tokyocabinet для хранения данных на диске.С tokycoabinet общий размер вашей базы данных должен ограничиваться только вашими локальными дисками .Однако обратите внимание, что это по-прежнему не обеспечивает постоянства.
Инструкции по переключению серверной части базы данных на tokyocabinet см. Токийский кабинет.
Другие советы
Что касается команд Hazelcast и Scalaris, то они оба говорят, что запись большего количества данных, чем доступно в оперативной памяти, не поддерживается.
Команда Hazlecast собирается написать хранилище плоских файлов в ближайшем будущем.