
Stanislav
14.03.2017
10:26:15
мне ксегда казалось что вот так просто говорить о базах это какая то незрелость
типа ололо до миллиардика пострю, после уже носкл возмем, заскелимся малафья потечет

Igor
14.03.2017
10:28:05
да, я определенно незрел, я не спорю
я не говорил про носкл
отрицать, что "полурандомные строки" сравнимы с гуидами это такая же незрелость, если уж на то пошло )

Anatoly
14.03.2017
10:28:20

Google

Zart
14.03.2017
10:28:41
а там еще вопрос сколько от собсно мускля осталось

Anatoly
14.03.2017
10:28:43
(с кастомным стораджем rocksdb, но)

Zart
14.03.2017
10:28:57
его ж после сборки там обработали молотком и напильником как в том анекдоте

Anatoly
14.03.2017
10:29:28
https://github.com/facebook/mysql-5.6

Stanislav
14.03.2017
10:29:47

Anatoly
14.03.2017
10:30:33

Igor
14.03.2017
10:32:33

Stanislav
14.03.2017
10:33:55
я могу спросить то же самое наоборот. зачем использовать гуиды которые делались для другой совершенно цели если задача просто генерить рандом определенной размерности

Стас Щетинников
14.03.2017
10:34:16

Stanislav
14.03.2017
10:34:46
а зачем с ними работать ?

Anatoly
14.03.2017
10:34:53

Igor
14.03.2017
10:35:08

Стас Щетинников
14.03.2017
10:35:20

Google

Stanislav
14.03.2017
10:38:40
для какой цели делались гуиды?
для распределенок находящихся за миллионы световых лет друг от друга без возможности проверить коллизию с дикой избыточностью, с хранением времени.
даже в монге посчитали что хватит 12 байт например

Anatoly
14.03.2017
10:38:51

Stanislav
14.03.2017
10:39:44
но ваще я правда не понимаю. есть хранимочка которая генерит 10 символьные строки. юзай радуйся. нет нихачу хачу херачить 36 символов в урлы и везде

Anatoly
14.03.2017
10:39:58
ну т.е. я просто открываю RFC про UUID и читаю
One of the main reasons for using UUIDs is that no centralized authority is required to administer them (although one format uses IEEE 802 node identifiers, others do not). As a result, generation on demand can be completely automated, and used for a variety of purposes.

Igor
14.03.2017
10:40:13
> есть хранимочка
ой, круто, я вот поставил постгрю только что, сделал createdb, где у меня там эта хранимочка?

Anatoly
14.03.2017
10:40:24
где тут что про распределённые системы - не понимаю.

Igor
14.03.2017
10:40:55
гдее хранимочка? ?
неееет хранимочки! ?
ебануться!

Anatoly
14.03.2017
10:41:02
> UUIDs are of a fixed size (128 bits) which is reasonably small compared to other alternatives. This lends itself well to sorting, ordering, and hashing of all sorts, storing in databases, simple allocation, and ease of programming in general.

Стас Щетинников
14.03.2017
10:41:25

Anatoly
14.03.2017
10:41:26
https://tools.ietf.org/html/rfc4122

Stanislav
14.03.2017
10:41:55

Anatoly
14.03.2017
10:42:39

Zart
14.03.2017
10:42:57
конечно можно

Стас Щетинников
14.03.2017
10:42:59
И потому что для uuid можно сделать монотонное возрастание, удобный хэшинг и т.д., и не нужно это реализовывать в каждой библиотеке по своему.

Stanislav
14.03.2017
10:43:24
монотонное возрастание ?

Zart
14.03.2017
10:43:24
более того, приватные ключи ты генерить должен сам, а не просить его у ца

Anatoly
14.03.2017
10:43:29

Stanislav
14.03.2017
10:43:34
хешинг ?

Zart
14.03.2017
10:43:40
кто-то что-то путает

Google

Stanislav
14.03.2017
10:44:04

Anatoly
14.03.2017
10:44:14
видимо. я имел ввиду серверные сертификаты.

Zart
14.03.2017
10:44:41
централизованность ца в том, что это третья пати для участников, пытающихся подтвердить личность друг друга
в какомнить пгп для этого применяется ВоТ, вместо ца

Stanislav
14.03.2017
10:48:26

Igor
14.03.2017
10:48:55

Stanislav
14.03.2017
10:49:00
то же предложение на вики
UUIDs are for practical purposes unique, without depending for their uniqueness on a central registration authority or coordination between the parties generating them, unlike most other numbering schemes.
кажется вот это я заюзал https://blog.andyet.com/2016/02/23/generating-shortids-in-postgres/

Dmitry
14.03.2017
10:55:25

Zart
14.03.2017
10:55:44
выше кидали пример с 4
а ууид1 как раз рандомный

