Синхронизация нескольких БД | |
---|---|
Аспид Автор Сообщений: 3475 Откуда: Москва Дата регистрации: 01.04.2005 |
Есть несколько БД на MS SQL 2008.
Одна, скажем основная. Назову Завод И несколько одинаковых по структуре, на разных серверах. обзову Техника Все доступны. Завод часто использует авто из разных Техника Но есть и другие, совершенно посторонние (ясно, что таких по абсолютной величине, гораздо больше) Не плохо было бы, синхронизировать, связать технику из Техника и авто из Завод Сейчас Техника получает инфу из Завод просто по Гос.№ авто. Проблем в общем то и нет. Хватает уникальности, № пишется в однозначном формате. Но хотелось бы что бы и завод получал инфу из Техника. Там уже есть, кто сегодня на этом авто, № путевки. Чуть меньше действий оператору Завод Как их синхронизировать? Полагаю, можно добавить пару полей к таблице Завод индекс БД (для коннекта к конкретной БД) и ID той БД где это хранится. В этом случае, обеспечиваю двухсторонний однозначный доступ. Видится проблема, в добавлении новых записей в Техника. Там много всего. И авто для завода всего лишь малая часть. Думаю вариант такой. Когда новая машина приезжает на Завод , оператор вносит ее, добавляя в базу. Система сразу видит, что это "наша" БД (Т.к. вводится автобаза-которая является индентификатором конкретной БД). Лезет туда, по Гос.№ получает и заполняет все данные. Покритикуйте. Блин, не в тот форум запулил. Просьба модераторам, пенести в "Не фоксом единым" ------------------ Исправлено 1 раз(а). Последнее : Аспид, 08.02.17 10:30 |
Re: Синхронизация нескольких БД | |
---|---|
PaulWist Сообщений: 14601 Дата регистрации: 01.04.2004 |
Ты это хочешь как "синхронизировать"? в реальном времени (тогда распределенные транзакции) или пакетно (тогда репликация). ------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) |
Re: Синхронизация нескольких БД | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Мне кажется что просто "вручную" хочет солнце закатывать
------------------ WBR, Igor |
Re: Синхронизация нескольких БД | |
---|---|
ssa Сообщений: 12999 Откуда: Москва Дата регистрации: 23.03.2005 |
Если я правильно понял, то достаточно настроить на всех серверах линкед-серверы на все остальные серверы, наплодить в них соответствующие view и не парить мозг.
------------------ Лень - это неосознанная мудрость. |
Re: Синхронизация нескольких БД | |
---|---|
Аспид Автор Сообщений: 3475 Откуда: Москва Дата регистрации: 01.04.2005 |
Ну может синхронизация не совсем тот термин. Но это тут вообще не при чем. Говорю о стороне завода, потому как со стороны техники, все и так работает. У них тока одна не своя БД Завод А у завода БД Техника несколько. Мне нужно знать, что вот эта запись табл соотносится с БД1, вот эта с БД2, а вот эта ни с кем.
Не сильно это упростит. На самом деле получить данные не составляет труда. Надо знать к кому конектится. Вот как это происходит. На весовую заезжает машина. У оператора выскакивает ее номер, она жмет "ок", и выбирает водителя или водит нового (если раньше не было), а потом еще и пишет № путевки. Ерунда, на все 30 сек. Но за эти сек. и идет борьба. Если взять родные автобазы, то диспетчер автобазы, уже все это заполнил, и та БД знает, что сегодня на авто а111аа сидит Петров, и номер путевки 123456. Т.е. нажав "ОК" оператор получает полностью заполненную часть. Мелочь, а приятно) Честно, не понял сарказма. Я такое понимаю, как что то неосуществимое, либо через Ж делается. Что не так? То как я описал в начале, мне кажется будет работать, тестировал, все ок. Ну.. .можа есть подводные камни, которых пока не вижу... Через месяц то точно в продакшн выложу, там увидим)))) ------------------ |
Re: Синхронизация нескольких БД | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Это значит что сложно (и в работе, и в написании и в сопровождении), и малоэффективно.
Если связь таки есть всегда, если автобазы - организационно (не только каналами связи) связаны с центром, то проще сделать либо одну базу (автобазы будут с ней работать - естественно по полям типа "код базы" будут фильтровать инфу чтобы видеть только своё, либо использовать штатный механизм репликации, что по сути значит опять же ОДНА логически база (все копии идентичны, и все изменения распространяются по всем копиям), просто в нескольких экземплярах. Естественно лучше будет отделить ту часть что касается автобаз от всего прочего, чтобы реплицировать только эту "общую" часть - не всю мега-систему предприятия. То что ты описываешь - это ни разу не синхронизация, это информационный обмен. И если уж хочешь делать так, то это надо не "через базу" реализовывать, а через сервисы. Т.е. чисто программный компонент который и будет отвечать на запросы "кто сегодня на машине № работает и чего он везёт". Сервис может быть двухуровневым - один "диспетчер" в центре (если никому кроме твоей задачи это не надо, то прямо в её код и можно его встроить - лишь бы "логически" данная компонента не была "размазана" по другой бизнес-логике) и по копии на каждой автобазе, либо "совместным" - одна копия, но соединяющаяся со всеми БД автобаз (IMHO этот вариант хуже/менее надёжен). Конечно же в этом случае не идёт речи о том что "базы одинаковы" (ни в плане структур, ни в плане самих данных) - просто есть програмный интерфейс предоставляющий нужную информацию. Потом, наверное, ты эту инфу будешь сохранять в центральной базе - но вполне возможно вовсе не в том же виде как она хранится на автобазах. ------------------ WBR, Igor |
Re: Синхронизация нескольких БД | |
---|---|
Аспид Автор Сообщений: 3475 Откуда: Москва Дата регистрации: 01.04.2005 |
+100500 Спасибо. Придал новое направление мыслям. Слить в 1 не вариант. Конечно же лукавил немного. Не совсем они одинаковы. Есть небольшие различия. (Иногда большие ) Но интрефейс о котором говорю, одинаков. Или приведу к одному. ------------------ |
Re: Синхронизация нескольких БД | |
---|---|
ssa Сообщений: 12999 Откуда: Москва Дата регистрации: 23.03.2005 |
Таки мой вариант остается в силе. Позволяет работать как бы в одной базе, хотя физически будут несколько. Посмотри, подумай. ------------------ Лень - это неосознанная мудрость. |
Re: Синхронизация нескольких БД | |
---|---|
Аспид Автор Сообщений: 3475 Откуда: Москва Дата регистрации: 01.04.2005 |
Да конечно. У меня такой вариант, для личного кабинета клиентов реализован. Очень удобно) Безопасно) Но вдумавшись в слова Игоря, в общем то понял, что это и есть тот вариант, с которого начинал. Именно так. Если "Сервис" поменять на "Объект". То все станет ровно так как задумывал. Просто он (Сервис) нужен только для одного ПО. Я и не думал, эти связи делать на уровне БД. Так и думал, через низ. (ПО) Все на фоксе. Просто будет объект, который вернет то же, что и сейчас, но внутри, функционала добавится. Чем вьюхи немного не то... Мне же надо сначала определить, к какой БД обратиться. Деалть 1 вьюху, собирающую со всех... нет. К тому же этот набор может меняться, и уж напишу так, что бы могли его менять без меня. Через год и не вспомню что понаписал) Вьюху в каждой БД к котоорой лезу. Так не вопрос. Но тут линкед и не нужен. Я и через новый конект это сделаю. Думаю ясно, что если я реализую это. И хар-ки коннектов, вместе с индексами (номерами) БД буду где то хранить. Дам кому то возможность редактировать список, то потом, мне надо только обеспечить интерфейсную совместимость. И все будет работать без моего участия (Имею ввиду добавление, удаление баз) ------------------ |
© 2000-2024 Fox Club  |