:: Не фоксом единым
Синхронизация нескольких БД
Аспид
Автор

Сообщений: 3475
Откуда: Москва
Дата регистрации: 01.04.2005
Есть несколько БД на MS SQL 2008.
Одна, скажем основная. Назову Завод
И несколько одинаковых по структуре, на разных серверах. обзову Техника
Все доступны.

Завод часто использует авто из разных Техника
Но есть и другие, совершенно посторонние (ясно, что таких по абсолютной величине, гораздо больше)
Не плохо было бы, синхронизировать, связать технику из Техника и авто из Завод

Сейчас Техника получает инфу из Завод просто по Гос.№ авто. Проблем в общем то и нет.
Хватает уникальности, № пишется в однозначном формате.

Но хотелось бы что бы и завод получал инфу из Техника.
Там уже есть, кто сегодня на этом авто, № путевки. Чуть меньше действий оператору Завод

Как их синхронизировать?
Полагаю, можно добавить пару полей к таблице Завод индекс БД (для коннекта к конкретной БД) и ID той БД где это хранится.
В этом случае, обеспечиваю двухсторонний однозначный доступ.

Видится проблема, в добавлении новых записей в Техника.
Там много всего. И авто для завода всего лишь малая часть.
Думаю вариант такой. Когда новая машина приезжает на Завод , оператор вносит ее, добавляя в базу. Система сразу видит, что это "наша" БД (Т.к. вводится автобаза-которая является индентификатором конкретной БД). Лезет туда, по Гос.№ получает и заполняет все данные.

Покритикуйте.

Блин, не в тот форум запулил. Просьба модераторам, пенести в "Не фоксом единым"


------------------




Исправлено 1 раз(а). Последнее : Аспид, 08.02.17 10:30
Ratings: 0 negative/0 positive
Re: Синхронизация нескольких БД
PaulWist

Сообщений: 14601
Дата регистрации: 01.04.2004
Аспид
Как их синхронизировать?

Ты это хочешь как "синхронизировать"? в реальном времени (тогда распределенные транзакции) или пакетно (тогда репликация).


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive
Re: Синхронизация нескольких БД
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Мне кажется что просто "вручную" хочет солнце закатывать


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Синхронизация нескольких БД
ssa

Сообщений: 12999
Откуда: Москва
Дата регистрации: 23.03.2005
Если я правильно понял, то достаточно настроить на всех серверах линкед-серверы на все остальные серверы, наплодить в них соответствующие view и не парить мозг.


------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: Синхронизация нескольких БД
Аспид
Автор

Сообщений: 3475
Откуда: Москва
Дата регистрации: 01.04.2005
PaulWist
Ты это хочешь как "синхронизировать"? в реальном времени (тогда распределенные транзакции) или пакетно (тогда репликация).
Ну может синхронизация не совсем тот термин. Но это тут вообще не при чем.
Говорю о стороне завода, потому как со стороны техники, все и так работает. У них тока одна не своя БД Завод
А у завода БД Техника несколько.
Мне нужно знать, что вот эта запись табл соотносится с БД1, вот эта с БД2, а вот эта ни с кем.

ssa
Если я правильно понял, то достаточно настроить на всех серверах линкед-серверы на все остальные серверы, наплодить в них соответствующие view и не парить мозг.

Не сильно это упростит.
На самом деле получить данные не составляет труда.
Надо знать к кому конектится.

Вот как это происходит.
На весовую заезжает машина. У оператора выскакивает ее номер, она жмет "ок", и выбирает водителя или водит нового (если раньше не было), а потом еще и пишет № путевки.
Ерунда, на все 30 сек. Но за эти сек. и идет борьба.
Если взять родные автобазы, то диспетчер автобазы, уже все это заполнил, и та БД знает, что сегодня на авто а111аа сидит Петров, и номер путевки 123456.
Т.е. нажав "ОК" оператор получает полностью заполненную часть.
Мелочь, а приятно)
Igor Korolyov
Мне кажется что просто "вручную" хочет солнце закатывать
Честно, не понял сарказма. Я такое понимаю, как что то неосуществимое, либо через Ж делается.
Что не так?

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


