Задача конечно очень интересна в абстрактном плане…
Практически-же есть одно БОЛЬШОЕ НО… Исходя из Вашей формулировки вы хотите _изначально_ сделать оценку и распределить базу, но по факту где гарантия что в процессе функционирования системы наступит дисбаланс и цена хранения где-то увеличится в РАЗЫ… Тогда по-хорошему надо заново проводить оптимизацию хранения, но имхо при достаточно больших объемах данных так не делается…
Имхо распределять базу надо все-таки исходя из ЛОГИКИ работы, знает которую только человек…