Архитектура системы отчетности - PullRequest
0 голосов
/ 13 января 2010

Мы создали программное обеспечение Enterprise / LOB, которое, например, управляет заказами, клиентами, запасами и т. Д. В .NET 3.5 и SQL Server 2008.

Мы делаем все виды отчетности, такие как

  1. традиционные отчеты (SQL-запросы)
  2. информационные панели (с диаграммами, списками и т. Д.)
  3. оповещений (например, если заказ отменен, напишите супервайзеру)

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

Не могли бы вы, ребята, дать какие-нибудь предложения? Или какие-нибудь ресурсы я могу прочитать?

Ваша помощь очень ценится.

Спасибо.

Ответы [ 2 ]

2 голосов
/ 13 января 2010

Прежде всего, использование служб Reporting Services не очень вам поможет, потому что вы в конечном итоге будете выполнять одни и те же запросы к одной и той же базе данных, изменится только движок рендеринга, это может помочь при кэшировании отчеты, хотя. Решит ли это вашу проблему, зависит от вашей нагрузки и от того, где ваша проблема (неэффективные запросы все равно будут медленными.)

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

Если этого недостаточно, я бы рассмотрел либо реплику базы данных только для чтения для создания отчетов, либо создание куба OLAP, если ваши отчеты могут извлечь выгоду из подхода хранилища данных. Чтобы это работало последним, у вас должны быть установлены службы Analysis Services. * +1007 *

0 голосов
/ 13 января 2010

SSRS действительно может помочь, потому что он имеет встроенную поддержку для кэширования результатов и отчетов. См. Кэширование отчетов в службах Reporting Services .

...