RAID Question
Posted in 2000
I know that this subject has been very popular in this forum but I
still have questions concerning my specific scenario.
I am moving all my data from my Informix 7.31 FC6-1 Database that
resides on an HP KClass box to an SAG disk array box. The database is a
data warehouse and is optimized for DSS. The total disk space amounts
to 1 terabyte of which 500GB will be machine mirrored. There are 16
disks which are approximately 36MB each that can be used for storage.
I have researched and read much information on RAID levels in this
forum and on the internet and believe RAID 10 is my best option. My
only concern is the what my Unix Admin is suggesting by setting up the
striping using the OS or should I let Informix do it through
fragmentation. My Unix Admin is suggesting using 2 disks (each 36GB)
to create each raw device(volume group). This leaves me with only 8
volume groups (each of them 72Gig in size). As a result this leaves me
with just 8 physical disks(groups) to work with in Informix.
I am arguing about doing the striping myself using Informix
fragmentation to increase flexibility and administration of the disks.
Here are example scenarios to make this less confusing:
Example1 (Unix admin setup (striping done at os level)):
8 volume groups (each 72Gig in size):
vg01 vg02 vg03 vg04 vg05 vg06 vg07 vg08
Each logical volume in that group is 2Gig in size and each group
consists of 36 logical volumes:
lv01,lv02,lv03,lv04,lv05.....lv36 for each group
Each dbspace will contain 4 logical volumes all of which are in the
same group (this gives me max of 72 dbspaces):
dbsp1:/vg01/lv01,/vg01/lv02,/vg01/lv03,/vg01/lv04
dbsp2:/vg02/lv01,/vg02/lv02,/vg02/lv03,/lvg02/lv04
dbsp3,dbsp4.... dbsp*** and so on
I create a database and fragment my tables across 4 of those volume
groups and my indexes detached:
create mytable .... fragment by round robin in dbsp1,dbsp2,dbsp3,dbsp4;
create index idx_mtbl in dbsp5create my2ndtable .... fragment by round robin in
dbsp5,dbsp6,dbsp7,dbsp8;
create index idx_mtbl in dbsp1
Let's just say I run this query:
select mytable.field1,my2ndtable.field2
from mytable,my2ndtable
where mytable.linkfield=my2ndtable.linkfield
and mytable.idxfield="1"
Now, knowing that the indexes for each table are in the same disks as
the linking table would this not defeat the purpose of fragmenting. Is
the above disk config and setup better than this one:
Example2 (Striping done by Informix):
16 volume groups (each 36 GB)
vg01 vg02 vg03 vg04 vg05 vg06 vg07 vg08...vg16
Each logical volume in that group is 2Gig in size and each group
consists of 18 logical volumes:
lv01,lv02,lv03,lv04,lv05.....lv18 for each group
Dbspaces the same size as above (4 logical volumes) but 16 disks allows
me to create 4 sets of 4 dbspaces.
dbsp1,dbsp2,dbsp3,dbsp4....dbsp**
create mytable .... fragment by round robin in dbsp1,dbsp2,dbsp3,dbsp4;
create index idx_mtbl in dbsp5create my2ndtable .... fragment by round robin in
dbsp6,dbsp7,dbsp8,dbsp9;
create index idx_mtbl in dbsp10
Wouldn't fragmentation and the data being spread out over 16 disks be a
better solution because of the fact that I will have more disk heads
reading at the same time with each query? Or should I take the Unix
admin's advice and let the OS handle the striping??
Any help or suggestions would be greatly appreciated,
Benny Lago
Alliance Entertainment, Inc.
Sent via Deja.com http://www.deja.com/
Before you buy.