@pgsql

Страница 150 из 1062
Марк ☢
08.11.2016
19:12:36
Вместо этого лучше бы бенчмарки показали. Пиздеть -- не мешки ворочать

Аггей
08.11.2016
19:12:44
Безусловно в оракл много вспомогательных инструментов для администрирования, есть Enterprise manager - админка для чайников, но я бы никогда не навал администрирование оракла простым

Марк ☢
08.11.2016
19:13:15
Ясен пень, местами там быстрее. Но блять. На сколько?

Аггей
08.11.2016
19:13:58
Восновном субъектиные (не технические) показатели указаны

Google
Марк ☢
08.11.2016
19:14:22
Дак именно. Где квадрат гартнера -- сравнивают кислое с длинным

Evgeniy
08.11.2016
19:14:38
@kelvich, Read-only tx speed is the same as in standalone postgres. в clock-si читающий ждет комитающуюся транзакцию, если читает то что она поменяла

как у вас?

Марк ☢
08.11.2016
19:16:00
Восновном субъектиные (не технические) показатели указаны
Самая ржака что мол постгрес не сертифицирован на хранение персданных. Дак понятно, а есть любой другой сертифицированный опенсорс продукт?

Vadim
08.11.2016
19:16:22
он сертефицирован кстати уже)

Марк ☢
08.11.2016
19:16:41
Пруф

Ну может разве чейто форк. Типа постгреспрошный

Аггей
08.11.2016
19:17:22
Они не указывают, что почти все перечисленные фишки только в Enterprise версии оракла

Марк ☢
08.11.2016
19:17:42
Да. И сравнили бы цену кстати.

Evgeniy
08.11.2016
19:17:57
господи, как вас просто раззадорить

Аггей
08.11.2016
19:18:00
В стандарте оракл от постгрес недалеко ушел

Марк ☢
08.11.2016
19:18:12
Mike Chuguniy
08.11.2016
19:20:40
Забавное чтиво, ага...

Google
Vadim
08.11.2016
19:21:54
да не было цели раззадорить. Документ этот говорит об одном - заметили, переживают.

Марк ☢
08.11.2016
19:22:44
А что, у них рашка такой большой рынок сбыта ?

Vadim
08.11.2016
19:23:11
нет. помоему не более 1%

Марк ☢
08.11.2016
19:23:34
Ну а чо тогда. Импортозаместят постгресом и всё.

Вот еще пдфки какието выдумывать

Аггей
08.11.2016
19:25:55
DBaaS говорят нет

А как же амазоновский RDS? )

Darafei
08.11.2016
19:35:49
А как же амазоновский редшифт ещё спроси

blkmrkt
08.11.2016
19:49:15
Вот проблема как дизайнить схему: У меня есть таблица фоток с id и album_id, обе колонки идентифицируют уникальное фото, однако никаких прямых запросов по ним не производится. Что тут правильней делать: CREATE PRIMARY KEY (id, album_id) или ADD CONSTRAINT photo UNIQUE (id, album_id)?

Аггей
08.11.2016
19:51:33
Обе идентифицируют или идентифицирует пара колонок?

blkmrkt
08.11.2016
19:52:00
пара колонок идентифицирует

тк есть дубликаты и той и другой по отдельности

Alex
08.11.2016
19:52:37
Обьеденить ид и альбум_ид через подчеркивание например

blkmrkt
08.11.2016
19:53:35
Все запросы к таблице идут по индексу с другой колонки from_id, и мне нужно лишь запретить писать дубликаты (id и album_uid в одном row) в таблицу. Семантически верно звучит PRIMARY KEY, но мне кажется что pkey несет больше оверхеда чем просто unique constraint, тк последний наверное можно упростить каким-нибудь блум фильтром например

Alex
08.11.2016
19:53:37
Alex
08.11.2016
19:54:00
Тогда констрейнт имхо

blkmrkt
08.11.2016
19:54:03
Обьеденить ид и альбум_ид через подчеркивание например
не не вариант, потом когда-нибудь буду их по отдельности индексировать

Darafei
08.11.2016
19:54:41
не бояться и использовать составные pkey

Google
Alex
08.11.2016
19:54:58
+1

blkmrkt
08.11.2016
19:55:09
хотя пишут что технически, PRIMARY KEY это просто комбинация UNIQUE и NOT NULL

Аггей
08.11.2016
19:55:20
+1
А Имхо другое ))

blkmrkt
08.11.2016
19:55:52
не бояться и использовать составные pkey
да вот спасибо, так и сделаю

Alex
08.11.2016
19:55:58
А они могут быть нулами ?

blkmrkt
08.11.2016
19:56:04
теперь у меня есть здоровая таблица где PRIMARY KEY (id), а нужно сделать его (id, album_id). Можно как-нибудь сделать его композитным, не дропая pkey на id?

Аггей
08.11.2016
19:57:09
В том же Oracle, наличие pkey упрощает некоторые операции... в postgres не могу сказать приносит ли какаие-то +, но и - не вижу

Alex
08.11.2016
19:57:55
А сорри :)

Darafei
08.11.2016
19:58:31
вообще, заворачивай миграции в транзакции :)

а лучше найди любимую тулу для миграций и используй

blkmrkt
08.11.2016
19:59:07
ну мне не страшно если таблица локнется на запись

