В зависимости от того, что вы вставляете, нагрузка в 100 000 операций записи в минуту является довольно легкой для SQL Server. В моей книге я показываю пример, который генерирует 40000 операций записи в секунду (2,4 М / мин) на машине с простым оборудованием. Таким образом, один из подходов может состоять в том, чтобы увидеть, что вы можете сделать, чтобы улучшить производительность записи вашей основной БД, используя такие методы, как пакетное обновление, множественные записи на транзакцию, табличные параметры, оптимизированную конфигурацию диска для вашего журнала и т.д.
Если вы уже сделали столько, сколько можете, то у меня следующий вопрос: какие запросы вы выполняете, для которых требуется 10 серверов отчетов? Кажется необычным даже для довольно больших сайтов. Может также быть куча, которую вы можете сделать для оптимизации на этом фронте, например, выгрузка запросов агрегации в службы Analysis Services или повышение пропускной способности диска. Несмотря на то, что вы можете, масштабирование обычно лучше, чем масштабирование.
Я склонен рассматривать репликацию как «решение последней инстанции». После того, как вы выполнили как можно больше оптимизации, я рассмотрю горизонтальное или вертикальное разбиение для ваших требований к отчетности. Одна из причин заключается в том, что разбиение приводит к лучшему использованию кэша и, следовательно, к более высокой общей пропускной способности.
Если вы, наконец, дошли до того, что не можете избежать репликации, то иерархический подход, предложенный fyjham, определенно является разумным.
Если это поможет, я подробно расскажу о большинстве этих проблем в своей книге:
Сверхбыстрый ASP.NET .