powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Проведите "ликбез" по распределенным базам данных.
61 сообщений из 61, показаны все 3 страниц
Проведите "ликбез" по распределенным базам данных.
    #33497952
PVB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пожалуйста, проведите ликбез по распределенным базам данных.

Входит ли в понятие распределенной базы данных, то что база не имеет единного ядра?

Или ядро располагается на центральном сервере, а клиентские данные на других серверах?

Каким образом производится синхронизация (репликация) данных при вводе новых параметров, например, в справочники?

Имеется ли какой-нибудь метод синхронизации данных между серверами в распределенных базах данных, кроме репликации.
...
Рейтинг: 0 / 0
Проведите "ликбез" по распределенным базам данных.
    #33500997
Фотография Александр Гoлдун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PVB пишет:

> Входит ли в понятие распределенной базы данных, то что база не имеет
> единного ядра?

Распределенная - значит распределенная. Часть здесь, часть там и т.д.

> Или ядро располагается на центральном сервере, а клиентские данные на
> других серверах?

А что такое ядро и клиентские данные? Бывают разнообразные схемы. Есть
звездочки с центральной БД, бывают иерархические структуры, бывают
равноправные базы с пересекающимися наборами данных и т.д.

> Каким образом производится синхронизация (репликация) данных при вводе
> новых параметров, например, в справочники?

Можно путем отправки изменений, вносимых в базу

> Имеется ли какой-нибудь метод синхронизации данных между серверами в
> распределенных базах данных, кроме репликации.

Масло масляное, то есть, говоря по научному, тавтология :) Иногда
полезно заглядывать в словари, чтобы выяснить смысл и происхождение
терминов. В данном контексте можно считать репликацию и синхронизацию
синонимами.

Задавай лучше вопросы по-существу. Или это опять что-нибудь типа диплома
или курсовика?
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Проведите "ликбез" по распределенным базам данных.
    #33501633
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К распределенным БД относятся прежде всего те системы, которые позволяют связать два сервера между собой так, что из одного сервера видны таблицы расположенные на другом сервере и к этим таблицам можно обращаться при помощи DML операторов. Т.е. один сервер бд. может быть клиентом другого.
Это один из самых тормознутых способов организации работы.

Системы репликации (ИМХО) это нечто большее. Это скорее всего возможность отложенного удаленного изменения в таблицах, которые являются общими для нескольких серверов (вне зависимости от того, однонаправленная или двунаправленная репликация). Двунаправленная репликация - это самый большой геморрой, какой только можно вообразить. Потому как добиться целостности в этом случае очень и очень сложно.
Однонаправленная репликация хороша для организации DSS, DWH.

Если говорить о взаимодействии удаленных бд, то на мой взгляд - это системы на основе очередей сообщений. Это третий вариант и самый (ИМХО) перспективный, самый производительный и самый гибкий и не такой ресурсоемкий как репликация.
...
Рейтинг: 0 / 0
Проведите "ликбез" по распределенным базам данных.
    #33501666
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gardenmanДвунаправленная репликация - это самый большой геморрой, какой только можно вообразить. Потому как добиться целостности в этом случае очень и очень сложно.
Да что Вы говорите. То то на ASA эти самые двунаправленные репликации с кодами подписчиков, возможностью своего указания направления движения информации и даже перераспределения информации между узлами в случае изменения ее области видимости поднимаются на раз, глобальные инкременты, автоматически ведущие счетчики в разрезах под каждую БД ставятся на два, триггера обработки ситуации одновременного изменения одной записи разными узлами пишутся на три, одним кликом мыши выгружается готовая БД из консолидированной со схемой и нужными данными для узла на четыре и все это визуально управляется на пять Так что не надо - двунаправленные репликации - это просто и удобно, если готовить на подходящей платформе.
...
Рейтинг: 0 / 0
Проведите "ликбез" по распределенным базам данных.
    #33501706
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 ASCRUS
Не знаю как между ASA-ASA, но ASA-ASE - это выглядело чудовищно... :(
...
Рейтинг: 0 / 0
Проведите "ликбез" по распределенным базам данных.
    #33501765
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gardenman2 ASCRUS
Не знаю как между ASA-ASA, но ASA-ASE - это выглядело чудовищно... :(
А вот не надо мазохизмом заниматься просто :)
...
Рейтинг: 0 / 0
Проведите "ликбез" по распределенным базам данных.
    #33501899
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ASCRUSТак что не надо - двунаправленные репликации - это просто и удобно, если готовить на подходящей платформе.
А если добавить возможность отложенного обновления? Тогда (в зависимости от структуры базы) проблемы с целостностью могут быть большими или очень большими :) .
...
Рейтинг: 0 / 0
Проведите "ликбез" по распределенным базам данных.
    #33501922
Фотография Александр Гoлдун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Локшин Марк пишет:

> А если добавить возможность отложенного обновления?

Что понимается под отложенным обновлением?

> Тогда (в зависимости
> от структуры базы) проблемы с целостностью могут быть большими или очень
> большими :) .

Чудес не бывает. Головой думать надо при проектировании. Просто при
использовании ASA больше времени остается на обдумывание этого самого
проектирования, т.к. отлаженные механизмы и технологии репликации уже
готовы.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Проведите "ликбез" по распределенным базам данных.
    #33501972
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Локшин Марк ASCRUSТак что не надо - двунаправленные репликации - это просто и удобно, если готовить на подходящей платформе.
А если добавить возможность отложенного обновления? Тогда (в зависимости от структуры базы) проблемы с целостностью могут быть большими или очень большими :) .
Думать головой при проектировании БД это второе, первое - нужно просто еще думать головой и при построении правильных технологических процессов. Для реализации репликации любого уровня сложности в ASA все необходимое уже есть. Однако каким узлам принадлежит та или иная информация, как часто будет идти обмен изменениями, кто, что и где имеет право изменять, почему и зачем информация должна изменятся на разных удаленных узлах одновременно и чья версия записи будет считаться правильной в данном случае - на все эти и прочие вопросы и необходимо первоначально знать ответ перед тем, как спроектировать БД и схему репликации. Так что я и моими коллеги по ASA в не частой периодической сеансовой репликации сложностей совсем не видим (хоть раз в год), главное знать что нужно, как правильно это сделать и иметь подходящий инструмент, функционально покрывающий потребности поставленных задач.
...
Рейтинг: 0 / 0
Проведите "ликбез" по распределенным базам данных.
    #33502001
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр ГoлдунЧто понимается под отложенным обновлением?
Изменения передаются на другой сервер не в транзакции, от нескольких секунд, до достаточно большого промежутка времени.
Александр ГoлдунЧудес не бывает. Головой думать надо при проектировании. Просто при использовании ASA больше времени остается на обдумывание этого самого проектирования, т.к. отлаженные механизмы и технологии репликации уже готовы.
Это если известно на момент проектирования, что система будет распределенной. Отлаженные механизмы - это хорошо, но в них тоже не всегда все есть. Вот например, есть ли в ASA подокументная репликация, а репликация последовательности документов для сохранения целостности базы? А если что-нибудь поэкзотичнее придумать? :)
...
Рейтинг: 0 / 0
Проведите "ликбез" по распределенным базам данных.
    #33502021
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здесь восможно есть разница междк понятиями распределенная БД и распределенная СУБД. Первая это просто распределенная в сети БД любого качества. В частности файловые системы БД не имеют СУБД, но могут быть распределены. Ко второй предявляется ред требваний. В частности, чтобы пользователь воспринимал ее как цетрализованную и при написании DML (не указывал ссылок на локальные БД), по времени доступа (для этого и применяют репликацию) и т.д. По моему? Дейт выдвинул 12 требований, чтобы СУБД имело право на такое название. И вроде есть такие, которые ни одна СУБД не может выполнить на сегодняшний день. С другой стороны выполнение всех может привести к значительному усложнению администрирования.

