Size: a a a

2021 February 04

AS

Alexey Starkov in Moscow Python
Павел Мальцев
думаю что Media Access Control
this
источник

I

Ivan in Moscow Python
Alexey Starkov
ну вот да, мне поэтому больше нравится подход когда нет никакого дала, а объект сам за собой следит, get_by_id тогда приобретает смысл что id управляется клиентом и не связан с id в базе данных (и не является PK, что отдельный бонус), а id в базе занимается уже ОРМ или код который вместо него, и он остается деталью реализации, а пользовательский id тоже можно обвешать индексами и сделать быстрым
А как сохранить уникальность пользовательского id если не uuid?
источник

p

pragus in Moscow Python
mac + ts - это так себе
источник

ПМ

Павел Мальцев... in Moscow Python
https://ru.wikipedia.org/wiki/UUID ну я так понимаю речь шла про uuid первой версии
Wikipedia
UUID
UUID (англ. universally unique identifier «универсальный уникальный идентификатор») — это стандарт идентификации, используемый в создании программного обеспечения, стандартизированный Open Software Foundation (OSF) как часть DCE — среды распределённых вычислений. Основное назначение UUID — это позволить распределённым системам уникально идентифицировать информацию без центра координации. Таким образом, любой может создать UUID и использовать его для идентификации чего-либо с приемлемым уровнем уверенности, что данный идентификатор непреднамеренно никогда не будет использован для чего-то ещё. Поэтому информация, помеченная с помощью UUID, может быть помещена позже в общую базу данных, без необходимости разрешения конфликта имен. Наиболее распространённым использованием данного стандарта является Globally Unique Identifier (GUID) фирмы Microsoft. Другими значительными пользователями являются Linux (файловая система ext2/ext3, LUKS шифрованные разделы, GNOME, KDE) и Mac OS X — все они применяют реализацию, полученную…
источник

AS

Alexey Starkov in Moscow Python
Ivan
А как сохранить уникальность пользовательского id если не uuid?
а почему не uuid? :) в общем случае завсисит от задачи - какие свойства пользователя его уникально идентифицируют в системе - например логин
источник

ПМ

Павел Мальцев... in Moscow Python
шанс попасть всё-таки крайне мал
источник

AS

Alexey Starkov in Moscow Python
pragus
mac + ts - это так себе
почему?
источник

I

Ivan in Moscow Python
Alexey Starkov
а почему не uuid? :) в общем случае завсисит от задачи - какие свойства пользователя его уникально идентифицируют в системе - например логин
источник

ПМ

Павел Мальцев... in Moscow Python
у тебя там какой-то страшный high load?
источник

OK

Oleg Kainov in Moscow Python
Ivan
А как сохранить уникальность пользовательского id если не uuid?
В смысле? Автоинкремент, не?
источник

OK

Oleg Kainov in Moscow Python
Там вроде речь о том, когда UUID используется как Primary Index, основная айдишка. Это кажется и правда очень странным решением, собственно, делать любую строку primary index это очень странно, производительность на строках же сильно ниже производительности на числах
источник

OK

Oleg Kainov in Moscow Python
>When the schema is based on UUID values, all these columns and indexes supporting them are char(36). I recently analyzed a UUID based schema and found that about 70 percent of storage was for these values.

Ну это и козе понятно же, не?
источник

I

Ivan in Moscow Python
Oleg Kainov
В смысле? Автоинкремент, не?
автоинкрементен это в базе, а мы пришли к тому что id сущности управляется клиентом и не связан с id в базе данных
источник

I

Ivan in Moscow Python
Ибо проблема изначальна и была в автоинкрементене, потому что он будет известен только после сохранения в базе
источник

I

Ivan in Moscow Python
А до этого модель будет не консистентная и надо будет его руками добавлять после сохранения
источник

AZ

Alexander Zelenyak in Moscow Python
Там выше Павел задал самый правильный вопрос.
источник

AS

Alexey Starkov in Moscow Python
Ivan
автоинкрементен это в базе, а мы пришли к тому что id сущности управляется клиентом и не связан с id в базе данных
автоинкремент не обязательно в базе, хотя его можно сделать через счетчики в базе, используя БД для синхронизации, но кажется что для хайлоада только справедливо
источник

AZ

Alexander Zelenyak in Moscow Python
Alexey Starkov
автоинкремент не обязательно в базе, хотя его можно сделать через счетчики в базе, используя БД для синхронизации, но кажется что для хайлоада только справедливо
Для хайлоада это неприемлимо, потому что появляется точка синхронизации, рушащая распределённость системы.
источник

ПМ

Павел Мальцев... in Moscow Python
какой-нибудь zookeeper такое делать не умеет?
источник

AZ

Alexander Zelenyak in Moscow Python
Ну т.е. как только появляется одно место, куда ходят все, так оно сразу становится бутылочным горлышком.
источник