Поддержка нескольких баз данных на нескольких платформах - PullRequest
1 голос
/ 22 сентября 2008

Как лучше всего поддерживать несколько баз данных на нескольких платформах (Windows, Linux, Mac OS X и Solaris) и синхронизировать их друг с другом? Я пробовал несколько разных программ, и, похоже, ничего не работает!

Ответы [ 2 ]

3 голосов
/ 22 сентября 2008

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

0 голосов
/ 22 сентября 2008

Зачем переживать неприятности? Управление утверждает, что это дороже?

Вот как доказать, что они не правы.

Выберите одну базу данных, назовите ее "master" или "system of record".

Написание скриптов для экспорта данных из мастера и загрузки их в ваши копии. Если у вас есть хорошая база данных (MySQL, SQL / Server, Oracle или DB2), есть хорошие инструменты для этой репликации. Если у вас есть смесь баз данных, вам придется прибегнуть к экспорту измененных данных и перезагрузке измененных данных. Идея состоит в том, что это односторонняя копия: мастер-репликант.

Исправьте каждое приложение, по одному, для обновления только в основной базе данных. Поскольку каждое приложение имеет соединение JDBC (или ODBC, или что-то еще) с базой данных, оно также может быть соединением с базой данных master.

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

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

...