Асинхронная двунаправленная репликация наверняка опасна - допустим она 3 месяца не работала и этого не заметили или не поняли парни. Теперь поди отличи правильное неправильного. Например, если репликация одноранговая, (все мастера), то тада все эти отложенные транзакции не могут выполняться из-за разных причин, которые тоже надо устранять в общем случае с помощью моментальных снимков структуры объектов. Например, в какой-то момент были отключены констрейны. Теперь их оже надо отключать для транзакций того времени и т.д.
...
Рейтинг: 0 / 0
Проведите "ликбез" по распределенным базам данных.
    #33502034
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ASCRUSДля реализации репликации любого уровня сложности в ASA все необходимое уже есть.
Очень похоже на заявления из отдела продаж :) Ну тогда и в MS SQL для реализации репликации любого уровня сложности все есть. Доработать только чуть-чуть необходимо :). Как впрочем, и в ASA.
ASCRUSна все эти и прочие вопросы и необходимо первоначально знать ответ перед тем, как спроектировать БД и схему репликации.
А, так вот пока это выясните, большая часть времени и уйдет. Пока объясните заказчику, что если проводить репликацию раз в день, и требовать чтобы все было "как в одной базе" - вещи несовместимые.
...
Рейтинг: 0 / 0
Проведите "ликбез" по распределенным базам данных.
    #33502053
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfoПо моему? Дейт выдвинул 12 требований, чтобы СУБД имело право на такое название. И вроде есть такие, которые ни одна СУБД не может выполнить на сегодняшний день. С другой стороны выполнение всех может привести к значительному усложнению администрирования.
Дык все вместе они и не могут быть удовлетворены в полном объеме. По-моему у него же про это и рассуждения идут... Требование локальной автономии узлов и непротеворечивости данных - они несколько взаимоисключающие.
...
Рейтинг: 0 / 0
Проведите "ликбез" по распределенным базам данных.
    #33502080
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторВот например, есть ли в ASA подокументная репликация, а репликация последовательности документов для сохранения целостности базы?
Что такое "подокументная репликация" и "репликация последовательности документов" ?

P.S. Для справки - в ASA репликация идет по лог-файлу БД, то есть на удаленные узлы и обратно в консолидированные реплицируются не данные, а SQL скрипты, которые были зафиксированны в лог-файле на момент их удачного выполнения. Причем в механизме лог-файла сразу предусмотренны различные расширения для репликации, позволяющие по области видимости информации указывать, по каким узлам пойдут зафиксированные DML скрипты, будут ли на узлы пересылаться все DML-операторы, выполненные внутри триггеров, есть режим прямой трансляции по узлам любых, в т.ч. DDL операторов для изменения схем удаленных БД. К примеру в консолидированной БД в таблицу добавляется поле и потом оно обновляется:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
PASSTHROUGH FOR SUBSCRIPTION TO Pub_User.Pub_Name;
ALTER TABLE Table1 
  ADD NewField int NOT NULL DEFAULT  0 ;

...

PASSTHROUGH STOP;

UPDATE Table1
SET NewField =  1 ;
Здесь по консолидированному подписчику Pub_User на публикацию Pub_Name будет на консолидированной БД выполнено добавление столбца в таблицу и в случае успешного выполнения скрипта, разослано всем подписчикам публикации. Далее будет обновленно добавленное поле таблицы, изменения которого разойдутся по всем подписчикам в зависимости от информации, описанных в правилах репликации подписчиков. Соотвествующе в лог-файле эти SQL-операторы будут зафиксированны, в дальнейшем передадуться по удаленным БД и будут выполнены. Естественно через утилиту трансляции лог-файла их можно будет спокойно поднять из лога в SQL-скрипт чтобы посмотреть, как это выглядит на самом деле и естественно в случае потери пакетов или отката удаленной БД с бакупа ранее точки выполнения этих операторов, репликация их снова выполнит на удаленной БД. Так что лично я никаких сложностей в ссылочной целостности двусторонних репликаций ASA до сих пор не заметил

авторА, так вот пока это выясните, большая часть времени и уйдет. Пока объясните заказчику, что если проводить репликацию раз в день, и требовать чтобы все было "как в одной базе" - вещи несовместимые.
Это что то новенькое - а как же не выяснять то ТЗ, перед написанием проекта ? И на это действительно больше всего времени уходит, если мы не хотим получить безнадежный проект. А обьяснять заказчику я ничего не буду, это он мне будет обьяснять, а я ему задавать грамотные профессиональные вопросы. И кстати опять не понимаю фразы "требовать, чтобы было все как в одной базе" ? У меня различные схемы репликаций на проектах есть - и с централизованными справочниками и разделением данных по узлам и общим владением данных по узлам, даже форумы по узлам,новостные каналы и единая админстраторская консоль управления всеми узлами с любого узла - все это как бы не испытывает проблем и я не помню, что мне реализация каких либо ньюансов на ASA доставило хлопоты или геммор.

авторОчень похоже на заявления из отдела продаж :)
Это не заявления, а факты. На Украине есть пару проектов на ASA, филиалы которых периодически и не часто поднимают информацию на верх, где имеется 500-700 удаленных узлов. За рубежом реально работают проекты продаж, имеющие 10000 удаленных узлов (я уж молчу про КПК решения, там узлы никто не считает). В России так же уже имеются подобные проекты, начиная от автоматизации казино и бензоколонок, заканчивая обменом информации в крупных холдингах, где каждый узел - это огромные предприятия и большое кол-во информации. Странно, что в реальности все это прекрасно работает, причем само, без админов на узлах, а в теории Вы рассуждаете, что это невозможно или сложно
...
Рейтинг: 0 / 0
Проведите "ликбез" по распределенным базам данных.
    #33502342
Фотография Александр Гoлдун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Локшин Марк пишет:

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

Это называется офф-лайн репликация, в противовес онлайновой. У меня
практически вся такая. От 10-минутных интервалов с отправкой сообщений
по email или ftp до интервалов в несколько дней с обменом при помощи
курьера с дискетой. Причем все делалось штатными средствами ASA

> Это если известно на момент проектирования, что система будет
> распределенной.

Мне приходилось налаживать удаленные рабочие места с off-line
репликацией для существующих баз, при разработке которых было еще
неизвестно про подобную надобность. Если структура просто грамотно
спроектирована, то все реально. Делалось даже без изменения структуры.
Просто первичные ключи, которые автоинкрементные, разбивались на
диапазоны, кстати тоже штатными средствами

> Отлаженные механизмы - это хорошо, но в них тоже не
> всегда все есть. Вот например, есть ли в ASA подокументная репликация, а
> репликация последовательности документов для сохранения целостности
> базы?

Там репликация на основе подписок на публикации. Публикация - набор
таблиц, причем не только таблиц целиком, но и частей таблиц как по
горизонтали, так и по вертикали. Что такое документ, как не набор
записей в нескольких таблицах? С последовательностями все нормально - в
рамках подписок нарушения FK по причине, например, того, что вставка в
дочернюю таблицу пришла позже, чем в главную, не бывает.

> А если что-нибудь поэкзотичнее придумать? :)

