Первичный ключ на основе метки времени с высоким разрешением, сгенерированной на клиенте - PullRequest
0 голосов
/ 02 сентября 2018

Я ищу первичный ключ для таблиц реляционной базы данных (Postgres), которые:

  • Может генерироваться на клиенте и имеет низкую вероятность коллизий
  • Может поддерживать быстрые (и, возможно, кластеризованные) индексы.
  • Хорошо подойдет для сценариев федерации, шардинга и миграции.
  • Не будет пропускать данные о внутренних компонентах моей системы при использовании в качестве идентификатора открытого объекта (например, в API).

Сначала я подумал об использовании внутреннего первичного ключа с автоматическим приращением и открытого суррогатного ключа GUID, сгенерированного клиентом. Но есть проблемы с этим подходом .

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

Возможны ли проблемы с этим подходом?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...