Направляющие 128-битные, а их алгоритмы генерации гарантируют, что ключ, сгенерированный на любой машине во всем мире в любое время, уникален.
Например, MongoDB использует ключ размером 12 байт = 96 бит. Это имеет некоторый смысл, поскольку ключ генерируется в одном кластере машин, поэтому вероятность наличия нескольких ключей, безусловно, ниже.
Вопрос об идентификаторах одинаков, хранятся ли данные в NoSQL или реляционных базах данных SQL. Централизованный генератор ключей, такой как инкрементные идентификаторы, делает размеры ключей намного меньше, что иногда может быть очень важно для повышения производительности. С другой стороны, зачастую это влияние размера ключа на производительность не слишком релевантно и, что гораздо важнее, централизованная генерация ключей считается убийственным фактором для распределенных систем.
см
http://www.mongodb.org/display/DOCS/Object+IDs
Я думаю, что среди лучших практик есть Guids и BSON ObjectId. Централизованные идентификаторы в настоящее время сильно не в моде, поскольку распределенные системы являются мейнстримом. Ваше решение будет зависеть также от наличия генератора Guid.