1. A computer program product comprising a non-transitory machine-readable medium storing instructions that, when executed by at least one programmable processor, cause the at least one programmable processor to perform operations comprising: identifying a node type of a plurality of distributed nodes to which a table to be added to a distributed database should be assigned, the identifying comprising applying a set of placement rules defined for the table, the distributed database comprising a plurality of tables located on the plurality of distributed nodes; determining whether the table should be partitioned into more than one table partition, the determining comprising applying the set of placement rules; obtaining a table group name associated with the table; storing the table in the distributed database on at least one node of the plurality of nodes as one or more table partitions according to the identified node type, the determining of whether to partition the table, and the obtained group name; detecting that an average record count of the more than one table partition has reached a maximum record threshold for repartitioning, the set of placement rules specifying the maximum record threshold; verifying availability of a number of nodes in the plurality of nodes having the node type is at least double a current number of the more than one table partition; repartitioning the more than one table partition to double the current number of table partitions by creating a new table partition for each of the more than one table partition; and placing the new table partitions onto the number of nodes for which availability was verified.