UUID

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: UUID

Сообщение zelenin »

Cacatuidae писал(а): 2017.07.24, 11:18
zelenin писал(а): 2017.07.24, 11:07
Cacatuidae писал(а): 2017.07.24, 11:02 Я бы на месте автора реализовал генерацию ID по методу как это реализовано в Mongodb - objectID
https://docs.mongodb.com/manual/referen ... escription
без обоснования? забавно.
Мне нравится тем, что первые биты гарантируют сортировку по такому ID, правда, в пределах одной секунды (если не ошибаюсь)
Другие либы по генерации не изучал, возможно там тоже такие фишки есть.
вопрос сортировки всегда стоит, поэтому есть модификации и uuid4, с таймстемп-префиксом. а для хорошей генерации у монго слишком мало рандома - коллизии в миллионы раз более вероятны чем при uuid4 (хотя в целом вряд ли достижимы при хорошей рандом-генерилке).
Аватара пользователя
Cacatuidae
Сообщения: 65
Зарегистрирован: 2017.01.08, 17:39

Re: UUID

Сообщение Cacatuidae »

zelenin писал(а): 2017.07.24, 11:23
Cacatuidae писал(а): 2017.07.24, 11:18
zelenin писал(а): 2017.07.24, 11:07
без обоснования? забавно.
Мне нравится тем, что первые биты гарантируют сортировку по такому ID, правда, в пределах одной секунды (если не ошибаюсь)
Другие либы по генерации не изучал, возможно там тоже такие фишки есть.
вопрос сортировки всегда стоит, поэтому есть модификации и uuid4, с таймстемп-префиксом. а для хорошей генерации у монго слишком мало рандома - коллизии в миллионы раз более вероятны чем при uuid4 (хотя в целом вряд ли достижимы при хорошей рандом-генерилке).
Я активно использую эту базу в кач-ве журанала парсеров. В секунду может быть до 30-50 записей и пока что коллизий замечено не было.
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: UUID

Сообщение zelenin »

Cacatuidae писал(а): 2017.07.24, 11:29
zelenin писал(а): 2017.07.24, 11:23
Cacatuidae писал(а): 2017.07.24, 11:18

Мне нравится тем, что первые биты гарантируют сортировку по такому ID, правда, в пределах одной секунды (если не ошибаюсь)
Другие либы по генерации не изучал, возможно там тоже такие фишки есть.
вопрос сортировки всегда стоит, поэтому есть модификации и uuid4, с таймстемп-префиксом. а для хорошей генерации у монго слишком мало рандома - коллизии в миллионы раз более вероятны чем при uuid4 (хотя в целом вряд ли достижимы при хорошей рандом-генерилке).
Я активно использую эту базу в кач-ве журанала парсеров. В секунду может быть до 30-50 записей и пока что коллизий замечено не было.
аргументация опытом - не аргументация, особенно, если говоришь про 30-50 записей - это, считай, база простаивает, если мы говорим о коллизии.
Аватара пользователя
Cacatuidae
Сообщения: 65
Зарегистрирован: 2017.01.08, 17:39

Re: UUID

Сообщение Cacatuidae »

zelenin писал(а): 2017.07.24, 11:37
Cacatuidae писал(а): 2017.07.24, 11:29
zelenin писал(а): 2017.07.24, 11:23
вопрос сортировки всегда стоит, поэтому есть модификации и uuid4, с таймстемп-префиксом. а для хорошей генерации у монго слишком мало рандома - коллизии в миллионы раз более вероятны чем при uuid4 (хотя в целом вряд ли достижимы при хорошей рандом-генерилке).
Я активно использую эту базу в кач-ве журанала парсеров. В секунду может быть до 30-50 записей и пока что коллизий замечено не было.
аргументация опытом - не аргументация, особенно, если говоришь про 30-50 записей - это, считай, база простаивает, если мы говорим о коллизии.
Ну, если автору нужен большой объем записей за одну секунду, то тогда, наверное, нужно более детально изучать данный вопрос. Искать решения основанные на микротайме или что-то в этом роде. Если же такой объем не нужен, то данный метод objectID вполне рабочий, причем зарекомендовал себя давно.
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: UUID

Сообщение zelenin »

Cacatuidae писал(а): 2017.07.24, 11:41
zelenin писал(а): 2017.07.24, 11:37
Cacatuidae писал(а): 2017.07.24, 11:29

Я активно использую эту базу в кач-ве журанала парсеров. В секунду может быть до 30-50 записей и пока что коллизий замечено не было.
аргументация опытом - не аргументация, особенно, если говоришь про 30-50 записей - это, считай, база простаивает, если мы говорим о коллизии.
Ну, если автору нужен большой объем записей за одну секунду, то тогда, наверное, нужно более детально изучать данный вопрос. Искать решения основанные на микротайме или что-то в этом роде. Если же такой объем не нужен, то данный метод objectID вполне рабочий, причем зарекомендовал себя давно.
но uuid в различных вариациях зарекомендовал себя еще раньше. у меня больше не претензии не к самому методу, а к тому, что вы не изучив вопрос, посоветовали вариант хуже, чем те, что упомянули выше, лишь потому, что это вам знакомо.
- Посоветуйте лопату
- не знаю, я пластиковой лопаточкой кучу куличиков возвел и ни разу не подвело. Плюс очень легкая. Мой личный опыт.
Аватара пользователя
Cacatuidae
Сообщения: 65
Зарегистрирован: 2017.01.08, 17:39

Re: UUID

Сообщение Cacatuidae »

Не понимаю вашу претензию.
В чем проблема рекомендовать то, что себя так же хорошо зарекомендовало? Тем более, вы верно подметили - мне это знакомо и я с этим работаю.
Если автору не нужен большой объем данных за минимальное кол-во времени, то оба способа подходят под задачу.
И как минимум, автор будет знать (если не знал), что есть еще и альтернативный способ (который используется в другой базе).
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: UUID

Сообщение zelenin »

Cacatuidae писал(а): 2017.07.24, 11:56 Не понимаю вашу претензию.
суть претензии я изложил в первом комменте: viewtopic.php?f=19&t=44299#p221037
Cacatuidae писал(а): 2017.07.24, 11:56В чем проблема рекомендовать то, что себя так же хорошо зарекомендовало?
viewtopic.php?f=19&t=44299&start=20#p221048
Cacatuidae писал(а): 2017.07.24, 11:56 И как минимум, автор будет знать (если не знал), что есть еще и альтернативный способ (который используется в другой базе).
именно. в базе. я знаю как минимум 5 (из которых 3 очень известны - uuid, ulid, snowflake) способов генерации уникальных id. Все они независимы от базы. Все они имеют таймстемп-модификации (а если не имеют, заменить первые байты на таймстемп легко). uuid притом стандартизирован. в данном случае упоминание еще одного вендор/софт-зависимого решения без плюсов перед остальными, считаю неуместным, т.к. экспертизы ТС не хватит на отделение "зерен от плевел".
Ответить