Kbase 17150: Use of Write Cache Devices with Progress
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  08/06/2010 |
|
Status: Verified
GOAL:
Use of Write Cache Devices with PROGRESS
GOAL:
Considerations on Storage Devices and Progress
FACT(s) (Environment):
All Supported Operating Systems
Progress/OpenEdge Product Family
FIX:
Customers often ask if the Progress database supports some specific exotic storage device. The most often mentioned devices are devices that attempt to improve performance by using write caching. This article attempts to provide a basic description of such devices and Progress Software Corporation's position on their use with the PROGRESS database.
There are a variety of exotic storage devices available in the marketplace, these provide various performance improvements and enhanced reliability over a simple disk drive. The most common devices are known as RAID devices. RAID stands for Redundant Arrays of Inexpensive Disks. These devices attempt to eliminate the single point failure as presented by a simple disk drive. The ability to eliminate the single point of failure is accomplished either by mirroring information on a second drive or using some sort of error detection and correction mechanism by providing an additional drive for every 2 to 5 data drives. Simple mirroring requires twice as many disks on which to save data. This technique results in a higher cost and may present power supply issues for any given system. More complex RAID solutions can require as little as 20% more disk space. While more complex solutions require less additional disk space, they do incur a performance penalty having to calculate and write additional information for each data block written. This so called "write penalty" is often addressed by adding a write cache to allow the device to achieve an effective I/O rate that approaches the rate for a simple disk device. Additionally, some disk controllers and standard disk devices add write cache components to their basic function to provide the effective I/O rate increase.
A key requirement for the PROGRESS database recovery is the ability to issue reliable I/O operations. It is especially important that I/O be reliable when writing to the recovery log (the BI or AI file) so that the database can provide crash recovery and transaction durability. When PROGRESS issues an unbuffered write system call to write some log data, the assumption is that the data is placed on the disk media before the write system call returns. Whenever devices like RAID disk arrays, caching controllers, semi-conductor disks, or disk drives with integrated write caching are used, this assumption is violated and the reliability of the recovery system can be compromised.
When using exotic storage devices, especially when putting a recovery log on them, the customer needs to be satisfied that the storage device is reliable and should take steps with the hardware or operating system vendor to convince themselves of this fact. The customer needs to consider that there is nothing that the PROGRESS database can do to detect that such exotic storage devices are being used. The devices appear to the operating system as normal disk devices. Due to the variety of devices available, and the number of vendors, Progress does not certify its products with specific storage devices. Progress does occasionally work with vendors to understand how their devices operate and explain the operational requirements of the PROGRESS database as part of the normal product development process.
As an example of this, in early 1997, Progress assisted in work performed by Data General Corporation to demonstrate the correct crash and power failure recovery with their Clariion Disk Array equipped with write cache and battery backup options while running a Progress-based workload. Progress considers the Clariion technology to be a good example of a RAID storage device available in the marketplace. That specific effort verified that database writes that were in the write cache when failures occurred were completed successfully once the storage device was provided full power. The demonstration showed that the Clari.ion Disk Array was able to survive the failure of a single disk drive, and further, showed that even when the storage device was partially disassembled and reassembled, the array was able to complete writes as long as the write cache remained intact. For that specific demonstration the Clariion Disk Array was reliable, and provided a reasonable solution to negating the write penalty associated with using advanced RAID technologies.
In summary, Progress Software Corporation recommends that customers who use exotic storage devices to increase performance or reliability of their databases should work with the vendor providing the device to convince themselves that the device, like any other component of the system will provide the reliability necessary for their specific application. Progress recommends that database data and especially logs not be placed on devices with write caches that are not adequately protected from expected software, hardware, or power failures. Progress Software Corporation does not certify specific storage devices to be used with the PROGRESS database..