2010-07-10 3 views
2

Я сейчас немного смущен, о том, сколько уникальных идентификаторов MongoDB может генерировать для одного сервера.Сколько уникальных идентификаторов может создать MongoDB для одного сервера?

Конечно, с несколькими серверами также изменится раздел сервера их объекта id, но с единственным сервером единственные части, которые будут меняться, выглядят как часть pid (2 цифры) и секция увеличения (4 цифры) , Поправьте меня, если я ошибаюсь.

Имея только 6 из каждых шестнадцатеричных цифр, я уверен, что для одного сервера будет только 16 777 216 возможных комбинаций.

Причина, по которой я задаю этот вопрос, заключается в том, что я рассматриваю возможность использования MongoDB для хранения миллиардов уникальных записей, и число будет постоянно расти.

Можно ли использовать MongoDB для такого рода работ? Извините, если я сделал какие-либо математические ошибки или логические ошибки.

Спасибо!

ответ

3

Вы должны быть в безопасности. Если вы сами создаете MongoDB для создания идентификаторов, он будет генерировать 12-byte value, из которых 4 байта - секунды с эпохи, а 3 байта - счетчик. Этого достаточно для более чем 7,20 * 10^16 (т. Е. 2 ​​^ (7 * 8)) документов на сервер и/или 16 миллионов (т. Е. 2 ​​^ (3 * 8)) на сервер в секунду.

+0

Большое спасибо за помощь! Я сомневаюсь, что в этом случае у меня не будет уникальных идентификаторов. ;) –