STORM: An Approach to Database Storage Management in Clustered Storage Environments

Database storage management in clustered storage environments is a manual, time-consuming, and error-prone task. Such management involves regular movement of database objects across nodes in the storage cluster so that storage utilization is maximized. We present STORM, an automated approach that guides this task by combining low-overhead information gathering about database access and storage usage patterns, efficient analysis of gathered information, and effective decision-making for reconfiguring data layout. The reconfiguration process is guided by the primary optimization objective of minimizing the total data movement required for the reconfiguration, with the secondary constraints of space and balanced I/O bandwidth utilizations across the storage nodes in the cluster. We model the reconfiguration decision-making as a multi-constraint optimization problem which is NP-hard. We then present a heuristic that provides an approximate solution in O(Nlog(N/M) + (N/M)2) time, where M is the number of storage nodes and N is the total number of database objects. A simulation study shows that the heuristic converges to an acceptable solution that is successful in balancing storage utilization with an accuracy that lies within 7% of the ideal solution.