@pgsql

Страница 141 из 1062
Марк ☢
04.11.2016
08:56:00
И цпу жрет на это. Не ?

Darafei
04.11.2016
08:56:18
жрёт

а это то, что тебя волнует? :)

Марк ☢
04.11.2016
08:56:56
Ну а как же полировка торпеды ?

Google
Darafei
04.11.2016
08:59:31
нет.

Марк ☢
04.11.2016
08:59:56
Нет всетаки bytea годен. Можнохранить в качестве первичного ключа куски тру рандома по 16 байт. Это будет занимать по 17 байт на ячейку

А чо бы и нет

Надо забенчить

Darafei
04.11.2016
09:00:52
тру рандом не принимает мер к неповторению, в отличие от ууида

Марк ☢
04.11.2016
09:01:34
Ахахахаа. Ржал как конь

И как ууид устраняет нерандомность ?

Darafei
04.11.2016
09:04:10
https://en.wikipedia.org/wiki/Universally_unique_identifier#RFC_4122_variant

неповторение, а не нерандомность

Dmitriy
04.11.2016
09:04:34
UUID с точки зрения безопасности, если ид светится наружу

Марк ☢
04.11.2016
09:05:05
неповторение, а не нерандомность
Штэ. Назови этот способ

Darafei
04.11.2016
09:05:55
Штэ. Назови этот способ
я же ссылку скинул. там вполне себе 5 вариантов генерации ууидов под разные задачи

Марк ☢
04.11.2016
09:06:34
Ну а чем тебе /dev/urandom не устраивает ?

Google
Марк ☢
04.11.2016
09:06:49
Нафиг его еще кодировать в чото

я же ссылку скинул. там вполне себе 5 вариантов генерации ууидов под разные задачи
Кароче каждый нод типэ использует свой фиксированный префикс к рандому.

Там они перемудрили с этим ууид. Реально. Меряются чей рандом рандомнее. Тогда как есть достаточно рандомный даже для криптографии рандом.

Хренью страдают. В любом случае как и просто рандом, ууид может случайно повториться. О чем педивикия и говорит

Аггей
04.11.2016
10:03:30
Марк, обрисую вариант. Есть у тебя таблица... Порциями данные из неё выгружаются на мобильные клиентам... Клиенты могут их менять, добавлять новые, удалять.... А потом через какое то время сливать все назад. Тогда ни префиксы, ни рандомы тебе не помогут. Только uuid.

Pavel
04.11.2016
10:03:31
Это не страдание хренью, а сложный академический вопрос. В системах с миллиардами объектов рандом очень даже может повторяться, т.к. из-за плохой реализации генераторов пространство рандома сильно сужается.

Evgeniy
04.11.2016
10:13:14
тут_уже_ничего_не_исправить_господь_жги.jpg

Darafei
04.11.2016
10:14:46
Тогда тебе ничего непоможет. Ууид тоже на рандомах
нет. в нём есть мак и таймстемп, временами :)

с маками, правда, проблема с последних времён виртуализации

Марк ☢
04.11.2016
10:15:54
нет. в нём есть мак и таймстемп, временами :)
Маки повторяются. А время синхронизировано как правило

Витоге всеравно просто рандом.

Darafei
04.11.2016
10:16:26
повторением маков ты можешь управлять, в отличие от повторения рандома

Марк ☢
04.11.2016
10:17:05
Штэ

У нормальных рандомов есть куча способов пополнения энтропии. См линукс

Например гит кладет болт на коллизию хешей

Ну и если когото прет - ну юзай свой префикс на каждом клеенте и шмат рандома

Аггей
04.11.2016
10:20:44
Марк, пример из реальной жизни. Есть soap сервис. Клиенты шлют запросы. Запросы складываются в БД. Как уникально идентифицировать запрос? Когда генерация уникальных значений производится не на 1м сервере (и даже не на фиксированом их количестве)... никакое повышение энтропии рэндома не поможет. А в алгоритмы генерации uuid уже заложены в большей или меньшей степени способы повышения энтропии

Марк ☢
04.11.2016
10:23:51
Вот эта вот святая вера что в ууид есть какието магические средства просто смешит

Darafei
04.11.2016
10:24:35
в общем, есть industry standard путь решения всех этих проблем, возникающих от использования рандома в лоб. пользуйтесь им как black box, если не хотите разбираться. если будете переимплеменчивать его руками, то можете переизобрести его заново, решая те же самые проблемы, или просто ловя их в продакшене. если хотите разобраться, что за проблемы решаются - почитайте стандарт, там они вполне указаны.

Google
Аггей
04.11.2016
10:24:43
Там нет магии - там есть конкретные алгоритмы

Uuid - это всего лишь представления рэндомов

Darafei
04.11.2016
10:25:54
нет. uuid - стандарт идентификаторов. задача идентификации не идентична задаче рандома.

Марк ☢
04.11.2016
10:26:23
Именно. И есть весьма годный рандом. /dev/urandom. Без энтропийных приколов никак его самому не сделать

Поэтому и в ууидной либе ничего сделать нельзя такого особого и надежного.

Сетевок может не быть. Они могут быть виртуальными и тд

Недоступными для чтения мака и пр.

Darafei
04.11.2016
10:27:48
uuid можно получить из данных

Марк ☢
04.11.2016
10:28:01
10 goto 10

Darafei
04.11.2016
10:28:03
и идентифицировать иммутабельную запись по ней самой

что очень хорошо, например, для распределённого поиска дубликатов

Марк ☢
04.11.2016
10:28:56
О чем я и говорю. Если есть рандом нормальный то его напрямую в постгресе и надо использовать. А если нет -- то никакой ууид не спасет.

Darafei
04.11.2016
10:29:59
Аггей
04.11.2016
10:30:11
Uuid - несколько рэндомов. Тут важен алгоритм их склейки

Darafei
04.11.2016
10:31:30
Uuid - несколько рэндомов. Тут важен алгоритм их склейки
не рандомов же. значений. среди которых может быть, а может не быть рандом, в зависимости от алгоритма генерации. и алгоритм генерации конкретного ууида указывается в нём самом, потому что в нём есть заголовки.

ознакомьтесь же с https://tools.ietf.org/html/rfc4122 в конце концов

Аггей
04.11.2016
10:36:52
не рандомов же. значений. среди которых может быть, а может не быть рандом, в зависимости от алгоритма генерации. и алгоритм генерации конкретного ууида указывается в нём самом, потому что в нём есть заголовки.
Тут формулировка не критична. Тот же mac - вообще говоря не рандомен, но их распределение по миру - делает вероятность попадания последовательных значений твоим клиентам (генераторам uuid) к очень маленьким величинам

Darafei
04.11.2016
10:37:33
про маки, как человек, ведущий базу маков wifi, могу отдельно рассказать, всё не так радужно :)

Аггей
04.11.2016
10:40:51
Ну в uuid не только ведь мак ).

Darafei
04.11.2016
10:41:16
пожалуйста, не называйте рандомом различающиеся значения

Google
Darafei
04.11.2016
10:43:09
а то потом люди думают, что можно просто рандом в bytea положить и какая разница.

Аггей
04.11.2016
10:45:01
И немного о генерации идентификаторов по данным. В простейшем случае это хэш. Но опять же с моим примером soap - ты можешь генерировать хэш - и возвращать его клиенту в ответе на запрос. И он будет достаточно уникально идентифицировать запрос. Но проблема в том, что это ресурсоемко

Admin
ERROR: S client not available

Mars
04.11.2016
11:07:32
Darafei
04.11.2016
11:13:43
А можно ссылку? Интересный кейс
ссылку не знаю, где взять у меня есть какое-то количество данных, которые проходят по пайплайну и являются по сути агрегацией других данных, не имеющей id агрегации чаще всего (в наиболее важных кейсах) получаются идентичными, так что id я им выставляю пост-фактум как id = hash(data) потом они миграцией уезжают в прод-базу, и им делается insert on conflict do nothing - записи только добавляются, не удаляясь; id не зависит от системы, на которой они были сгенерированы

Evgeniy
04.11.2016
11:50:45
кот, может вам будет интересно в жуно http://www.vldb.org/pvldb/vol9/p1365-fernandes.pdf

Evgeniy
04.11.2016
14:00:27
Всем доброго времени суток. Я программист 1С. Хоу осуществить переход на c MS SQL на PostgreSQL. Подскажите, кто осуществлял такие переходы и насколько успешно. На сколько ощутима разница в работе. Спасибо

Evgeniy
04.11.2016
14:02:54
ок. спасибо большое

Pavel
04.11.2016
14:06:31
Всегда пжлста.

Darafei
04.11.2016
15:21:05
а как в psql можно дождаться старта postgres, если он не принимает коннекшены?

Pavel
04.11.2016
15:21:19
А есть способ посмотреть последний запрос, вызвавший ошибку?

А все, нашел.

Dmitriy
04.11.2016
15:22:42
а как в psql можно дождаться старта postgres, если он не принимает коннекшены?
Никак, думаю. Цикл на баше с проверкой exit code не вариант?

Google
Darafei
04.11.2016
16:18:55
Марк ☢
04.11.2016
16:24:23
вариант, спасибо, впилил
Поищи баг редхата на этутему. Там сервак не успевал прогрузиться за три секунды. Фикс -- ждать пять секунд.

Это центос, детка

https://bugzilla.redhat.com/show_bug.cgi?id=800534

Darafei
04.11.2016
16:29:40
У меня вообще докер

Maxim
04.11.2016
17:11:06
опа, теперь это канал про аниме

Марк ☢
04.11.2016
17:13:07
Не про аниме а об аниме

Четай классеку

Maxim
04.11.2016
17:16:22
:(

Судзумия
04.11.2016
17:17:36
Патчите? :)

Maxim
04.11.2016
17:21:15
постоянно :(

Борис
04.11.2016
17:37:01
Всё. Теперь 600!

Dmitriy
04.11.2016
17:39:05
То есть все сообщения читают 600 человек? Так и до страха сцены недалеко

T3ch
04.11.2016
17:39:27
а коммитить в паблик гитхаба - не страшно?

Pavel
04.11.2016
17:41:23
То есть все сообщения читают 600 человек? Так и до страха сцены недалеко
Да, Дмитрий. 600 человек сейчас внимательно следят за каждым вашим сообщением.

Страница 141 из 1062