Identifying acceptable data loss
In designing systems that must deal with transient failures, data loss will inevitably occur. Many architectural patterns can be layered together to minimize the loss of data, but it is extremely challenging to guarantee that no loss will ever occur.
Later in this chapter, we will examine the implications of data loss and what we can do to compensate for it. Before getting to that, we must identify what acceptable and unacceptable data loss is. The benefit of this is narrowing the scope for unacceptable data loss, to which a high proportion of effort will go towards minimizing this loss.
Acceptable and unacceptable data loss
Defining what acceptable and unacceptable data loss is heavily influenced by the context of the action being performed and the business impact within that context. For example, if adding a customer’s new payment method never succeeds and results in a data loss, it may be reasonable to assume the loss can be recovered...