Для теоретизирования или для практических нужд.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Проведите "ликбез" по распределенным базам данных.
    #33502347
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ASCRUSЧто такое "подокументная репликация" и "репликация последовательности документов" ?
Пример: у нас есть документ, который хранится в базе в виде двух таблиц шапка/подвал. Допустим, какой-то документ уже среплицировался между двумя базами. И тут обнаружилось, что в документ в забили внести одну строку в подвал. Набивают в обоих базах. Происходит репликация. В результате имеем документ с лишней строкой. Это самый тривиальный пример. Если поредактировать какой-нибудь иерархический документ можно тоже много веселого поиметь (даже редактируя только различные записи на разных узлах). Можно вместо дерева запросто произвольный граф получить :)
ASCRUSP.S. Для справки - в ASA репликация идет по лог-файлу БД, то есть на удаленные узлы и обратно в консолидированные реплицируются не данные, а SQL скрипты, которые были зафиксированны в лог-файле на момент их удачного выполнения
И только? Других вариантов нет?
ASCRUSЭто что то новенькое - а как же не выяснять то ТЗ, перед написанием проекта ?
Я про то, что это отнимет времени как бы не больше, чем реализация самой репликации на уровне послать строку/скрипт вставить сроку/запустить скрипт.
ASCRUSИ кстати опять не понимаю фразы "требовать, чтобы было все как в одной базе" ?
А вот так. Чтобы остатки всегда актуальные были, чтобы конфликтов при изменении данных не было. Типа как с одной базой в одной сети работают. Внес и забыл...
ASCRUSТак что лично я никаких сложностей в ссылочной целостности двусторонних репликаций ASA до сих пор не заметил
Не с сылочной целостностью, а с согласованностью изменений на различных узлах, улыбчивый вы наш.
...
Рейтинг: 0 / 0
Проведите "ликбез" по распределенным базам данных.
    #33502383
мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
основное отличие распределенной БД от просто набора БД с репликацией это поддержка распределенных транзакций
...
Рейтинг: 0 / 0
Проведите "ликбез" по распределенным базам данных.
    #33502409
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр ГoлдунЭто называется офф-лайн репликация, в противовес онлайновой.
Тут можно еще и поспорить, что такое офф-лайн репликация. Но в терминологии репликации MS SQL как ни странно, такой термин есть (отложенное обновление) и означает он именно репликацию с последующим обновлением других баз данных не в рамках одной транзакции (а возможно через большие промежутки времени).
Александр ГoлдунПубликация - набор таблиц, причем не только таблиц целиком, но и частей таблиц как по горизонтали, так и по вертикали. Что такое документ, как не набор записей в нескольких таблицах?
Набор то он набор, но хотелось бы иметь целостность этого набора. (см. пример в предыдущем посте).
...
Рейтинг: 0 / 0
Проведите "ликбез" по распределенным базам данных.
    #33502494
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Локшин Марк ASCRUSЧто такое "подокументная репликация" и "репликация последовательности документов" ?
Пример: у нас есть документ, который хранится в базе в виде двух таблиц шапка/подвал. Допустим, какой-то документ уже среплицировался между двумя базами. И тут обнаружилось, что в документ в забили внести одну строку в подвал. Набивают в обоих базах. Происходит репликация. В результате имеем документ с лишней строкой. Это самый тривиальный пример. Если поредактировать какой-нибудь иерархический документ можно тоже много веселого поиметь (даже редактируя только различные записи на разных узлах). Можно вместо дерева запросто произвольный граф получить :)
Вот и я про тоже - не нужно путать бизнес-логику с физической реализацией. Момент изменения документа на двух удаленных узлах одновременно - это организационный момент и решается на уровне ТЗ с заказчиком, а не принципом, пущай сама репликация разруливает. Если мы ничего в этой ситуации не предусмотрем, то было бы странно, если бы сама репликация не разослала по обоим узлам и в консолидированную добавленные строки пользователями. А вот разруливается это все централизованно в консолидированной БД через триггера конфликтов версий записей и правильной логикой на удаленных узлах.

Локшин Марк ASCRUSP.S. Для справки - в ASA репликация идет по лог-файлу БД, то есть на удаленные узлы и обратно в консолидированные реплицируются не данные, а SQL скрипты, которые были зафиксированны в лог-файле на момент их удачного выполнения
И только? Других вариантов нет?

Насколько мне известно: оффлайн репликация по лог-файлу - это самый надежный, мало потребляющий ресурсов сервера и выдерживающий огромные нагрузки способ репликации серверов, гарантирующий доставку информации, ссылочную целостность, поддержку изменения схемы БД и т.д. Уж все лучше, чем срезы, timestamp и прочие танцы с бубнами, которые кстати поддерживаются в другом штатном механизме репликации ASA Mobilink, что правда было сделано из за того, что он предназначен для гетерогенных репликаций ASA с серверами других производителей и я мало видел ASA-шников, которые хотели бы иметь лишний геммор, имея на всех узлах только ASA и используя вместо SQLRemote репликацию MobiLink.

Локшин Марк ASCRUSЭто что то новенькое - а как же не выяснять то ТЗ, перед написанием проекта ?
Я про то, что это отнимет времени как бы не больше, чем реализация самой репликации на уровне послать строку/скрипт вставить сроку/запустить скрипт.
Репликацию реализовывать не нужно, она есть и все умеет. Нужно точно знать только, что нужно реализовать, а не гадать на кофейной гуще.


Локшин Марк ASCRUSИ кстати опять не понимаю фразы "требовать, чтобы было все как в одной базе" ?
А вот так. Чтобы остатки всегда актуальные были, чтобы конфликтов при изменении данных не было. Типа как с одной базой в одной сети работают. Внес и забыл...
Так и есть - есть логика движения информации, есть разделение информации по узлам и понятие общей информации, есть триггера конфликтов версий - все при правильном сложении дает искомый результат.

Локшин Марк ASCRUSТак что лично я никаких сложностей в ссылочной целостности двусторонних репликаций ASA до сих пор не заметил
Не с сылочной целостностью, а с согласованностью изменений на различных узлах,
Согласованность изменений означает согласованность процессов того предприятия, что мы автоматизируем. Если пользователи находясь в сотнях километров друг от друга меняют документ, который был внесен на основе оригинала в консолидированной БД и прислан с центра - печально конечно, но тоже лечиться, если стоит в условиях ТЗ.

Локшин Маркулыбчивый вы наш.
Спасибо, Вам тоже желаю хорошего настроения
...
Рейтинг: 0 / 0
Проведите "ликбез" по распределенным базам данных.
    #33502497
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
модосновное отличие распределенной БД от просто набора БД с репликацией это поддержка распределенных транзакций
про двухфазное принятие - это в яблочко.Такая фигня с репликацией не прокатит.
...
Рейтинг: 0 / 0
Проведите "ликбез" по распределенным базам данных.
    #33502543
Фотография Александр Гoлдун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Локшин Марк пишет:

> двумя базами. И тут обнаружилось, что в документ в забили внести одну
> строку в подвал. Набивают в обоих базах.

Пример некорректного проектирования. Не проектирования БД, а на более
раннем этапе - некорретная постановка методики работы с документами.

> Если поредактировать какой-нибудь иерархический документ можно
> тоже много веселого поиметь

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

>> P.S. Для справки - в ASA репликация идет по лог-файлу БД, то есть на
>> удаленные узлы и обратно в консолидированные реплицируются не данные, а
>> SQL скрипты, которые были зафиксированны в лог-файле на момент их
>> удачного выполнения

> И только? Других вариантов нет?

