|
Динамическая синхронизация двух баз.
|
|||
---|---|---|---|
#18+
Здравствуйте. Есть такая ситуация, точнее она не есть, но вполне вероятна: Программа одновременно проводит одинаковые транзакции над тремя (и более) одинаковыми базами данных, каждая из которых расположена и управляется отдельным сервером. В это время падает один из серверов и база уходит в Лэнг… Программа просто перестает выполнять транзакции с этим сервером и работает с остальными. Затем админ поднимает сервер, и каким-то образом должен базу (полностью чистую) синхронизировать с остальными(полностью одинаковыми), Не останавливая!!! работу программы. Тоесть backup/restore не подойдет, так как за это время выполнится неизвестное количество транзакций. Есть ли стандартный механизм синхронизации двух баз без остановки приложения в Firebird, в других серверах РБД? Задал вопрос здесь, так как с Fb обычно работает народ образованный и мыслящий. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.06.2006, 03:20 |
|
Динамическая синхронизация двух баз.
|
|||
---|---|---|---|
#18+
я вижу только вариант с пустой БД, но с уже созданной структурой, значит надо дополнить данными, возможно репликатор какой нибудь поможет, но БД должна быть подготовлена для репликации... вообще я написал бы свою тулзу, например с использованием внешних таблиц, делается быстро, есть только звагвоздка насколько активно приложение изменяет данные... а вообще зачем 3 одинаковых БД? если надёжность, то стоит что-то другое придумать, например аппаратно обеспечить отказоустойчивость, можно поставить параллельный сервер, но не нужно делать манипуляции с данными сразу на всех БД, просто настроить репликацию, например каждые 10 минут (если канал связи позволяет)... ... |
|||
:
Нравится:
Не нравится:
|
|||
20.06.2006, 08:01 |
|
Динамическая синхронизация двух баз.
|
|||
---|---|---|---|
#18+
может ещё посмотреть в сторону трёхзвенной архитектуры, если требуется надёжность... -------------- конец связи... ... |
|||
:
Нравится:
Не нравится:
|
|||
20.06.2006, 08:03 |
|
Динамическая синхронизация двух баз.
|
|||
---|---|---|---|
#18+
to soft Я думаю, что лучше писать в одну базу, а потом остальные синхронизировать. IBReplicator - ом например. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.06.2006, 08:17 |
|
Динамическая синхронизация двух баз.
|
|||
---|---|---|---|
#18+
VFпосмотреть в сторону трёхзвенной архитектуры, если требуется надёжность... посмотреть можно куда угодно, если требуется надежность... а использовать лучше не наколенные решения, а купить готовое. Решения по кластеризации всего и вся на рынке есть - рекламой заниматься не буду. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.06.2006, 08:27 |
|
Динамическая синхронизация двух баз.
|
|||
---|---|---|---|
#18+
2 Dried Gagarin а что так резко высказываемся??? вообще-то я говорил что автора вообще зачем 3 одинаковых БД? если надёжность, то стоит что-то другое придумать, например аппаратно обеспечить отказоустойчивость разве решения по кластеризации не могут сюда войти??? -------------- конец связи... ... |
|||
:
Нравится:
Не нравится:
|
|||
20.06.2006, 13:28 |
|
Динамическая синхронизация двух баз.
|
|||
---|---|---|---|
#18+
soft Программа одновременно проводит одинаковые транзакции над тремя (и более) одинаковыми базами данных, каждая из которых расположена и управляется отдельным сервером. Эт, простите с точки зрения пользователя, или это синхронное, 3-х поточное приложение на 3-х камневом монстре??? softЕсть ли стандартный механизм синхронизации двух баз без остановки приложения в Firebird , в других серверах РБД? Уп-с!... А транзакции, и соответствующие им изменения в БАЗЕ(-ах), проводимые клиентской программой, как бум учитывать? Аль думать не надо, сервак железный - сделает все сам? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.06.2006, 13:39 |
|
Динамическая синхронизация двух баз.
|
|||
---|---|---|---|
#18+
VFа что так резко высказываемся??? резко? извините, не заметил. больше не буду. VF разве решения по кластеризации не могут сюда войти??? судя по постановке вопроса, не могут, а должны ... |
|||
:
Нравится:
Не нравится:
|
|||
20.06.2006, 14:07 |
|
Динамическая синхронизация двух баз.
|
|||
---|---|---|---|
#18+
>Решения по кластеризации всего и вся на рынке есть - рекламой заниматься не буду. Рекламы не надо, но объясните, когда же все таки фб начал поддерживать работу в кластере??? А то я тут из первых уст слышал примерно следующее: "кластер это хорошо, но разработать его поддержку дорого и трудоемко и пока эта задача не приоритетна и соответственно не реализована." (за дословность не ручаюсь, но суть надеюсь не исказил). Или имелся в виду "русский кластер", пара серваков и внешний файберный (сказевый) сундук с дисками? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.06.2006, 16:11 |
|
Динамическая синхронизация двух баз.
|
|||
---|---|---|---|
#18+
FreemanZAVto soft Я думаю, что лучше писать в одну базу, а потом остальные синхронизировать. IBReplicator - ом например. Да я так и думал. Вопрос в цене или открытости не стоит, так работа научная и цена реализации "полной" модели в ней в исследование не входит :) В принципе, даже чем дороже тем лучше, главное чтобы была нормальная реализация указанного выше механизма... В Oracle и DB2 вроде механизмы репликации, в том числе Online вроде присутствуют в Enterprise версиях. Свой механизм репликации делать, думаю, было бы сложно. Dried Gagarin посмотреть можно куда угодно, если требуется надежность... а использовать лучше не наколенные решения, а купить готовое. Решения по кластеризации всего и вся на рынке есть - рекламой заниматься не буду. Db2? Di_LIne Эт, простите с точки зрения пользователя, или это синхронное, 3-х поточное приложение на 3-х камневом монстре??? Скажем, 64-x процессорный монстр (SMP/MPP???) с Java-шным приложением к которому подключены 1000 пользователей (каждый коннект в своем потоке и на каждый поток свой db conect или даже несколько) Di_LIne softЕсть ли стандартный механизм синхронизации двух баз без остановки приложения в Firebird , в других серверах РБД? Уп-с!... А транзакции, и соответствующие им изменения в БАЗЕ(-ах), проводимые клиентской программой, как бум учитывать? Аль думать не надо, сервак железный - сделает все сам? Пишет только главное приложение и пользователи к нему подключенные, остальные в read-only режиме (по архитектуре такие же), тоесть могут только читать данные с локальных для себя серверов и удаленных от главного. Серваки СУБД могут быть разнесены территориально. В принципе несинхронность данных в течении часа не особо страшна, но их очень уж много - теоретически, петабайты. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.06.2006, 17:30 |
|
Динамическая синхронизация двух баз.
|
|||
---|---|---|---|
#18+
softПишет только главное приложение и пользователи к нему подключенные, остальные в read-only режиме (по архитектуре такие же), тоесть могут только читать данные с локальных для себя серверов и удаленных от главного. Серваки СУБД могут быть разнесены территориально. В принципе несинхронность данных в течении часа не особо страшна, но их очень уж много - теоретически, петабайты. Ну так прямо и нуна грить: - Территориально-разнесенная система... А то тень на плетень наводить... Петабайты - эт по-русски скока??? (Гораздо больше чем до XYZ?! ) А если енту, неизвестную в Природе, сифирку поделить на 3600 секунд, то глазки выпучаться от такой скорости канала... Значитца задача обче_теоритическая. Пойду-ка БСЛ поработаю что-ль... ... |
|||
:
Нравится:
Не нравится:
|
|||
20.06.2006, 17:46 |
|
Динамическая синхронизация двух баз.
|
|||
---|---|---|---|
#18+
Di_LIne Ну так прямо и нуна грить: - Территориально-разнесенная система... Ну в общем-то да - классический континентальный Grid. Di_LIne А то тень на плетень наводить... Петабайты - эт по-русски скока??? (Гораздо больше чем до XYZ?! ) А если енту, неизвестную в Природе, сифирку поделить на 3600 секунд, то глазки выпучаться от такой скорости канала... Значитца задача обче_теоритическая. Пойду-ка БСЛ поработаю что-ль... Петабайты это всего 10^15, Oracle тот же поддерживает базы размером в 8 эксабайт 10^18. А математика знает йоттабайты 10^24, вот это уже действительно больше чем "до XYZ" :) Как я понял, синхронная репликация данных мне поможет, при наличии соответствующей физики (канала, железа...). Я сделал правильные выводы? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.06.2006, 18:17 |
|
Динамическая синхронизация двух баз.
|
|||
---|---|---|---|
#18+
soft Di_LIne Ну так прямо и нуна грить: - Территориально-разнесенная система... Ну в общем-то да - классический континентальный Grid. - А при чем тут IB/FB/YA ?????????????? Пол-дня мы тут распинаемся, а чел шутить изволит. to Kull: - Слей енто в "Про разработку БД". Товарищ Yo и другие обязательно помогут афтару.... softПетабайты это всего 10^15, Oracle тот же поддерживает базы размером в 8 эксабайт 10^18. А математика знает йоттабайты 10^24, вот это уже действительно больше чем "до XYZ" :) Как я понял, синхронная репликация данных мне поможет, при наличии соответствующей физики (канала, железа...). Я сделал правильные выводы? Эт не выводы, а... вводы. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.06.2006, 18:43 |
|
Динамическая синхронизация двух баз.
|
|||
---|---|---|---|
#18+
М-да, в натуре, поехали в "Разработку"... Модератор: Ну спасибо тебе, коллега ... |
|||
:
Нравится:
Не нравится:
|
|||
20.06.2006, 19:03 |
|
Динамическая синхронизация двух баз.
|
|||
---|---|---|---|
#18+
Di_LIne soft Di_LIne Ну так прямо и нуна грить: - Территориально-разнесенная система... Ну в общем-то да - классический континентальный Grid. - А при чем тут IB/FB/YA ?????????????? Пол-дня мы тут распинаемся, а чел шутить изволит. to Kull: - Слей енто в "Про разработку БД". Товарищ Yo и другие обязательно помогут афтару.... В общем-то, этот грид будет только на бумаге... теоретически, чтобы сказать комиссии, что данная программная модель после определенной доработки напильником это позволяет. А реально будет обычная PC-шная системка, для которой Firebird-а выше крыши http://eds.sourceforge.net/ . Возможно даже Java-овская встроенная БД Derby будет. Во всяком случае для теоретической модели Postgre+один из Replicator-ов будет достаточно. В общем-то, я даже аналог в сети нашел http://starlasoft.com/ Только он платный и закрытый. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.06.2006, 21:57 |
|
Динамическая синхронизация двух баз.
|
|||
---|---|---|---|
#18+
Опять дипломники с теоретизированиями для мусорной корзины??? soft Программа одновременно проводит одинаковые транзакции над тремя (и более) одинаковыми базами данных, каждая из которых расположена и управляется отдельным сервером. А что означает подчеркнутое? soft В это время падает один из серверов и база уходит в Лэнг… Программа просто перестает выполнять транзакции с этим сервером и работает с остальными. Затем админ поднимает сервер, и каким-то образом должен базу (полностью чистую) А почему чистую? Админ облажался, бэкапы не делал? soft синхронизировать с остальными(полностью одинаковыми), Не останавливая!!! работу программы. Тоесть backup/restore не подойдет, так как за это время выполнится неизвестное количество транзакций. При бэкапе лога транзакций данные актуальны не на момент начала бэкапа как в FB, а на момент окончания. soft Пишет только главное приложение и пользователи к нему подключенные, остальные в read-only режиме (по архитектуре такие же), тоесть могут только читать данные с локальных для себя серверов и удаленных от главного. Серваки СУБД могут быть разнесены территориально. В принципе несинхронность данных в течении часа не особо страшна, но их очень уж много - теоретически, петабайты. Т.е. все-таки приложение пишет реально в одну базу, а в остальных нужно получить read-only копию? И это тянет на тему диплома??? Да тут даже с репликациями заморачиваться не надо - можно рабочий макет такой схемы организовать меньше чем за час, причем для любой базы с любой сложностью структуры. Обеспечиваешь на удаленных хостах начальные полные копии центральной базы, а потом просто с нужными интервалами делаешь на них инкрементальный бэкап. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.06.2006, 00:05 |
|
Динамическая синхронизация двух баз.
|
|||
---|---|---|---|
#18+
Александр ГoлдунОпять дипломники с теоретизированиями для мусорной корзины??? На этот раз все гораздо жестче - аспиранты :) Александр Гoлдун soft Программа одновременно проводит одинаковые транзакции над тремя (и более) одинаковыми базами данных, каждая из которых расположена и управляется отдельным сервером. А что означает подчеркнутое? Insert/update одних и тех же записей одними и теми же данными, так как объем данных при операциях выборки в 100-1000 раз превышает при операциях внесения данных. Хотя, как я понял, здесь проще стандартный механизм репликации использовать. Александр Гoлдун soft В это время падает один из серверов и база уходит в Лэнг… Программа просто перестает выполнять транзакции с этим сервером и работает с остальными. Затем админ поднимает сервер, и каким-то образом должен базу (полностью чистую) А почему чистую? Админ облажался, бэкапы не делал? Такое бывает Александр Гoлдун Т.е. все-таки приложение пишет реально в одну базу, а в остальных нужно получить read-only копию? И это тянет на тему диплома??? Да тут даже с репликациями заморачиваться не надо - можно рабочий макет такой схемы организовать меньше чем за час, причем для любой базы с любой сложностью структуры. Обеспечиваешь на удаленных хостах начальные полные копии центральной базы, а потом просто с нужными интервалами делаешь на них инкрементальный бэкап. Нет, это кусочек работы, примерно 5% от основной. Для инкрементального Backup-а нужен лог транзакций, а в FB его нет. В общем-то хотел спросить мнение специалистов про синхронизацию данных, так как на репликацию самому некогда заморачиваться, проще обойтись готовыми средствами. А сама работа модель СФС с хранилищем в РБД для распределенных систем, ну или хотя-бы кластерных. Основная проблема здесь была многопотоковая работа с метаданными и организация произвольного доступа на изменение для сверхбольших файловых объектов (по нескольку гигабайт). Тоесть одним блобом такое не засунешь, так как его для изменения придется полностью в память вытягивать :) Кроме того внесение такого режима как sharewrite для файлового объекта с возможностью write_on_close_or_rollback. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.06.2006, 03:12 |
|
Динамическая синхронизация двух баз.
|
|||
---|---|---|---|
#18+
Ivan_Pisarevskyкогда же все таки фб начал поддерживать работу в кластере??? никогда... речь о более другом решении... приводить не буду - мне за его рекламу не платят, тем более тут депломнег (или азперанд) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.06.2006, 08:46 |
|
Динамическая синхронизация двух баз.
|
|||
---|---|---|---|
#18+
Dried Gagarin Ivan_Pisarevskyкогда же все таки фб начал поддерживать работу в кластере??? никогда... речь о более другом решении... приводить не буду - мне за его рекламу не платят, тем более тут депломнег (или азперанд) Честно говоря, уже не нужно. У меня нет привязки к конкретному серверу, а для репликации модели я просто укажу использовать соответствующую СУБД со встроенной возможностью этого ORACLE, DB2, ASA или PostgreSQL. А FB для локальной системы сгодится. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.06.2006, 09:05 |
|
Динамическая синхронизация двух баз.
|
|||
---|---|---|---|
#18+
softА FB для локальной системы сгодится. - Локальная система с трафиком в ЙопТоБайт?!!!!!!!!!!!!!!!!!!!!!!! - На морщите нам бабушку, плиз! ... |
|||
:
Нравится:
Не нравится:
|
|||
21.06.2006, 13:29 |
|
Динамическая синхронизация двух баз.
|
|||
---|---|---|---|
#18+
Di_LIne softА FB для локальной системы сгодится. - Локальная система с трафиком в ЙопТоБайт?!!!!!!!!!!!!!!!!!!!!!!! - На морщите нам бабушку, плиз! Локальная система с трафиком в 500-1000Кб/сек. Реально? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.06.2006, 17:48 |
|
Динамическая синхронизация двух баз.
|
|||
---|---|---|---|
#18+
soft Di_LIne softА FB для локальной системы сгодится. - Локальная система с трафиком в ЙопТоБайт?!!!!!!!!!!!!!!!!!!!!!!! - На морщите нам бабушку, плиз! Локальная система с трафиком в 500-1000Кб/сек. Реально? Ну а ТУТ кто баламутил в нашем вермутном пруду? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.06.2006, 18:17 |
|
Динамическая синхронизация двух баз.
|
|||
---|---|---|---|
#18+
Di_LIne soft Di_LIne softА FB для локальной системы сгодится. - Локальная система с трафиком в ЙопТоБайт?!!!!!!!!!!!!!!!!!!!!!!! - На морщите нам бабушку, плиз! Локальная система с трафиком в 500-1000Кб/сек. Реально? Ну а ТУТ кто баламутил в нашем вермутном пруду? Система проектируется как локальная, но "в теоретизированиях для мусорной корзины" должен указывается способ сделать ее распределенной. Это решается простым механизмом репликации данных, который уже является стандартным почти для всех серьезных СУБД. Тоесть если операции DML(удалить вставить изменить...) будут реплицироваться, то таким образом будут реплицироваться и данные. А стало быть расхождения в модели данных на локальном и удаленном сервере будут незначительны и их временной интервал прямо пропорционален скорости их репликации. Тоесть то что требовалось доказать, файловая структура, вложенная в БД, поддается прозрачной репликации без останова системы и может использоваться для хранилищ данных в grid системах. PS Тоесть эти 5% работы удалось сделать не делая :) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.06.2006, 19:16 |
|
Динамическая синхронизация двух баз.
|
|||
---|---|---|---|
#18+
softТоесть то что требовалось доказать, файловая структура, вложенная в БД, поддается прозрачной репликации без останова системы и может использоваться для хранилищ данных в grid системах. PS Тоесть эти 5% работы удалось сделать не делая :) Глядеть в тяляскоп на Альфа Центравр иделать вывод, што так устроена вся вселенная, и по тем же законам живут все мих_робы, есть полнейший бред. Ибо нарушаете, Сэр, сразу 2 закона. 1. Симетричность критериев подобия. 2. Переход кол-ва в как_чество. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.06.2006, 19:53 |
|
|
start [/forum/topic.php?fid=33&fpage=59&tid=1549369]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
35ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 157ms |
0 / 0 |