Stanislav
14.03.2017
10:56:25
во сорта пошли

Dmitry
14.03.2017
10:56:55

Anatoly
14.03.2017
10:57:30

Zart
14.03.2017
10:57:38
ну может перепутал их местами

Dmitry
14.03.2017
10:58:11
как раз про это была статья https://www.percona.com/blog/2014/12/19/store-uuid-optimized-way/

Stanislav
14.03.2017
10:59:15

Dmitry
14.03.2017
11:00:12

Stanislav
14.03.2017
11:00:33

Google

Anatoly
14.03.2017
11:00:52

Dmitry
14.03.2017
11:00:55

Anatoly
14.03.2017
11:01:10

Dmitry
14.03.2017
11:01:30

Stanislav
14.03.2017
11:03:04
ну раз нет то все сложно

Anatoly
14.03.2017
11:03:22
например, сейчас у нас id объекта - это sha256 от контента + guid. Это даёт определённые бонусы. Если id совпадает, мы считаем объекты идентичными
и просто перезаписываем новый старым. если кто-то будет настолько успешным, что придумает два разных объекта с одинаковым sha256 и при этом ещё попадёт на одинаковые гуиды - ну ок, молодец, повезло.

Stanislav
14.03.2017
11:05:13
тоесть вот серьезно ? когда делали гуид основной идеей было не уйти от необходимости чекать коллизии ?
зачем тогда ?

Anatoly
14.03.2017
11:05:43

Admin
ERROR: S client not available

Igor
14.03.2017
11:05:54

Dmitry
14.03.2017
11:07:02
Склей 2 гуида и будет тебе щастбе

Zart
14.03.2017
11:07:40
или "охуеть, дайте два"

Stanislav
14.03.2017
11:08:28
ну плохой рфц

Dmitry
14.03.2017
11:08:31
shortuuid.com их два склей

Stanislav
14.03.2017
11:08:43
потому что no centralized
authority is required to administer them можно прочитать как угодно
вариант про отсутствие необходимости чекать коллизии я считаю более истинным

Anatoly
14.03.2017
11:10:31
...

Zart
14.03.2017
11:10:31
это как "значение пи можно считать произвольным"

Google

Anatoly
14.03.2017
11:10:45

Zart
14.03.2017
11:10:51
градус ебанутости сегодня зашкаливает чтоль

Stanislav
14.03.2017
11:11:12
я услышал про сертификаты и не понимаю как они относятся к базам
зато могу предположить что в предметной области генерирования пк ауторити это некая служба которая подтверждает их уникальность например

Anatoly
14.03.2017
11:13:41
ну скажи свою версию
это центральный ресурс (орган, сервис), который выдаёт тебе что-то по запросу. Например, UUID, сертификаты, паспорта, етс

Stanislav
14.03.2017
11:17:41
ну хорошо мотивация была не иметь такого ресурса. я попробую даже предположить что главная мотивация такой мотивации было не проверять коллизии. те у нас например распределенка или генерация на клиенте или основаня база выключена
тогда опять возвращаемся к вопросу зачем если можно обойтись рандомными строками с проверкой коллизии
если это случай централизованой базы и нужны беспорядочные pk

Anatoly
14.03.2017
11:18:39

Stanislav
14.03.2017
11:18:56
а что я дописал ?

Anatoly
14.03.2017
11:19:48
про "забить на коллизии"

Stanislav
14.03.2017
11:19:58
нет центрального ауторити берем гуиды. есть - не берем гуиды и обходимся строкой в 10 символов и чекаем коллизии

Anatoly
14.03.2017
11:20:06
это очевидно не относится к рфц и перекладывается на пользователя - забить или не забить. И это нормально.

Stanislav
14.03.2017
11:20:23
ой тупо сформулировал сорян да

Anatoly
14.03.2017
11:21:03
> я попробую даже предположить что главная мотивация такой мотивации было не проверять коллизии. | этого нет в документе, это дали тебе решать. забить или не забить.

Stanislav
14.03.2017
11:22:20
хотел сказать что ок я согласен что главная мотивация была не в том чтобы забивать на коллизии а в том чтобы не иметь единго авторити и как следствие этого неимения превозмагать
но если оно есть то зачем гуиды ?

Anatoly
14.03.2017
11:23:22
так его нет. одна субд, 100 клиентов. каждый генерит гуиды, не заморачиваясь. и никого не спрашивают.

Stanislav
14.03.2017
11:24:36
ну это в каком то проекте конкретном
а вообще? если вопрос стоит генерить рандомные пк в одной базе ?

Dmitry
14.03.2017
11:27:32
в монге псевдорандомные идентификаторы, но мотононно растущие. Иначе все их replicaSetы развалтся