@pgsql

Страница 698 из 1062
Mike Chuguniy
05.03.2018
08:26:46
это не поможет. постгрес не умеет в параллельную репликацию ещё
Я вот даже плохо себе представляю, как это - параллельная репликация.

Alexey
05.03.2018
08:27:54
Я вот даже плохо себе представляю, как это - параллельная репликация.
это когда транзакции получаем в сериализованном виде из журнала, а исполняем параллельно. звучит просто, но чтобы ничего не сломать и при этом эффективно параллелить нужен некоторый рокет сайенс

Mike Chuguniy
05.03.2018
08:29:00
Это для простых смертных звучит просто. А вот для меня это звучит страшно. Именно в плане ничего не сломать и не раскорячить данные в непотребное состояние.

Alexey
05.03.2018
08:29:16
в mysql это начали обсуждать в 2007-м, когда Google сказал "а хорошо бы репликацию в mysql в несколько потоков сделать". первое наивное решение появилось в 2013-м, а по-настоящему эффективное будет в 2018-м

Google
Maksim
05.03.2018
08:45:29
@alexey_kopytov а физическая репликация никак не параллелится?

Alexey
05.03.2018
08:46:04
@alexey_kopytov а физическая репликация никак не параллелится?
теоретически можно, но там и не особо нужно?

Alexey
05.03.2018
08:48:59
А теорию почитать, как это делают можно?
можно конечно. сейчас что-нибудь найду

А теорию почитать, как это делают можно?
а вот это наверное. пожалуй, самый крутой спец по этой теме, если брать практиков, а не теоретиков: https://www.percona.com/live/17/sessions/mysql-parallel-replication-logicalclock-all-57-and-some-80-details

Konstantin
05.03.2018
08:58:39
PgPro multimaster применяет транзакции параллельно. Т.е. мы используем собственную версию логической репликации, в которой это реализовано. Я сейчас пробую альернативу логической репликации, при которой бэкенд сам и сразу же будет отправлять изменения на реплики минуя WAL. Когда доделаю, напишу про результаты сравнения со стандартной логичекой репликацией.

Alexey
05.03.2018
09:05:34
а, ну то есть, в секретных подвалах работа ведётся, как я и подозревал :)

я даже хотел написать "в секретных подвалах ПгПро", но подумал, что меня опять хейтером назовут :) а оно вон как

Konstantin
05.03.2018
09:08:30
Мультимастер (правда не самая свежая версия) уже год как лежит в открытом гитхабе. Мы до сих пор боремся с багами (с переменным успехом:) Так что подвалы не секретные и вообще мы сидим на 5-ом этаже, а не в подвале.

Alexey
05.03.2018
09:10:06
конечно про подвалы — это такая фигура речи. я в общем и целом всё даже понимаю. чего я не понимаю — это когда мне начинают рассказывать про "более открытую модель разработки Postgres". Люди из ПгПро, в том числе

она в чём-то более открытая, а в чём-то и более закрытая. Вот эти все пустые наезды быстро надоедают

Google
Konstantin
05.03.2018
09:21:15
Мы несколько раз обсуждали с 2ndQuadrant-рм воможность поддержки параллельной применялки в стандартной логической репликации. Но, насколько я понял, они это не считают high priority task-ом, утверждая, что логическая репликация и так справляется и не сильно тормозит мастера. Что более-менее правда, если не использовать а) синхронный режим б) много подписок в) большие транзакции

Alexey
05.03.2018
09:22:08
г) большие нагрузки со многими соединениями

и д) реплики с меньшими ресурсами, чем мастер

и, собственно, с чего всё началось — е) триггеры на репликах

Alexey
05.03.2018
10:04:40
крутая тема
вообще он в феврале обновлённую версию доклада показывал. наверное на slideshare где-то есть

Evgeniy
05.03.2018
10:05:16
ну в 8.0 от его доклада наверное мало что поменяется

странно что на https://mysqlserverteam.com/ не писали об этом

Alexey
05.03.2018
10:07:47
там больше картинок про 8.0 было. на mysqlserverteam.com тоже что-то писали, но быстро не находится. все такие писатели стали, что всего и не упомнишь

