Allocation controller for controlling allocation of a set of atomic tenants to database servers in a server cluster, comprising: - A measurement means which is adapted to dynamically and incrementally measure workload of all or selected tenants within a pre-configurable recording period and providing measurement signals, taking into account additional workload due to a hardware failure and/or a tenant's access requests; and - A detection module, which is adapted to detect a DRAM capacity of each server in the cluster - wherein the controller is adapted to apply an adaptive and recovery-aware migration command for continuously controlling allocation of the set of tenants to servers, wherein the controller is configured to interact with the measurement means and with the detection module such as the allocation control is based on the measurement signals and on the detected DRAM capacity of each of the servers; - wherein the controller is configured to control allocation of tenants to servers by applying an interleaved replication so that not the whole server is replicated, but each tenant, which has been allocated to a server is replicated separately and interleaved in order to recover overload situations, wherein at least two replicas of a number of tenants are allocated to a number of servers and thereby minimizing a number of allocated servers in the cluster, while maximizing performance of the server cluster; and - wherein the migration command is based on an incremental placement algorithm for placing a single replica of a tenant on a server and the migration command considers a migration budget that represents a limit of data to be migrated in order to change or adapt a given placement. - A measurement means which is adapted to dynamically and incrementally measure workload of all or selected tenants within a pre-configurable recording period and providing measurement signals, taking into account additional workload due to a hardware failure and/or a tenant's access requests; and - A detection module, which is adapted to detect a DRAM capacity of each server in the cluster - wherein the controller is adapted to apply an adaptive and recovery-aware migration command for continuously controlling allocation of the set of tenants to servers, wherein the controller is configured to interact with the measurement means and with the detection module such as the allocation control is based on the measurement signals and on the detected DRAM capacity of each of the servers; - wherein the controller is configured to control allocation of tenants to servers by applying an interleaved replication so that not the whole server is replicated, but each tenant, which has been allocated to a server is replicated separately and interleaved in order to recover overload situations, wherein at least two replicas of a number of tenants are allocated to a number of servers and thereby minimizing a number of allocated servers in the cluster, while maximizing performance of the server cluster; and - wherein the migration command is based on an incremental placement algorithm for placing a single replica of a tenant on a server and the migration command considers a migration budget that represents a limit of data to be migrated in order to change or adapt a given placement. - wherein the controller is adapted to apply an adaptive and recovery-aware migration command for continuously controlling allocation of the set of tenants to servers, wherein the controller is configured to interact with the measurement means and with the detection module such as the allocation control is based on the measurement signals and on the detected DRAM capacity of each of the servers; - wherein the controller is configured to control allocation of tenants to servers by applying an interleaved replication so that not the whole server is replicated, but each tenant, which has been allocated to a server is replicated separately and interleaved in order to recover overload situations, wherein at least two replicas of a number of tenants are allocated to a number of servers and thereby minimizing a number of allocated servers in the cluster, while maximizing performance of the server cluster; and - wherein the migration command is based on an incremental placement algorithm for placing a single replica of a tenant on a server and the migration command considers a migration budget that represents a limit of data to be migrated in order to change or adapt a given placement.