Identifying Acceptable Data Loss

Learn about acceptable and unacceptable data loss, as well as methods of data loss in distributed systems.

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’s extremely challenging to guarantee that no loss will ever occur.

Later in this chapter, we’ll 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 toward 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 might be reasonable to assume the loss can be recovered by flagging the issue to the customer and asking for a repeat entry. However, if the context is within an e-commerce application, there might be significant reputational damage to consider when putting the responsibility on a customer to repeat such an action. Depending on our business context, we can consider the loss of a new payment method acceptable or unacceptable.

Get hands-on with 1400+ tech skills courses.