Navision and RAID

Navision (the company, that is), always states that for an optimal performance of the database, every 2GB part should be on a seperate physical disk, and that the software uses some kind of striping (that is, the data will be equally divided between the various disks). Although not stated, I believe that to gain optimal performance, no other data should be placed on the drives. There are some disadvantages for this system: 1. It’s very expensive: for every part there should be a drive available, which is not used by anything else. So, 2GB drives would be sufficient, but are very hard to get these days. 2. It’s not redundant. It can be made redundant by making a mirror/duplex set, but that would even be more expensive (as every drive has to be doubled) 3. The performance gain stated by Navision Software is only available if every drive has it’s own controller (more expenses) As I already ruled out RAID1 (See point 2), I would like to opt for a RAID5 configuration, which holds at least three physical drives (a must for RAID5), and one logical drive (partition). This has the following advantages: 1. It’s redundant 2. Striping is in hardware, so a lot faster then Navision ever could. It has also a disadvantage: 1. The Navision Stripe Routines (let’s call it that) could (and probably will) conflict with the RAID5 configuration, so some performance is lost. I’m wondering if I’m missing anything here, and would like to know if the software would indeed loose that much performance by using a RAID5 set.

The 2Gb limit was a file size limit, as well as gaining performance from splitting files over fast drive arrays. As of V2.5, this limit has been removed, but the 32Gb limit remains. I have a test 2.60C database with a 2.01B database restored into it here. This is 5Gb, and the original 2.01B database was 3.6Gb data in 2x2Gb files. And… not only does the Navision striping cause conflict with RAID 5, they say it can also conflict enough to cause database problems with corruption… Craig Bradney Project Manager - Technical Navision Solutions & Services Deloitte Growth Solutions Deloitte Touche Tohmatsu P:+61-2-9322-7796 F:+61-2-9322-7502 E:craig_bradney@deloitte.com.au

If You use RAID5 You will only have one commitcache. For each physical disk You add in a RAID1 configuration You will have one commitcache. Navision will imporove write performance with tha same percentage of disks You add up till eight disks. After that the performance gain is less. There is a performance test done by IBM at Grenock wherer they tested this. Your NSC/NTR should have that report.

Well, I’ve got some more info from Navision (the Navision Financial Installation Training version 2.50.2 (I use the dutch version, but translated it directly into english): quote:


The Navision Financials server is a program that requires excellent security and very good diskperformance. RAID1, mirroring, complies the best with these criteria: With reading transactions, it performs very well, and the continious, on-line reserve backup of the database makes it very reliable. However, RAID1 is also the most expensive configuration, as every megabyte of storagespace requires two megabytes of physical space. […] RAID5 performs slightly worse compared to RAID1, but is a cheaper alternative. According to Siemens, who performed some benchmarks, the difference is approx. 20%. This has mainly to do with the number of read actions per second, which is much higher with RAID1 because the paritycalculation used by RAID5 is not necessary. So if there will be a lot of writeactions, RAID1 is preferable. No mention whatsoever on datacorruption in this guide, so I think I will go with one single file on a RAID5 configuration, despite the performanceloss. In the manual it’s not stated how Siemens tested, but I can imagine that if more disks are used in a RAID5 configuration, the higher performance becomes (as it reads from more drives at the same time). But, the paritycalculation also has to run through more data. Does any one know how these compare to each other? Does the controller calculate parity while reading, or is the parity only used in case of drivefailure? Edited by - poltergeist on 1/23/01 4:34:09 PM

Go ahead, use RAID-5… But before, when your server is ready to install, do a little performance test. Forget every RAID and try to install Navision with one database-file on each of your harddisks. Then i.e. import a backup-file in your empty database and look at the time. Perform some testreports or a large batch. Then create your system - as you plan with RAID-5 - and do the same tests as before. If you’re looking for speed you’re going to sell your RAID-5 controller :wink: Btw. - this test between RAID-5 and RAID-1 says nothing about performance of navision with more than one database-file. If you compare a navision-database with 5GB in one file on A RAID-5-system with a 5GB-Database with 5 * 1 GB on 5 Harddisks there will be a much bigger difference. And for the arguments is the first posting: Are harddisks that expensive today ? I don’t think so. They got that cheap during the last few years, that even a RAID-1-system will not be too high-priced. It’s not true that the performance gain of RAID-1 needs one controller for every drive. If this would be true, than you would have drives, that would be as fast as your controller. Do you use solid state disks, or what? Fact is, that a SCSII-controller can handle more than one disk without any problem or performance loss. I bet your controller is much faster than any disk-drive you can buy. And at last, what navison does, is not the same than the physical striping of a RAID-controller. There you have one chunk of data written by one process maybe on different drives, but without any database-logic. On the other hand you have one process for every drive and the data split into pieces, so that the transaction can be performed almost parallel on all of your drives. But as i said - go ahead, use RAID-5.

Did you run such a test? I’m very curious about the results… I cannot believe that a hardwareRAID5 would be that much slower than the softwareroutines of Navision, which rely on processorspeed, memory, the OS (WindowsNT) etc, while the RAIDcontroller is designed to do just that: controlling a RAID set, and is independant of other parts of the server (except for the drives, obviously) Not only performance is important, also security. So I need at least RAID1 of RAID5. With RAID1, in your example, I’ll need 10 disks to do it. With RAID5, I’ll need 6 drives. I can place 6 drives in a standard server, but for 10 drives, I need an extra drivecabinet also. Besides, if it’s possible now to use one 32GB database file (instead of 16x2GB), why wouldn’t I use RAID5? There will be no conflicting stripe routines anymore in Navision (thus making it faster), I have all the advantages of RAID5 (speed (although less than RAID1, I must admit) AND security), and it’s cheaper and easier to expand than RAID1. And you’re right. The controller isn’t an issue. I always learned that RAID1 should have 1 controller per disk, but it has nothing to do with speed. It’s for redundancy. I think I’ll get some drives and give it a try (but I’m most certainly not going to toss out that RAID5 controller. It can always be used for other files :wink:

We are currently running our (v2.5 US on Win2K) database on a RAID 5 (4@9.1GB 10K rpm). We have 8 fdb files @2GB each. Would there be any benefit to run 1 16GB fdb file? Anyone see a flaw with this setup?