|
Перенос крупной БД
|
|||
---|---|---|---|
#18+
Други, есть ли такой опыт. Есть PG9 с базой данных 2ТБ + реплика Было создано новое приложение с новой архитектурой БД, связи, таблицы, все новое. Задача обновить ОС сервера, установить PG11 с новой БД и переложить в нее все данные из старой БД, в новую структуру таблиц. Кто то сталкивался? Или каким бы путем потенциально пошли бы? Заранее спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2020, 14:06 |
|
Перенос крупной БД
|
|||
---|---|---|---|
#18+
kliff Други, есть ли такой опыт. Есть PG9 с базой данных 2ТБ + реплика Было создано новое приложение с новой архитектурой БД, связи, таблицы, все новое. Задача обновить ОС сервера, установить PG11 с новой БД и переложить в нее все данные из старой БД, в новую структуру таблиц. Кто то сталкивался? Или каким бы путем потенциально пошли бы? Заранее спасибо. Если сервера рядом и с хорошей сетью - то 2 ТБ не так уж и много. Какие требования по доступности/непрерывности? Хороший вариант - сделать апгрейд на 11 версию на старом сервере, подцепить новый сервер как слейв и switchover на него. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2020, 14:27 |
|
Перенос крупной БД
|
|||
---|---|---|---|
#18+
Извини, не обратил внимания на авторБыло создано новое приложение с новой архитектурой БД, связи, таблицы, все новое. это только совместно с разработчиками бд. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2020, 14:40 |
|
Перенос крупной БД
|
|||
---|---|---|---|
#18+
Просто размышления. Ставите отдельно пустой сервер со старой структурой, делаете подписку на все изменения с текущего(логическая репликация). После каким-нибудь образом (хоть pgdump) переливаете основной сервер на новый. Потом доливаете изменения, возможно в несколько заходов. В какой-то момент останавливаете старый мастер, доливаете на новый последние изменения с "логической реплики" и переключаетесь на новый мастер. Но наверное все равно нужна какая-то утилита, способная из старой схемы в новую "конвертировать" данные. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2020, 15:59 |
|
Перенос крупной БД
|
|||
---|---|---|---|
#18+
Guzya Просто размышления. Ставите отдельно пустой сервер со старой структурой, делаете подписку на все изменения с текущего(логическая репликация). После каким-нибудь образом (хоть pgdump) переливаете основной сервер на новый. Потом доливаете изменения, возможно в несколько заходов. В какой-то момент останавливаете старый мастер, доливаете на новый последние изменения с "логической реплики" и переключаетесь на новый мастер. Но наверное все равно нужна какая-то утилита, способная из старой схемы в новую "конвертировать" данные. а на 9ке уже есть логическая репликация? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2020, 16:17 |
|
Перенос крупной БД
|
|||
---|---|---|---|
#18+
mefman, Через расширение pglogical от 2Q. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2020, 18:45 |
|
Перенос крупной БД
|
|||
---|---|---|---|
#18+
vyegorov mefman, Через расширение pglogical от 2Q. тут имхо главная засада - изменение структуры БД у ТСа. в лоб не получится. чем реплицировать - детали ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2020, 18:51 |
|
Перенос крупной БД
|
|||
---|---|---|---|
#18+
Еще нужно продумать методику проверки корректности полученного результата. Тут простой сверкой количества записей вряд ли обойдетесь. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2020, 09:45 |
|
Перенос крупной БД
|
|||
---|---|---|---|
#18+
mefman kliff Други, есть ли такой опыт. Есть PG9 с базой данных 2ТБ + реплика Было создано новое приложение с новой архитектурой БД, связи, таблицы, все новое. Задача обновить ОС сервера, установить PG11 с новой БД и переложить в нее все данные из старой БД, в новую структуру таблиц. Кто то сталкивался? Или каким бы путем потенциально пошли бы? Заранее спасибо. Если сервера рядом и с хорошей сетью - то 2 ТБ не так уж и много. Какие требования по доступности/непрерывности? Хороший вариант - сделать апгрейд на 11 версию на старом сервере, подцепить новый сервер как слейв и switchover на него. в принципе возможна остановка сервиса на сутки. Да одна из идей была в первую очередь провести апгрейд, но тут конечно вопрос с апгрейдом ОС, планируется переход линукса на новое ядро. Возможно еще вариант все запросы с реплики перекинуть на мастер, остановить реплику, полностью очистить, установить новую ОС, установить ПГ 9 и заново запустить реплику. Остановить сервис и выполнить апгрейд ПГ на 11ю версию на реплике. Сделать реплику мастером и дальше апгрейдить бывший мастер. Далее рядом развернуть новую БД на мастере и лить в нее данные. Но это все в теории. Неизвестно сколько может времени занять мапинг данных и вставка в новую структуру. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2020, 11:39 |
|
Перенос крупной БД
|
|||
---|---|---|---|
#18+
kliff Далее рядом развернуть новую БД на мастере и лить в нее данные. Но это все в теории. Неизвестно сколько может времени занять мапинг данных и вставка в новую структуру. Такие переносы тестируются раз 3-4 на копии production данных и на копии production оборудования. После чего будет известно и сколько перенос занимает и можно проверить работоспособность того что получается после. Из моей практики ни 1го ни со 2го раза без серьезных проблем такие переносы не проходят. Так что тестирование и еще раз тестирование. И да наверное лучше сначала на заведомо рабочей структуре данных обновиться до 11-12-13 версии пожить на ней недельку-месяц и уже потом обновляться на новую структуру данных. -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2020, 11:44 |
|
Перенос крупной БД
|
|||
---|---|---|---|
#18+
спасибо всем, будем подумать. само тестирование мапинга данных и перкладки их в новую структуру, отсадим на отдельный сервер копию системы и 5% данных возьмем от всего объема. В итоге ошибок при переносе данных на бою скорее всего получится избежать, в идеале. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2020, 12:53 |
|
Перенос крупной БД
|
|||
---|---|---|---|
#18+
kliff спасибо всем, будем подумать. само тестирование мапинга данных и перкладки их в новую структуру, отсадим на отдельный сервер копию системы и 5% данных возьмем от всего объема. В итоге ошибок при переносе данных на бою скорее всего получится избежать, в идеале. 5% от всего объема - очень опасная идея... я бы не советовал. Там на переносе легко могут быть куски с нелинейной зависимостью скорости от объема (а один квадратичный кусок при 20 кратной разницы в объеме вам даст сюрприз при реальном переносе). Но если других вариантов нет - лучше так чем вообще никак не тестировать. -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2020, 13:01 |
|
|
start [/forum/topic.php?fid=53&fpage=21&tid=1994399]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
48ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 291ms |
total: | 430ms |
0 / 0 |