Схема данных / Технические рекомендации / Идентификаторы записей

Идентификаторы записей

Каждая запись ДОЛЖНА иметь совершенно уникальный идентификатор. НЕ ДОЛЖНО быть возможности конфликта между идентификаторами для разных записей.

Это означает следующее:

  • Никогда НЕ СЛЕДУЕТ допускать, чтобы две разных записи имели одинаковый идентификатор;
  • После присвоения идентификатора какой-либо записи идентификатор НЕ СЛЕДУЕТ изменять.

В схеме минимальная длина идентификатора составляет 32 символа, а максимальная — 64 символа.

Издатели МОГУТ применять одну из следующих стратегий для создания идентификаторов записей.

Стратегии для создания идентификаторов

  • Генерирование UUID для каждой записи, его хранение во внутренних системах и его обновление при каждом обновлении соответствующего элемента(-ов), образующего запись;
  • Генерирование UUID в виде префикса, относящегося к издателю, и прикрепление к нему локального идентификатора элемента и идентификатора версии;
  • Использование должным образом спроектированной хэш-функции, генерирующей идентификаторы на основе нормализованного представления записи в формате JSON (за исключением поля id) с низкой вероятностью конфликта.
  • Использование внутреннего идентификатора в сочетании с уникальным префиксом во избежание конфликта между идентификаторами от разных издателей

Идентификаторы записей обычно предназначены для создания и внутреннего использования внутри приложений. В большинстве случаев их не нужно показывать пользователям. Это полностью отличается от идентификаторов субъектов или физических лиц, которые может быть полезно показывать пользователям.