Data consistency is the process of keeping information uniform as it moves across a network and between various applications on a computer. There are typically three types of data consistency: point-in-time consistency, transaction consistency, and application consistency. Ensuring that a computer network has all three elements of data consistency covered is the best way to ensure that data is not lost or corrupted as it travels through the system. In the absence of data consistency, there is no guarantee that any information in the system will be uniform across the entire length of the computer network.
Data consistency helps ensure that information on a failed computer can be restored to its pre-failure state.
Point consistency is about ensuring that all elements of a system are uniform at a specific time. This prevents data loss during system crashes, improper shutdowns and other network problems. It works by referencing pieces of data in the system via timestamps and other consistency markers, allowing the system to be restored to a specific point in time with each piece of data in its original place. Without point-in-time consistency, there would be no guarantee that all the information on a failed computer could be restored to its pre-failure state.
Transaction consistency is the consistency of a piece of data in a working transaction within the computer. For example, a banking program might originally request the opening balance of an end user’s account. From that point on, the entire program depends on the original balance amount remaining consistent in the program’s memory. If the original balance is $50,000 USD ($50,000 USD) and a system issue changes that to $75,000 USD, the computer is out of transaction consistency. Without transaction consistency, nothing inserted into a program remains trusted.
Application consistency is nothing more than transaction consistency between programs. For example, if the banking program communicates with a tax program on the computer, application consistency means that information that moves between programs will remain in its original state. Without application consistency, the same problems arise here that arise with failed transaction consistency: there will be no way to tell whether a value entered into the system remains correct over time.
The main advantage of ensuring data consistency is maintaining the integrity of information stored on your computer or network. Without all three types of consistency working together, there’s no telling whether the data stored on your computer today will be the same after a crash, installation, or other major system event. That’s why maintaining consistency is one of the main goals of all data-driven computer programs.