# 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).