powered by simpleCommunicator - 2.0.18     © 2024 Programmizd 02
Map
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Синхронизация БД на разных ПЭВМ без подключения по ЛВС
8 сообщений из 8, страница 1 из 1
Синхронизация БД на разных ПЭВМ без подключения по ЛВС
    #40110491
sqrt0805
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте! Я только начинаю работать и развиваться в области IT и столкнулся со следующей задачей: необходимо написать приложение, которое будет работать на разных ПЭВМ, не связанных между собой по ЛВС.

На каждом ПЭВМ крутится БД (структура одинаковая на всех), но операторы работают в своем темпе и каждый отвечает за свой участок. Необходимо периодически синхронизировать информацию между всеми операторами, чтобы у каждого оператора была цельная и актуальная на данный момент информация. На данный момент приложение написано по технологии "клиент-сервер" и синхронизация не требуется. Используется Spring + Postgres. Но нужно это приложение переделать под автономные ПЭВМ, не связанные между собой по ЛВС. Подскажите, пожалуйста, те, кто уже сталкивался с подобными задачами и имеет опыт:
к какой литературе лучше обратиться для решения данной задачи?
с какими проблемами я могу столкнуться?
какие есть хорошие статьи на данную тему?
...
Рейтинг: 0 / 0
Синхронизация БД на разных ПЭВМ без подключения по ЛВС
    #40110495
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ок гугль, offline postgresql replication.

Пакеты изменений экспортируются в файлы, файлы записываются на флэшку, флэшка
несётся к остальным компьютерам, втыкается, изменения из файлов применяются к
местной БД, повторять во всех направлениях с нужной периодичностью.

Удачи.

Через пару месяцев такого секса ПЭВМ внезапно перестанут быть автономными,
обзаведясь мобильными модемами.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Синхронизация БД на разных ПЭВМ без подключения по ЛВС
    #40110498
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sqrt0805
На каждом ПЭВМ крутится БД (структура одинаковая на всех), но операторы работают в своем темпе и каждый отвечает за свой участок. Необходимо периодически синхронизировать информацию между всеми операторами, чтобы у каждого оператора была цельная и актуальная на данный момент информация. На данный момент приложение написано по технологии "клиент-сервер" и синхронизация не требуется. Используется Spring + Postgres.


Это значит, что как раз сейчас ввод данных работает так как положено (или близко к этому)...
Пусть эти операторы как работали так и работают дальше на ввод данных в Основную БД...

Для автономных ПЭВМ сделать приложение для работы без возможности вводить Основные данные, которые вводят операторы выше в Основную БД. К автономным ПЭВМ обновлённая Основная БД поставляется с определенной периодичностью или по запросу любым способом - хоть на оленях...

Итого, если кратко:
- БД нужно разбить на две части (сделать два хранилища).
- Первую (Общую) часть долбят операторы и поставляют на автономные ПЭВМ (тупо под замену)
- Вторую часть на автономных ПЭВМ используют на местах по своему усмотрению (возможно она и не нужна)
это статистика местячковой работы, какие-то итоги, результаты...

Плюсы:
- ввод в основную БД не делается кем попало...
- основную БД легко контролировать и поддерживать версионность
- не нужно никаких репликаций, отсутствует гимор с ключами и индексами (заменил хранилище и всё)...

Нужно иметь ввиду, что вы сейчас здесь со своим сообщением № 1 выглядите как испорченный телефон...
Скорее всего при общении и обсуждении данной проблемы с вашим заказчиком (или при достаточной конкретизации проблемы вами) были бы совсем другие ответы...
Проблема описана очень узко, например, если на самом деле нужно сократить Центр ввода данных и отдать эти функции в регионы,
то это уже совсем другое дело... Иногда проще описать организационную проблему, а не техническую, тогда вам помогут решить именно проблему, а не реализовывать ваше её видение (возможно не верное)
...
Рейтинг: 0 / 0
Синхронизация БД на разных ПЭВМ без подключения по ЛВС
    #40110652
sqrt0805
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,
Вот в том то и дело, что нужно написать приложение таким образом, чтобы было минимум секса и максимум пользы. Про offline postgresql replication сейчас почитаю, изучу, спасибо!
...
Рейтинг: 0 / 0
Синхронизация БД на разных ПЭВМ без подключения по ЛВС
    #40110662
sqrt0805
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vmag, сообщение № 1 потому что до этого все ответы на мои вопросы мне давал гугл)
К сожалению, это не моё видение, а требование руководства. Серверное приложение написано мною и там все прекрасно работает. Сейчас же задача отказаться от сервера и разнести приложение на 10 автономным ПЭВМ, которые должны быть равнозначными (потому что, если начальник заболеет, то остальные могли видеть полную картину). Синхронизироваться между компами только при помощи флешки. Вот потому я и сломал себе уже всю голову. Понимаю, что можно на каждом ПЭВМ генерировать свой уникальный ID для каждой записи (uuid_generate_v1). Но ведь есть внешние ключи.
Например, вчера Оператор № 1 добавил в базу Иванова И.И. и указал школу, в которой он учился (в соответствующем поле school_id).
Мы все синхронизировали. Теперь у всех операторов в базе есть Иванов И.И. и школа, в которой он учился. Но после школы он пошел в колледж, а после колледжа решил еще и высшее образование получить. Оператор 1, как ответственный гражданин, понимая, что он начал работу с Ивановым И.И. указал ему id колледжа и ВУЗа. Но есть инициативный и невнимательный Оператор № 2, который хотел выделиться среди всех и тоже указал Иванову И.И. колледж и ВУЗ. Но из-за своей невнимательности вместо Волгоградского ГУ, указал Вологодский ГУ.
Это всего лишь пример, но суть ясна. Как обрабатывать такие исключительные ситуации? Как при синхронизации данных разрешать все эти противоречия? Их может не быть, может быть одно в неделю, а может быть 100 в день.
...
Рейтинг: 0 / 0
Синхронизация БД на разных ПЭВМ без подключения по ЛВС
    #40110670
L_argo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как обрабатывать такие исключительные ситуации? Как при синхронизации данных разрешать все эти противоречия?Рецепта нет. Каждый случай по своему уникален.

1. Продумать меры по недопущению таких ситуаций. Проверки, наводящие вопросы, подтверждения и т.п.
2. Создать удобные регламентные процедуры по поиску и исправлению (автоматически, вручную). Поиск и слияние дублей и т.п.
3. Постоянно работать с проблемой. Не доводить до запущенного состояния.
4. Иметь квалифицированный штат для ввода и исправления критичной информации.
5. Реализовать логирование изменений.

вот и весь рецепт.
...
Рейтинг: 0 / 0
Синхронизация БД на разных ПЭВМ без подключения по ЛВС
    #40110672
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sqrt0805Вот в том то и дело, что нужно написать приложение таким образом, чтобы было
минимум секса и максимум пользы.

Обломись. Никак ты приложением не избежишь бесконечного втыкания и выдёргивания
носителей.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Синхронизация БД на разных ПЭВМ без подключения по ЛВС
    #40110680
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sqrt0805Но есть инициативный и невнимательный Оператор № 2, который хотел выделиться
среди всех и тоже указал Иванову И.И. колледж и ВУЗ

....потому что неопытный разработчик приложения не запретил ему редактировать
чужие записи. Row-Level Security тебе в руки.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Синхронизация БД на разных ПЭВМ без подключения по ЛВС
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (1): Анонимы (1)
Читали форум (1): Анонимы (1)
Пользователи онлайн (10): Анонимы (7), CerebroSQL, Yandex Bot, Bing Bot
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]