MySQL recently released a new version. Among the changes, one feature particularly got my attention: data partitioning.
One of the problems with MySQL has always been huge tables. It often creates problems because they are hard to alter, hard to backup, and because they get slower as they grow, even with the use of carefully placed indexes.
In one of my previous jobs, we partially solved the problem, splitting huge tables in MERGE’d tables. We could then backup them one by one etc, worked pretty nice. And it was faster too, since we could choose which particular table to query depending on our needs (the main table was split by month).
Data partitioning actually is the same feature, only more powerful. Imagine you have data that is organized by date. You can specify when creating the table that you want your data split by month. Additionally, you can even specify that each partition is on a different disk to optimize disk I/O. Requests in a particular range will only scan the necessary tables thus reducing the volume of data to read.
Imagine all the possibilities :)