Ryszard Musielak
Member
Hello,
I am being tasked with reconfiguring a RAID disk setup on one server. I had a vendor who delivered a Progress database and application one with RAID10 (RAID 1 + 0) and I tend to agree with what they said:
"We always configure disk arrays as RAID 10 to maximize performance. We would never recommend RAID 5 because this can adversely affect database performance."
That statement came from on of their leading database admins.
However, I have another server (it is now a production box) that someone from my team (not the vendor) configured as RAID5.
I tend to follow a basic rule - if some vendor configures a system in one way I try not to argue with the approach, as if I make a copy of that system with a different configuration I may be left with a vendor who will not support any issues with a system, especially with some performance issues.
When I search the Internet I have not seen one recommendation with RAID5 (I once saw a Progress Database presentation stating "RAID5 is EVIL"), yet I have to constantly argue with my colleagues who claim RAID1 or RAID10 is slower than RAID5 because writes have to be written twice - which may be a fair argument. I would like to end those discussions, so I would like to ask people here is there at least one person who has a way of proving RAID5 is for databases?
The only argument I may see reasonable is that we use VM hosts and they can have various types of servers, mixed database and file servers, etc. and that causes problems, becuse to use RAID10 for them would be rather an inefficient way of using the computers resources, especially disks.
I had to work with Oracle and SQL-Server databases for the past 20 years and I know from learning courses and experience that at least an Oracle needs at least 5 spindles:
1) For data, 2) for indexes 3) for Rollback (Undo operations), 4) Temporary data (sorting and indexing) 5) Redo Logs - which actually should never be mirrored physically, as any block corruption will be replicated and a Redo Log crash will render a database inoperable.
From what I have learned Progress has basically the same concepts, correct me if I am wrong?
Unfortunately modern disks are so huge that it would be very wasteful to configure database in such a way, so for example I compromise and can only end up separating Data from Indexes, thus only 2 spindles o for example 4 hard drives. However with one of the servers I have been given there are 8x146GB disks.
On another matter, the majority of databases mainly operate in memory these days, some of mine can have 32GB of memory and at least 80% allocated to data buffering, so the FAST WRITE issue should be dismissed, as writes only occur during checkpoints or of memory is forcibely issues (either by a command or by a shutdown), or massive update operations flushing out "dirty" blocks - which triggers writes to Redo Logs and database files.
What is your opinion and how do I win the argurment, RAID10 or RAID5?
Thanks,
Richard
I am being tasked with reconfiguring a RAID disk setup on one server. I had a vendor who delivered a Progress database and application one with RAID10 (RAID 1 + 0) and I tend to agree with what they said:
"We always configure disk arrays as RAID 10 to maximize performance. We would never recommend RAID 5 because this can adversely affect database performance."
That statement came from on of their leading database admins.
However, I have another server (it is now a production box) that someone from my team (not the vendor) configured as RAID5.
I tend to follow a basic rule - if some vendor configures a system in one way I try not to argue with the approach, as if I make a copy of that system with a different configuration I may be left with a vendor who will not support any issues with a system, especially with some performance issues.
When I search the Internet I have not seen one recommendation with RAID5 (I once saw a Progress Database presentation stating "RAID5 is EVIL"), yet I have to constantly argue with my colleagues who claim RAID1 or RAID10 is slower than RAID5 because writes have to be written twice - which may be a fair argument. I would like to end those discussions, so I would like to ask people here is there at least one person who has a way of proving RAID5 is for databases?
The only argument I may see reasonable is that we use VM hosts and they can have various types of servers, mixed database and file servers, etc. and that causes problems, becuse to use RAID10 for them would be rather an inefficient way of using the computers resources, especially disks.
I had to work with Oracle and SQL-Server databases for the past 20 years and I know from learning courses and experience that at least an Oracle needs at least 5 spindles:
1) For data, 2) for indexes 3) for Rollback (Undo operations), 4) Temporary data (sorting and indexing) 5) Redo Logs - which actually should never be mirrored physically, as any block corruption will be replicated and a Redo Log crash will render a database inoperable.
From what I have learned Progress has basically the same concepts, correct me if I am wrong?
Unfortunately modern disks are so huge that it would be very wasteful to configure database in such a way, so for example I compromise and can only end up separating Data from Indexes, thus only 2 spindles o for example 4 hard drives. However with one of the servers I have been given there are 8x146GB disks.
On another matter, the majority of databases mainly operate in memory these days, some of mine can have 32GB of memory and at least 80% allocated to data buffering, so the FAST WRITE issue should be dismissed, as writes only occur during checkpoints or of memory is forcibely issues (either by a command or by a shutdown), or massive update operations flushing out "dirty" blocks - which triggers writes to Redo Logs and database files.
What is your opinion and how do I win the argurment, RAID10 or RAID5?
Thanks,
Richard