Sqlite fragmentation
Fri, 05/18/2012 - 16:11
After running our membase cluster for a longer period of time where we are continually expiring items. It appears as though our sqlite files have become fragmented. We're observing a large amount of io utilization and the data size has not changed in any significant amount.
1. Is the /opt/membase/bin/mbdbmaint --vacuum the preferred way to perform db maintenance?
2. Can the /opt/membase/bin/mbdbmaint --vacuum command be run on a live cluster?
The preferred way sort of depends on the resources you have at hand. Probably the most preferred way is to rotate out or rotate through a new server. This is non-disruptive, and gets you to a non-defragmented state, but requires another server. Of course, you can upgrade to 1.8 while you're at it. :)
You cannot, unfortunately, vacuum a live cluster. The intent with that being part of the mbdbmaint (that also does backups) is to vacuum the backup files which speeds warmup if you restore from the backup file.