А этого недостаточно? Какие нужны другие варианты? Такая технология
позволяет, например, легко и безболезненно организовать одновременную
правку в разных базах разных полей ОДНОЙ И ТОЙ ЖЕ записи. При построчной
репликации измененных записей такое сделать проблематично.

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Проведите "ликбез" по распределенным базам данных.
    #33502579
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gardenmanпро двухфазное принятие - это в яблочко.Такая фигня с репликацией не прокатит.
Смотря в каком смысле. У Оракла есть синхронная репликация. Она конечно прокатикат тока на реальных сетевых устройствах - иначе они набегаются.
...
Рейтинг: 0 / 0
Проведите "ликбез" по распределенным базам данных.
    #33502626
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр ГoлдунПример некорректного проектирования. Не проектирования БД, а на более раннем этапе - некорретная постановка методики работы с документами.
А, я понял. На ASA можно сделать все. То, что не укладывается в схему репликации ASA является ошибочным. Почему сотрудники разных филиалов не могут вносить изменения в один и тот же документ? Чем это отличается от возможности изменения документа на разных рабочих местах? Т.е. по вашему внесли мы документ на компьютере 1, и все не редактировать не удалить его с других компьютеров мы не можем?
Александр ГoлдунА этого недостаточно? Какие нужны другие варианты? Такая технология позволяет, например, легко и безболезненно организовать одновременную правку в разных базах разных полей ОДНОЙ И ТОЙ ЖЕ записи. При построчной репликации измененных записей такое сделать проблематично.
Та же построчная репликация позволяет снизить траффик при частом обновлении одних и тех же строк за периоды между репликациями. И представляете, с полями одной и той же записи - ну никаких проблем. А моментальными снимками - при больших периодах между сеансами. Естественно, есть и свои недостатки, но...
gardenmanпро двухфазное принятие - это в яблочко.Такая фигня с репликацией не прокатит.
Безотлагательное обновление, которое использует 2PC в MS SQL относится к репликации.
...
Рейтинг: 0 / 0
Проведите "ликбез" по распределенным базам данных.
    #33502741
Фотография Александр Гoлдун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Локшин Марк пишет:

> А, я понял. На ASA можно сделать все. То, что не укладывается в схему
> репликации ASA является ошибочным.

А я не понял иронии. Есть достойные альтернативные предложения? Готов
выслушать и ознакомиться - я не догматик в этом плане и не являюсь
сотрудником маркетингового отдела Sybase. Чудес не бывает, так же как и
не бывает волшебной кнопки, по нажатию которой сама собой реализуется
репликация чего угодно куда угодно. Дело не в схеме репликации ASA, а в
самой идеологии офф-лайновой репликации, когда физически невозможно
получить моментальную прямую связь с удаленной БД.

> Почему сотрудники разных филиалов не
> могут вносить изменения в один и тот же документ? Чем это отличается от
> возможности изменения документа на разных рабочих местах?

Тем, что на разных рабочих местах одной БД можно легко отследить текущее
состояние документа, например правится ли он сейчас соседом. Проведи
аналогию с бумажным документом. Написали что-то на бумажке, протянули
руку и передали соседу - он что-то дописал или исправил, вернул обратно
и т.п. Все происходит быстро, в определенном приближении это можно
считать одновременной работой над документом. Но все же она
последовательная (я утрирую конечно, не рассматривая сложные составные
докумены физически на нескольких листах :). А теперь представь ситуацию,
когда не протянул руку с бумажкой, а отправляешь курьера, который
доберется минимум через час.

> Т.е. по вашему
> внесли мы документ на компьютере 1, и все не редактировать не удалить
> его с других компьютеров мы не можем?

Можем. Только надо четко понимать, как это организовать и к чему это
может привести. У меня, например, в некоторых документах допускается
одновременная правка в разных базах, но специфика рабочих мест и
доступов такая, что в разных базах правятся разные поля. Есть и другие
варианты - правка всего документа, но в разных статусах. Например в
одном филиале документ могут создать и править пока он имеет статус
черновика. После смены статуса в том месте с ним уже ничего сделать не
смогут, но он становится доступен для редактирования в другом офисе. И т.п.

> Та же построчная репликация позволяет снизить траффик при частом
> обновлении одних и тех же строк за периоды между репликациями.

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

> Естественно, есть и свои недостатки, но...

Ну, везде есть недостатки и достоинства. Из всего, что я видел и
анализировал, для решения задач с которыми я сталкиваюсь более всего
подходит ASA, причем с большим отрывом. В других условиях возможно
подойдет что-то более другое, но в плане поддержки репликации, особенно
offline, многими ASA признается лучшим выбором.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Проведите "ликбез" по распределенным базам данных.
    #33502837
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Локшин МаркТа же построчная репликация позволяет снизить траффик при частом обновлении одних и тех же строк за периоды между репликациями. И представляете, с полями одной и той же записи - ну никаких проблем. А моментальными снимками - при больших периодах между сеансами. Естественно, есть и свои недостатки, но...
Есть у меня проекты, где одна и та же расчетная информация мутузиться сколько угодно раз, добавляется, изменяется, удаляется в пределах открытого расчетного периода в специально отведенных под это таблицах (кэшах). Если бы я ее постоянно реплицировал, то вместо репликации был бы сплошной спам. Однако все проще - как только период закрывается, данные фиксируются в таблицы фиксированного хранения информации, которые уже подвязаны на репликацию и все конечные изменения уходят наверх в консолидированную БД и по другим удаленным узлам, имеющим область видимости этой информации. Еще можно вспомнить фильтры WHERE на информацию, что позволяет помимо распределения информации по кодам подписчиков отсылать не все записи таблиц (например по флагу готовности).

Локшин МаркПочему сотрудники разных филиалов не могут вносить изменения в один и тот же документ? Чем это отличается от возможности изменения документа на разных рабочих местах? Т.е. по вашему внесли мы документ на компьютере 1, и все не редактировать не удалить его с других компьютеров мы не можем?
Все таки Вы Марк путаете бизнес-логику и реализацию. По определению один документ не могут одновременно править два человека, ибо только один из них имеет зафискированный оригинал, с которого шли исправления (если они конечно ксерокопией его не размножили). А вот если документ составной, то его дочерние документы вполне могут править разные люди, наглядный пример - юрист заключил с клиентом договор на покупку недвижимости и расписал плановые платежи по рассрочкам и ссудам. В процессе работы с документом другие юристы вносили дополнительные соглашения к договору, фиксируя их документами. В отделе платежей по пришедшим платежам фиксировалась платежки, пришедшие от клиента. Аналитики использовали информацию для построения отчетов и выявления неплательщиков, с передачей данных юристам для выставления пеней. Поэтому мне странно представить себе одновременную правку одного документа что через онлайн в сети, что в оффлайне через репликации, это явное нарушение технологического процесса, которое сразу начинает ассоциироваться с автоматизацией бардака.

Александр ГoлдунНу, везде есть недостатки и достоинства. Из всего, что я видел и
анализировал, для решения задач с которыми я сталкиваюсь более всего
подходит ASA, причем с большим отрывом. В других условиях возможно
подойдет что-то более другое, но в плане поддержки репликации, особенно
offline, многими ASA признается лучшим выбором.
Полностью подписываюсь. Правда сейчас насколько я читал, достаточно неплохо подтянули уровень механизма репликаций в Юконе, однако как мне показалось, по функциональным возможностям он все таки не дотягивает до уровня ASA, хотя в описаниях тоже выглядит неплохо и в дальнейшем я надеюсь будет возможность рассмотреть и сравнить достоинства и недостатки репликаций MSSQL2005 с репликациями ASA на живых проектах, а не только по описаниям.

P.S. И я тоже кстати навряд ли тяну на маркетингового представителя Sybase, как раз наверное наоборот, я в данном случае провожу антимаркетинговую политику, так как в представительствах Sybase признается исключительно ASE. Но против истины не попрешь - ASA действительно хороша и многое умеет :)
...
Рейтинг: 0 / 0
Проведите "ликбез" по распределенным базам данных.
    #33502893
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр ГoлдунТем, что на разных рабочих местах одной БД можно легко отследить текущее состояние документа, например правится ли он сейчас соседом. Проведи аналогию с бумажным документом. Написали что-то на бумажке, протянули руку и передали соседу - он что-то дописал или исправил, вернул обратно и т.п. Все происходит быстро, в определенном приближении это можно считать одновременной работой над документом.
А если сосед в другой комнате? А если в 40 метрах в другом здании?
Александр ГoлдунА теперь представь ситуацию,
когда не протянул руку с бумажкой, а отправляешь курьера, который
доберется минимум через час.
Ну так в том же примере можно контролировать целостность изменения на уровне документа. Например принимать изменения в документе, только одной из сторон (во всех строках всех таблиц относящихся к этому документу). И писать об этом - напр. в накладной №29 от 10.10.2005 изменения такого-то отклонены, или предлагать изменения на выбор внести. Смотреть, менялись или нет связанные с ним документы, допускают ли они изменение существующего документа и т.д.

