Softovick
@Softovick
программист, администратор

Одна большая центральная БД и много мелких с частичной репликацией, какие варианты?

Здравствуйте.
Такую задачу можно решить программным путем. Но интересно, есть ли готовые варианты на уровне СУБД или модулей для каких либо СУБД (не важно SQL или NoSQL). Вопрос из области "поиск альтернатив, вдруг есть лучше".
Суть такая, центральная БД хранит много-много данных. Данные однотипные, но данные одного приложения в нескольких отдельных таблицах/коллекциях, относящихся только к этому приложению. Запущено много контейнеров или удаленных клиентов, где есть маленькая БД, хранящая в себе только данные этого клиента. Необходимо синхронизировать изменения в данных, причем как сделанных на стороне клиента, так и на стороне центральной БД.
Если кто сталкивался с подобной задачей, будет интересно хотя бы намек, как решено. Или видел описание в какой-то СУБД.
  • Вопрос задан
  • 155 просмотров
Пригласить эксперта
Ответы на вопрос 1
2ord
@2ord
В одном из проектов у нас сделали так:
бэкенд представлял из себя REST API, который выдавал каждому клиенту только те данные, которые касались его идентификатора. Для контроля версий данных использовали таблицу с client_id, version, action и каждый клиент скачивал накопившуюся разницу.
Клиенты периодически, раз в 5-10 минут, выполняли polling с сервера с накопившимися изменениями у клиента, при том что сервер централизованно хранил и управлял всеми изменениями.
При сбое коннекта происходила повторная попытка соединения согласно периоду. Так что в офлайне клиенты работали хоть с устаревшими данными, но таки работали.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы