Dynamic Data Distribution (D3) in a Shared-Nothing Multiprocessor Data Store

Redundant storage of data can make a multiprocessor database system tolerant of single processor failures. The D3 algorithm described here enables such a system to dynamically reorganize after a failure in order to protect itself against further failures, without interruption of service. The algorithm also permits addition or removal of a processor, and data migration for load balancing, without interruption of service.