Общий aurora writer для аналитики, вызывающий тайм-ауты ожидания блокировки в рабочей среде

#mysql #database #looker

#mysql #База данных #looker

Вопрос:

До того, как я перешел на aurora, у меня была стандартная конфигурация master-> slave, которая изолировала Looker, мою платформу аналитики. На подчиненном устройстве для параметра tx_isolation db было установлено значение READ-COMMITTED для решения проблем с ожиданием блокировки.

Теперь, когда я перенес все на Aurora MySQL 5.7 и все находится в одном кластере базы данных, я больше не могу выполнять трюк с tx_isolation в writer, поскольку это привело бы к несоответствию производственных данных. Теперь запросы analytics вызывают ошибки превышения времени ожидания блокировки.

Обычно это происходит при запросах, которые генерируют большие временные таблицы из производственных данных, содержащих блокировку, которая вызывает сбои на нашем производственном веб-сайте.

Ответ №1:

Обходной путь заключается в изменении параметров подключения к mysql, используемых механизмом аналитики.

Вы можете передать переменную sessionVariables=tx_isolation='READ-COMMITTED' Это гарантирует, что запросы analytics имеют более низкий уровень изоляции, поэтому они не вызывают проблем с блокировкой, сохраняя при этом кислотность производственных запросов.

В Looker есть Additional Params поле, в которое вы можете просто скопировать и вставить эту строку.