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

Откуда: Москва
Сообщений: 826
Ищу какой бы механизм использовать для решения такой задачи:

Есть 2 сервера, один отвечает за фронт-часть, другой - за бэк. Оба сервера под MS SQL 2005, физически на разных машинах. Фронт-часть генерирует некие данные в таблицу (первичная информация). Бэк должен их увидеть и "всосать" себе для дальнейшей обработки. При передаче данных из фронта в бэк должно осуществляться их преобразование. После того как бэк их принял в обработку (сотрудник установил соответствующий статус), менять что-либо во фронте нельзя. До этого - менять можно. Во фронте хорошо бы видеть статус, под которым данная запись числится в бэке. Также хотелось бы иметь определенную защиту от того, что какая-то запись по "пути" пропадет.

Сначала вопросы такие: какой механизм сервера лучше (надежнее) использовать для таких действий: прилинкованный сервер? IS? реплаикацию? или еще что?
8 сен 09, 16:37    [7632761]     Ответить | Цитировать Сообщить модератору
 Re: Задача на согласование данных  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3650
avec
Ищу какой бы механизм использовать для решения такой задачи:

Есть 2 сервера, один отвечает за фронт-часть, другой - за бэк. Оба сервера под MS SQL 2005, физически на разных машинах. Фронт-часть генерирует некие данные в таблицу (первичная информация). Бэк должен их увидеть и "всосать" себе для дальнейшей обработки. При передаче данных из фронта в бэк должно осуществляться их преобразование. После того как бэк их принял в обработку (сотрудник установил соответствующий статус), менять что-либо во фронте нельзя. До этого - менять можно. Во фронте хорошо бы видеть статус, под которым данная запись числится в бэке. Также хотелось бы иметь определенную защиту от того, что какая-то запись по "пути" пропадет.

Сначала вопросы такие: какой механизм сервера лучше (надежнее) использовать для таких действий: прилинкованный сервер? IS? реплаикацию? или еще что?

Log shipping
8 сен 09, 16:45    [7632807]     Ответить | Цитировать Сообщить модератору
 Re: Задача на согласование данных  [new]
1234567
Member

Откуда:
Сообщений: 704
avec
При передаче данных из фронта в бэк должно осуществляться их преобразование


Можно SSIS-пакеты
8 сен 09, 16:46    [7632816]     Ответить | Цитировать Сообщить модератору
 Re: Задача на согласование данных  [new]
Glory
Member

Откуда:
Сообщений: 104760
А вы уверены, что нужно два сервера ?
8 сен 09, 16:48    [7632827]     Ответить | Цитировать Сообщить модератору
 Re: Задача на согласование данных  [new]
avec
Member

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

в общем не нужно, достаточно разных баз на одном сервере, но исторически сложилось так, что их два. За один отвечает одно подразделение, за другой - другое. У каждого своя вотчина :-)
8 сен 09, 16:52    [7632852]     Ответить | Цитировать Сообщить модератору
 Re: Задача на согласование данных  [new]
avec
Member

Откуда: Москва
Сообщений: 826
1234567
avec
При передаче данных из фронта в бэк должно осуществляться их преобразование


Можно SSIS-пакеты


Немного плохо, что их надо запускать по расписанию. То есть раз в минуту, чтобы было быстрее. То есть каждуй минуту сервер (либо тот, либо другой, будут дергаться от запросов типа "если уже влилось, то не трогать, если не влилось, то влить".
8 сен 09, 16:54    [7632865]     Ответить | Цитировать Сообщить модератору
 Re: Задача на согласование данных  [new]
Glory
Member

Откуда:
Сообщений: 104760
avec
1234567
avec
При передаче данных из фронта в бэк должно осуществляться их преобразование


Можно SSIS-пакеты


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

А вы хотите в режиме реального времени ?
8 сен 09, 16:56    [7632881]     Ответить | Цитировать Сообщить модератору
 Re: Задача на согласование данных  [new]
avec
Member

Откуда: Москва
Сообщений: 826
Ozerov
Log shipping


он доставит базу на второй сервер, с остальными задачами мне представляется он не справится. хотя никогда с ним не работал, возможно, ошибаюсь.
8 сен 09, 16:57    [7632890]     Ответить | Цитировать Сообщить модератору
 Re: Задача на согласование данных  [new]
avec
Member

Откуда: Москва
Сообщений: 826
Glory
Немного плохо, что их надо запускать по расписанию. То есть раз в минуту, чтобы было быстрее. То есть каждуй минуту сервер (либо тот, либо другой, будут дергаться от запросов типа "если уже влилось, то не трогать, если не влилось, то влить".

А вы хотите в режиме реального времени ?[/quot]

Реальное время не нужно. Ежеминутный джоб вполне бы подошел, но он уже не первый :-) Излишне нагружать сервера пустяковыми задачами как-то не хочется.
8 сен 09, 17:01    [7632915]     Ответить | Цитировать Сообщить модератору
 Re: Задача на согласование данных  [new]
Glory
Member

Откуда:
Сообщений: 104760
avec

Реальное время не нужно. Ежеминутный джоб вполне бы подошел, но он уже не первый :-) Излишне нагружать сервера пустяковыми задачами как-то не хочется.

