ID. Эта штука UUID-совместима. Не возникнет проблем с этим в монге?
можно использовать что угодно, только какой смысл, по сули OID тоже самое из себя представляет
ObjectId разве GUID-совместимый? Для унификации в первую очередь. Если вдруг появится необходимость сменить базу или хранить часть данных в другой БД, как-то странно будет хранить в не монге OID.
также как и uuid в виде строки или данных планируется иметь настолько много что будет эффект от использования uuid типа гденить в PG?
Нет, так много данных не планируется. Но у ulid есть ещё одно замечательное свойство - контроль генерации id, которое позволяет свои данные подставить в id, это как раз для меня актуально, т.к. одной из задач будет конвертация id из одного из нестандартизированных форматов в ulid.
раз уже есть задача конвертации, то действительно стоит отказаться от стандартного типа oid. У монги ограничения только на размер содержимого в поле _id (до1кб) а так хоть объекты вложенные задавайте Посмотрел я этот ulid и у меня вопрос чем он лучше простого использования просто uuid?
Ну ulid - это "uuid на стероидах", он всегда начинается с таймштампа (как и oid), поэтому он сортируемый и ещё специалисты пишут, что он индексируется оптимальнее по этой же причине. На русском удалось найти только эту статью об uuid v7 (это будет аналогом ulid'a): https://habr.com/ru/post/572700/
ну главное не забывать во всей системе синкать время и закладываться что события с разницей в пару десятков мс могли происходить в другом порядке на разных системах (особенно если у нас чтото крутится на винде и где таймер грубо округляет)
Да, к счастью там ещё random part из 10-ти байт, поэтому о коллизиях можно не беспокоиться
Обсуждают сегодня