Александр ГoлдунНу, везде есть недостатки и достоинства. Из всего, что я видел ианализировал, для решения задач с которыми я сталкиваюсь более всего подходит ASA, причем с большим отрывом. В других условиях возможно подойдет что-то более другое, но в плане поддержки репликации, особенно offline, многими ASA признается лучшим выбором.
А я и не говорю, что она не подходит. Просто когда говорится, что
ASCRUSДля реализации репликации любого уровня сложности в ASA все необходимое уже есть
звучит похоже на знаметиное Билла Гейтса 640 килобайт хватит всем и всегда, как по сути так и по содержанию.
...
Рейтинг: 0 / 0
Проведите "ликбез" по распределенным базам данных.
    #33502995
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Марк, а я утверждаю из личного опыта, а так же опыта своих коллег. Не знаю, что там Билли или Ларри говорили, не имея еще на руках реально работающего ПО, но как бы приведенные мною возможности ASA показывают, что на функциональном уровне реализации репликаций все необходимое есть. Если есть какие то сомнения в недостающей функциональности, то я всегда готов ответить на вопросы, поэтому мне не понятна, в чем Ваши сомнения. Это мне напоминает сомненья типа, у нас этого нету, значит этого нигде нету, что не раз демонстрировалось на различных форумах SQL.RU. Хорошо, лично для Вас я переформулирую: ASA в области двусторонних оффлайн репликаций умеет не хуже и в некоторых планах лучше решения, чем решения производителей других РСУБД. Такая формулировка подойдет ?
...
Рейтинг: 0 / 0
Проведите "ликбез" по распределенным базам данных.
    #33503010
Фотография Александр Гoлдун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Локшин Марк пишет:

> А я и не говорю, что она не подходит. Просто когда говорится, что

>> ASCRUS
>> Для реализации репликации любого уровня сложности в ASA все необходимое
>> уже есть

> звучит похоже на знаметиное Билла Гейтса 640 килобайт хватит всем и
> всегда, как по сути так и по содержанию.

Ну, мозгов системного архитектора в коробку с дистрибутивом ASA не
кладут. За то можно избавиться от повторного изобретения великого
множества велосипедов: начальная синхронизация, распределение областей
видимости, прозрачный для разработчика транспортный уровень - FTP,
e-mail, file sharing, VIM и оленья упряжка с дискетами. Контроль
целостности сообщений и последовательности сообщений, корректная
автоматическа отработка потерь сообщений, специальный тип триггеров на
разруливание конфликтов, глобальные автоинкременты для упрощения
разделения уже работающих баз и многое другое. ASCRUS именно это и имел
в виду, когда говорил "все необходимое". Просто приходилось сталкиваться
с самописками, в которых все эти вещи люди пытались реализовать сами.
Насколько мне известно, для ASA не пишут сторонних репликаторов, ибо
штатных возможностей более чем хватает.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Проведите "ликбез" по распределенным базам данных.
    #33503040
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ASCRUSВсе таки Вы Марк путаете бизнес-логику и реализацию. По определению один документ не могут одновременно править два человека, ибо только один из них имеет зафискированный оригинал, с которого шли исправления (если они конечно ксерокопией его не размножили). А вот если документ составной, то его дочерние документы вполне могут править разные люди, наглядный пример - юрист заключил с клиентом договор на покупку недвижимости и расписал плановые платежи по рассрочкам и ссудам. В процессе работы с документом другие юристы вносили дополнительные соглашения к договору, фиксируя их документами. В отделе платежей по пришедшим платежам фиксировалась платежки, пришедшие от клиента. Аналитики использовали информацию для построения отчетов и выявления неплательщиков, с передачей данных юристам для выставления пеней. Поэтому мне странно представить себе одновременную правку одного документа что через онлайн в сети, что в оффлайне через репликации, это явное нарушение технологического процесса, которое сразу начинает ассоциироваться с автоматизацией бардака.
Никакая это не автоматизация бардака. Привожу конкретный пример.
Есть центральный офис. Есть склад. В центральном офисе дают разрешение отгрузить Иванову 1000 ед. товара. Иванов берет пять машин и едет на этот склад забирать товар на 5 машинах, допустим с этим разрешением. Ему отгружают в эти 5 машин товару, допустим по 100 единиц, а когда ТТН оформляли - одну строку пропустили. Уехал он со своим товаром. На следующий день в центральный офис. Давайте мне счет-фактуру. А счет-фактура выписывается только на основании отгрузки, т.е. той ТТН, которая ночью, допустим, попала в центральный офис. А там 4 строки. Что делать? Говорить - звиняйте, завтра приезжайте, сейчас нам подправят на складе, а завтра к нам изменения только дойдут? Изменять на месте? А если на складе обнаружат, что не верно ввели, но данные уже отправлены?
ASCRUSВот и я про тоже - не нужно путать бизнес-логику с физической реализацией. Момент изменения документа на двух удаленных узлах одновременно - это организационный момент и решается на уровне ТЗ с заказчиком, а не принципом, пущай сама репликация разруливает.
Дык когда разрывы между сеансами связи могут достигать нескольких дней (ну паршиво работает канал связи). И что в таком случае делать? Я считаю - что такая "подокументная репликация" в таком случае - вполне неплохой выход. А другой выход какой? Не прибавлять же в каждом отчете "в уме" эту недовведенную строку пока она не будет доставлена в очередном сеансе связи.
...
Рейтинг: 0 / 0
Проведите "ликбез" по распределенным базам данных.
    #33503069
Фотография Александр Гoлдун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кНЙЬХМ лЮПЙ ОХЬЕР:
> мХЙЮЙЮЪ ЩРН МЕ ЮБРНЛЮРХГЮЖХЪ АЮПДЮЙЮ. оПХБНФС ЙНМЙПЕРМШИ ОПХЛЕП.
....
> НРЦПСФЮЧР Б ЩРХ 5 ЛЮЬХМ РНБЮПС, ДНОСЯРХЛ ОН 100 ЕДХМХЖ, Ю ЙНЦДЮ ррм
> НТНПЛКЪКХ - НДМС ЯРПНЙС ОПНОСЯРХКХ. сЕУЮК НМ ЯН ЯБНХЛ РНБЮПНЛ.

йЮЙНИ ФЕ ЩРН МЕ АЮПДЮЙ?
ю ЖЕМШ ЙКХЕМРС РНФЕ ЙКЮДНБЫХЙ МЮГМЮВЮЕР?
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Проведите "ликбез" по распределенным базам данных.
    #33503076
Фотография Александр Гoлдун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Локшин Марк пишет:

> Никакая это не автоматизация бардака. Привожу конкретный пример.
....
> отгружают в эти 5 машин товару, допустим по 100 единиц, а когда ТТН
>оформляли - одну строку пропустили. Уехал он со своим товаром.

