где мы храним транзакции, не чисто аналитический солюшн. И вот дело дошло до того, чтобы выдать ее аналитикам с их произвольно написанными квирями и с непонятным профилем нагрузки. У нас два шарда, 8 боксов. Я вот думаю, можно ли как-то изолировать часть боксов чисто для аналитического использования, чтобы если они что-то завалят, то импакт на приложение был минимальный? Или так делать не надо и нужно настраивать программную репликацию в отдельный кластер? Профили для «аналитиков» мы нарисуем отдельные, но все равно страшно их пускать в базу приложения
Сделать отдельный инстанс для аналитиков, или машину... Но вообще есиь же RBAC и grant
ограничьте аналитикам max_execution_time и max_memory_usage для начала
Да, это первое что в голову приходит, но почему-то ещё хочется их убрать куда-то отдельно, при этом не создавая новый кластер
дальше смотрите за нагрузкой со стороны основной pipeline будет тормозить стопните нагрйзку аналитики и организуйте им отдельный cluster для distributed в remote_servers куда будет только их чтение от них прилетать и репликация из ReplicatedMergeTree
а в чем проблема то? одни и теже хосты могут входить в разные кластера кластера и репликация ортогональны
Да просто сразу реализовать, кмк. :)
=) ну, IMHO степень влияния adhoc запросов часто сильно преувеличена аналитики их делают не так часто как принято думать =)
Да, но тут еще зависит и от них самих, i.e. я б задался вопросом, а почему они убивают один раз базу, если вы должным образом их не обучили, ну или же попробовать отказаться от КХ или подумать над хранением данных. Но это уже уровень более бизнесово-сеньорный :)
По-разному бывает, бывает что кто какой-то табло репорт рисует, а в это время графики на юае начинают тормозить
Обсуждают сегодня