|
нужен совет по репликации и обновлению
|
|||
---|---|---|---|
#18+
Всем доброго времени суток. Ситуация следующая. Хочу обновить основную версию БД по средствам репликации. Чтоб с минимальным даунтаймом и все такое. Не могу понять какими средствами клонировать базу. pg_dumpom ? basebackup и SELECT pg_start_backup('label'); клонируют по файлово, база на новой версии запускается с ошибкой(файлы от старой версии). Заранее спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2017, 14:41 |
|
нужен совет по репликации и обновлению
|
|||
---|---|---|---|
#18+
staropramenХочу обновить основную версию БД по средствам репликации Реплика работает только в рамках одной major версии. Даунтайм в примерно 10 минут (в первый раз, а так - несколько минут) - pg_upgrade в режиме hardlink ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2017, 14:54 |
|
нужен совет по репликации и обновлению
|
|||
---|---|---|---|
#18+
MelkijstaropramenХочу обновить основную версию БД по средствам репликации Реплика работает только в рамках одной major версии. Даунтайм в примерно 10 минут (в первый раз, а так - несколько минут) - pg_upgrade в режиме hardlink Печаль... Спасибо. мануалы нахваливают демон слоник, который якобы умеет такое проворачивать. как в наше время с подобной софтиной? толкового ничего нет ? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2017, 15:06 |
|
нужен совет по репликации и обновлению
|
|||
---|---|---|---|
#18+
staropramen, сколько стоит даунтайм в 10 минут вашему бизнесу? Если это достаточно большая цифра - то почему ваше приложение не умеет штатно пережить 10 минут недоступности мастер базы? Решение годами проверенное. С околонулевым даунтаймом - тогда вам нужна логическая репликация. Триггерная таит порядком подводных камней. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2017, 15:28 |
|
нужен совет по репликации и обновлению
|
|||
---|---|---|---|
#18+
Melkijstaropramen, приложение не умеет штатно пережить 10 минут недоступности мастер базы Решение годами проверенное. как это штатно без базы ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2017, 19:01 |
|
нужен совет по репликации и обновлению
|
|||
---|---|---|---|
#18+
Специфично для приложения. SLA в 5 девяток в принципе не может полагаться на постоянную доступность любой из частей приложения или инфраструктуры. Если бизнесу настолько дорого простой в 10 минут, то выделяется соответствующим этому бюджет на архитектора, обсуждаются граничные части, какой функционал критичен, а без чего можно прожить, какой бюджет потребуется на переделку и сопровождение, пишутся изменение приложения под эту архитектуру, продолжается администрирование и сопровождение полученной системы. Из дешёвого и универсального как прожить без мастер базы - перейти в read-only и читать с реплики. Какую-то запись можно вести в лог или очередь и потом догнать. Можно резать проект на части и недоступен он соответственно будет только частями. Т.е. нормально сделанное горизонтальное масштабирование на независимые чанки сюда же. Каким-то проектам - и я встречал такие - для критичной части сервиса база действительно не нужна. Кеша и лога для записи хватает для корректной работы функционала, который должен быть high availability. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2017, 20:44 |
|
нужен совет по репликации и обновлению
|
|||
---|---|---|---|
#18+
Melkij, а если обновить slave сервер, он продолжит работу в стэндбай режиме на новой версии, при условии что master не обновлен? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2017, 08:37 |
|
нужен совет по репликации и обновлению
|
|||
---|---|---|---|
#18+
staropramen, ещё раз: MelkijРеплика работает только в рамках одной major версии. Побочный эффект реализации надёжной и нетребовательной до CPU физической репликации. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2017, 09:22 |
|
нужен совет по репликации и обновлению
|
|||
---|---|---|---|
#18+
staropramenMelkij, а если обновить slave сервер, он продолжит работу в стэндбай режиме на новой версии, при условии что master не обновлен? сейчас не могу найти ссылку. но гдето читал, что теоретически то это возможно. но могут быть реально непредсказуемые последствия. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2017, 09:57 |
|
нужен совет по репликации и обновлению
|
|||
---|---|---|---|
#18+
staropramenMelkij, а если обновить slave сервер, он продолжит работу в стэндбай режиме на новой версии, при условии что master не обновлен? Нет. Написали же - одинаковая major версия. Репликация у PG на уровне физический файлов а они местами разные у разных версий. -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2017, 10:33 |
|
нужен совет по репликации и обновлению
|
|||
---|---|---|---|
#18+
Maxim Boguk, Melkij, mefman, Понятно. Спасибо всем за потраченное время. mefman, Там не логическую ли реплику использовали? Натыкался на подобного рода статьи .. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2017, 10:43 |
|
нужен совет по репликации и обновлению
|
|||
---|---|---|---|
#18+
staropramen, да логическую, репликация между мажорными версиями возможна только при использовании логической репликации (см. slony, londiste, bucardo, pg_logical) но если вы делаете это в первый раз, то геморой с настройкой и переключением + вероятность завалить апгрейд, гораздо больше чем если использовать вариант с pg_upgrade с даунтаймом базы ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2017, 13:02 |
|
нужен совет по репликации и обновлению
|
|||
---|---|---|---|
#18+
daevystaropramen, да логическую, репликация между мажорными версиями возможна только при использовании логической репликации (см. slony, londiste, bucardo, pg_logical) но если вы делаете это в первый раз, то геморой с настройкой и переключением + вероятность завалить апгрейд, гораздо больше чем если использовать вариант с pg_upgrade с даунтаймом базы Да я понял. Пока гуглил наткнулся на пару портянок в 20 экранов с применением логической репликации)) Танцы с бубном не рассматриваю, без даунтайма, получается, не обойтись. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2017, 15:23 |
|
нужен совет по репликации и обновлению
|
|||
---|---|---|---|
#18+
staropramenТанцы с бубном не рассматриваю, без даунтайма, получается, не обойтись. Имею ввиду, что устраивает вариант с небольшим даунтаймом больше, чем вероятность завалить апгрейд, естественно .. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2017, 15:29 |
|
нужен совет по репликации и обновлению
|
|||
---|---|---|---|
#18+
staropramenstaropramenТанцы с бубном не рассматриваю, без даунтайма, получается, не обойтись. Имею ввиду, что устраивает вариант с небольшим даунтаймом больше, чем вероятность завалить апгрейд, естественно .. pg_upgrade downtime если все нормально подготовить 1-5 минут будет (в зависимости от размера базы). -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2017, 18:54 |
|
нужен совет по репликации и обновлению
|
|||
---|---|---|---|
#18+
Maxim Bogukstaropramenпропущено... Имею ввиду, что устраивает вариант с небольшим даунтаймом больше, чем вероятность завалить апгрейд, естественно .. pg_upgrade downtime если все нормально подготовить 1-5 минут будет (в зависимости от размера базы). -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru База не большая, в пол терабайта. Еще не тестил, но читал, действительно быстро получается. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2017, 14:30 |
|
нужен совет по репликации и обновлению
|
|||
---|---|---|---|
#18+
MelkijСпецифично для приложения. SLA в 5 девяток в принципе не может полагаться на постоянную доступность любой из частей приложения или инфраструктуры. Если бизнесу настолько дорого простой в 10 минут, то выделяется соответствующим этому бюджет на архитектора, обсуждаются граничные части, какой функционал критичен, а без чего можно прожить, какой бюджет потребуется на переделку и сопровождение, пишутся изменение приложения под эту архитектуру, продолжается администрирование и сопровождение полученной системы. Из дешёвого и универсального как прожить без мастер базы - перейти в read-only и читать с реплики. Какую-то запись можно вести в лог или очередь и потом догнать. Можно резать проект на части и недоступен он соответственно будет только частями. Т.е. нормально сделанное горизонтальное масштабирование на независимые чанки сюда же. Каким-то проектам - и я встречал такие - для критичной части сервиса база действительно не нужна. Кеша и лога для записи хватает для корректной работы функционала, который должен быть high availability. Не посоветуете что-то почитать на эту тему? Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2017, 19:53 |
|
нужен совет по репликации и обновлению
|
|||
---|---|---|---|
#18+
staropramen, ничего конкретного не вспоминается, к сожалению. А полтеррабайтную базу в 5 минут обновить через pg_upgrade - вполне реально, да. Собственно, основные затраты времени не на pg_upgrade (кроме ситуации, когда у вас несколько сотен БД), а на выполнение analyze после него. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2017, 21:07 |
|
нужен совет по репликации и обновлению
|
|||
---|---|---|---|
#18+
Melkij, основные затраты времени не на pg_upgrade (кроме ситуации, когда у вас несколько сотен БД), а на выполнение analyze после него. Если используется сборка от компании PostgresPro , то есть возможность воспользоваться расширением dump_stat и таким образом сильно сократить время на сборе статистити Я использовал это при обновлении с 9.4 на 9.5 (как раз тестировал :) ) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.09.2017, 14:46 |
|
|
start [/forum/topic.php?fid=53&msg=39520280&tid=1996226]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
33ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 144ms |
0 / 0 |