Anton [Mgn, az09@osm]
05.03.2018
10:08:49
всем обновлений

Уязвимости в ClamAV, PostgreSQL, ISC DHCP, BIND, Drupal, Dovecot, Apache Xerces-C и Xen http://www.opennet.ru/opennews/art.shtml?num=48204 Серия новых уязвимостей, информация о которых раскрыта в последние несколько дней. #opennet

Alexey
05.03.2018
10:09:35
а вот ещё интересное по теме параллельной репликации: https://dev.mysql.com/worklog/task/?id=9556

Lucky
05.03.2018
10:41:59
Такой вопрос, есть апдейт вида set goods = array_to_json(array( select(json_array_elements(goods)::jsonb||jsonb_build_object('gid', nextval('seq_good_id'::regclass))))) Сиквенс срабатывает дважды, как обойти это?

Lucky
05.03.2018
10:47:48
В том то и дело, что не одинаковый. Функция нормально проставляет gid при нескольких элементах в массиве json, но после отработки в сиквенсе получается число на 1 больше чем надо

Alexander
05.03.2018
10:47:58
Да, вижу.

Вроде как-то так set goods = array_to_json((select array_agg(el::jsonb||jsonb_build_object('gid', nextval('seq_good_id'::regclass))) from json_array_elements(goods) el))

@LuckyTea, помогает?

Lucky
05.03.2018
10:57:41
сейчас проверю

Google
Lucky
05.03.2018
11:02:18
@LuckyTea, помогает?
Да, спасибо большое. Получается всё это время неправильно функицю дёргал.

Alexander
05.03.2018
11:06:28
Не за что :)

Mike Chuguniy
05.03.2018
13:18:17
Добрый день, уважаемые коллеги! А у меня тут очередной дурацкий вопрос нарисовался. Ну или некоторая кучка вопросов, объединённых одной целью - видеть что-нибудь доступное только суперюзеру и/или владельцу. Пока что хочется видеть полный выхлоп pg_stat_activity с телами запросов безо всяких там <insufficient privilege>. Пока что ничего, кроме сотворить ф-ю c SECURITY DEFINER от имени postgres-а, в которой сделать запрос к pg_stat_activity, отобрать у нее EXECUTE у всех, дать ту же самую EXECUTE правильным пацанам, в голову не пирходит. Есть какие-то более другие пути?

Mikhail
05.03.2018
18:05:34
Всем привет! А как хранить в postgresql точки с широтой и долготой и находить ближайшие? Я знаю что есть postgis, хотелось бы видеть пример базы такой

И запросы к ней

Mikhail
05.03.2018
18:09:01
По разному, самый простой вариант (у нас) храним в двух float полях
А поиск ближайшего и расстояние между двумя точками как?

Andrew
05.03.2018
18:09:11
для нахождения ближайшей в радиусе используем сомписную ф-ю

То есть можно взять справочник, и по нему написать необходимые хранимки.

Для загрузки N точек, входящих в заданный квадрат (карта на сайте) используем поиск по quadkey

Все без postgis

Mikhail
05.03.2018
18:11:54
А почему его не используете?

Artem
05.03.2018
18:12:40
Andrew
05.03.2018
18:12:58
Не нашли более сложных случаев для его применения. Карты через яндекс апи рисуем.

Mikhail
05.03.2018
18:13:03
https://www.postgresql.org/docs/current/static/earthdistance.html
Да, это с использованием postgis :)

Artem
05.03.2018
18:13:15
это не постгис

ну и это https://www.postgresql.org/docs/current/static/datatype-geometric.html https://www.postgresql.org/docs/current/static/functions-geometry.html

Mikhail
05.03.2018
18:20:02
ну и это https://www.postgresql.org/docs/current/static/datatype-geometric.html https://www.postgresql.org/docs/current/static/functions-geometry.html
А как гемоетрические широту и долготу привести к координатам то?

Нужна же точка отсчета какая то

Artem
05.03.2018
18:21:09
А как гемоетрические широту и долготу привести к координатам то?
широта и долгота - это сферические координаты

