Справочная информация
Я управляю (читай: унаследовано) сетью, которая очень похожа на провайдера виртуального хостинга.В инфраструктуре работает от 300 до 400 сайтов.За прошедшие годы топология базы данных стала чрезвычайно фрагментированной, так как это соотношение 1: 1 из базы данных webserver-> database.
Проблемы
- Приложения в 9 раз из 10 разработаны сторонними дизайнерскими фирмами, которые внедрили WordPress / Joomla / Drupal и т. Д.
- Базы данных случайно разбросаны по 6 серверам баз данных.Они нигде не реплицируются.
- В приложениях отсутствует концепция отдельных дескрипторов базы данных для разделения INSERT на ведущее устройство и SELECT на ведомое устройство.
- Использование встроенной репликации master в MySQL создает узкое место.,Количество вставок будет очень быстро снижать уровень мастер-базы.
Вопрос
У меня возникает вопрос, как сделать топологию базы данных максимально плоской, оставляя место для будущей масштабируемости?
В будущем я хотел бы добавить больше географических местоположений в мою сеть, которые могут реплицировать одни и те же базы данных через «бэкнет».
В прошлом я изучал репликацию с несколькими мастерами, но видел много проблем с такими вещами, как коллизии столбцов auto_increment.
Я открыт для корпоративных решений.Нечто похожее на продукт Shareplex для репликации Oracle.
Каким бы ни было решение, не стоит ожидать изменения приложений в соответствии с этим новым дизайном.Поэтому такие вещи, как столбцы auto_increment, должны оставаться неизменными и распределяться по всему кластеру.
Цель
Моя цель состоит в том, чтобы иметь сбалансированное по нагрузке имя хоста для каждого кластера, на который я могу указать все приложения.Я
Это также дало бы мне отказоустойчивость, которой у меня сейчас нет.В настоящее время удаление базы данных из ротации невозможно.
Приложения, такие как Cassandra и Hadoop, выглядят удивительно похоже на то, чего я хочу достичь, но NoSQL не подходит для этих приложений.
Любые советы / указатели / учебные пособия / документация / рекомендации по продукту с благодарностью.Спасибо.