I am working with a large dataset containing about 500 million records and about 50 discrete dimensions. I am planning to cluster these records into a number of distinct clusters (~30). Now, every day, for a number of these records, some dimensions will change. Given that the initial clustering will take quite a bit of time, I am looking for a way to avoid running complete reclustering every day, in order to accomodate for changed records. I suppose that in most cases, for an algorithm that permits it, starting the run from previous converged solution would allow convergence to a new solution in hopefully only few iteration.
Is there a specific algorithm (preferably one that allows membership in multiple clusters) that would be useful in this case, or a trick that can help me avoid full recalculation?