Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Копия базы с другого континента  [new]
questor
Member

Откуда: Москва
Сообщений: 97
Вопрос немного идеологического плана.

Есть два MSSQL-сервера, находятся на разных континентах. Первый сервер (назовём его SQL1) находится в дата-центре несёт базу, в которой находится информация финансового характера. Второй сервер (назовём его SQL2) находится прямо в офисе, на нём крутится локальная база телефонии.

И для нужд телефонии нужно иметь информацию из финансовой базы (информация о клиентских контактах, выводится у оператора, когда идёт звонок).

Сейчас сделано так. Настроен джоб, который ночью полностью копирует нужные таблицы с одного сервера на другой (через linked-сервер), плюс некоторые критичные таблицы копируются раз в час (добавленные строки, их немного - порядка 10-20 в сутки, всего есть пяток таблиц, в каждой почти миллион записей).

Какие есть проблемы. Достаточно часто ночные обновления не проходят, а даже когда и проходят - похоже, сильно нагружают канал. (Есть обоснованные подозрения). Хотя админы утверждают, что каналы хорошие.

Хочется повысить стабильность схемы. Возникло две мысли.

Первая - делать ночью бэкап на sql1 и полностью разворачивать базу на sql2. Минусы - информация рассогласовывается за прошедшие сутки, всё равно придётся докручивать логику инкрементальных обновлений (в принципе, с этим можно смириться).

Вторая - сделать репликацию базы с sql1 (publisher) на sql2 (subsriber). Особого опыта нет, но вариант выглядит достаточно привлекательным за счёт того, что можно избавиться от инкрементальных обновлений, полностью переложив на службы репликации все задачи по обновлению. Что удерживает - частые комментарии, что репликация не очень хороша (тынц - http://habrahabr.ru/post/130320/ ) и что с ней тоже бывают проблемы.

Вот и думаю - в какую сторону глобально копать. Есть советы из опыта, что лучше подходит для такого рода задач?
30 июн 14, 12:55    [16238059]     Ответить | Цитировать Сообщить модератору
 Re: Копия базы с другого континента  [new]
Glory
Member

Откуда:
Сообщений: 104751
questor
Достаточно часто ночные обновления не проходят

Это такое сообщение об ошибке ?

questor
а даже когда и проходят - похоже, сильно нагружают канал

Это как мониторится ?

questor
Что удерживает - частые комментарии, что репликация не очень хороша (тынц - http://habrahabr.ru/post/130320/ ) и что с ней тоже бывают проблемы

Проблемы у вас и сейчас есть.
Голословное сообщение одного неудачника о своих проблемах не есть истина, "что репликация не очень хороша"
30 июн 14, 13:00    [16238094]     Ответить | Цитировать Сообщить модератору
 Re: Копия базы с другого континента  [new]
questor
Member

Откуда: Москва
Сообщений: 97
Здравствуйте, Glory, всегда приятно вас читать.

Насчёт ошибок. Да, джоб который должен полностью скопировать таблицу (создать временную табличку, заполнить данными из linked-сервера, удалить основную таблицу, переименовать временную таблицу в основную) прерывается на шаге копирования данных. Точно не воспроизведу, за последние пару недель не появлялось.

Насчёт сильной нагрузки... Увы, не мониторится - не знаю, как это грамотно сделать. Есть косвенный признак - во время операций по копированию начинаются сбои в ПО, которое завязано на эти базы.

Кстати, думал о ещё одном варианте. Поскольку нужна не вся база - а лишь одна таблица, то был вариант выгрузки-загрузки данных через bcp.exe (оба SQL - одинаковые SQL2012)

В любом случае, хочется выбрать какой-то вариант, который
а) уменьшает проблемы с каналом
б) не создаёт лишних простое в работе ПО
30 июн 14, 13:21    [16238246]     Ответить | Цитировать Сообщить модератору
 Re: Копия базы с другого континента  [new]
Glory
Member

Откуда:
Сообщений: 104751
questor
Да, джоб который должен полностью скопировать таблицу (создать временную табличку, заполнить данными из linked-сервера, удалить основную таблицу, переименовать временную таблицу в основную) прерывается на шаге копирования данных.

И вы читали это сообщение ?

