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 throughout the system. In the absence of data consistency, there are no guarantees that any piece of information on the system is uniform across the breadth of the computer network.
Point in time consistency deals with ensuring that all elements of a system are uniform at a specific moment in time. This prevents loss of data during system crashes, improper shutdowns, and other problems on the network. It functions by referencing pieces of data on the system via timestamps and other markers of consistency, allowing the system to be restored to a specific moment in time with each piece of data in its original place. Without point in time consistency, there would be no guarantee that all information on a crashing computer could be restored to its pre-crash state.
Transaction consistency is consistency of a piece of data across a working transaction within the computer. For example, a banking program might originally request an end user's starting account balance. From that point on, the entire program relies on the original balance figure remaining consistent in the program's memory. If the original balance is $50,000 US Dollars ($50,000 USD) and a problem on the system alters that to $75,000 USD, the computer is without transaction consistency. Without transaction consistency, nothing entered into a program remains reliable.
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 the information moving between the programs will remain in its original state. Without application consistency, the same problems arise here as do under flawed transaction consistency: there will be no way to tell whether a value entered into the system remains correct over time.
The primary advantage to ensuring data consistency is maintaining the integrity of the information stored on the computer or across the network. Without all three types of consistency working together, one cannot tell whether the data stored on the computer today will be the same following a crash, installation, or other major system event. That is why maintaining consistency is one of the primary goals for all data-based computer programs.