Сделайте ежедневный
8 сен 09, 17:04    [7632927]     Ответить | Цитировать Сообщить модератору
 Re: Задача на согласование данных  [new]
Дедушка
Member

Откуда: Город трёх революций
Сообщений: 5111
ИМХО, клиентская часть бэка обращается напрямую в базу фронта для показа "не обработанных" записей и в ней же изменяет статус записи. После этого осуществляется "обработка" и запись данных в базу бэка с последующим изменением статуса в базе фронта...

--------------------------------------------------------------
Дьявол кроется в деталях.
8 сен 09, 17:04    [7632935]     Ответить | Цитировать Сообщить модератору
 Re: Задача на согласование данных  [new]
avec
Member

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

я ищу лучшее решение, спасибо за участие в обсуждении
8 сен 09, 17:17    [7633014]     Ответить | Цитировать Сообщить модератору
 Re: Задача на согласование данных  [new]
Glory
Member

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

я ищу лучшее решение, спасибо за участие в обсуждении

Только вы не опубликовали ни одного критерия этого "лучшего"
Только какие-то исторически сложившиеся обстояьтельства
8 сен 09, 17:19    [7633027]     Ответить | Цитировать Сообщить модератору
 Re: Задача на согласование данных  [new]
avec
Member

Откуда: Москва
Сообщений: 826
Дедушка
ИМХО, клиентская часть бэка обращается напрямую в базу фронта для показа "не обработанных" записей и в ней же изменяет статус записи. После этого осуществляется "обработка" и запись данных в базу бэка с последующим изменением статуса в базе фронта...

--------------------------------------------------------------
Дьявол кроется в деталях.


Интересная мысль. Помозгую.
Но вопрос о согласованности данных при этом всем остается открытым.
8 сен 09, 17:20    [7633033]     Ответить | Цитировать Сообщить модератору
 Re: Задача на согласование данных  [new]
avec
Member

Откуда: Москва
Сообщений: 826
Glory
avec
Glory,

я ищу лучшее решение, спасибо за участие в обсуждении

Только вы не опубликовали ни одного критерия этого "лучшего"
Только какие-то исторически сложившиеся обстояьтельства


Я опубликовал, что есть два сервера. Если не устраивает формуировка "исторически сложившиеся обстоятельства", пускай будет "для оптимизации нагрузки"... но их все равно два.
8 сен 09, 17:26    [7633077]     Ответить | Цитировать Сообщить модератору
 Re: Задача на согласование данных  [new]
Glory
Member

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

я ищу лучшее решение, спасибо за участие в обсуждении

Только вы не опубликовали ни одного критерия этого "лучшего"
Только какие-то исторически сложившиеся обстояьтельства


Я опубликовал, что есть два сервера. Если не устраивает формуировка "исторически сложившиеся обстоятельства", пускай будет "для оптимизации нагрузки"... но их все равно два.

Т.е. "два сервера" автоматически означает "давайте оптимизируем нагрузку" ?
А какую нагрузку будем оптимизировать то ? Одну запись в час ? Или сто тысяч в минуту ?
8 сен 09, 17:32    [7633116]     Ответить | Цитировать Сообщить модератору
 Re: Задача на согласование данных  [new]
Дедушка
Member

Откуда: Город трёх революций
Сообщений: 5111
avec
Дедушка
ИМХО, клиентская часть бэка обращается напрямую в базу фронта для показа "не обработанных" записей и в ней же изменяет статус записи. После этого осуществляется "обработка" и запись данных в базу бэка с последующим изменением статуса в базе фронта...

--------------------------------------------------------------
Дьявол кроется в деталях.


Интересная мысль. Помозгую.
Но вопрос о согласованности данных при этом всем остается открытым.

Не очень понятно о какой согласованности вы говорите?
8 сен 09, 17:33    [7633129]     Ответить | Цитировать Сообщить модератору
 Re: Задача на согласование данных  [new]
avec
Member

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

количество записей, подлежащих передаче, порядка сотен в день. Оптимизировать ничего не будем, я сказал "не хочется излишне нагружать сервер", ибо он ежеминутно выполняет пересчеты по текущей ситуации, и эти расчеты являются гораздо более приоритетными перед этим экспортом-импортом.
8 сен 09, 17:36    [7633145]     Ответить | Цитировать Сообщить модератору
 Re: Задача на согласование данных  [new]
Glory
Member

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

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

Вы сказали - "пускай будет "для оптимизации нагрузки""
8 сен 09, 17:37    [7633150]     Ответить | Цитировать Сообщить модератору
 Re: Задача на согласование данных  [new]
avec
Member

Откуда: Москва
Сообщений: 826
Glory

Вы сказали - "пускай будет "для оптимизации нагрузки""


Разделены они на два сервера. Каждый делает свою часть, свои расчеты и т.п. В рамках того что делается сейчас этот вопрос не обсуждается, надо их "подружить", не шибко нагружая дополинетльно. Я понятно написал?
8 сен 09, 17:41    [7633173]     Ответить | Цитировать Сообщить модератору
 Re: Задача на согласование данных  [new]
Glory
Member

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

Вы сказали - "пускай будет "для оптимизации нагрузки""


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

Для меня - нет.
Непонятно, с какой проблемой оптимизации нагрузки вы столкнулись.
8 сен 09, 17:43    [7633188]     Ответить | Цитировать Сообщить модератору
 Re: Задача на согласование данных  [new]
avec
Member

Откуда: Москва
Сообщений: 826
Дедушка

Не очень понятно о какой согласованности вы говорите?


Клиент бэка коннектится к базе фронта, читает новые данные. Отмечает галками что он хочет себе забрать, запускает какую-то хранимку у себя в базе, которая лезет к прилинкованному серверу (или как? - вы не пояснили) и забирает данные. "с последующим изменением статуса во фронте" - я так понимаю, это должно быть оформлено как одна транзакция, иначе не имеет смысла, об этой согласованности я и говорю.
8 сен 09, 17:45    [7633202]     Ответить | Цитировать Сообщить модератору
 Re: Задача на согласование данных  [new]
avec
Member

Откуда: Москва
Сообщений: 826
Glory
Непонятно, с какой проблемой оптимизации нагрузки вы столкнулись.


Я предпочитаю избегать проблем с производительностью при написании, а не заниматься потом специально оптимизацией, когда настают кронты.
8 сен 09, 17:47    [7633215]     Ответить | Цитировать Сообщить модератору
 Re: Задача на согласование данных  [new]
Glory
Member

Откуда:
Сообщений: 104760
avec
Glory
Непонятно, с какой проблемой оптимизации нагрузки вы столкнулись.


Я предпочитаю избегать проблем с производительностью при написании, а не заниматься потом специально оптимизацией, когда настают кронты.

По-моему, у вас пока проблемы с проектированием процессов.
И главная проблема в том, что вы не можете на бумаге нарисовать алгоритм обработки ваших данных.
А уже хотите технических решений по его реализации
8 сен 09, 17:51    [7633249]     Ответить | Цитировать Сообщить модератору
 Re: Задача на согласование данных  [new]
Дедушка
Member

Откуда: Город трёх революций
Сообщений: 5111
avec
Дедушка

Не очень понятно о какой согласованности вы говорите?


Клиент бэка коннектится к базе фронта, читает новые данные. Отмечает галками что он хочет себе забрать, запускает какую-то хранимку у себя в базе, которая лезет к прилинкованному серверу (или как? - вы не пояснили) и забирает данные. "с последующим изменением статуса во фронте" - я так понимаю, это должно быть оформлено как одна транзакция, иначе не имеет смысла, об этой согласованности я и говорю.

Смысла в транзакциях нет. Для вас важен порядок выполнения шагов (обработка, запись в бэк, изменение статуса во фронте). Не нужно откатывать предыдущие шаги при ошибке.
Линкованный сервер - да.
ИМХО, делать через SSIS (как вам уже советовали выше) с обработкой ошибок в пакете.
8 сен 09, 18:00    [7633317]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить