Я задаюсь вопросом о формате, UUID по умолчанию представлены в CouchDB. В то время как RFC 4122 описывает UUID как 550e8400-e29b-11d4-a716-446655440000
, CouchDB использует непрерывно символы как 3069197232055d39bc5bc39348a36417
. Я искал некоторое время и в их Wiki и в их документации, каково это на самом деле, однако без любого результата.
Вы знаете, является ли это любой не RFC - приспосабливают формату, опускающему все -
или это совершенно другое представление 128 битов.
Фон - то, что я использую Java UUID, которые отформатированы, как отмечено в RFC. Я вижу преимущество, что CouchDB-стиль, вероятно, более удобен для создания внутренних деревьев, но я хочу убедиться использовать согласованное внедрение.
Технически мы не используем стандарт rfc для uuid, как вы заметили. Uuid версии четыре резервирует примерно четыре бита для указания версии uuid. Мы также не форматируем их с помощью дефисов, которые обычно встречаются в других реализациях.
UUID CouchDB - это 16 случайных байтов в шестнадцатеричном формате. Грубо говоря, это uuid v4, но не совместимый с RFC.
Независимо от специфики, на практике нет особых проблем. Обычно вам не следует пытаться интерпретировать uuid, если вы не пытаетесь провести какой-то внеполосный анализ. CouchDB никогда не будет интерпретировать uuids, мы полагаемся только на свойства случайности, связанные с ними.
Суть в том, чтобы не беспокоиться об этом и просто рассматривать их как строки после генерации.