Google
Artem
05.03.2018
18:27:10
Ну да
те можно задать в сферических координатах полигон и проверить попадание в него точки задданной в этих же координатах. это нормально работает пока размер полигона не сильно большой и кривизной поверхности можно пренебречь.

Mikhail
05.03.2018
18:27:53
Звучит так себе! Пожалуй, лучше PostGIS заюзаю :)

Mikhail
05.03.2018
19:08:13
Kirill
06.03.2018
05:51:29
Интересует опыт использования CEPH Rados в качестве tablespace Postgres-a. Может кто-нибудь уже пробовал? Или может сразу сказать "фу" или "лайк". Не для горячих таблиц OLTP, а для теплых логов аудита.

Yura
06.03.2018
06:01:21
Интересует опыт использования CEPH Rados в качестве tablespace Postgres-a. Может кто-нибудь уже пробовал? Или может сразу сказать "фу" или "лайк". Не для горячих таблиц OLTP, а для теплых логов аудита.
Оригинальный вопрос. Тоже хотелось бы услышать опыт. На самом деле, в недрах постгресса есть недоразвитая возможность подключать разные блок-стораджа. Но ее уже лет двадцать ни кто не пытался использовать/развивать. Было бы классно, если бы кто-нибудь отважный напрямую подключил сеф, минуя абстракцию фс.

Yura
06.03.2018
06:07:06
Амазон сильно модифицировали постгресс в правильном направлении для своей Авроры. Жалко, что в сообществе не хотят учесть их опыт.

Alexey
06.03.2018
06:27:41
а разве постгрес не поддерживает raw devices?

ну да, не поддерживает. в общем, постгрес довольно сильно на файловую систему опирается

Artem
06.03.2018
06:30:22
Наверное путём оракла они так и не пойдут

Alexey
06.03.2018
06:31:12
в innodb поддержка raw devices была изначально. но почему-то совсем не пользуется популярностью. скорее всего её скоро выпилят

Ilia
06.03.2018
06:40:12
в innodb поддержка raw devices была изначально. но почему-то совсем не пользуется популярностью. скорее всего её скоро выпилят
А оно нужно было только чтобы кэш ОС на файлах БД отключать. А теперь во все юниксы специальный флаг открытия файлов завезли. (Кажется последним в этом деле был SunOS). Так что нет теперь смысла использовать RAW.

Ilia
06.03.2018
06:44:34
Sync там что-то

Alexey
06.03.2018
06:46:24
нет, оно конечно не только для этого было

когда-то считалось, что для СУБД файловая система — это один сплошной оверхед. потому что каждая СУБД внутри каждого файла делает свой собственный space management

Google
Alexey
06.03.2018
06:48:12
в каком-то смысле правда, но с операционной точки зрения raw devices — тот ещё геморрой. хотя вот в свете облаков идея заиграла новыми красками

Alexey
06.03.2018
06:50:40
это было до хитрых файловых систем

Vadim
06.03.2018
07:00:26
это для С мануал, а в ОС нет опции

Alexey
06.03.2018
07:05:03
на солярке была mount опция

Sergey
06.03.2018
07:07:13
Dmitry
06.03.2018
07:07:31
Да и в мона смонтировать data sync

*В линуксе

Alexey
06.03.2018
07:08:14
Denis
06.03.2018
07:08:22
Кстати, а есть какие-то сравнения производительности (того же inodb у mysql) через фс и напрямую через блочное устройство? То есть выигрыш там чувствуется на современных ос?

Sergey
06.03.2018
07:09:00
forcedirectio
Нашёл. Интересно как она на Oracle повлияет

Alexey
06.03.2018
07:09:09
я таких не припомню. я даже ни одного живого юзера с innodb + raw devices не видел

возможно в оракловом сообществе есть какие-то бенчмарки

Denis
06.03.2018
07:09:58
Я вот у себя в городе не знаю тоже ни одного ороклоида с raw

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

Dmitry
06.03.2018
07:11:58
Да и в мона смонтировать data sync
data=journal All data are committed into the journal prior to being written into the main file system. Enabling this mode will disable delayed allocation and O_DIRECT support.

черт. короче тот же журнал у бд вид сбоку

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