Гость
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Актуализация базы / 12 сообщений из 12, страница 1 из 1
08.11.2021, 22:41
    #40110157
huttorok
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Актуализация базы
Добрый день.

Прошу помочь определить оптимальную схему репликации.
Есть два сервера СУБД - условно прод и тест. Нужно несколько раз в день получать все изменения с прода и обновлять тест (желательно минимизировать время восстановления).
При этом после обновления в тесте базы должны быть online и данные доступны для изменения.
Пользователи проводят тестирование выделенное время, далее цикл повторяется - внесенные изменения в тесте откатываются/удаляются и выполняется обновление данными прода.

Базы ~2ТБ, полное восстановление занимает 16 часов. За сутки в проде обновляется ~5% записей.
...
Рейтинг: 0 / 0
08.11.2021, 23:02
    #40110162
Критик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Актуализация базы
huttorok,

Используйте возможности схд
...
Рейтинг: 0 / 0
09.11.2021, 01:13
    #40110174
SERG1257
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Актуализация базы
решение "в лоб"

имеем две базы RESTORING и DEV при том что RESTORING будет восстановлена с NORECOVERY, а DEV с RECOVERY
Меняем DEV как хотим.
Далее переводим RESTORING в STANDBY и затем в OFFLINE
Переводим DEV в OFFLINE
Перезаписываем файлы данных (mdf) и файл лога (ldf) на тот что из RESTORING
Тут надо померить будет ли выгода по времени по сравнению с восстановлением

открываем обе базы в онлайн
Накатываем логи на RESTORING

Другой вопрос можно ли разбить большие таблицы на текущие данные (в PRIMARY файловой группе) и архивные (в READ_ONLY файловой группе). Тогда архивную файловую группу можно будет пропустить.
Это имеет смысл сделать даже вне контекста "Актуализации базы" чисто для ускорения бакапа и восстановления
...
Рейтинг: 0 / 0
09.11.2021, 10:53
    #40110227
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Актуализация базы
huttorok,

для тестирования, как правило, не требуются " все изменения с прода", а если требуются, то такая частая загрузка не нужна. Надо у вас что-то в консерватории тестировщиков подправить...
...
Рейтинг: 0 / 0
09.11.2021, 11:19
    #40110239
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Актуализация базы
huttorok,

как идея - можно попробовать Transactional replication и snapshot.

С прода в тест настроить репликацию.
В нужный момент её останавливать и делать снэпшот базы.
Проводить тестирование и восстанавливать базу в исходное состояние из снэпшота.
Запускать репликацию для синхронизации с продом (тут надо проверить, сработает ли).
...
Рейтинг: 0 / 0
09.11.2021, 20:47
    #40110462
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Актуализация базы
Критик
huttorok,

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

Все остальные предложенные варианты предполагают в каком то виде копирование данных, и очень быстро это сделать нельзя.
...
Рейтинг: 0 / 0
09.11.2021, 21:49
    #40110475
flexgen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Актуализация базы
huttorok
Добрый день.

Прошу помочь определить оптимальную схему репликации.
Есть два сервера СУБД - условно прод и тест. Нужно несколько раз в день получать все изменения с прода и обновлять тест (желательно минимизировать время восстановления).
При этом после обновления в тесте базы должны быть online и данные доступны для изменения.
Пользователи проводят тестирование выделенное время, далее цикл повторяется - внесенные изменения в тесте откатываются/удаляются и выполняется обновление данными прода.

Базы ~2ТБ, полное восстановление занимает 16 часов. За сутки в проде обновляется ~5% записей.


Восстановление 2-х ТБ базы за 16 часов - что-то долго.

Можно попробовать сделать следующее - после восстановления базы на Тесте устанавливаем GoldenGate for SQL Server на Проде и на Тесте, настраиваем и запускаем репликацию с Прода на Тест. Перед тем как начинается тестирование останавливаем репликацию на Тесте, снимаем Database snapshot, и отдаем базу на тестирование. По завершении тестирования восстанавливаем базу из snapshot и вновь запускаем GoldenGate репликацию.
Сам так не делал, но вполне возможно что сработает. Ради интереса завтра попробую сделать такое между двумя серверами на Тесте.
Надо иметь ввиду что GoldenGate стоит денег. Преимущество в том что GG читает данные из transaction log файла, его можно остановить в любой момент и продолжить с той же точки, на которой остановился. Небольшое сомнение вызывает восстановление из snapshot, но это я проверю.
...
Рейтинг: 0 / 0
09.11.2021, 21:54
    #40110476
huttorok
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Актуализация базы
Спасибо за ответы.

В целом какой-то "серебряной пули" для решения задачи я так понял нет.
Буду думать в направлении разделения больших таблиц на текущие данные и архивные.
...
Рейтинг: 0 / 0
09.11.2021, 22:04
    #40110480
huttorok
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Актуализация базы
flexgen,

вроде по описанию что-то похожее можно сделать и на репликации слиянием.
Но возникают вопросы - на сколько она вообще эффективна.
...
Рейтинг: 0 / 0
10.11.2021, 10:53
    #40110587
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Актуализация базы
huttorok,

серебряная пуля есть - это сделать менее ... экзотическим процесс тестирования.
...
Рейтинг: 0 / 0
10.11.2021, 18:43
    #40110839
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Актуализация базы
huttorok
В целом какой-то "серебряной пули" для решения задачи я так понял нет.
Пуля есть, она в первом ответе.
Но недешёвая пуля, не серебряная :-)
...
Рейтинг: 0 / 0
10.11.2021, 18:46
    #40110840
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Актуализация базы
huttorok
вроде по описанию что-то похожее можно сделать и на репликации слиянием.
Нет, быстрые откаты на некие точки сохранения она неспособна делать.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Актуализация базы / 12 сообщений из 12, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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