TL; DR: Являются ли идентификаторы, которые автоматически генерируются DocumentDB, предположительно GUID или UUID, и есть ли на самом деле разница? Если это UUID, то какой вариант/версия UUID?ID: GUID или UUID? Какой вариант?
Фон: Некоторые из клиентских библиотек DocumentDB будут автоматически генерировать идентификатор для вас, если вы его не предоставите. Я видел, как это упоминалось в Azure blog и в severalrelatedquestions, что сгенерированные идентификаторы являются идентификаторами GUID. Я знаю, что есть some discussion над тем, являются ли GUIDsUUIDs, и многие люди говорят, что они есть.
Проблемы: Однако, я заметил, что некоторые из идентификаторов DocumentDB автоматически генерирует не следует UUID RFC, что позволяет только цифрам 1-5 в «версии» полубайтовой (V
в xxxxxxxx-xxxx-Vxxx-xxxx-xxxxxxxxxxxx
). DocumentDB генерирует идентификаторы с любой шестнадцатеричной цифрой в этом полубайте, например d981befd-d19b-ee48-35bd-c1b507d3ec4f
, версия которого nibble является первой e
из ee48
.
Возможно, это зависит от того, какой клиент используется для создания документов. В нашей базе данных DocumentDB у нас есть документы с третьей группой dde5
, 627a
, fe95
и т. Д. Эти документы были сохранены из хранимой процедуры, вызвав Collection.createDocument()
с опциями {'disableAutomaticIdGeneration': false}
. Другие документы, которые я создаю с помощью стороннего приложения DocumentDB Studio, всегда имеют 4xxx
в третьей группе, которая является допустимой версией UUID. Однако документы, созданные мной через Azure portal, имеют нестандартные третья группировки, такие как b359
.
Вопрос: Являются ли автогенерируемые идентификаторы DocumentDB GUID или UUID, и есть ли на самом деле разница? Если UUIDs, то какой вариант?