|
Репликация.
|
|||
---|---|---|---|
#18+
<Дипломная> <Кто чем может поможите> Задача: По региону десятки компов, с возможно разыми РСУБД. Нужна репликация вносимых изменений в БД. Все узлы равноправны, т.е. репликация двух сторонняя. Реализация: Прога, которая: 1) (желательно) независила от РСУБД. 2) реплицировала только вносимые изменения. 3) сразу бы передовала данные или создовала очередь, а потом передовала. Вопрос: какие методы использовать, а главное с помошью каких программных средств это реализовать (VS, delphi, com, dcom). ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2005, 23:00 |
|
Репликация.
|
|||
---|---|---|---|
#18+
Дык вроде в MS SQL Server все есть уже? Если нужно самостоятельно разработать, то уточни. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2005, 09:13 |
|
Репликация.
|
|||
---|---|---|---|
#18+
Видел реализацию такого чуда :) Описываю, то, что видел: 1. Врядли получиться полностью оторваться от РСУБД. Изменение/Удаление/Добавление записей регистрируются триггерами, а триггер в MSSQL очень отличается от триггера в Oracle. С клиентом чуть попроще :) Собирать клиента пришлось к ключами (define) отдельно под Oracle и MSSQL 3. Очень важный момент - "сразу бы передовала данные или создовала очередь, а потом передовала." Если есть возможность настроить постоянный коннект, тогда самописная репликация вообще не нужна :), т.к. можно настроить прямой коннект и не извращаться. В случае с самописной репликацией нужно определелиться кто за какие данные отвечает, т.е. нельзя редактировать 1 запись сразу в нескольких местах (в разных СУБД) - сложно понять чьи изменения потом отдавать всем. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2005, 09:16 |
|
Репликация.
|
|||
---|---|---|---|
#18+
Ну можно попробовать в каждой реплицируемой талице добавлять столбец, в котором хранится время последнего изменения записи. И еще столбец с признаком того, что изменение растиражировано в другие СУБД. В этом случае можно быть более независимым от СУБД. Понятно, что нереалистично, но ведь и задача учебная. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2005, 10:26 |
|
Репликация.
|
|||
---|---|---|---|
#18+
Calm в каждой реплицируемой талице добавлять столбец, в котором хранится время последнего изменения записи. а писать поле триггером? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2005, 10:36 |
|
Репликация.
|
|||
---|---|---|---|
#18+
автора писать поле триггером? Ну да, тоже триггер, конечно. Но чуть по-проще :) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2005, 12:28 |
|
Репликация.
|
|||
---|---|---|---|
#18+
Calm автора писать поле триггером? Ну да, тоже триггер, конечно. Но чуть по-проще :) Чуть проще не "портить" таблицы, а сделать 1 таблицу: 1. ID-записи 2. ID-таблицы 3. Состояние I/U/D 4. Оттиражирована или нет Но этот механизм не позволяет контролировать ситуацию с редактированием 1 записи в разных СУБД :( ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2005, 13:06 |
|
Репликация.
|
|||
---|---|---|---|
#18+
AbelKasumВсе узлы равноправны, уточните это понятие, в данном случае (мне кажется) все узлы не могут быть равноправнами, здесь нужна схема "звезда" или "гибридная".... если понимать, что "узлы равноправны" - как кольцевую схему или "каждый с каждым". ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2005, 14:19 |
|
Репликация.
|
|||
---|---|---|---|
#18+
Картина маслом: студент и куча изобретателей велосипедов AbelKasum Задача: По региону десятки компов, с возможно разыми РСУБД. Что значит "с возможно разыми РСУБД."? Почему с разными? Надо проанализировать задачу и возможности штатных средств репликации, имеющихся у разных СУБД. Сопоставить и сделать выводы о приемлемости. Грамотно спроектировать схему репликации, исключить ошибки репликации и продумать обработку конфликтов. IMHO самые богатые возможности, особенно по off-line репликации у Sybase ASA. Если нужно стыковать обязательно разные произвольные СУБД, то можно глянуть в сторону российской разработки DbSync . Но использование произвольных разных СУБД - бред, если речь идет о проектировании всей системы с нуля. Если же идет речь о запуске репликации между уже созданными и работающими системами с разными СУБД, то это нетривиальная и обычно очень сложная задача. Может потребоваться существенная переделка/доработка структур баз. Все-таки желательно проектирование баз с учетом того, что они будут участвовать в репликации. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2005, 15:21 |
|
Репликация.
|
|||
---|---|---|---|
#18+
2 Александр Гoлдун Холст, акварель: попытка из дипломной работы выжать реальный результат. При всем уважении к Вам: конечно, все что Вы написали - верно. Но челу нужно написать диплом. Независимо от того, насколько реальна и подъемна сформулированная тема диплома. Так поможем советом :) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2005, 16:11 |
|
Репликация.
|
|||
---|---|---|---|
#18+
В первой части диплома проанализируйте и уточните задачу - что такое любая БД - можно предположить что любая БД умеет создавать единого образца логи изменения данных, на которых далее и строится репликация. - как разрешаются конфликты при одновременно изменении данных в 2 и более узлах. Равноправие - очень сильное требование. - должен ли каждый узел быть непосредственно связан репликацией со всеми другими, чем этот грозит, или допускаются какие-то специальные узлы -диспетчеры. Решать имхо нужно уже ограниченную задачу. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2005, 10:22 |
|
Репликация.
|
|||
---|---|---|---|
#18+
Ё-мое! Это же мой диссер! Уважаемый, а в каком инсте нынче дают такие темы? Posted via ActualForum NNTP Server 1.3 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2005, 00:42 |
|
Репликация.
|
|||
---|---|---|---|
#18+
[quot iLLer] Ё-мое! Это же мой диссер! Уважаемый, а в каком инсте нынче дают такие темы? iLLer'у поделись чем-нибудь! ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2005, 14:25 |
|
Репликация.
|
|||
---|---|---|---|
#18+
zirex AbelKasumВсе узлы равноправны, уточните это понятие, в данном случае (мне кажется) все узлы не могут быть равноправнами, здесь нужна схема "звезда" или "гибридная".... если понимать, что "узлы равноправны" - как кольцевую схему или "каждый с каждым". Изменёные данные передаются всем, а узел сам решает что с ними делать. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2005, 14:38 |
|
Репликация.
|
|||
---|---|---|---|
#18+
ModelRВ первой части диплома проанализируйте и уточните задачу - что такое любая БД - можно предположить что любая БД умеет создавать единого образца логи изменения данных, на которых далее и строится репликация. - как разрешаются конфликты при одновременно изменении данных в 2 и более узлах. Равноправие - очень сильное требование. - должен ли каждый узел быть непосредственно связан репликацией со всеми другими, чем этот грозит, или допускаются какие-то специальные узлы -диспетчеры. Решать имхо нужно уже ограниченную задачу. - главное чтобы она передовала изменения. - пока не знаю. - узел связан с центром. А уже центр рассылает изменеия другим. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2005, 14:47 |
|
Репликация.
|
|||
---|---|---|---|
#18+
Самое главное это: 1). Как сообщить проге, через СУБД, об произошедщих изменениях в БД. 2). И желательно, чтобы СУБД передала сами изменения. Вывод: если выполняются все эти условия, то нам глубоко похер какая СУБД стоит или лежит. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2005, 14:51 |
|
Репликация.
|
|||
---|---|---|---|
#18+
Зачем плодить одинаковые топики? AbelKasumКак сделать так, чтобы СУБД сообщала об изменениях в БД. Кому? AbelKasum Желательно чтобы и сами изменения (записи) передавала. Воспользоваться штатным или сторонним репликатором. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2005, 23:44 |
|
Репликация.
|
|||
---|---|---|---|
#18+
Александр ГoлдунЗачем плодить одинаковые топики? AbelKasumКак сделать так, чтобы СУБД сообщала об изменениях в БД. Кому? AbelKasum Желательно чтобы и сами изменения (записи) передавала. Воспользоваться штатным или сторонним репликатором. Надо, чтобы СУБД (как нибудь) сообщала проге об произошедших изменениях. Что-то вроде событий в ООП. Как, это сделать вот мой вопрос? Возможно с помошью каких-нибудь COM обьектов, это возможно сделать? Или сообшений? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2005, 14:31 |
|
Репликация.
|
|||
---|---|---|---|
#18+
AbelKasum Александр Гoлдун Воспользоваться штатным или сторонним репликатором. Надо, чтобы СУБД (как нибудь) сообщала проге об произошедших изменениях. Что-то вроде событий в ООП. Как, это сделать вот мой вопрос? Ну подсмотри же в конце концов хоть что-нибудь из готовых решений, чтобы не изобретать велосипедов с квадратными колесами и не задавать таких вопросов! Что значит сообщать проге? В реальном режиме времени по каждому изменению записи сообщать программе "запись такая-то поменялась"? Нафига? Какой программе? Логичнее по запросу получать информацию о том, что изменилось. Сделать это можно великим множеством способов. Например в ASA просто сканируется журнал транзакций. Всякие стороние и самопальные репликаторы часто практикуют ведение отельной информации об измененниях, например в доп таблицах на триггерах вставляются ID измененных записей. А уж программа периодически просто проверяет эти таблицы на предмет определения того, что изменилось, предпринимает необходимые действия для обслуживания этих изменений (например для рассылки) и там же отмечает успешно отработанное. Не поленись хотя бы прочитать то, что тебе уже ответили. Я давал ссылку на DbSync. Загляни в раздел "функционирование системы". Там кратко описано, но из этого можно понять, как оно сделано. А то все как да как! Все разжевать или даже диплом за тебя написать? Это в форум Работа - там найдутся желающие сделать это за умеренную сумму. Тут люди могут посоветовать направление, куда копать, что-то подсказать, навести на мысль, высказать идею. Если этого недостаточно, тогда ошибся форумом. Или институтом. Ничего личного. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2005, 15:03 |
|
Репликация.
|
|||
---|---|---|---|
#18+
AbelKasum т.е. репликация двух сторонняя. Sybase RS. Стандарт транзакционной репликации де-факто. AbelKasum 1) (желательно) независила от РСУБД. Почти что так. Список серверов БД для RS смотрите на сайте Sybase. AbelKasum 2) реплицировала только вносимые изменения. Имеете в виду при commit? AbelKasum 3) сразу бы передовала данные или создовала очередь, а потом передовала. Есть буфер, его размер настраивается. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2005, 15:32 |
|
Репликация.
|
|||
---|---|---|---|
#18+
Спасибо всем!!! Если, какие мысли будут пишите. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2005, 18:23 |
|
|
start [/forum/topic.php?fid=33&fpage=62&tid=1549509]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
80ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
others: | 244ms |
total: | 425ms |
0 / 0 |