Является ли репликация менее ресурсоемкой, чем чтение с высокой частотой?

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

Я изучаю репликацию базы данных и концепцию репликации master / slave (или издателя / подписчика - я думаю, что это одно и то же, но, пожалуйста, исправьте меня, если я ошибаюсь).

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

Мой вопрос:

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

Кроме того, репликация транзакций не повлияет на производительность подчиненного устройства, как если бы он был записан?

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

например

  • данные записываются в основную базу данных (клиентом)
  • данные считываются из основной базы данных (для репликации)
  • данные записываются в подчиненную базу данных (для репликации)
  • данные читаются из ведомой базы данных (клиентом)

Мне кажется, что любая дополнительная выгода от добавления дополнительного сервера будет потеряна при добавлении дополнительного процесса чтения и записи.

Я смотрю на это слишком упрощенно? или я что-то упустил?

Спасибо

1 ответ

Решение

Репликация SQL Server на стороне издателя подается через приложение, которое считывает данные непосредственно из журнала транзакций, а не из реальных таблиц базы данных SQL Server.

На стороне абонента данные записываются в SQL Server строка за строкой с помощью хранимых процедур (по умолчанию).

Есть несколько ОЧЕНЬ больших приложений, которыми я управляю, и нет необходимости в чтениях, выгруженных на другой SQL Server. Существует очень небольшое количество приложений, которые действительно необходимо масштабировать. В 99% случаев простая настройка правильной индексации и надлежащего проектирования сервера и хранилища будет обрабатывать огромные рабочие нагрузки, если был приобретен достаточно большой сервер.

Другие вопросы по тегам