Как реализовать одноранговую репликацию базы данных между двумя сайтами?
Я ищу решение для базы данных SQL Server, которое может реплицировать данные между двумя сайтами, а не только в одну сторону
Я изучил отказоустойчивый кластер SQL Server (MSCS), но затем, поскольку у меня есть два разных сайта (Production и DR), было бы сложно или, возможно, невозможно реализовать одноранговую репликацию содержимого данных?
Я планирую построить это решение поверх VMware ESXi с Windows Server 2008 для мониторинга серверов на обоих сайтах.
Что касается зеркалирования базы данных, я, конечно, рассмотрел этот подход, но решил, что одноранговая репликация обеспечит большую доступность для сбора данных, считываемых с систем, поступающих в БД. Сценарий состоял в том, что если один из сайтов был отключен от внешнего мира, я хотел, чтобы программное обеспечение для мониторинга (использующее SQL Server 2008) все еще продолжало собирать данные со всех систем на этом сайте. Зеркальное отображение базы данных не позволяет, так как только основная база данных доступна для записи. Одноранговая репликация позволила бы мне воспользоваться преимуществами балансировки нагрузки, которая потенциально могла бы дать прирост производительности, а не только избыточность
1 ответ
Взгляните на демонстрацию: Аналитика в реальном времени с SQL Server 2008 R2 Stream Insight, March Madness on Demand и непрерывный ETL и аудит большого объема в реальном времени. Все эти решения решают аналогичную проблему (сбор данных мониторинга) и сталкиваются с аналогичными проблемами (изящно обрабатывать недоступность внутреннего коллектора в течение нескольких секунд, минут или дней). Таким образом, в основном, как записать в базу данных доступным способом, даже если база данных временно недоступна. Общим для них является то, что они используют надежный обмен сообщениями: они записывают в локальную очередь SQL Express, а затем позволяют компоненту Service Broker доставить запись в конечный пункт назначения.