До того, как я перешел на aurora, у меня была стандартная конфигурация master->slave, которая изолировала Looker, мою аналитическую платформу. На подчиненном устройстве для параметра tx_isolation db было установлено значение READ-COMMITTED, чтобы решить проблемы с ожиданием блокировки.
Теперь, когда я переместил все на Aurora MySQL 5.7 и все находится в одном кластере базы данных, я больше не могу выполнять трюк tx_isolation с модулем записи, поскольку это приведет к несогласованности производственных данных. Теперь запросы аналитики вызывают ошибки превышения времени ожидания блокировки.
Обычно это происходит при запросах, которые создают большие временные таблицы из производственных данных, удерживающих блокировку, которая вызывает перебои в работе нашего рабочего веб-сайта.
Обходной путь — изменить параметры соединения mysql, используемые механизмом аналитики.
Вы можете передать переменную sessionVariables=tx_isolation='READ-COMMITTED'
Это гарантирует, что аналитические запросы имеют более низкий уровень изоляции, поэтому они не вызывают проблем с блокировкой, сохраняя при этом ACIDity производственных запросов.
В Looker есть поле Additional Params
, в которое вы можете просто скопировать и вставить эту строку.