"Data, data, everywhere, nor any drop to drink."
Had Samuel Coleridge been writing about the plight of enterprise application software rather than the Ancient Mariner, he might have phrased the problem in such a poetic manner. At modern computing speeds, applications are going thirsty for input data while surrounded by it on all sides. Databases store multiple gigabytes or even terabytes of recorded information, real-time data streams transmit transaction data as it occurs, and applications deliver processed data and results to other applications for further action.
However, this ocean of data is useless on its own. It must be delivered to business applications to feed their decision processes and drive the actions that ultimately determine profitability and success. Without instantly and continuously available data, applications can only sit and wait. In a growing number of industries and business processes, that can spell disaster.
Consider a securities trading firm that runs programs to advise brokers and agents, alert traders to changing market conditions, or even make automated trades according to situation-dependent rules. Massive amounts of money can be made or lost on delays of only seconds. As arbitragers react to real-time transaction data, the company best able to quickly access and make use of the data stands to profit over its competitors.
To use an example from another field, look at the challenge of real-time load balancing for a telephone network company. As usage increases and decreases instantaneously, it must be played against factors such as physical network availability, current bandwidth usage, Service Level Agreements (SLAs), projections of upcoming load, and a myriad of other considerations. Decisions are made second to second by automated systems that must stay current with conditions. If they fall behind in their reaction time, they are as likely to aggravate the problem as to correct it.
Speed of access is only half the story, though. Data must be continuously available to the applications. However, such high availability requires backup access strategies and alternate routes to the data sources to ensure a failure in one physical node does not stop the entire system from continuing to operate. Vendors may refer to this as data persistence or resilience to failure.
Fault tolerance and data availability are often key factors for government applications. From intelligence and defense operations to record keeping and licensing, data must be consolidated from many sources and made available upon request to geographically or departmentally dispersed users. Lack of an available data repository because of a local server failure, network blockage, or even a directed attack is simply unacceptable, with potential consequences ranging from inconvenience to catastrophe.
1