распределение данных на основе первичного ключа - PullRequest
0 голосов
/ 19 января 2012

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

Однако, это создаст проблему, когда мы вставим сущность в БД. Поскольку мы не знаем заранее значение его первичного ключа, как мы можем выяснить, в какую базу данных его вставить?

Одна возможность - поддерживать глобальную таблицу идентификаторов только в одной базе данных. Итак, мы сначала вставляем в него, получаем значение первичного ключа, а затем используем его для выбора БД для дальнейшей детальной вставки. Но это решение не является единообразным и, следовательно, его трудно поддерживать и расширять. Итак, есть еще мысли о том, как это сделать?

1 Ответ

0 голосов
/ 19 января 2012

Нашел эту замечательную статью, рассказывающую о том, как Flickr решил эту проблему: http://code.flickr.com/blog/2010/02/08/ticket-servers-distributed-unique-primary-keys-on-the-cheap/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...