# Reporting Database Is a database specifically designed for reporting or queries. It is often used with [[Command Query Responsibility Segregation]] in [[Microservice Architecture]]-s, to alleviate load on the main database when the some users can be satisfied with stale data, or when they're not interested in every update, or when a different schema makes development easier. The main problem is keeping the main and the reporting databases in sync. A separate process can do this once a day, when load is low. If being up-to-date is important, the service owning the reporting database can also subscribe to domain events and keep those changes in memory. ## See Also - [[Eventual Consistency]] ## Sources - Martin Fowler. [Reporting Database](https://www.martinfowler.com/bliki/ReportingDatabase.html).