questor
Насчёт сильной нагрузки... Увы, не мониторится - не знаю, как это грамотно сделать. Есть
косвенный признак - во время операций по копированию начинаются сбои в ПО, которое завязано на эти базы.

ПО тоже работает с удаленным сервером по этому каналу ?

questor
В любом случае, хочется выбрать какой-то вариант, который
а) уменьшает проблемы с каналом
б) не создаёт лишних простое в работе ПО

Нет вариантов, которые "уменьшают проблемы с каналом"
Есть вариант, который уменьшает объем данных, который будет проходить через канал.
Называется он репликация
30 июн 14, 13:25    [16238273]     Ответить | Цитировать Сообщить модератору
 Re: Копия базы с другого континента  [new]
invm
Member

Откуда: Москва
Сообщений: 9845
questor
В любом случае, хочется выбрать какой-то вариант, который
а) уменьшает проблемы с каналом
б) не создаёт лишних простое в работе ПО

Транзакционная репликация + возможно, более тонкая настройка профиля агента распространения.
Проблема с каналом решается организацией резервного канала и туннеля между серверами, который, в случае проблем, будет прозрачно переключаться между физическими каналами.
30 июн 14, 13:37    [16238362]     Ответить | Цитировать Сообщить модератору
 Re: Копия базы с другого континента  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8839
Зачем гонять всю таблицу, копируйте только разницу.
Транзакции могут быть неприменимы, если их нельзя настроить физически.
30 июн 14, 14:01    [16238533]     Ответить | Цитировать Сообщить модератору
 Re: Копия базы с другого континента  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31987
questor
Вторая - сделать репликацию базы с sql1 (publisher) на sql2 (subsriber). Особого опыта нет, но вариант выглядит достаточно привлекательным за счёт того, что можно избавиться от инкрементальных обновлений, полностью переложив на службы репликации все задачи по обновлению. Что удерживает - частые комментарии, что репликация не очень хороша (тынц - http://habrahabr.ru/post/130320/ ) и что с ней тоже бывают проблемы.
Всякие "проблемы репликации" возникают, когда объём изначально накопленных данных очень велик и хочется избежать повторных начальных синхронизаций.
Если у вас это не так (скорее всего, объём "(информация о клиентских контактах" не очень высок), то проблем не должно быть. В обычном OLTP режиме, после синхронизации, всё будет работать быстро.
Заодно получите опыт работы с репликациями.

Надёжность каналда нужно, конечно, повышать, это для любых решений будет мешать.
30 июн 14, 14:53    [16238918]     Ответить | Цитировать Сообщить модератору
 Re: Копия базы с другого континента  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31987
Владислав Колосов
Транзакции могут быть неприменимы, если их нельзя настроить физически.
Что вы имеете в виду?
30 июн 14, 14:54    [16238927]     Ответить | Цитировать Сообщить модератору
 Re: Копия базы с другого континента  [new]
Артём Невняткин
Member

Откуда: Ярославль
Сообщений: 5
alexeyvg, полагаю что он имел ввиду "невыполнимы".
30 июн 14, 19:08    [16240625]     Ответить | Цитировать Сообщить модератору
 Re: Копия базы с другого континента  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31987
Артём Невняткин
alexeyvg, полагаю что он имел ввиду "невыполнимы".
Ещё загадочнее.

"Транзакции могут быть невыполнимы, если их нельзя настроить физически."

"Дерево может быть зелёным, если трамвай идёт без остановок" :-)
30 июн 14, 23:40    [16241228]     Ответить | Цитировать Сообщить модератору
 Re: Копия базы с другого континента  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8839
Я имел в виду, что удаленный сервер недоступен для настройки репликации или структура таблиц не подлежит изменению.
1 июл 14, 14:05    [16243675]     Ответить | Цитировать Сообщить модератору
 Re: Копия базы с другого континента  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31987
Владислав Колосов
Я имел в виду, что удаленный сервер недоступен для настройки репликации или структура таблиц не подлежит изменению.
А, вы писали про невозможность настрройки репликации.. Понятно, я думал, вы про транзакции :-)

Да, такое может быть, и некоторые требования с модели есть, в первую очередь наличие первичного ключа...
1 июл 14, 20:35    [16245681]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить