Совместное использование БД приносит очевидный недостаток, заключающийся в отсутствии одного элемента для управления данными, поступающими в БД. Это может быть большой проблемой, поэтому я бы порекомендовал создать прикладной уровень.
Если этот уровень приложений является тем, что формируют ваши веб-приложения, то я не вижу ничего плохого в реализации взаимодействия клиент-сервер между игровыми серверами и веб-приложениями. Позвольте игровым серверам передавать данные на уровень приложений и заставлять их подписываться на обновления. Это хорошо подходит для системы очередей сообщений, но вы можете избежать создания собственной системы, основанной на REST, например, если она лучше соответствует вашей текущей архитектуре.
Если веб-приложения не образуют прикладной уровень, я бы предложил ввести такой слой, написав небольшое приложение, которое скрывает специфику хранилища. Каждая сторона получает дескриптор интерфейса приложения и записывает в него данные.
Чтобы обмениваться данными между двумя системами, прикладной уровень мог бы затем использовать распределенную БД, такую как mnesia, или внедрить многоуровневую систему кэширования с репликацией. Самой простой версией этого будет репликация, запускаемая по времени, например, с MySQL, как вы упомянули. Другими параметрами являются очереди сообщений, реплицируемая память (терракота) и / или реплицированные кэши (memcached), хотя они не обеспечивают постоянное хранение.