9.2. The Reporting Architecture

One of the key challenges with reporting is deciding the database that the reports will be executed against. For example, reports could be executed against the secondary site's databases and storage area network (SAN). In this case, the report data would be traveling across the wide area network (WAN). This would need to be balanced against bandwidth availability and the reporting performance. The monitoring master database also records performance and event data into a central database (located on the SAN), although this information wouldn't necessarily be replicated to the secondary site. Furthermore, certain technical reports may need to be executed against the production database, especially during live incident investigation. The replication timings may not support live reporting.

Figure 9-6 shows the reporting solution obtaining data and information from a number of sources and providing it to both business users and technical users.

Figure 9.6. Figure 9-6

Having a reporting solution that executes against a replicated database will reduce the amount of direct access to the production database. The reporting solution will often execute stored procedures or queries that will return the data. If the stored procedures are being executed against the live database, they must ensure that the transaction isolation level is read-uncommitted to prevent ...

Get Design – Build – Run: Applied Practices and Principles for Production-Ready Software Development now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.