
Alexey
22.05.2016
10:05:52
мне как инженеру могут поставить задачу

Dmitrii
22.05.2016
10:05:56
Так вопрос не о цене был.

Alexey
22.05.2016
10:06:11
и одно из решений данной задачи это ММ в синхронном режиме

Dmitrii
22.05.2016
10:06:14
Цена будет вычисляться на тестах после реализации на тестовом стенде

Google

Alexey
22.05.2016
10:06:27
я про бизнес цену

Dmitrii
22.05.2016
10:07:02
Можно сколько угодно дискутировать на около MM темы, но все же )

Alex
22.05.2016
10:07:03
можно всё таки кейс а не эфемерные штуки? вот Дмитрий привел пример, хоть и абстрактный.

Alexey
22.05.2016
10:07:32
просто доводится инфа, что:
1. Решение должно иметь Резервирование
2. При падении не должно быть потерь данных вообще
3. Время восстановления ограничено
4. Ресурсы задействованные надо по максимуму использовать
И почему тут не использовать MM синхронный?

Dmitrii
22.05.2016
10:08:04
Да почему абстрактный то? Вот есть сайт. Там дохерищаа трафика. Не такая частая запись. Хочу чтобы при отказе базы, или ее обслуживании все работало как и прежде
Раскидывать запроса пгпулом ну это изврат, простите.

Alexey
22.05.2016
10:08:35
и почему тогда надо говорить, что право на М-М имеет только асинхронный вариант?

Dmitry
22.05.2016
10:08:38

Alexey
22.05.2016
10:09:01
Репликация Синхронная?

Dmitrii
22.05.2016
10:09:21
Я хочу писать в любой инстанс базы.
Вот примерно как в RabbitMQ можно HA политики настроить, чтобы все очереди были размазаны по всему кластеру
Так и тут.

Google

Dmitrii
22.05.2016
10:10:04
И на таком кластере мы выжимали 5k w/sec

Alexey
22.05.2016
10:10:12
Еще раз, реплкикация нужна синхронная? - да

Dmitrii
22.05.2016
10:10:15
Более чем достаточно в контексте маленькая запись.

Alexey
22.05.2016
10:10:32
т.е. пинальти на запись мы уже несем

Dmitrii
22.05.2016
10:10:35

Alexey
22.05.2016
10:10:47
отлично

Dmitrii
22.05.2016
10:10:52
Я готов с этим жить. Бизнес это даже не заметит.
Им надо чтобы сайт показывался круглые сутки не более.

Alex
22.05.2016
10:11:57
а что будет если база превысить объем хранилища ? на всех серверах пачкой ? :)

Dmitrii
22.05.2016
10:12:08
Единственное, что меня напрягает во всей этой истории, так это DDL + INSERT/UPDATE/DELETE операции на разных узлах.

Alexey
22.05.2016
10:12:13
теперь предположим, что у тебя не тупой инсерт данных или апдей по ключу, а идут сложные апдейты, требующие значительных ресурсов (на формирование плана запросов, на поисх данных для апдейта).
в этом случае MM даст дополнительный выигрышь по сравнению с A-S

Dmitrii
22.05.2016
10:13:11
Я просто уже словил на проде deadlock на DDL операции
И чет подозреваю, что на MM реплике все будет еще трешовее.

Alex
22.05.2016
10:14:01
а с учетом того что запрос не будет на несколько нод параллелится то непонятно как это еще и спасет...

Alexey
22.05.2016
10:16:48
зачем один запрос на несколько нод паралелить?

Alex
22.05.2016
10:17:03
быстрее данные собрать при сложном апдейте

Nick
22.05.2016
10:17:12

Alex
22.05.2016
10:17:53
Хороший пример

Nick
22.05.2016
10:19:41
еще хороший пример - биллинги.

Google

Alexey
22.05.2016
10:21:54
В сбере было пара датацентров забито Alpha серверами (наверное уже забыли про такую архитектуру) под управлением OpenVMS, который работал как раз, как M-M Sync
к сожалению описание тех задач, которые решались/решаются с помощью этого комплекса так же попадают под NDA
Ну и для тех, кто интересуется активно такими вопросами есть отличный ресурс
http://www.availabilitydigest.com/

Dmitrii
22.05.2016
10:23:56
А ты расскажи так же как в универах задачи решают. Ну типа посчитайте сопротивление водонапорной башни в воде когда ее будут поднимать наверх

Alexey
22.05.2016
10:24:16
там вы найдете много интересного и наверника будет реальные примеры где используется Active-Active Sync варианты

Dmitrii
22.05.2016
10:24:16
А на самом деле речь о нагрузке на межконтинентальную ракету

Phil
22.05.2016
10:24:49

Nick
22.05.2016
10:27:49
у меня другой опыт.
1) в мускле их удобно быстро обновлять и они сразу оказываются на всех днс серверах (это невероятно лучше, чем в файлах, к тому же с точки зрения ФС хорошо)
2) у меня географический мультимастер и мне критично иметь данные, если одна из сторон отпадет. Реально пишу я только в один, остальные выполняют роль активного слейва

Alexey
22.05.2016
10:30:58
Ну тут вообще заявляется, что Мастер-Мастре Синхронный не имеет применения
и пока им не предоставят реальный пример (пример чего, кстати?) они не поверят

Nick
22.05.2016
10:31:26
любые критичные данные, например - биллинг.

Alexey
22.05.2016
10:31:26
нужно пример использования M-M Sync?
или пример того, где без него не обойтись?
так вот, обойтись можно безо всего
даже вообще без резервирования и бэкапа
но это тож не аргумент

Nick
22.05.2016
10:32:20
причем для биллинга - это в первую очередь активный слейв.

Dmitrii
22.05.2016
10:32:59
Опять полемика )) Так в итоге, про BDR кто может сказать конкрентно?
Или путь один - идти и самому пробовать?

Google

Alexey
22.05.2016
10:33:29
про BDR вряд ли. Я пытался получить хоть какой-то фидбэк по pglogical

Phil
22.05.2016
10:33:31

Alexey
22.05.2016
10:33:32
их же производства
даже писал им
но никаких ответов
в общем тут надо самому брать и пробовать
тестировать
и решать, подходит ли тебе или нет

Phil
22.05.2016
10:34:31

Alexey
22.05.2016
10:34:59
Фил, ты не понял основной мессадж
по dns тебе предлагается обсуждать в другом месте

Phil
22.05.2016
10:38:11

Dmitry
22.05.2016
10:40:35
Мы размазываем нагрузку на запись, чтобы её уменьшить. Получаем пенальти, блокировки и падение производительности. Замкнутый круг какой-то...

Nick
22.05.2016
10:42:31
я не знаю как оно там работает внутри, но я вот просто по инструкции эти мультимастеры делаю и они просто работают. Размер базы никогда ни на что не влиял (но, еще раз - у меня пишется всегда только в один мастер, если синхронно)
если асинхронно, то в мускле надо делать автоинкримент с шагом в число мастеров и тогда тоже всё работает (но зависит от данных если есть форинкеи)

Dmitry
22.05.2016
10:44:56
Мне кажется не важно, какая репликация: синхронная или асинхронная. Пока ММ без заранее спроектированной архитектуры приложения несёт больше проблем чем пользы. Кстати в Oracle RAC та же картина. Если приложение писалось без учета работы на кластере - кластер можно разбирать.

Nick
22.05.2016
10:45:59
а вот не согласен. Есть то ли proxysql, то ли greensql - и всё это разруливается на их уровне, а приложение вообще ничего про них не знает

Alexey
22.05.2016
10:46:31
ну скажем так, адаптировать/разработать приложение под Oracle RAC или M-M Sync несколько проще, а порой и вообще не надо, чем под случай с M-M Async

Nick
22.05.2016
10:46:36
скажем, если много чтения, то N слейвов и раскидывать запросы - самое то

Google

Alexey
22.05.2016
10:46:47
и уже это может стать поводом обратиться к MM Sync

Alex
22.05.2016
10:47:44
Кто нибудь из присуствующих на текущем пгконе скажет что либо про ММ ? :)

Dmitry
22.05.2016
10:47:48
Ваше право, но я как дба, в свой продакшен такую систему не пустил бы.

Alexey
22.05.2016
10:48:24
ну запомни эту позицию, и когда придет этот случай незабудь уволиться

Nick
22.05.2016
10:48:28
мм асинхронный может применятся в большом количестве случаев, но зависит от данных. Нет форинкеев - нет проблем. каждый мастер пишет свои данные, у каждого свой автоинкримент для индексов и они не пересекаются

Alexey
22.05.2016
10:48:50
да я не против ММ Асинк
я за него

Nick
22.05.2016
10:49:05
т.е. это например большой класс задач собирания около-логов и всякой статистики

Alexey
22.05.2016
10:49:06
но для каждой задачи есть свой инструмент
а заявлять голосолвно, что ММ Синк не нужен, т.к. "я бы такую систему не пустил бы к себе" или "я в финансах работаю и не встечал такого" - вот это, ИМХО, неверно

Dmitry
22.05.2016
15:38:46
MM-async это как? сплитбрейн мне в бороду.
кто-то так не любит свои данные?

Nick
22.05.2016
15:41:15
не знаю, есть ли в постгри такое, а в мускле чтобы не было сплитбрейна - достаточно задать шаг автоинкримента
ну т.е. сплитбрейн там конечно в итоге возможен, но ничего страшного не случится, потом досинкается

Alexey
22.05.2016
15:48:27
Ух... вот это заявления тут проскакивают

Dmitry
22.05.2016
15:49:00
ох лол, что значит досинкается? на машине же не полные данные :D и агрегаты, да идут по ...

Alexey
22.05.2016
15:49:25
Говорите "в моем случае, для моего решения, ничего старшного не случится" или "я пока в моей практике не натыкался на эти проблемы"
M-M Async это очень распространненный вариант

Nick
22.05.2016
15:50:37