As organizations gear up for web applications or various application that make use of RDMS backend database. Database Availability become a issue that will contribute for application availability, security and performance.
This round let look into area that always no so well reports, i.e. database house keeping and why you need to do it often to prevent application downtime due to database availability or performance issues related.
Most people will start to realize database started growing like crazy, it will go wild if you not do routine house keeping to make it contain in healthy size, which will consume a lot of resources that something at expense of application availability.
When database is growing into size that over taking the application in term of system resources consumption, it is the time it give you the warning you got to do something and database house keeping always in the task list.
Below is few handy and practical tips you may use it to contain your database size.
1. Set the benchmark measure how much data you need to keep in database. You can keep archive out and purge out the database once it reach said your 90 days threshold, those data should remove out from production database.
One good practice I usually see from professional managed companies is that once they generate reports required, they remove them out from production database. Production database is there to serve operation, it deal with operation data that occur now and need to receive and passing those data at very fast turn around time. So, just to ensure your application continue to serve you well, off loading old data out from your existing production database.
How frequent it need to do database housekeeping? This is also a common questions being ask. It all depend on whether you are running dedicate database with the application or shared database to serve various application servers. The time data build up within database is another consideration factors. Application that have only one instance of data recording and those that keep thousands of data recording will have different time frame require to perform house keeping before database become the factor that bring down your application. For some, 3 months and other 1 year, it all depend on the database size and the time it take to accumulate data within database.
2. Slicing data one range at a time. One of the practical way to handle database housekeeping is slice data range by range instead of select a very long range of data, where it take lot of resources. You may start by slicing maybe one date range to week, then month or even years, when you know about the database house keeping speed and performance.
Once your database is back to healthy performance state, ensure you keep the routine to do house keeping in the schedule manner.
Off course, out from above still have more ways to deal with database house keeping, such as upgrading to higher horse power system and invested in SAN for the database, but since those solutions look at upgrading the current system and invest in the state of the art new system, we rule them out from the topic, since here we are provide handy tips where no need to incur extra hardware or system, but your time to make sure your database is contain in the healthy performance level.