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

Откуда:
Сообщений: 517
День добрый!

Есть база DB1 на сервере S1 плюс основная аппликация, работающая с этой базой.
Создали дополнительную аппликацию, которая использует данные DB1(репорты).
DB1 обновляется относительно интенсивно и не очень хочется, чтоб к ней обращалась еще одна аппликация.
Как вариант- создать еще одну базу, копию основной, чтоб новая аппликация работала именно с ней.
С новой базы данные будут только считываться.
На саколько я понимаю, есть несколько вариантов: репликация, зеркалирование, лог шипинг, ручками.

Ручками вроде самое разумное, ибо можно копировать в новую базу только необходимые данные, а это меньше половины, но это на данный момент не реально.

Какие из остальных вариантов более предпочтительны, менее всего будут грузить основную базу?
Речь идет о базе порядка 50Гб, связь между серверами быстрая, sql 2008 R2 Standard.
Задержка на новом сервере порядка минуты-двух допустима.

А, да, переодически схема основной базы меняется, это означает, что при использовании репликация, зеркалирования, лог шипинга нужно менять и схему новой базы?

Подскажите плз вариант с минимальной нагрузкой на основной сервер и с максимальной простотой обслуживания.
Ну и для общего развития плюсы и минусы каждого варианта.
Спасибо!
9 окт 13, 23:59    [14947951]     Ответить | Цитировать Сообщить модератору
 Re: Помогите советом по поводу копии базы плз  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
abrashka
А, да, переодически схема основной базы меняется, это означает, что при использовании репликация, зеркалирования, лог шипинга нужно менять и схему новой базы?

Подскажите плз вариант с минимальной нагрузкой на основной сервер и с максимальной простотой обслуживания.
Ну и для общего развития плюсы и минусы каждого варианта.

Ну, раз схема меняется, то это потребует при репликации периодической переинициализации публикации (-).
Ну, раз у вас редакция "стандарт", то это ограничивает возможности выбора способов зеркалирования - если мне не изменяет склероз, возможно только синхронное == повышенная нагрузка на сервер, имхо(-).
Доставка журнала имеет лагу по времени - зависит от периодичности резервирования журнала транзакций (-).
10 окт 13, 06:32    [14948260]     Ответить | Цитировать Сообщить модератору
 Re: Помогите советом по поводу копии базы плз  [new]
aleks2
Guest
abrashka
Как вариант- создать еще одну базу, копию основной, чтоб новая аппликация работала именно с ней.

Нормальные герои фсегда идут в обход!

ЗЫ. Гораздо эффективнее преписать/оптимизировать "репорты", чем париться с репликацией безо фсякой нужды.
10 окт 13, 06:53    [14948272]     Ответить | Цитировать Сообщить модератору
 Re: Помогите советом по поводу копии базы плз  [new]
abrashka
Member

Откуда:
Сообщений: 517
aleks2,

Понятно, что репликация/зеркалирование и т.п.- это из пушки по воробьям, но... не все в моих руках, есть определенная политика, новая аппликация не "наша", вот и нужно дать им доступ к данным, не напрягая основную базу.

Понятно, что мне легче переписать репорты, ну или написать несколько пакетов SSIS, которые инкрементально отгружали бы изменения в нужных таблицах, но начальство на это не согласно.

Вот и смотрю в сторону других решений.
Еще такой вопрос, в базе порядка 200 таблиц, у каждой из них три триггера, на оцновление, удаление и инсерт, ведется определеный аудит.
Как это может повлиять на работу репликации/лог шиппинга?

Ну и второй вопрос, есть какая-то возможность "зеркалироват" только выбранные таблицы?

Спасибо!
10 окт 13, 10:05    [14948687]     Ответить | Цитировать Сообщить модератору
 Re: Помогите советом по поводу копии базы плз  [new]
Glory
Member

Откуда:
Сообщений: 104760
abrashka
Понятно, что репликация/зеркалирование и т.п.- это из пушки по воробьям,

Нет. Это стандартный функционал продукта для получения High Availability

abrashka
Вот и смотрю в сторону других решений.
Еще такой вопрос, в базе порядка 200 таблиц, у каждой из них три триггера, на оцновление, удаление и инсерт, ведется определеный аудит.

Вам по-моему уже много раз говорили про RCSI для уменьшения ожиданий блокировок
А для распределения ресурсов есть Resource Governor .
10 окт 13, 10:09    [14948703]     Ответить | Цитировать Сообщить модератору
 Re: Помогите советом по поводу копии базы плз  [new]
invm
Member

Откуда: Москва
Сообщений: 9413
abrashka
Как вариант- создать еще одну базу, копию основной, чтоб новая аппликация работала именно с ней.
С новой базы данные будут только считываться.
На саколько я понимаю, есть несколько вариантов: репликация, зеркалирование, лог шипинг, ручками.
Не нужно второй БД. Отчеты можно запускать:
а) На снепшоте DB1;
б) На уровне изоляции snapshot или read committed snapshot.
10 окт 13, 10:14    [14948734]     Ответить | Цитировать Сообщить модератору
 Re: Помогите советом по поводу копии базы плз  [new]
abrashka
Member

Откуда:
Сообщений: 517
Glory,
По поводу RCSI, в данном вопросе речь идет о других базах(не тех, которые были в е моих предидущих вопросах на форуме), но и здесь применимо, спасибо!

invm,
Запуск запросов из снепшота не влияет на производительность основной базы?
10 окт 13, 10:21    [14948775]     Ответить | Цитировать Сообщить модератору
 Re: Помогите советом по поводу копии базы плз  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31444
abrashka
На саколько я понимаю, есть несколько вариантов: репликация, зеркалирование, лог шипинг, ручками.

Подскажите плз вариант с минимальной нагрузкой на основной сервер и с максимальной простотой обслуживания.
Нагрузка во всех случаях будет небольшая.

Ручками - трудоёмко, но вообще зависит от требований.
Например, сделать ночью перенос бакапом несложно, работать будет надёжно, вмешательств не потребуется мнонгие годы, пока не сломается сервер, сеть, не кончится место на диске и т.п.

Для "почти онлайн" необходима репликация. В принципе репликация может реплицировать и изменения схемы, но ограниченно, так что придётся иногда это дело переинициализировать.
Если сделать скрипт, то вообще говоря это всё будет делаться просто, нажатием кнопочки; естественно, после изменений основной БД вторая база будет недоступна, пока идёт процесс синхронизации.

Лог-шиппинг не обеспечивает непрерывную доступность второй базы.

При зеркалировании вторая база вообще будет недоступна, так что вам это не подойдёт.
abrashka
DB1 обновляется относительно интенсивно и не очень хочется, чтоб к ней обращалась еще одна аппликация.
Как вариант- создать еще одну базу, копию основной, чтоб новая аппликация работала именно с ней.
Вполне нормально, не знаю, почему такие негативные мнения по поводу желания иметь Read-Only копию баз/серверов для отчётов...
Если дешевле оптимизировать - нужно оптимизировать, если дешевле поставить второй сервер - так и надо сделать. Заодно снижаются требования к квалификации писателей отчётов - не нужно будет бояться за основной продакшен, пусть там делают, что хотят.
10 окт 13, 10:25    [14948803]     Ответить | Цитировать Сообщить модератору
 Re: Помогите советом по поводу копии базы плз  [new]
aleks2
Guest
alexeyvg
Заодно снижаются требования к квалификации писателей отчётов - не нужно будет бояться за основной продакшен, пусть там делают, что хотят.

Может не надо, просто напросто, таких "отчетов"? Фиг его знает, чо оне там напишут.

ЗЫ. Репликация, какбе, тоже не вакууме делается и грузит боевой сервер.
10 окт 13, 10:29    [14948830]     Ответить | Цитировать Сообщить модератору
 Re: Помогите советом по поводу копии базы плз  [new]
Гость333
Member

Откуда:
Сообщений: 3683
alexeyvg
При зеркалировании вторая база вообще будет недоступна, так что вам это не подойдёт.