------------------
Ratings: 0 negative/0 positive
Re: Синхронизация нескольких БД
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Это значит что сложно (и в работе, и в написании и в сопровождении), и малоэффективно.
Если связь таки есть всегда, если автобазы - организационно (не только каналами связи) связаны с центром, то проще сделать либо одну базу (автобазы будут с ней работать - естественно по полям типа "код базы" будут фильтровать инфу чтобы видеть только своё, либо использовать штатный механизм репликации, что по сути значит опять же ОДНА логически база (все копии идентичны, и все изменения распространяются по всем копиям), просто в нескольких экземплярах. Естественно лучше будет отделить ту часть что касается автобаз от всего прочего, чтобы реплицировать только эту "общую" часть - не всю мега-систему предприятия.

То что ты описываешь - это ни разу не синхронизация, это информационный обмен. И если уж хочешь делать так, то это надо не "через базу" реализовывать, а через сервисы. Т.е. чисто программный компонент который и будет отвечать на запросы "кто сегодня на машине № работает и чего он везёт". Сервис может быть двухуровневым - один "диспетчер" в центре (если никому кроме твоей задачи это не надо, то прямо в её код и можно его встроить - лишь бы "логически" данная компонента не была "размазана" по другой бизнес-логике) и по копии на каждой автобазе, либо "совместным" - одна копия, но соединяющаяся со всеми БД автобаз (IMHO этот вариант хуже/менее надёжен).
Конечно же в этом случае не идёт речи о том что "базы одинаковы" (ни в плане структур, ни в плане самих данных) - просто есть програмный интерфейс предоставляющий нужную информацию. Потом, наверное, ты эту инфу будешь сохранять в центральной базе - но вполне возможно вовсе не в том же виде как она хранится на автобазах.


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Синхронизация нескольких БД
Аспид
Автор

Сообщений: 3475
Откуда: Москва
Дата регистрации: 01.04.2005
Igor Korolyov
То что ты описываешь - это ни разу не синхронизация, это информационный обмен.
+100500
Спасибо. Придал новое направление мыслям.
Слить в 1 не вариант. Конечно же лукавил немного.
Не совсем они одинаковы. Есть небольшие различия. (Иногда большие )
Но интрефейс о котором говорю, одинаков. Или приведу к одному.


------------------
Ratings: 0 negative/0 positive
Re: Синхронизация нескольких БД
ssa

Сообщений: 12999
Откуда: Москва
Дата регистрации: 23.03.2005
Аспид
Слить в 1 не вариант.
Таки мой вариант остается в силе. Позволяет работать как бы в одной базе, хотя физически будут несколько. Посмотри, подумай.

------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: Синхронизация нескольких БД
Аспид
Автор

Сообщений: 3475
Откуда: Москва
Дата регистрации: 01.04.2005
ssa
Таки мой вариант остается в силе. Позволяет работать как бы в одной базе, хотя физически будут несколько. Посмотри, подумай.
Да конечно. У меня такой вариант, для личного кабинета клиентов реализован. Очень удобно) Безопасно)

Но вдумавшись в слова Игоря, в общем то понял, что это и есть тот вариант, с которого начинал.
Именно так. Если "Сервис" поменять на "Объект". То все станет ровно так как задумывал.
Просто он (Сервис) нужен только для одного ПО.
Я и не думал, эти связи делать на уровне БД.
Так и думал, через низ. (ПО)
Все на фоксе. Просто будет объект, который вернет то же, что и сейчас, но внутри, функционала добавится.

Чем вьюхи немного не то...
Мне же надо сначала определить, к какой БД обратиться.
Деалть 1 вьюху, собирающую со всех... нет. К тому же этот набор может меняться, и уж напишу так, что бы могли его менять без меня.
Через год и не вспомню что понаписал)
Вьюху в каждой БД к котоорой лезу. Так не вопрос. Но тут линкед и не нужен. Я и через новый конект это сделаю.

Думаю ясно, что если я реализую это. И хар-ки коннектов, вместе с индексами (номерами) БД буду где то хранить.
Дам кому то возможность редактировать список, то потом, мне надо только обеспечить интерфейсную совместимость.
И все будет работать без моего участия (Имею ввиду добавление, удаление баз)


------------------
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 5 (Гостей: 5)

© 2000-2024 Fox Club 
Яндекс.Метрика