Какой же это не бардак?
А цены клиенту тоже кладовщик назначает?

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Проведите "ликбез" по распределенным базам данных.
    #33503104
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ASCRUSМарк, а я утверждаю из личного опыта, а так же опыта своих коллег.
Ну так из этого вы можете только утверждать, что для тех задач, которые Вы со своими коллегами делали ASA было достаточно.
ASCRUSASA в области двусторонних оффлайн репликаций умеет не хуже и в некоторых планах лучше решения, чем решения производителей других РСУБД. Такая формулировка подойдет ?
Такая - конечно пойдет (возможно следовало только уточнить - известных Вам производителей :) ), но все и всегда - это уж слишком.
А шире, чем в ASA я тоже не видел возможностей репликации.
авторПросто приходилось сталкиваться с самописками, в которых все эти вещи люди пытались реализовать сами. Насколько мне известно, для ASA не пишут сторонних репликаторов, ибо штатных возможностей более чем хватает.
Да самому приходилось такую писать. Но тогда же и показалось, что для "любых случаев" ASA не хватит.
...
Рейтинг: 0 / 0
Проведите "ликбез" по распределенным базам данных.
    #33503115
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр ГoлдунКакой же это не бардак?
А цены клиенту тоже кладовщик назначает?
Естественно не кладовщик. Цены - в разрешении на отпуск.
...
Рейтинг: 0 / 0
Проведите "ликбез" по распределенным базам данных.
    #33503120
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Локшин МаркНикакая это не автоматизация бардака. Привожу конкретный пример.
Есть центральный офис. Есть склад. В центральном офисе дают разрешение отгрузить Иванову 1000 ед. товара. Иванов берет пять машин и едет на этот склад забирать товар на 5 машинах, допустим с этим разрешением. Ему отгружают в эти 5 машин товару, допустим по 100 единиц, а когда ТТН оформляли - одну строку пропустили. Уехал он со своим товаром. На следующий день в центральный офис. Давайте мне счет-фактуру. А счет-фактура выписывается только на основании отгрузки, т.е. той ТТН, которая ночью, допустим, попала в центральный офис. А там 4 строки. Что делать? Говорить - звиняйте, завтра приезжайте, сейчас нам подправят на складе, а завтра к нам изменения только дойдут? Изменять на месте? А если на складе обнаружат, что не верно ввели, но данные уже отправлены?
Самое интересное, что данная ситуация решается обычными административными мерами. В любом случае в центральном офисе после обнаружения неправильной ТТН позвонят на склад, ведь так ведь ? В любом случае на складе поднимут ТТН и сверят с данными в программе ? В любом случае для правильного оформления в центральном офисе им придется по факсу или телефону выслать правильные данные, которые вобьются в центральном офисе и вниз спустяться на склад во время следующей ночной репликации. Это наиболее вероятная ситуация. Рассмотрим более нестандартную и маловероятную ситуацию (во всяком случае в моем представлении) - ночью прошла репликация и кладовщики вдруг с какого то перепугу вдруг вспомнили, что они что то неправильно оформили и вбили это в программу. Соотвествующе данные попадут только на следующую ночь, а клиент уже приехал в офис и жаждет счета фактуры. Ок, раз есть такая ситуация, значит и в структуре БД необходимо предусмотреть пути ее решения. В таблицу ТТН добавляем флаг IsLocal, на фильтр репликации вешаем IsLocal = 0 и на триггер добавления записей вешаем удаление из таблицы записи с IsLocal = 0, по номеру строки равному номеру вставляемой из репликации записи. В итоге ночью придут оригинальная строка со склада, автоматом удалит временно введенную строку в офисе, однако это удаление не отобразится в репликации и на склад удаление этой строки не пойдет. Следующая ситуация - в офисе и на складе поменяли одни и те же существующие записи. Тут мы спокойно все сможем урегулировать, написав триггер на конфликт версий, в котором может определить, чью строку считать правильной, а чью откатить до состояния правильной - по последней дате изменения, по приоритету что здесь складская информация является оригинальной, и т.д. Так же никаких сложностей. Хотя лично считаю, что пример притянут за уши и я бы на самом деле после отпуска машины со склада блокировал флагом документ на складе, чтобы его изменить мог только офис, как более приоритетная организация, решающая вопросы таких ошибок, во избежания ошибочных ситуаций и увода от отвественности кладовщиков, допускающих такие серьезные ошибки.
...
Рейтинг: 0 / 0
Проведите "ликбез" по распределенным базам данных.
    #33503197
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
В любом случае в центральном офисе после обнаружения неправильной ТТН позвонят на склад, ведь так ведь ? В любом случае на складе поднимут ТТН и сверят с данными в программе ?
ASCRUS не уподобляйся декаблистам и Герцену!... Будь ближе к народу!...
шутка
...
Рейтинг: 0 / 0
Проведите "ликбез" по распределенным базам данных.
    #33503236
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все проще, реально у меня есть понимании ситуации - как никак если посмотреть на оформление ГТД начиная отпуском от постов и завершая завершением оформления на таможнях, с параллейным движением платежек сверху вниз к таможням, да еще с почетным кругом через наличку - то есть задачки и посложнее ситуации с недобросовестными кладовщиками, однако в любом случае любой процесс требует документрирования и четкого разграничения на административном уровне что прав доступа, что ситуаций изменения информации в пути, что прочих неприятных ситуаций. Иначе можно и правку закрытого опердня в банке разрешить, мало ли, оператор ошибся, а утром вот вспомнил ;)
...
Рейтинг: 0 / 0
Проведите "ликбез" по распределенным базам данных.
    #33503408
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Целиком согласен с ASCRUS.
Но вот всеже в случае с ГТД, или с теми же полисами ОСАГО - проще полностью весь документ один раз передать чем реплицировать полсотни табличек, на которые этот догумент разложен много-много раз. разументся ИМХО.
...
Рейтинг: 0 / 0
Проведите "ликбез" по распределенным базам данных.
    #33504149
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ASCRUSВ любом случае для правильного оформления в центральном офисе им придется по факсу или телефону выслать правильные данные, которые вобьются в центральном офисе и вниз спустяться на склад во время следующей ночной репликации.
А если связи не будет несколько дней?
ASCRUSРассмотрим более нестандартную и маловероятную ситуацию (во всяком случае в моем представлении) - ночью прошла репликация и кладовщики вдруг с какого то перепугу вдруг вспомнили, что они что то неправильно оформили и вбили это в программу
Не с какого-то перепугу, а допустим когда делает оборотную ведомость по складу, смотрит, что у него что-то не то.
ASCRUSВ таблицу ТТН добавляем флаг IsLocal, на фильтр репликации вешаем IsLocal = 0 и на триггер добавления записей вешаем удаление из таблицы записи с IsLocal = 0, по номеру строки равному номеру вставляемой из репликации записи.
Можно чуть подробне, особенно в районе "номера вставляемой из репликации записи".
ASCRUSХотя лично считаю, что пример притянут за уши и я бы на самом деле после отпуска машины со склада блокировал флагом документ на складе, чтобы его изменить мог только офис,
Ну блокировать - это хорошо. Просто в оригинале это не совсем склад - это два независимых подразделения с единой бухгалтерией на територии первого, и если во втором таким образом "подвиснут" документы, то это будет совсем не хорошо. Так что пришлось делать самим такую "подокументную" передачу данных через e-mail (связь была через GPRS модем). Правда дело было на MS SQL 2000.
Кстати, почему я путаю бизнес-логику и реализацию? Я бы процедуру разрешения конфликта отнес к репликации. Хм... хотя это интересный вопрос...
...
Рейтинг: 0 / 0
Проведите "ликбез" по распределенным базам данных.
    #33504294
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторМожно чуть подробне, особенно в районе "номера вставляемой из репликации записи".
Извиняюсь, что не точно выразился. Я имел ввиду, что в любом случае строка ТТН должна помимо синтетического ключа иметь естественный ключ (хоть порядковый номер в накладной, вбиваемый ручками) и именно по этому ключу можно было бы отследить, что пришла запись с IsLocal = 0 и на нее уже существует с таким же натуральным ключом запись с IsLocal = 1, т.е. как временно введенная и ожидающая своего замещения с удаленного узла. Так или иначе мне кажется для конкретной задачи можно найти множества вариантов решений и выбрать из них наиболее оптимальный и лучший. Ну а кол-во таких решений определяется (ограничивается) как раз рамками функциональности сервера, на котором пишется проект. Здесь меня ASA вполне устраивает именно тем, что у этого сервера присутствует на борту широкий функционал, который позволяет мне действительно большой выбор решений и главное, легкий в освоении и использовании, с минимальным кол-вом ограничений и условий применения (ветвления), и сделанный в единой концепции языка WatomSQL, без каких либо прикруток, примочек или привязки к ОС (естественно кроме таких расширений, как поддержка MAPI, SNMP и т.д.).
...
Рейтинг: 0 / 0
Проведите "ликбез" по распределенным базам данных.
    #33505132
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ASCRUSЗдесь меня ASA вполне устраивает именно тем, что у этого сервера присутствует на борту широкий функционал, который позволяет мне действительно большой выбор решений и главное, легкий в освоении и использовании, с минимальным кол-вом ограничений и условий применения (ветвления), и сделанный в единой концепции языка WatomSQL, без каких либо прикруток, примочек или привязки к ОС (естественно кроме таких расширений, как поддержка MAPI, SNMP и т.д.).
Ну не знаю. Мне просто больше нравится идея такой "подокументной" репликации в том случае, про который я говорил. Достаточно легко отследить все такие "нехорошие" случаи взаимного изменения данных, без всяких фокусов с такими дополнительными полями и т.д. У нас все скрипты (тригера, sp) генерятся по некоей метаинформации о базе в один скрипт, запускаеь его и репликация готова. :) Удобно.
...
Рейтинг: 0 / 0
Проведите "ликбез" по распределенным базам данных.
    #33505174
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Локшин Марк ASCRUSЗдесь меня ASA вполне устраивает именно тем, что у этого сервера присутствует на борту широкий функционал, который позволяет мне действительно большой выбор решений и главное, легкий в освоении и использовании, с минимальным кол-вом ограничений и условий применения (ветвления), и сделанный в единой концепции языка WatomSQL, без каких либо прикруток, примочек или привязки к ОС (естественно кроме таких расширений, как поддержка MAPI, SNMP и т.д.).
Ну не знаю. Мне просто больше нравится идея такой "подокументной" репликации в том случае, про который я говорил. Достаточно легко отследить все такие "нехорошие" случаи взаимного изменения данных, без всяких фокусов с такими дополнительными полями и т.д. У нас все скрипты (тригера, sp) генерятся по некоей метаинформации о базе в один скрипт, запускаеь его и репликация готова. :) Удобно.
Ну тут кому как удобно и кто на чем готовит :) Я просто стараюсь всеми силами избегать велосипедов и пользоваться штатным функционалом. До перехода на ASA это не удавалось в полном обьеме, сейчас тьфу тьфу, куча проектов различных направлений и сложности, а ничего прикручивать не пришлось.
...
Рейтинг: 0 / 0
Проведите "ликбез" по распределенным базам данных.
    #33505262
protector
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"ASCRUS" <nospam@sql.ru>; сообщил/сообщила в новостях следующее:
news:2290541@sql.ru...
> Ну тут кому как удобно и кто на чем готовит :) Я просто стараюсь
всеми силами избегать велосипедов и пользоваться штатным функционалом. До
перехода на ASA это не удавалось в полном обьеме, сейчас тьфу тьфу, куча
проектов различных направлений и сложности, а ничего прикручивать не
пришлось.

Чисто практический вопрос. Как я понимаю в ASA можно настроить фильтр,
определяющий какие данные попадут под репликацию. А можно отфильтровать
удалённые записи по их содеожимому?

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Проведите "ликбез" по распределенным базам данных.
    #33505319
Фотография Александр Гoлдун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
protector пишет:
> Чисто практический вопрос. Как я понимаю в ASA можно настроить фильтр,
> определяющий какие данные попадут под репликацию. А можно отфильтровать
> удалённые записи по их содеожимому?

Разумеется. Публикация - это набор таблиц или частей таблиц. Часть
таблицы - это подмножество ее колонок и записей. Первое определяется
перечислением полей, второе - обычным условием WHERE
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Проведите "ликбез" по распределенным базам данных.
    #33505332
protector
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Александр Гoлдун" <nospam@sql.ru>; сообщил/сообщила в новостях следующее:
news:2290763@sql.ru...
>
> protector пишет:
> > Чисто практический вопрос. Как я понимаю в ASA можно настроить
фильтр,
> > определяющий какие данные попадут под репликацию. А можно
отфильтровать
> > удалённые записи по их содеожимому?
>
> Разумеется. Публикация - это набор таблиц или частей таблиц. Часть
> таблицы - это подмножество ее колонок и записей. Первое определяется
> перечислением полей, второе - обычным условием WHERE

Значит содержимое удалённыз записей сохраняется, раз на них можно наложить
условие WHERE?

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Проведите "ликбез" по распределенным базам данных.
    #33505452
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так и есть - через WHERE можно определить фильтр, под который будут попадать в репликацию записи (как раз мой пример с IsLocal). Перечислением полей можно указать, какие поля будут реплицироваться. А через указание поля или выражения кода подписчика можно регулировать направление движение информации по удаленным узлам (что как раз наглядно демонстрирует вот этот топик ).
...
Рейтинг: 0 / 0
Проведите "ликбез" по распределенным базам данных.
    #33505466
Фотография Александр Гoлдун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
protector пишет:

> Значит содержимое удалённыз записей сохраняется, раз на них можно наложить
> условие WHERE?

Э.... А что понималось под удаленными записями? Те, которые в удаленной
БД или те, которым сделали DELETE? :)
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Проведите "ликбез" по распределенным базам данных.
    #33505471
protector
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"ASCRUS" <nospam@sql.ru>; сообщил/сообщила в новостях следующее:
news:2290954@sql.ru...
> Так и есть - через WHERE можно определить фильтр, под который будут
попадать в репликацию записи (как раз мой пример с IsLocal). Перечислением
полей можно указать, какие поля будут реплицироваться. А через указание поля
или выражения кода подписчика можно регулировать направление движение
информации по удаленным узлам (что как раз наглядно демонстрирует вот этот
топик).

Т.е. как я понимаю в публикации под условие Where попадают как уже удалённые
так и не удалённые записи. А состояние записи (удалена не удалена) можно
проверить?

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Проведите "ликбез" по распределенным базам данных.
    #33505475
protector
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Александр Гoлдун" <nospam@sql.ru>; сообщил/сообщила в новостях следующее:
news:2290976@sql.ru...
>
> protector пишет:
>
> > Значит содержимое удалённыз записей сохраняется, раз на них можно
наложить
> > условие WHERE?
>
> Э.... А что понималось под удаленными записями? Те, которые в
удаленной
> БД или те, которым сделали DELETE? :)

Те, которым сделали DELETE и которые должны попасть в публикацию.

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Проведите "ликбез" по распределенным базам данных.
    #33505835
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
protectorТ.е. как я понимаю в публикации под условие Where попадают как уже удалённые
так и не удалённые записи. А состояние записи (удалена не удалена) можно
проверить?
Во первых когда на удаленной или консолидированной БД применяются изменения, то в срабатываемых триггерах можно спокойно видеть, кто их вызывает - пользовательская сессия или же репликация. Во вторых как я уже говорил, все что пойдет по репликации фиксируется в логе, причем фиксируется на момент произведения DML операции. Соотвествующе это означает, что мы на публикацию таблицы можем нацепить выражение/запрос в WHERE и в SUBSCRIBE BY (возврат кода подписчика для определения видимости информации). Таким образом, отвечая на Ваш вопрос, пишем в WHERE для публицируемой таблицы:
Код: plaintext
(Field <>  1  OR NOT UPDATING) AND (Field <>  2  OR NOT DELETING)
Здесь я отсекаю по репликации изменяемые записи, если поле Field равно 1 и удаляемые записи, если Field равняется 2. INSERTINT/UPDATING/DELETING - это ключевые слова WatcomSQL, позволяющие определить, какая операция производится на текущий момент, разрешенные к использованию в триггерах и всех процедур, функций и операторов, попадающих в внутрь области видимости триггера. Таким же образом я могу в WHERE репликации поставить свою функцию и вызывать ее с параметрами, передавая к примеру поля реплицируемой таблицы. В общем тут насколько хватает фантазии
...
Рейтинг: 0 / 0
Проведите "ликбез" по распределенным базам данных.
    #33506267
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Гм. Горячие финские репликаторы.
На мой взгляд, который кажется совпадает с тем, что я читал.