Stas
08.11.2016
20:51:37
@kelvich, Read-only tx speed is the same as in standalone postgres. в clock-si читающий ждет комитающуюся транзакцию, если читает то что она поменяла
Так же, тут мой косяк в презе. Автотесты настроены на read-only и update-only нагрузку, соот-но в read-only селекты не ждут никого, так как никто не пишет. При смешанной нагрузке это должно быть заметно, если транзакции короткие, добавлю на слайды.

Evgeniy
08.11.2016
20:52:17
просто я почитал оригинальный пейпер, там явно этот момент подчеркнут и пробенчмаркан

это очень важный нюанс

пушо щас ридерс не ждут врайтеров никак

а тут на миксе будет жопа

Google
Evgeniy
08.11.2016
20:53:17
ну и например от той же галеры важное отличие

Stas
08.11.2016
20:54:47
Да, это принципиальная вещь в такой системе, на одной машине можно управлять атомарно видимостью битиком в clog, а если распределенно коммит делать, то появляется in-doubt

Evgeniy
08.11.2016
20:54:59
еще интересно можно ли будет зашорткатить этот момент, если у нас будет локально чтение и запись на одной ноде

ну мол, платишь только за дистрибьютед штуки, а локально шорткатим максимально

Stas
08.11.2016
20:55:55
ну и например от той же галеры важное отличие
еп, но за это цена в галере — одинаковый лог транзакций везде, там медленнее вставка в него и запись

Evgeniy
08.11.2016
20:56:13
ну тут за запись тоже надо платить ртт

Stas
08.11.2016
20:57:18
ртт да, но без влияния на степень конкуррентности. С другой стороны если диск медленный, то может быть без разницы

Evgeniy
08.11.2016
20:57:37
поясни плиз за галеру, не понял твой поинт

Admin
ERROR: S client not available

blkmrkt
08.11.2016
20:58:49
Запустил вот такое вот: BEGIN; ALTER TABLE photos DROP CONSTRAINT photos_pkey; ALTER TABLE photos ADD PRIMARY KEY (id, album_id); COMMIT;

Evgeniy
08.11.2016
21:01:02
@blkmrkt, maintenance_work_mem

Аггей
08.11.2016
21:01:06
Насколько я понимаю тут отъедает размер - мэйтенс воркмем

blkmrkt
08.11.2016
21:01:56
точно, она у меня maintenance_work_mem = 8GB

Stas
08.11.2016
21:02:01
ну мол, платишь только за дистрибьютед штуки, а локально шорткатим максимально
только за дистрибутед, но в мм сейчас всё дистрибутед) Это сделано на уровне таплов и clog — если транзакция породившая тапл коммитится, то у неё в clog особый статус и надо ждать. Соот-но если делать шардинг, то такой статус даст только распределенная транзакция, но не локальная, которая от in-progress сразу перейдет к commit/abort

blkmrkt
08.11.2016
21:02:02
так и подозревал

Evgeniy
08.11.2016
21:02:56
о, збс

расскажи как дистрибутед дедлок детектор делали

Stas
08.11.2016
21:05:01
поясни плиз за галеру, не понял твой поинт
на сколько я понимаю там синхронизация на вставку в журнал. Не смотрел точно как у них сделано, но вроде это единственный сбособ добиться одинакового порядка записей в журнал (а это в доке есть и на это авторекавери завязано). Другой способ — всю запись проксировать на лидера как в рафте, но вроде они такого делают.

Evgeniy
08.11.2016
21:06:06
насколько я знаю они перед коммитом отсылают ченджсет на все ноды и сверяют что оно не конфликтует с инпрогресс транзакциями

потом коммитит

Google
Evgeniy
08.11.2016
21:06:12
больше ничего не знаю

tufedtm
08.11.2016
21:06:31
скрин с какого сервиса?

Evgeniy
08.11.2016
21:06:39
ну и да, скорость изменения строки - максимум раз в 1 ртт

blkmrkt
08.11.2016
21:06:49
Stas
08.11.2016
21:08:04
расскажи как дистрибутед дедлок детектор делали
Хуку в обычный дедлок детектор вставили — если он не нашел локального дедлока, то рассылает через logical message свой граф зависимости транзакций на соседние ноды. Если дистрибутед дедлок есть, то такой же таймаут истечет на другой ноде и у неё уже будет инфа по куску графа с первой, соот-но можно поискать цикл в общем графе

Evgeniy
08.11.2016
21:09:01
рассылает же не просто так, а когда таймаутик вышел. или чо как

я просто очень плохо понимаю как у вас всё работает. пушо architecture.md пустая

Stas
08.11.2016
21:10:14
дд в постгресе — если прождали на локе секунду, то проверяем цикл в графе зависимостей

если нет локального цикла, то кидаем свой кусок графа соседям

я просто очень плохо понимаю как у вас всё работает. пушо architecture.md пустая
соберусь с силами и напишу, много конференций сейчас подряд %)

Evgeniy
08.11.2016
21:12:30
а как ты понимаешь что секунду ждешь лока в дистрибутед? + не понимаю как вы пишите данные по нодам, 3PC вроде в твоей пдф

какой-то я тупой

Stas
08.11.2016
21:13:37
надо все нормально написать, но это проще делать ближе к бете, тогда меньше переписывать)

https://www.postgresql.org/docs/current/static/runtime-config-locks.html

вот

Evgeniy
08.11.2016
21:14:56
да это-то понятно

просто если ты на одной ноде поменял A, на второй B. вторая транзакция в обратном порядке

никто никого не ждал получается

и на коммит у тебя сертификация должна идти

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