У нас есть веб-приложение среднего размера (несколько экземпляров), запрашивающее одну базу данных SQL Server 2014.Рекомендации по архитектуре базы данных SQL Server
Небезопасная архитектура, отсутствие кластеризации/переключения на отказ, и в последнее время мы получаем несколько тупиков.
Я смотрю, как я могу улучшить производительность и доступность базы данных, уменьшить эти взаимоблокировки и улучшить стратегию резервного копирования и восстановления.
Я не администратор базы данных, поэтому вы можете найти здесь несколько советов.
В настоящее время мы имеем следующую архитектуру приложения:
- Несколько чтения веб-серверов и запись в БД одного SQL Server
- Несколько фоновых служб чтения и записи в тот же единый БД SQL Server,
Я планирую внести следующие изменения:
- Разделить одну БД на два БД, один только для чтения и еще чтение-запись. чтение-запись DB реплицирует данные в только для чтения DB с использованием репликации SQL Server
- Веб-серверы подключаются к данному БД в зависимости от операции.
- Фоновые серверы подключаются к чтения-записи DB (большинство операций записи случаются здесь)
Большинство запросов БД на веб-серверах читает (и много из записей может быть выгружена в фоновые сервисы), так вот в чем причина моих мыслей.
Тогда я мог бы также добавить кластеризацию в базы данных только для чтения.
Является ли это хорошей архитектурой базы данных SQL Server? Или бы DBA там просто предложили кластерный подход?
Цели: производительность, масштабируемость, надежность
голосование, чтобы переместить это на dba.stackexchange.com –