Hacker News new | ask | show | jobs
by hyuen 5642 days ago
While SSDs are wonderful for random reads, writes are still very expensive due to their large erase blocks. In a small write (typical OLTP workload), the entire block has to be rewritten --typically 128kB-- even if the modified data is much smaller. That's why it is very important to make the application aware of this fact, or use a log-structured filesystem on top of it.

I believe that for most web applications the ratio is 80% reads, 20% writes, that's why no one has noticed this behavior.

Another even more concerning issue is the wear-out, SSD cells can't take more than ~10000 rewrites. While there is firmware taking care of invalidating those blocks, eventually we can expect data loss if not backed up properly.

I think SSDs are great, as long as we understand their limits... For my laptop I have one and I love it, but I would be seriously doubtful about the safety of my information in some database using purely SSDs.

1 comments

For servers, you'd typically choose SLC Flash rather than the cheaper MLC. The memory cells survive about an order of magnitude more flash cycles and are also slightly faster. Also, I hope you're not assuming that your data is safe on the only component with critical moving parts in a modern computer...