Гость
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / нужен совет по репликации и обновлению / 19 сообщений из 19, страница 1 из 1
12.09.2017, 14:41
    #39519902
staropramen
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
нужен совет по репликации и обновлению
Всем доброго времени суток.
Ситуация следующая.
Хочу обновить основную версию БД по средствам репликации. Чтоб с минимальным даунтаймом и все такое.
Не могу понять какими средствами клонировать базу. pg_dumpom ?
basebackup и SELECT pg_start_backup('label'); клонируют по файлово, база на новой версии запускается с ошибкой(файлы от старой версии).

Заранее спасибо.
...
Рейтинг: 0 / 0
12.09.2017, 14:54
    #39519916
Melkij
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
нужен совет по репликации и обновлению
staropramenХочу обновить основную версию БД по средствам репликации
Реплика работает только в рамках одной major версии.

Даунтайм в примерно 10 минут (в первый раз, а так - несколько минут) - pg_upgrade в режиме hardlink
...
Рейтинг: 0 / 0
12.09.2017, 15:06
    #39519924
staropramen
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
нужен совет по репликации и обновлению
MelkijstaropramenХочу обновить основную версию БД по средствам репликации
Реплика работает только в рамках одной major версии.

Даунтайм в примерно 10 минут (в первый раз, а так - несколько минут) - pg_upgrade в режиме hardlink
Печаль... Спасибо.
мануалы нахваливают демон слоник, который якобы умеет такое проворачивать.
как в наше время с подобной софтиной? толкового ничего нет ?
...
Рейтинг: 0 / 0
12.09.2017, 15:28
    #39519931
Melkij
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
нужен совет по репликации и обновлению
staropramen,

сколько стоит даунтайм в 10 минут вашему бизнесу? Если это достаточно большая цифра - то почему ваше приложение не умеет штатно пережить 10 минут недоступности мастер базы?
Решение годами проверенное.

С околонулевым даунтаймом - тогда вам нужна логическая репликация. Триггерная таит порядком подводных камней.
...
Рейтинг: 0 / 0
12.09.2017, 19:01
    #39520061
staropramen
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
нужен совет по репликации и обновлению
Melkijstaropramen,

приложение не умеет штатно пережить 10 минут недоступности мастер базы
Решение годами проверенное.

как это штатно без базы
...
Рейтинг: 0 / 0
12.09.2017, 20:44
    #39520100
Melkij
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
нужен совет по репликации и обновлению
Специфично для приложения. SLA в 5 девяток в принципе не может полагаться на постоянную доступность любой из частей приложения или инфраструктуры. Если бизнесу настолько дорого простой в 10 минут, то выделяется соответствующим этому бюджет на архитектора, обсуждаются граничные части, какой функционал критичен, а без чего можно прожить, какой бюджет потребуется на переделку и сопровождение, пишутся изменение приложения под эту архитектуру, продолжается администрирование и сопровождение полученной системы.

Из дешёвого и универсального как прожить без мастер базы - перейти в read-only и читать с реплики. Какую-то запись можно вести в лог или очередь и потом догнать.
Можно резать проект на части и недоступен он соответственно будет только частями. Т.е. нормально сделанное горизонтальное масштабирование на независимые чанки сюда же.

Каким-то проектам - и я встречал такие - для критичной части сервиса база действительно не нужна. Кеша и лога для записи хватает для корректной работы функционала, который должен быть high availability.
...
Рейтинг: 0 / 0
13.09.2017, 08:37
    #39520213
staropramen
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
нужен совет по репликации и обновлению
Melkij,

а если обновить slave сервер, он продолжит работу в стэндбай режиме на новой версии, при условии что master не обновлен?
...
Рейтинг: 0 / 0
13.09.2017, 09:22
    #39520227
Melkij
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
нужен совет по репликации и обновлению
staropramen,
ещё раз:
MelkijРеплика работает только в рамках одной major версии.

Побочный эффект реализации надёжной и нетребовательной до CPU физической репликации.
...
Рейтинг: 0 / 0
13.09.2017, 09:57
    #39520244
mefman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
нужен совет по репликации и обновлению
staropramenMelkij,

а если обновить slave сервер, он продолжит работу в стэндбай режиме на новой версии, при условии что master не обновлен?
сейчас не могу найти ссылку. но гдето читал, что теоретически то это возможно. но могут быть реально непредсказуемые последствия.
...
Рейтинг: 0 / 0
13.09.2017, 10:33
    #39520273
Maxim Boguk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
нужен совет по репликации и обновлению
staropramenMelkij,

а если обновить slave сервер, он продолжит работу в стэндбай режиме на новой версии, при условии что master не обновлен?

Нет. Написали же - одинаковая major версия.
Репликация у PG на уровне физический файлов а они местами разные у разных версий.

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
13.09.2017, 10:43
    #39520280