Распределенной базой можно назвать совокупность несвязаных между собой баз, к таблицам которых можно произвести запрос в единой транзакции.
При чем тут спор о репликации?
Репликация это как раз нераспределенная база. Репликации в корне противоречат требованиям к РСУБД - в частности первому правилу Кодда. Потому что, при репликации любое значения нужно искать не только по столбцу и ключу, но и по имени сервера.
...
Рейтинг: 0 / 0
Проведите "ликбез" по распределенным базам данных.
    #33506456
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторПотому что, при репликации любое значения нужно искать не только по столбцу и ключу, но и по имени сервера.
Это еще как ?
...
Рейтинг: 0 / 0
Проведите "ликбез" по распределенным базам данных.
    #33506600
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2
Распределенной базой можно назвать совокупность несвязаных между собой баз, к таблицам которых можно произвести запрос в единой транзакции.
При чем тут спор о репликации?

А можно назвать распределенной БД, рапределенную в сети, т.е. данные которой распределены по локальным БД в сети. Хоть вообще без транзакций, но по сети, т.е. с дискетами уже типа не распределенная. Все остальное относится к тому является ли распределенной СУБД. По крайней мере, в литре к СУБД предъявляются требования прозрачности к распределенности, а не к БД.
Но даже если взять Ваше определение, то репликация (генерация и воспроизведение копий на сайтах) пользуется удаленными транзакциями, а в общем случае и может распределенными. Кроме того есть, синхронные репликации, т.е. данные обновляются в одной транзакции на всех узлах.
Какая разница кто ее выполнил и када? - она распределенная. Чел поменял на одной БД а выполнилось везде - прозрачность распределенности.
...
Рейтинг: 0 / 0
Проведите "ликбез" по распределенным базам данных.
    #33506612
Фотография Рыжий Кот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2Потому что, при репликации любое значения нужно искать не только по столбцу и ключу, но и по имени сервера.

неправда...
...
Рейтинг: 0 / 0
Проведите "ликбез" по распределенным базам данных.
    #33507456
мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2
Распределенной базой можно назвать совокупность несвязаных между собой баз, к таблицам которых можно произвести запрос в единой транзакции.

запрос в единой транзакции (с rollback и commit ) можно произвести только к совокупности связаных между собой баз. это и называется распределенной БД.
а репликация здесь вообще не причем. реплицировать можно что угодно.
...
Рейтинг: 0 / 0
Проведите "ликбез" по распределенным базам данных.
    #33507672
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Репликация - то же самое что и клонирование... :)
Скорре всего в этом топике уже речь зашла о "распределенной обработке данных". Даже можно сказать распределенном хранении данных, т.к. для распределенной обработки приплетут еще и сервера приложений.
...
Рейтинг: 0 / 0
Проведите "ликбез" по распределенным базам данных.
    #33508913
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
мод . Именно это я и хотел сказать :(
===============
Неточно выразился ранее. Базы с репликацией не являются реляционными, так как некоторые значения можно получить не единственным способом. Посему, репликации - это зло! Но допустимое, так же как допустима денормализация. И я не вижу надобности в репликациях при наличии современных каналов связи.
...
Рейтинг: 0 / 0
Проведите "ликбез" по распределенным базам данных.
    #33508921
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2мод . Именно это я и хотел сказать :(
===============
Неточно выразился ранее. Базы с репликацией не являются реляционными, так как некоторые значения можно получить не единственным способом. Посему, репликации - это зло! Но допустимое, так же как допустима денормализация. И я не вижу надобности в репликациях при наличии современных каналов связи.
Забавно, когда в Москве отрубали свет и останавливались сервера, по России конторы, которые работали через "современные каналы связи" останавливали свою деятельность. А вот те, кто сидел на репликации, продолжали как ни в чем не бывало работать. Так что еще сложно сказать, что большее зло - репликации или прямая зависимость от каналов, приводящая к потерям в бизнесе и работе. Я лично предпочитаю поддерживать обе схемы работы - у удаленной точки хороший канал, работают напрямую, плохой нестабильный канал - работают через репликацию. Для критических узлов делаю дублирование - клиентские приложения работают напрямую с консолидированной БД, рядом висит реплицируемая БД - как только канал падает, клиентские приложения переключаются на локальную БД и продолжают работу с ней, никто даже этого не замечает.
...
Рейтинг: 0 / 0
Проведите "ликбез" по распределенным базам данных.
    #33508937
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
ASCRUS
Я же написал, что репликации - это допустимое зло. Нет в мире совершенства!
Но к сабжу репликации ни коим образом не относятся.
...
Рейтинг: 0 / 0
Проведите "ликбез" по распределенным базам данных.
    #33508938
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2
Базы с репликацией не являются реляционными, так как некоторые значения можно получить не единственным способом

Неожиданная связь единственность способа получения значения (в каком смысле? и что за ограничение? в РБД DML позволяет много способов) и про репликацию и их влияния на реляционность БД.
Репликация использует те же способы доступа или изменения данных, что и юзера. Либо запросы на DML, либо захватывает транзакции на одном сервере и выполняет их на втором как будто их там запустили - асинхронная. Синхронная просто выполняет распределенную транзакцию на всех сайтах. Это не имеет вроде никакого отношнения ни к модели данным и ниче не меняет в базовых механизмах СУБД. Просто не юзер руками запустил, а автоматичеки выполняется. Ну мог юзер это налабать - есть триггерные репликации.

Cat2
Посему, репликации - это зло! Но допустимое, так же как допустима денормализация.

все еще непонятно чем так насолила репликация

Cat2
И я не вижу надобности в репликациях при наличии современных каналов связи.

Напрасно не видите. Одно дело транзакция изменяет одну запись и это изменение выполняется в копии той же таблы в другом городе какой бы здоровой табла не была . Другое дело выполнить запрос. Например, соединение с копией и удаленной таблой таблы из локальной БД - разные вещи. Во втором случае можно не дождаться ответа вообще. Собственное наблюдение.
...
Рейтинг: 0 / 0
Проведите "ликбез" по распределенным базам данных.
    #33508959
Фотография Александр Гoлдун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2 пишет:

> Посему, репликации - это зло!

Почему зло? Потому что требует более вдумчивого подхода при проектировании?

> Но допустимое, так же как допустима
> денормализация. И я не вижу надобности в репликациях при наличии
> современных каналов связи.

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

Но проблема в том, что на карте можно найти великое множество мест за
пределами МКАД, где живут и работают люди, используются информационные
системы, но вот с современными каналами очень туго.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Проведите "ликбез" по распределенным базам данных.
    #33509070
Фотография Рыжий Кот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2И я не вижу надобности в репликациях при наличии современных каналов связи.

в прошлом веке и бензин сжигали за ненадобностью, он считался побочным продуктом перегонки... но все изменилось...
...
Рейтинг: 0 / 0
61 сообщений из 61, показаны все 3 страниц
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Проведите "ликбез" по распределенным базам данных.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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