Subject Re: Optimizing Firebird for SSD
Author Doychin
It is not big database. There are maybe 20 clients connected to database. Doing updates or inserts during the work hours. It is a billing, provisioning and monitoring application that talks to this database. For the rest of the time there is small number of internal processes that generate some transactions but it is a cron like job.

Before 2 years we decided(my customer and I) to use SSD for database storage. Initially everything was ok. During time performance of the SSD was degrading slowly and before a week one of the SSD drives started to take to much time to complete it's write operations. Today we replaced that drive with spare and performance is back to normal level.

During that 2 years period we learned more about how SSD work so I start think that they are not very good for situations where you have multiple writes but instead only for databases that don't change very often.

I see big difference when I delete some 200 000 records from one table on SSD and deleting same records from same database but on HDD.

When Garbage collection starts it's cleanup job after deletion it takes longer on the SSD also delete process takes longer on SSD.

There is 2 things that I can't count with my configuration. There is no TRIM support in the SSD(it is an old SSD) also because we use RAW device FB has to provide TRIM support. Another problem is that actually SSD is in RAID and so TRIM must be provided in RAID level which is missing in this case I think.

Also as you know SSD has limit on the max number of writes in a single block. This limits it's live so here I'm asking for some tips how to increase the SSD life by reducing the number of writes made by FB server while processing transactions.

I hope this gives enough information.