One of the biggest disadvantages of consumer hardware is that it comes always with one single disk. Running a database on it is rather pointless. Thus we need to find ways to elevate io performance. The main problem of a conventional hard disk is – we all know it – the mechanical nature of it. This results in remarkable latencies compared to memory access. In OLTP like databases the max number of IO’s per second (IOPS) is crucial for the system performance. A disk with an average latency of 5ms cannot serve more than 200 (random) IOPS.
One way to avoid suffering of disk latency is to lower disk access with adding memory and increasing the buffer cache of the database. Highend storage systems also come with huge caches to cover the built in weaknesses of the disks. Single disks only have very small caches and I cannot add tons of gb memories in my cheap box, 4gb or maybe 8gb are the limits at the time beeing.
Another possibility would be to add more disks, but I plan to put the final system on a laptop, so 2 disks will be the max possible. Besides that, these are tradional ways of solving disk latency problems. Enter solid state disks…
Betelgeuse – RamSan-440
The top notch solid state disks are ram based systems. The bigger solutions like the RamSan-440 are just a case holding standard volatile sdram memory modules, combined with a battery to prevent power outages and often conventional harddisks to store the data permanently. I hope nobody linked to TexasMemorySystems see this, because obviously you will need more to get the transfer rates out of the package. Nevertheless lets look at the performance figures:
600’000 IOPS / sequential IO 4.5gb/s
Sadly, the RS had to be disqualified, because of their size and their prize ( ~537$/gb). TexasMemorySystems sell even bigger systems. I was not able to get a hand on one of these so far, if anyone else here has, let me know.
Rigel – Hyperdrive 5
So I went down one category and came across the Hyperdrive 5
It is still dram based, but fits into a 5.25″ slot, which is the size of a dvd drive.It comes with a standard sata interface. They build the case, but you will have to buy the dram seperately. At the moment the max size is only 64gb, which is a bit too tiny for me. Here are the figures:
65,000 IOPS / sequential IO ~160mb/s
It comes at a price of approximately 500$ + at least 2400$ for 64gb memory dimms. This results in a price of 60$/gb. It is cheaper than the ramsan, but still too costly. I expect it would run very nicely on databases, but one single drive would not be big enough.
SUN – Intel X25-M
So I had to lower my expections again and decided to invest in a Intel X25-M. I chose the 160gb model. The specifications are:
Read: at 4kb up to 35’000 IOPS / 250mb per second
Write: at 4kb up to 3’000 IOPS / 70mb per second
The cost was a moderate 4.3$/gb, but still more expensive than a cheap mechanical disk coming considerably below 0.5$/gb. I don’t expect the X25-M to perform on 35K IOPS for random 8kb reads, but I consider anything over 2’500 as good. Comparing to the above calculation of 200 IOPS for a conventional disk that is 😉
The sun might be bright enough. I am pretty happy how the X25-M looks and eager to start a few performance tests. I will update the “Codename SOL” – Intro / TOC as soon as I have the results.
By the way I am not affiliated with any of the above manufactors. 🙂
But be warned, there is a bunch of SSD disks which are cheaper than the X25-M, or larger in size. I have read quite a lot of reviews and tests and there are huge differences. Do not think you can buy any SSD disk, do not trust the manufactorers promises. Even a decent conventional disk can serve up to 60mb/s sequential read access, but that doesn’t help for the IOPS.
Update Aug 17th: coincidentally found this SDN article Improving I/O Performance Using Solid-State Drive Technology