Data Consistency Deep Dive
Businesses rely on their data to make decisions, serve customers, or comply with regulations. Because of this, a key requirement of business applications is that the data is consistent.
In practice, this means that a user sees a consistent view of the data, regardless of how it’s presented. For instance, the user could look at the same data in a summary view, in a grid view, and in a details view.
Furthermore, the data should always maintain its invariants. An invariant is a condition or property that remains true throughout the execution of a program, or within a particular scope. For instance, one invariant could be that the balance of a bank account may never be negative. Another invariant could be that the total of an invoice is always the sum of the individual invoice items.
Data consistency also means that the data should be correct and complete. The same type of data should be entered in the same way; there shouldn’t be any duplicates; and required data should be present.
Important
|
Deep Dive - Recommended Approach
This opinionated deep-dive explains core concepts (for example, ACID transactions) and gives a practical, recommended way to handle data consistency in Vaadin. If you’re new, this is a good place to start; if you’re experienced, feel free to use whatever patterns work for you.
|
Topics
- Strong Consistency
- Learn about strong consistency and how to achieve it.
- Transactions
- Learn about ACID transactions and how to use them in Vaadin applications.
- Validation
- Learn how to validate your data.
- Domain Primitives
- Learn what domain primitives are and how to use them in applications.
- Optimistic Locking
- Learn about optimistic locking and when to use it.
- Pessimistic Locking
- Learn about pessimistic locking and when to use it.
- Eventual Consistency
- Learn about eventual consistency and how to achieve it.