摘要 |
Provided are a system, method and computer program product for redistribution of data in an online shared nothing database, said shared nothing database comprising a plurality of original partitions and at least one new partition. Said method comprising: a collocation-set identifier for identifying two or more collocated tables in the original partitions to be redistributed over the original partitions and at least one new partition, said tables having data rows, each data row residing on a partition governed by a distribution key; a table factory for creating corresponding new tables in the new partition; a view creator for creating a UNION ALL view of all the data from both the original and new tables using the check constraints, said check constraints in turn based on the distribution keys; a counter for defining a loop of intervals over the distribution key range; a data mover for performing data movement of each data row over the current distribution key interval from the original tables to the new tables; a data changer for altering the check constraints for each distribution key interval so that the UNION ALL view is preserved thereby ensuring collocation and data integrity is maintained; a loop finisher for looping back for the next distribution key interval until all the distribution key intervals have been processed such that all the data has been moved to the new table whereby collocation and data integrity is maintained, redistribution is transparent for queries performed on the database, and tables are fully available during redistribution for read and write. |