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

Откуда:
Сообщений: 96
Настраиваю обмен данными с другой программой. Есть два варианта:

1. Выгружаю данные в отдельную базу, из которой их забирает другая программа.
2. Даю другой программе вьюху в рабочей базе данных.

Где то слышал что коннектить программы через вьюхи это плохая практика. Наверное из-за того, что нужно дополнительно настраивать права на вьюху и может возникнуть непредсказуемая нагрузка на рабочую базу.
Скажите какой вариант лучше и почему?
14 окт 15, 14:30    [18278024]     Ответить | Цитировать Сообщить модератору
 Re: Обмен данными view vs DB  [new]
_djХомяГ
Guest
Можно в ту же базу но отдельную схему
14 окт 15, 14:34    [18278054]     Ответить | Цитировать Сообщить модератору
 Re: Обмен данными view vs DB  [new]
Павел-П
Member

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

1. Не всегда возможно и приветствуется внесение изменений в БД, которая является SOURCE-частью для вашего ETL.
Иногда поставщик БД может Вам это просто не позволить.

2. Запрашивая данные через view Вы действительно можете непредсказуемо нагружать source-систему, что может быть не хорошо.
Ваши постоянные запросы через view также могут быть достаточно затратными для системы.

К сожалению на Ваш запрос нет однозначного ответа. Вы просто должны взвесить все эти факторы, учесть их критичность и трудозатраты, чтобы решить задачу тем или иным способом.
14 окт 15, 15:41    [18278562]     Ответить | Цитировать Сообщить модератору
 Re: Обмен данными view vs DB  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
rebel25,

А еще можно поднять mirror и снапшот, или log shipping.
15 окт 15, 02:39    [18280716]     Ответить | Цитировать Сообщить модератору
 Re: Обмен данными view vs DB  [new]
Владислав Колосов
Member

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

database snapshot, если сервер позволяет. Наилучший вариант.
15 окт 15, 13:52    [18282646]     Ответить | Цитировать Сообщить модератору
 Re: Обмен данными view vs DB  [new]
Glory
Member

Откуда:
Сообщений: 104760
Владислав Колосов
Наилучший вариант.

Ага. Делать снапшоты всей базы каждому, кто хоть какую-то часть данных хочет ? Хоть одно поле одной записи однйо таблицы ?

rebel25
Скажите какой вариант лучше и почему?

Выгрузите нужные данные сразу в файл
15 окт 15, 13:58    [18282700]     Ответить | Цитировать Сообщить модератору
 Re: Обмен данными view vs DB  [new]
Владислав Колосов
Member

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

почему же, отчетность, в 99.99% случаев требуется на начало текущих суток. Вполне возможно раз в сутки создавать снимок базы с удалением старого. В большой организации правая рука "выгрузчиков" не знает, что делает левая, например. На продакшн базу их нельзя пускать, а вот в снапшоте они никому не мешают, пусть копаются сколько хотят в соответствии со своими правами.
15 окт 15, 14:19    [18282848]     Ответить | Цитировать Сообщить модератору
 Re: Обмен данными view vs DB  [new]
Glory
Member

Откуда:
Сообщений: 104760
Владислав Колосов
отчетность,

А причем тут отчетность ?
ТС говорил об обмене данными.
Причем не привел ни одного требования к этим данным.
Только про нагрузку и стоимость администрирования.
Если у ТС задача - предоставление какого-то интерфейса, то начинают с обзора требований к интрефейсу, а не со стоимости администрирования
15 окт 15, 14:24    [18282887]     Ответить | Цитировать Сообщить модератору
 Re: Обмен данными view vs DB  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
Владислав Колосов
Glory,

почему же, отчетность, в 99.99% случаев требуется на начало текущих суток. Вполне возможно раз в сутки создавать снимок базы с удалением старого. В большой организации правая рука "выгрузчиков" не знает, что делает левая, например. На продакшн базу их нельзя пускать, а вот в снапшоте они никому не мешают, пусть копаются сколько хотят в соответствии со своими правами.
Не помешают только в плане того что блокировок не будет. А все остальное - легко. Могут наваять запрос который отъест CPU, память, диски и tempdb заодно. Я уж не говорю про то, что сам по себе снапшот, даже если им никто не пользуется, уже нехило тормозит все операции обновления. Так что снапшот далеко не 100% защита от непредсказуемой нагрузки.
15 окт 15, 21:13    [18285028]     Ответить | Цитировать Сообщить модератору
 Re: Обмен данными view vs DB  [new]
Павел-П
Member

Откуда:
Сообщений: 234
Владислав Колосов
Glory,

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


Только надо не забывать, что копаясь в Database Snapshot-е они продакшену мешать будут? Он вроде бы на том же самом сервере располагается.
16 окт 15, 16:14    [18288927]     Ответить | Цитировать Сообщить модератору
 Re: Обмен данными view vs DB  [new]
o-o
Guest
Павел-П
Только надо не забывать, что копаясь в Database Snapshot-е они продакшену мешать будут? Он вроде бы на том же самом сервере располагается.

почему вроде бы?
разумеется, только на том сервере и располагается,
он же к базе привязан, что не в нем, то в базе,
через него лезут, но попадать могут как раз в базу,
особенно пока ничего в базе не поменялось.
но разве Mind не сказал то же самое?
еще и в деталях описал, где и как можно нагадить
16 окт 15, 17:14    [18289252]     Ответить | Цитировать Сообщить модератору
 Re: Обмен данными view vs DB  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
Особо не мешают. Зависит от мощности сервера, конечно.
16 окт 15, 19:39    [18289846]     Ответить | Цитировать Сообщить модератору
 Re: Обмен данными view vs DB  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
Владислав Колосов,

Ага. И еще от дисков. Производительность записи может просесть в несколько раз. Транзакция будет ждать пока все изменения переносятся в снапшот постранично(!). Т.е. если в обычные файлы сервер может писать экстентами, по 64К, или, если мне не изменяет память, даже блоками по 512-1024К, то в файл снапшота только по 8К. Так что если диски уже работают на пределе своих IOPs-ов, то ждите падения скорости записи раз этак в 5.
16 окт 15, 21:27    [18290343]     Ответить | Цитировать Сообщить модератору
 Re: Обмен данными view vs DB  [new]
Владислав Колосов
Member

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

проблем с производительностью и "тормозами" я пока не заметил... Диски хорошие, конечно, до 500мб/с прокачивают и массовые обновления бывают редко.
17 окт 15, 23:44    [18292614]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить