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

Откуда:
Сообщений: 2
Доброго времени суток.

Есть база на SQL 2005, объем 100 Гб.
80 Гигов этого места занимает две таблицы. Эти таблицы попилены на партиции. В них хранятся исторические данные. Убрать к сожалению нет возможности.

Изменений в базе набегает в неделю около 1 Гб. И в основном только в определенные дни, т.е. неравномерно.

Планируется ввод второго сервера, который будет использован для отчетности.
Вопрос в следующем: какую технологию будет наиболее оптимально применить для переноса данных на 2 сервер. При этом не хотелось бы чтобы таблицы не пришлось снабжать новыми полями.

Как переносить данные в такой ситуации, чтобы не пришлось изменять сами таблицы? И кто что использует и почему?

Бэкап, SSIS, деатач и копирование по сети, репликацию, log shipping или может есть что-то еще?
2 июн 09, 14:23    [7256056]     Ответить | Цитировать Сообщить модератору
 Re: Перенос данных на второй сервер используемый для расчетов  [new]
Crimean
Member

Откуда:
Сообщений: 13148
> Бэкап

вариант. но писать надо будет чо-то + трафик

> SSIS

вариант, но писать

> деатач и копирование по сети

вариант, смотри бакап

> репликацию

транзакционная вкладывается в требования, главное "вытерпеть" начальный снапшот

> log shipping

на время поднятия логов база будет недоступна, остальное время в ReadOnly

> или может есть что-то еще?

скорее всего есть :)
2 июн 09, 14:38    [7256151]     Ответить | Цитировать Сообщить модератору
 Re: Перенос данных на второй сервер используемый для расчетов  [new]
Aleksey-K
Member

Откуда: Москва
Сообщений: 3116
Можно еще настроить Database Mirroring на второй сервер и с нее создавать в требуемые моменты SNAPSHOT базы данных. Вот с этой SHAPSHOT базы данных и строй отчеты.
Убъете сразу двух зайцев: увеличится доступность базы данных за счет Database Mirroring и разгрузите основной сервер от выполнения запросов для построения отчетов.
С уважением, Алексей
2 июн 09, 15:32    [7256522]     Ответить | Цитировать Сообщить модератору
 Re: Перенос данных на второй сервер используемый для расчетов  [new]
kirii
Member

Откуда:
Сообщений: 2
Snapshot к сожалению не подходит. В базе содержатся и создаются временные таблицы, которые используются для расчетов. (таблицы типа tmp_[имя таблицы] )
А доступ read-Only не позволяет создавать какие-либо таблицы и вносить в них изменения.

log shipping похоже не подходит по той же причине.

В случае настройки репликации транзакций можно ли будет вносить изменения на второй базе?
3 июн 09, 08:31    [7258854]     Ответить | Цитировать Сообщить модератору
 Re: Перенос данных на второй сервер используемый для расчетов  [new]
Aleksey-K
Member

Откуда: Москва
Сообщений: 3116
kirii
Snapshot к сожалению не подходит. В базе содержатся и создаются временные таблицы, которые используются для расчетов. (таблицы типа tmp_[имя таблицы] )
А доступ read-Only не позволяет создавать какие-либо таблицы и вносить в них изменения.

log shipping похоже не подходит по той же причине.

В случае настройки репликации транзакций можно ли будет вносить изменения на второй базе?

Можно.
Но может имеет смысл пересмотреть идеологию отчетной (если еще не поздно) системы и поручить этим заниматься Reporting Services. В него встроена достаточно эффективная система кеширования.
С уважением, Алексей.
3 июн 09, 09:15    [7258968]     Ответить | Цитировать Сообщить модератору
 Re: Перенос данных на второй сервер используемый для расчетов  [new]
Алексей Гужин
Member

Откуда:
Сообщений: 130
kirii

В случае настройки репликации транзакций можно ли будет вносить изменения на второй базе?

Для транзакционной репликации с обновляемыми подписками без добавления дополнительных полей в таблицы (timestamp) нет.

Хотя посмотрите одноранговую репликацию транзакций (только сервер должен быть версии 2005 Enterprise).
3 июн 09, 09:21    [7258985]     Ответить | Цитировать Сообщить модератору
 Re: Перенос данных на второй сервер используемый для расчетов  [new]
Роман Дынник
Member

Откуда:
Сообщений: 3324
тут смотря как по партициям распределено.
сценарий со свободным окном используется? (партиция в которую валятся данные за текущий период). назовем эту партицию текущей.

я б наверное поступил так:
вынес партиции в отдельную/ые filegroup/s (если еще не вынесены).
сразу создаем текущую(пустую) партицию на втором сервере и переписываем partitioned view на использование текущей партиции на втором сервере, т.е. текущая уже на втором и в нее продолжают валиться данные, а за остальные периоды пока остаются на первом сервере.
спокойно бекапим filegroup/s c партициями на первом сервере и переносим/распределяем куда надо.
3 июн 09, 09:22    [7258989]     Ответить | Цитировать Сообщить модератору
 Re: Перенос данных на второй сервер используемый для расчетов  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
автор
Планируется ввод второго сервера, который будет использован для отчетности.


Делайте на нем DWH, учитывая, что для отчетности в большинстве случаевв более удобна денормализованная структура, а не OLTP данные, + подымайте Analisys Service (куда же без кубиков) + Reporting Service (как система отчетности)

автор
Вопрос в следующем: какую технологию будет наиболее оптимально применить для переноса данных на 2 сервер. При этом не хотелось бы чтобы таблицы не пришлось снабжать новыми полями.


SSIS как часть ETL процесса. Добавлять в основную бд поля, скорее всего придется, но м.б. не в основные таблицы, а в создаваемые дополнительные. И, естественно, проектировать структуру DWH.
3 июн 09, 10:05    [7259146]     Ответить | Цитировать Сообщить модератору
 Re: Перенос данных на второй сервер используемый для расчетов  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 33348
Блог
pkarklin,

+1
3 июн 09, 11:24    [7259626]     Ответить | Цитировать Сообщить модератору
 Re: Перенос данных на второй сервер используемый для расчетов  [new]
Роман Дынник
Member

Откуда:
Сообщений: 3324
pkarklin
Делайте на нем DWH

это легко сказать, там скорее всего отчетов наворочено уже выше крыши. DWH+новую отчетную систему делать - как минимум пол года.
3 июн 09, 12:31    [7260034]     Ответить | Цитировать Сообщить модератору
 Re: Перенос данных на второй сервер используемый для расчетов  [new]
Aleksey-K
Member

Откуда: Москва
Сообщений: 3116
Алексей Гужин
kirii

В случае настройки репликации транзакций можно ли будет вносить изменения на второй базе?

Для транзакционной репликации с обновляемыми подписками без добавления дополнительных полей в таблицы (timestamp) нет.

Хотя посмотрите одноранговую репликацию транзакций (только сервер должен быть версии 2005 Enterprise).

Почему нет!?
Автору не надо, чтобы таблицы, которые создаются для построения отчетов, "переходили" на издатель. Делаем стандартную транзакционную репликацию и все изменения на подписчике только на нем и живут.
С уважением, Алексей.
3 июн 09, 14:28    [7260716]     Ответить | Цитировать Сообщить модератору
 Re: Перенос данных на второй сервер используемый для расчетов  [new]
Crimean
Member

Откуда:
Сообщений: 13148
пир-ту-пир тоже не фонтан. обычная транзакций без обновляемого подписчика похоже самое то
и "технические" отчетные таблицы не реплицировать, а просто создать на подписчике
вот и все
с партициями только разобраться для минимизации времени поднятия снапшота если вдруг чего
3 июн 09, 15:49    [7261229]     Ответить | Цитировать Сообщить модератору
 Re: Перенос данных на второй сервер используемый для расчетов  [new]
Алексей Гужин
Member

Откуда:
Сообщений: 130
Aleksey-K

Почему нет!?
Автору не надо, чтобы таблицы, которые создаются для построения отчетов, "переходили" на издатель. Делаем стандартную транзакционную репликацию и все изменения на подписчике только на нем и живут.
С уважением, Алексей.


Согласен, недопонял вопроса. Да, в этом случае подойдет простая репликация транзакций.
4 июн 09, 10:35    [7263740]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить