Our next best practice states that it is better to have a single version of a data source whenever possible. The only viable reasons for maintaining a replicated environment are either to increase performance or to create a decision support database that mirrors an online transaction processing (OLTP) database. A data architecture that includes a replicated data source is much harder to design and maintain than a design that assumes a single stable location for data. Likewise, if data that is replicated are also updated frequently, the potential for latency and the potential for services to return inaccurate data are introduced. A replication strategy is appropriate when users in different geographic locations need similar data that are not required to be current and a central data source is not possible. In such a situation, your business requirements should address nonfunctional quality attributes such as data availability, recoverability, freshness (near real-time versus 1 week old), and so on. |