Storage recommendations Progress OpenEdge
Achieving the best performance of your Progress OpenEdge application and database depends heavily on selecting and configuring the right type of storage. A typical Progress OpenEdge Environment produces a lot of I/O:
- databasefiles / extents with index and data
- Before Image file (default)
- After Image files (optional, is it?)
- Logfiles (OS, Admin Server, Database, Appservers, NameServers)
- AppServers (OS, Database, Tempfiles)
- Related Databaseserver Operating System I/O
- I/O caused by executing utilities as (Progress) Backup, Index Rebuilds, Database Analysis
- Temporary Application Files
- Application TempTables
- Log- and monitoring files
- Application I/O
- Related Client Operating System I/O
When you need to purchase storage for your Progress OpenEdge application and database you should consider the following:
- Goal: divide the I/O across as many disks as possible
- Use a lot of disks
- Use disks with RPM between 10.000 – 15.000 rpm (~150 iops/sec)
- Consider using SSD disks (Solid State Disk)
- Always use RAID 10 with stripe width through 2 Mb
- Use Direct Attached Storage or Storage Attached Network (SAN)
- Better not use NAS systems (Network Attached Storage)
A storage area network (SAN) is a dedicated network that provides access to consolidated, block level data storage. SANs are primarily used to make storage devices, such as disk arrays, tape libraries, and optical jukeboxes, accessible to servers so that the devices appear like locally attached devices to the operating system. A SAN typically has its own network of storage devices that are generally not accessible through the local area network by other devices. The cost and complexity of SANs dropped in the early 2000s to levels allowing wider adoption across both enterprise and small to medium sized business environments (Source: wikipedia)
- Using a SAN is the best option in virtualized environments
- With a SAN you can share one powerful storage system with many different hosts with different Operating Systems
- It is a one stop storage system for all hosts
- High initial cost
- Single point of failure unless array mirroring/clustering is in place
- Not optimized to individual tasks
RAID is an acronym applied to disk technology. It originally stood for Redundant Arrays of Inexpensive Disks, but its current usage is accepted as Redundant Arrays of Independent Disks.
RAID is typically implemented to provide:
- Data reliability by replicating data so that is it not destroyed or inaccessible if the disk on which it is stored fails.
- Improved I/O performance by balancing the I/O load across disks.
- Simplify storage management by treating several physical disks as one virtual unit.
When you have your storage in place you may want to configure it for use of RAID10. Progress recommends the use of RAID 10 for your storage (Progress Knowledgebase) RAID level 10 is a combination of RAID level 1+0, where striping is applied across multiple RAID 1 pairs. Its I/O performance properties typically provides the best performance and data reliability for use with PROGRESS.