staropramen
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
нужен совет по репликации и обновлению
Maxim Boguk, Melkij, mefman,

Понятно. Спасибо всем за потраченное время.

mefman,
Там не логическую ли реплику использовали? Натыкался на подобного рода статьи ..
...
Рейтинг: 0 / 0
13.09.2017, 13:02
    #39520401
daevy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
нужен совет по репликации и обновлению
staropramen,

да логическую, репликация между мажорными версиями возможна только при использовании логической репликации (см. slony, londiste, bucardo, pg_logical)
но если вы делаете это в первый раз, то геморой с настройкой и переключением + вероятность завалить апгрейд, гораздо больше чем если использовать вариант с pg_upgrade с даунтаймом базы
...
Рейтинг: 0 / 0
13.09.2017, 15:23
    #39520510
staropramen
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
нужен совет по репликации и обновлению
daevystaropramen,

да логическую, репликация между мажорными версиями возможна только при использовании логической репликации (см. slony, londiste, bucardo, pg_logical)
но если вы делаете это в первый раз, то геморой с настройкой и переключением + вероятность завалить апгрейд, гораздо больше чем если использовать вариант с pg_upgrade с даунтаймом базы
Да я понял. Пока гуглил наткнулся на пару портянок в 20 экранов с применением логической репликации))
Танцы с бубном не рассматриваю, без даунтайма, получается, не обойтись.
...
Рейтинг: 0 / 0
13.09.2017, 15:29
    #39520517
staropramen
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
нужен совет по репликации и обновлению
staropramenТанцы с бубном не рассматриваю, без даунтайма, получается, не обойтись.
Имею ввиду, что устраивает вариант с небольшим даунтаймом больше, чем вероятность завалить апгрейд, естественно ..
...
Рейтинг: 0 / 0
13.09.2017, 18:54
    #39520680
Maxim Boguk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
нужен совет по репликации и обновлению
staropramenstaropramenТанцы с бубном не рассматриваю, без даунтайма, получается, не обойтись.
Имею ввиду, что устраивает вариант с небольшим даунтаймом больше, чем вероятность завалить апгрейд, естественно ..

pg_upgrade downtime если все нормально подготовить 1-5 минут будет (в зависимости от размера базы).

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
14.09.2017, 14:30
    #39521152
staropramen
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
нужен совет по репликации и обновлению
Maxim Bogukstaropramenпропущено...

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

pg_upgrade downtime если все нормально подготовить 1-5 минут будет (в зависимости от размера базы).

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru

База не большая, в пол терабайта. Еще не тестил, но читал, действительно быстро получается.
...
Рейтинг: 0 / 0
14.09.2017, 19:53
    #39521337
staropramen
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
нужен совет по репликации и обновлению
MelkijСпецифично для приложения. SLA в 5 девяток в принципе не может полагаться на постоянную доступность любой из частей приложения или инфраструктуры. Если бизнесу настолько дорого простой в 10 минут, то выделяется соответствующим этому бюджет на архитектора, обсуждаются граничные части, какой функционал критичен, а без чего можно прожить, какой бюджет потребуется на переделку и сопровождение, пишутся изменение приложения под эту архитектуру, продолжается администрирование и сопровождение полученной системы.

Из дешёвого и универсального как прожить без мастер базы - перейти в read-only и читать с реплики. Какую-то запись можно вести в лог или очередь и потом догнать.
Можно резать проект на части и недоступен он соответственно будет только частями. Т.е. нормально сделанное горизонтальное масштабирование на независимые чанки сюда же.

Каким-то проектам - и я встречал такие - для критичной части сервиса база действительно не нужна. Кеша и лога для записи хватает для корректной работы функционала, который должен быть high availability.
Не посоветуете что-то почитать на эту тему? Спасибо.
...
Рейтинг: 0 / 0
14.09.2017, 21:07
    #39521368
Melkij
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
нужен совет по репликации и обновлению
staropramen,
ничего конкретного не вспоминается, к сожалению.

А полтеррабайтную базу в 5 минут обновить через pg_upgrade - вполне реально, да. Собственно, основные затраты времени не на pg_upgrade (кроме ситуации, когда у вас несколько сотен БД), а на выполнение analyze после него.
...
Рейтинг: 0 / 0
15.09.2017, 14:46
    #39521896
grufos
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
нужен совет по репликации и обновлению
Melkij,
основные затраты времени не на pg_upgrade (кроме ситуации, когда у вас несколько сотен БД), а на выполнение analyze после него.

Если используется сборка от компании PostgresPro , то есть возможность воспользоваться расширением dump_stat
и таким образом сильно сократить время на сборе статистити

Я использовал это при обновлении с 9.4 на 9.5 (как раз тестировал :) )
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / нужен совет по репликации и обновлению / 19 сообщений из 19, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]