Data Abstractor
The data provided to users or other application components is abstracted to inherently support eventually consistent data storage through the use of abstractions and approximations.
How can eventually consistent data be presented, so that possible inconsistencies are hidden from other application components and application users? |
Context
If a Distributed Application using eventually consistent Storage Offerings is designed for consistent data, data consistency could be reassured by application components, such as the Data Access Component. However, this can void the benefits introduced by eventually consistency regarding performance and availability.
Solution
The style of data representation is adjusted to allow retrieved data to be eventually consistent. The data representation always reflects that the consistent state is unknown by approximating values or abstracting them into more general ones, such as progress bars, traffic lights, or change tendencies (increase / decrease).
Related Patterns
Data Access Component, Loose Coupling, Stateful Component, Stateless Component