Dynamic Scale-out Mechanisms for Partitioned Shared-Nothing Databases