Ну почему, можно создать снапшот на зеркальной БД и запускать там отчёты.
При этом нужно приобрести лицензии на второй SQL Server (при "простом" зеркалировании, без запуска запросов, лицензии на зеркальный MSSQL не нужны).
10 окт 13, 10:34    [14948878]     Ответить | Цитировать Сообщить модератору
 Re: Помогите советом по поводу копии базы плз  [new]
abrashka
Member

Откуда:
Сообщений: 517
alexeyvg,

Будут скрипты для изменения схемы, поэтому обновлять новую базу будет не сложно.
На данный момент на самом деле дешевле поставить второй сервер, чем оптимизировать, поэтому все-таки склоняемся к репликации.

Есть какие-то дополнительные настройки репликацию для этой задачи?

По пвпду тригеров, они должны быть на обоих базах?
10 окт 13, 10:36    [14948886]     Ответить | Цитировать Сообщить модератору
 Re: Помогите советом по поводу копии базы плз  [new]
хмхм
Guest
abrashka
Ручками вроде самое разумное, ибо можно копировать в новую базу только необходимые данные, а это меньше половины, но это на данный момент не реально.


Я в свое время делал синхронизацию двух баз именно запуском скрипта каждые n минут. Делал это только потому, что было 2-а SQL Express-а и база была относительно небольшой.


Мне кажется, что базы стоит разделять только в том случае, если у вас бд должна фактически одновременно быть и OLTP и там же OLAP кубы крутить надо, в этом случае лучше конечно разделить базы (котлеты в одну сторону, мухи в другую). По-моему это оправданный подход.
10 окт 13, 10:39    [14948914]     Ответить | Цитировать Сообщить модератору
 Re: Помогите советом по поводу копии базы плз  [new]
Гость333
Member

Откуда:
Сообщений: 3683
хмхм
если у вас бд должна фактически одновременно быть и OLTP и там же OLAP кубы крутить надо

OLAP кубы — это, всё же, вполне определённая технология. Отчёты не обязаны использовать кубы, это могут быть просто "тяжёлые" запросы на обычных таблицах, с интенсивным использованием всех ресурсов сервера.
10 окт 13, 10:51    [14949007]     Ответить | Цитировать Сообщить модератору
 Re: Помогите советом по поводу копии базы плз  [new]
invm
Member

Откуда: Москва
Сообщений: 9413
abrashka,

Вы для начала разберитесь какие данные нужны для отчетов: текущие, исторические или текущие + исторические. А потом уже выбирайте способ решения.
10 окт 13, 10:56    [14949051]     Ответить | Цитировать Сообщить модератору
 Re: Помогите советом по поводу копии базы плз  [new]
abrashka
Member

Откуда:
Сообщений: 517
invm,
и текуше, и исторические.

На самом деле, как я и говорил, все немного сложнее, второй аппликацией занимается другая фирма, поэтому что конкретно они будут использовать- мне известно только в общих чертах, кроме того, новая аппликация находится в стадии разработки, поэтому со временем могут потребоваться дополнительные данные. У меня попросили доступ к базе, я не горю желанием давать доступ к боевой базе не зная зачем. Именно поэтому, мне кажется, что более предпочтительныя вариант- создание копии боевой базы и пусть делают с ней что угодно.
Задержка синхронизации порядка минуты- нормально.
Сначала смотрел в сторону лог шиппинга, но это значит, что прийдется сохранять журнал транзакций минимум каждую минуту.
Так что скорее всего репликация...
10 окт 13, 11:05    [14949094]     Ответить | Цитировать Сообщить модератору
 Re: Помогите советом по поводу копии базы плз  [new]
StarikNavy
Member

Откуда: Москва
Сообщений: 2396
abrashka
invm,
и исторические.


значит репликация.
раз в сутки ночью. после которой пересчет кубов/отчетов/ сторонних апликаций
10 окт 13, 11:39    [14949357]     Ответить | Цитировать Сообщить модератору
 Re: Помогите советом по поводу копии базы плз  [new]
abrashka
Member

Откуда:
Сообщений: 517
StarikNavy,

Не понял, что нужно делать ночью раз в сутки?
10 окт 13, 11:41    [14949378]     Ответить | Цитировать Сообщить модератору
 Re: Помогите советом по поводу копии базы плз  [new]
invm
Member

Откуда: Москва
Сообщений: 9413
abrashka
invm,
и текуше, и исторические.
Теперь необходимо определиться какой свежести нужны текущие данные.
10 окт 13, 11:45    [14949420]     Ответить | Цитировать Сообщить модератору
 Re: Помогите советом по поводу копии базы плз  [new]
aleks2
Guest
abrashka
У меня попросили доступ к базе, я не горю желанием давать доступ к боевой базе не зная зачем. Именно поэтому, мне кажется, что более предпочтительныя вариант- создание копии боевой базы и пусть делают с ней что угодно.


Как бе, для разработки можно и ваще прошлогоднюю копию дать. Причем тута репликация?

ЗЫ. Или думаете падение подписчика ничего не значит для боевого сервера?
10 окт 13, 12:09    [14949616]     Ответить | Цитировать Сообщить модератору
 Re: Помогите советом по поводу копии базы плз  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
alexeyvg
...При зеркалировании вторая база вообще будет недоступна, так что вам это не подойдёт.
А если Database Snapshots зеркальной базы?

Сообщение было отредактировано: 10 окт 13, 12:16
10 окт 13, 12:16    [14949668]     Ответить | Цитировать Сообщить модератору
 Re: Помогите советом по поводу копии базы плз  [new]
abrashka
Member

Откуда:
Сообщений: 517
aleks2,

Упс, об этом я не подумал :(
К сожалению никогда не имел дело с репликациями, поэтому и прошу совета.
На самом деле как падение подписчика повлияет на боевую базу?
Ели да влияет, то такое решение не подходит :(

Тогда зеркалирование, снепшот зеркала, падение второй базы повлияет а боевую?
10 окт 13, 12:25    [14949744]     Ответить | Цитировать Сообщить модератору
 Re: Помогите советом по поводу копии базы плз  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31444
abrashka
Есть какие-то дополнительные настройки репликацию для этой задачи?
Ну, в зависимости от задачи нужно выбрать правильный тип репликации, вас несколько раз спрашивали о требованиях к "свежести" данных.

И замечание - если вам нужны не все таблицы, то и включайте в репликацию только нужные.
abrashka
Задержка синхронизации порядка минуты- нормально.
Тогда репликация транзакций.
abrashka
По пвпду тригеров, они должны быть на обоих базах?
На подписчике неичего не нужно.
abrashka
На самом деле как падение подписчика повлияет на боевую базу?
Ели да влияет, то такое решение не подходит :(
Накопление неотреплицированных данных будет раздувать файлы, постепенно снижать производительность.

Но это на самом деле не страшно, если не иметь в виду отключение подписчика надолго или навсегда - тогда репликацию нужно будет удалить.
10 окт 13, 13:01    [14950066]     Ответить | Цитировать Сообщить модератору
 Re: Помогите советом по поводу копии базы плз  [new]
StarikNavy
Member

Откуда: Москва
Сообщений: 2396
abrashka
StarikNavy,

Не понял, что нужно делать ночью раз в сутки?

репликацию

потому что если "исторические" то это "сколько мы продали за 5 лет", и получение данные о продажах за последние две минуты только без толку нагрузят боевую базу.

ну конечно вариации cо временен обновления всякие возможны. с начальством решайте об актуальности
10 окт 13, 13:02    [14950081]     Ответить | Цитировать Сообщить модератору
 Re: Помогите советом по поводу копии базы плз  [new]
invm
Member

Откуда: Москва
Сообщений: 9413
abrashka
На самом деле как падение подписчика повлияет на боевую базу?
Никак.
10 окт 13, 13:10    [14950128]     Ответить | Цитировать Сообщить модератору
 Re: Помогите советом по поводу копии базы плз  [new]
abrashka
Member

Откуда:
Сообщений: 517
alexeyvg,

Спасибо!

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

Да, на данный момент таблицы нужны не все, меньше половины, поэтому если можно настроить выборочно.
10 окт 13, 13:18    [14950180]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить