Гость
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Распределенная работа над документом / 8 сообщений из 8, страница 1 из 1
31.01.2007, 07:36
    #34294734
shelk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Распределенная работа над документом
написал небольшу заметку:
Распределенная работа над документом

Может кому поможет избежать граблей при реализации ИС с несколькими БД


-------
http://proactive-soft.ru
...
Рейтинг: 0 / 0
31.01.2007, 09:58
    #34294986
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Распределенная работа над документом
Дочитал до этого
авторГлубоко вдаваться в высокие понятия проектирования не будем
и стало скучно.
...
Рейтинг: 0 / 0
31.01.2007, 10:04
    #34295007
shelk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Распределенная работа над документом
ИзопропилДочитал до этого
авторГлубоко вдаваться в высокие понятия проектирования не будем
и стало скучно.
:) чтож популярным писателем мне не стать. жалко
...
Рейтинг: 0 / 0
31.01.2007, 11:06
    #34295259
gybson
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Распределенная работа над документом
не понятно о каких граблях речь
...
Рейтинг: 0 / 0
31.01.2007, 11:15
    #34295298
shelk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Распределенная работа над документом
gybsonне понятно о каких граблях речь

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

как и написано, решение вполне очевидное, но приходилось видеть, что в реальных системах этим конфликтом принебрегают.
...
Рейтинг: 0 / 0
31.01.2007, 23:18
    #34297700
mcureenab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Распределенная работа над документом
Много лишних слов.

Локальная работа - частный случай жизненного цикла документа и в плане распределённой работы ничего не даёт.
Нет документа - это не состояние документа, которого нет, а начальное и финальное состояние в терминах UML. К стати, в общем случе документ может быть уничтожен на любом этапе ЖЦ.

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

Алгоритм отзыва впринципе интересен, но не является единственным. На практике проще указывать не состояние документа, а владельца документа (владелец, это БД). Чтобы не возник конфликт, нового владелеца нужно изменить в рамках распределённой транзакции в локальной БД и в БД, которая по локальным данным является владельцем. Во многих СУБД распределённые транзакции реализованы в ядре.
...
Рейтинг: 0 / 0
01.02.2007, 05:12
    #34297823
shelk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Распределенная работа над документом
mcureenabМного лишних слов.

Локальная работа - частный случай жизненного цикла документа и в плане распределённой работы ничего не даёт.
Нет документа - это не состояние документа, которого нет, а начальное и финальное состояние в терминах UML. К стати, в общем случе документ может быть уничтожен на любом этапе ЖЦ.

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

Алгоритм отзыва впринципе интересен, но не является единственным. На практике проще указывать не состояние документа, а владельца документа (владелец, это БД). Чтобы не возник конфликт, нового владелеца нужно изменить в рамках распределённой транзакции в локальной БД и в БД, которая по локальным данным является владельцем. Во многих СУБД распределённые транзакции реализованы в ядре.

Согласен с общими замечаниями.
Про вариант смены владельца в распределенной транзакции: такой вариант может иметь место, когда БД связаны жестко (например, через linked server для MS SQL, или клиент открывает транзакцию на двух БД).
Здесь же предлагается вариант в случае же более слабой связи (стандартная репликация СУБД, свой вариант обмена данными), БД могут работать относительно независимо.
...
Рейтинг: 0 / 0
01.02.2007, 13:13
    #34298984
mcureenab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Распределенная работа над документом
shelkПро вариант смены владельца в распределенной транзакции: такой вариант может иметь место, когда БД связаны жестко (например, через linked server для MS SQL, или клиент открывает транзакцию на двух БД).

Что значит жёстко? Распределённая транзакция может выполняться используя обмен асинхронными сообщениями в том числе с отложенной доставкой. Собственно ты предложил реализацию такого алгоритма на уровне приложения БД.
Примером может быть подписание многостороннего договора людьми, которые общаются только с помощью почтовой связи.
ИМХО, в современном мире лучше вкладывать деньги в надёжную связь и использовать готовые решения, чем делать программы, которые могут работать с плохой связью.

shelkЗдесь же предлагается вариант в случае же более слабой связи (стандартная репликация СУБД, свой вариант обмена данными), БД могут работать относительно независимо.

Так бы и написал про область применения. В любом случае для репликации изменений удалённые узлы должы время от времени связываться и выполнять распределённые транзакции. Так почему не оставить эту связь постоянной?
...
Рейтинг: 0 / 0
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Распределенная работа над документом / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]