@rudepython

Страница 262 из 1719
Dmitry
14.03.2017
08:59:41
(помним же что там утф не утф)
MySQL это просто прекрасно, это просто огород костылей и архитектурных ошибок которые тянуться десятилетиями.

Zart
14.03.2017
09:00:19
срыв покровов

Dmitry
14.03.2017
09:00:26
Хотя и Postgres не подарок, но всеже получше.

срыв покровов
Накипело просто. Попробуй хранить в mysql колонку с GUIDами, это просто феерический пиздец.

Google
Zart
14.03.2017
09:01:33
но это же прексраный греп

Igor
14.03.2017
09:03:15
Накипело просто. Попробуй хранить в mysql колонку с GUIDами, это просто феерический пиздец.
а че там такого? я думал, он в некоем подобии varchar(16) бинарно хранится там

Dmitry
14.03.2017
09:03:49
По бинарным полям не построишь индекс.

Igor
14.03.2017
09:04:07
фига о_О

Dmitry
14.03.2017
09:04:27
На первый взгляд приплыли...

Igor
14.03.2017
09:04:30
т.е. или экономишь оперативку с местом на харде и хранишь бинарно, но без индекса, или хуячишь в varchar(36), но с текстовым индексом?

Igor
14.03.2017
09:06:16
а в постгре с этим хоть в порядке всё?

Zart
14.03.2017
09:06:23
не очень

Dmitry
14.03.2017
09:06:46
не очень
Лучше, там под это нативный тип.

Zart
14.03.2017
09:06:48
там приходится ебаться с выбором

для старых пг один екстеншен, для более модных другой

Dmitry
14.03.2017
09:07:41
т.е. или экономишь оперативку с местом на харде и хранишь бинарно, но без индекса, или хуячишь в varchar(36), но с текстовым индексом?
как воркэраунд кодировать питоном в base85 байты уида и хранить varchar. По скорости норм, я проверял.

Google
Igor
14.03.2017
09:08:14
Dmitry
14.03.2017
09:08:24
Zart
14.03.2017
09:08:30
а банальное ... foo_pk uuid default newuuid(), сделать кроссбазово тот еще геморрой

Dmitry
14.03.2017
09:08:54
In [7]: len(base64.b85encode(uuid.uuid4().bytes)) Out[7]: 20

Zart
14.03.2017
09:09:09
это нахуя?

Dmitry
14.03.2017
09:09:34
это нахуя?
алфавит больше поле меньше индекс меньше.

перестраивается быстрее

Igor
14.03.2017
09:10:55
In [7]: len(base64.b85encode(uuid.uuid4().bytes)) Out[7]: 20
ну и заебись, и рыбку съел, и на люстре покачался :)))

пиздец, конечно :(

Dmitry
14.03.2017
09:11:19
BTW: в MySQL полный пиздец с бинарным протоколом, там уже чуть не с девяностых мусолят ProtocolX и вот наконец в 5.7 его поддержали... Ну посмотрел я на этот ProtocolX принципиально никаких изменений, асинхронно с базой работать нельзя, зато можно как в модной монге документами вставлять



Вообще кому интересно на Highload 2016 Зайцев рассказывал про это http://bit.ly/2mHrZHj

Zart
14.03.2017
09:19:27
мне больше интересно кому он это рассказывает

Igor
14.03.2017
09:21:39
percona неплохо так спиздила логотип у beats

Dmitry
14.03.2017
09:22:41
мне больше интересно кому он это рассказывает
Я пошел посмотреть в глаза человеку который хочет рассказать какой mysql-noSQL

<spoiler>не убедил</spoiler>

Ruslan
14.03.2017
09:50:34
зато в sqlite всё хорошо :)=)

Dmitry
14.03.2017
09:54:04
зато в sqlite всё хорошо :)=)
Ага, тормозит себе в файле и ладно :-D

Ruslan
14.03.2017
09:57:49
зато где его только не используют :)

Google
Ruslan
14.03.2017
09:58:07
но мне как-то страшно на это смотреть, ибо он даже с джангой нормально не работает

Zart
14.03.2017
10:00:45
"даже"?

Eugine
14.03.2017
10:01:43
ну, по факту, работает

но почему "даже", это хороший вопрос

Ruslan
14.03.2017
10:04:32
работает, но иногда зависает, когда запросов больше одного

Zart
14.03.2017
10:04:46
в девсервере?

Ruslan
14.03.2017
10:04:47
правда я про джангу 1.8, может в новой поправили

Ruslan
14.03.2017
10:04:51
ага

Anatoly
14.03.2017
10:05:14
только в 5.7 он умер

Stanislav
14.03.2017
10:07:13
а зачем вам гуиды в базе

шардировочка ?

Eugine
14.03.2017
10:07:48
работает, но иногда зависает, когда запросов больше одного
джангопроблемы - https://www.youtube.com/watch?v=SlS5MxuianA

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

или да, шардировочка

Zart
14.03.2017
10:11:52
чтобы были. например, чтобы скрыть последовательность создания пользователей.
uuid4 очень скрывает последовательность, ага. учитывая что в нем таймстемп зашит в открытом виде...

Stanislav
14.03.2017
10:12:13
чтобы были. например, чтобы скрыть последовательность создания пользователей.
это проще делается. хранимка с рандомом либо кодирование интов в полурандомные строки

Stanislav
14.03.2017
10:12:46
нет это не гуид

Google
Anatoly
14.03.2017
10:13:27
да неужели? ну вот когда ты в свою хранимку с рандомом добавишь кода для уменьшения вероятности коллизии, етс, етс, етс. будет сравнимо с guid.

Zart
14.03.2017
10:13:45
мы юзали и рандомы тоже

неудобно

Anatoly
14.03.2017
10:14:33
т.е. если у меня гуиды раз в год совпадают (за последние пять лет - пять совпадений), то уж самописные хранимки с рандомом - сто процентов совпадут

Stanislav
14.03.2017
10:14:44
и размер получается небольшой. символов 6 вон как видосы в ютубе

Stanislav
14.03.2017
10:15:10
ну пусть будет 8

Admin
ERROR: S client not available

Стас Щетинников
14.03.2017
10:15:15
чтобы были. например, чтобы скрыть последовательность создания пользователей.
Если в качестве pk, то производительность у индексов с u(g)uid очень плохая.

Anatoly
14.03.2017
10:15:21
lLid-FKeSM0 - на, сам посчитай.

Stanislav
14.03.2017
10:16:35
но ты сам можешь рулить сколько символов а не юзать миллион как в гуидах

Anatoly
14.03.2017
10:16:54
Zart
14.03.2017
10:16:58
по-моему кто-то или пиздит или выбрал не тот генератор

Стас Щетинников
14.03.2017
10:17:18
зависит от а) СУБД, б) алгоритма генерации.
я читал про mysql и postgres, везде одно и тоже. На больших данных - сильная просадка по производительности. Для монотонных uuid - лучше, но все-равно сильно хуже чем для автоинкреметной sequence.

Stanislav
14.03.2017
10:17:19
в гуиде 128 бит. это не миллион, а ровно 16 байт.
которые вон хранятся в 36 символах угу

Anatoly
14.03.2017
10:17:54
которые вон хранятся в 36 символах угу
нет, они хранятся в 16 байтах в нормальных СУБД.

Google
Anatoly
14.03.2017
10:18:22
либо в 32 символах. дефисы не нужны.

Стас Щетинников
14.03.2017
10:18:22
зависит от а) СУБД, б) алгоритма генерации.
LДа, если знаешь БД или алгоритм, которой бы помог решить проблемы с производительностью, я был бы счастлив про них узнать ;)

Zart
14.03.2017
10:18:37
с производительностью чего?

Zart
14.03.2017
10:19:07
о, мсье знает волшебные слова

Anatoly
14.03.2017
10:19:16
https://msdn.microsoft.com/en-us/library/ms189786.aspx

мсье вообще неплохо разбирается в MS Sql Server 2008-2014/

Zart
14.03.2017
10:19:56
эту функцию вводили в 2005 или 2008?

мсдн имеет обыкновение изображать вид что еол продуктов не существует

Anatoly
14.03.2017
10:20:47
эт я не помню, я её не юзал, т.к. в SQL Server мы не использовали GUID для PK. по ссылке вроде про 2008 написано.

Zart
14.03.2017
10:21:13
ну такую инфу они обрезают 8\

если читать современные вин32 апи доки то создаться впечатление что половина функций появилась в хп/2003/висте, хотя половина из них ведет жизнь чуть ли не с 1.0

Anatoly
14.03.2017
10:22:17
это да, я такую херню не понимаю.

Zart
14.03.2017
10:22:30
тут уже про легаси выступали

Zart
14.03.2017
10:22:47
юзают

Anatoly
14.03.2017
10:22:49
Zart
14.03.2017
10:22:59
если речь про специфические варианты

Stanislav
14.03.2017
10:23:16
только монга только молодость

Igor
14.03.2017
10:23:26
специфические варианты это типа greenplum'а? ))

Zart
14.03.2017
10:23:26
только арбузы

Страница 262 из 1719