В настоящее время в одном из моих проектов мы поддерживаем 32 000 объектов, однако он достигает своих пределов производительности и поэтому намеревается распределить его по разным базам данных на основе их целочисленных первичных ключей. Например. первые 35k перейдут на один дБ, следующие 35k - на следующий дБ и т. д. (на основе логики (первичный ключ% #db)).
Однако, это создаст проблему, когда мы вставим сущность в БД. Поскольку мы не знаем заранее значение его первичного ключа, как мы можем выяснить, в какую базу данных его вставить?
Одна возможность - поддерживать глобальную таблицу идентификаторов только в одной базе данных. Итак, мы сначала вставляем в него, получаем значение первичного ключа, а затем используем его для выбора БД для дальнейшей детальной вставки. Но это решение не является единообразным и, следовательно, его трудно поддерживать и расширять. Итак, есть еще мысли о том, как это сделать?