Pull to refresh

Comments 10

Cache hit ratio в нормальных базах держится на уровне 99 %. Если worker ложится, запускается новый, и кэш «разогревается» с нуля. Пока кэш не разогрет, worker работает медленно, значит на него нельзя пускать пользовательскую нагрузку. Пока нет пользовательской нагрузки, кэш не разогревается. Это замкнутый круг.

Дмитрий в корне не согласен, — кворумы и шардирование решают проблему.


Можно вот тут подробностей — как именно кворумы и шардирование решают проблему прогрева кэша?

Я понял это так. Кворум не даст загнуться всему кластеру, при восстановлении шарда будет плохо только ему, а не всем, кто выжил в кворуме.
В худшем случае имеем ~50% прогретого кеша, что лучше, чем 0.

А можно это как-то поконкретнее изложить? Кворум, в моем понимании, это что-то типа 3/5. Что тут 3, а что тут 5?
5 нод, произошло разделение(краш нод, сеть упала и что там ещё) на сегменты 3+2, сегмент с 2 нодами будет отстрелен, а 3 ноды останутся в работе. Когда всё починят, кеш будет холодный только на 2 нодах из 5.
Всегда есть небольшая вероятность, что помрет 3 из 5, тогда кластер должен остановиться полностью, кеш будет холодный у всех, но это уже всем форсмажорам форсмажор.
Всегда есть небольшая вероятность, что помрет 3 из 5, тогда кластер должен остановиться полностью, кеш будет холодный у всех, но это уже всем форсмажорам форсмажор.


По описанию выглядит как работа с Cassandra. Но тогда, выходит, для каждого чтения из кэша нужно ВСЕГДА опрашивать несколько узлов (запрос с CL=>1). У каждого узла свой локальный кэш, работать они будут согласованно — но ценой быстродействия.

Если что-то другое имеется ввиду, не дадите ли ссылку на какую-нибудь статью, чтобы обойтись без лишних вопросов?
Нет, несколько узлов опрашивать не нужно. Суть шардирования в физическом разделении данных по разным серверам.
habr.com/ru/company/oleg-bunin/blog/309330

По-хорошему надо у Дмитрия спросить, что он имел ввиду =)
С шардированием вопросов нет, за исключением одного — как оно связано с неким «кворумом». Ну пусть у шарда есть мастер ой лидер и этот, как его… подписчик. Пусть даже реплицируется на три подписчика. При чем тут кворум? «Упали» все подписчики — и что же? Лидер-то есть.
А если мультимастер и без стендбая? Тогда нужно следить за всеми main-нодами, конфирмить запись на живых и стрелять упавших.
я так понимаю, он не согласен с тем, что никакие базы нельзя хранить в кубере, а не с проблемой Cache hit.
«хранить в кубере» — внутри контейнера?
Sign up to leave a comment.

Articles