Я строю POS-систему, которая поддерживает несколько филиалов.
Система будет поддерживать эти функции.
- В каждом магазине должна быть локальная база данных для собственного инвентарного списка и счета. (Локальная база данных, чтобы избежать сбоя в Интернете).
- Существует отчетная БД, содержащая информацию обо всех магазинах (инвентарь, счет и т. Д.), Отчетная БД может быть асинхронной с shopDB.
- Каждый магазин содержит уникальный код магазина для идентификации владельца записи, а также часть ключа (чтобы избежать проблем с первичным ключом).
- Система магазина может запросить базу данных отчетов о наличии инвентаря в другом магазине (покупатель может разместить заказ, магазин может запросить полный список товаров и заставить другие филиалы отправить им товар).
В настоящее время я строю систему с использованием Java, PostgreSQL и Cayenne, но я открыт для изменения инструмента БД или ORM в случае каких-либо технологических ограничений.
Я много пытался читать с помощью репликации и кластеризации, но, похоже, это мне не подходит.
Любые подсказки о том, что я должен искать? Или я должен построить репликацию на уровне приложения, а не на уровне БД?