Есть две базы данных:
- онлайн БД (в электронном магазине)
- складская БД
Для фиксации покупки в БД используется таблица “заказы”.
Покупка возможна как непосредственно со склада так и онлайн.
Так выглядит таблица в онлайн БД:
$ id заказа
$ название товара
$ адрес доставки
В складской БД таблица имеет только два поля:
$ id заказа
$ название товара
Нужен механизм репликации складской и онлайн версии таблиц. В результате репликации в обеих версиях БД должны быть одни и те же данные.
И если изменить название товара в заказе в одной БД то после репликации название у этого заказа должно поменяться и в другой БД.
Репликация отложенная - будет производится, например, раз в 20 минут.
Репликация многосторонняя - данные могут изменяться и вводиться в обеих БД.
Механизм допустим любой:
- по принципу сравнения записей одной таблицы с записями другой
- или перенос только изменений, зафиксированных в журнале вносимых транзакций БД
В качестве СУБД используется MySQL (через ORM - SQLAlchemy+Elixir). В случае необходимости допустимо перейти на любую бесплатную СУБД.
Существуют ли какие-нибудь готовые изящные решения такой ситуации?