# Загрузка через промежуточную базу данных

Если ваша архитектура не позволяет удобно отслеживать обновления товаров, можно использовать промежуточную базу данных. Например, картинками занимается один микросервис, ценами - другой, а остальной информацией - третий. В этой ситуации сложно получать данные об изменениях, т.к. необходимо опрашивать несколько микросервисов.

Промежуточная база данных позволит агрегировать всю информацию из нескольких источников в одном месте.

# Структура

Дата обновления и синхронизации

В каждой таблице хранится дата обновления со стороны магазина (updated_at) и дата синхронизации с REES46 (synced_at). Важно обновлять эту информацию только для тех товаров, которые на самом деле были изменены.

Категории

name type comment
id varchar ID категории
parent varchar ID родительской категории
active boolean Активность
name varchar Название
url varchar Ссылка
alias varchar Псевдоним
updated_at timestamp = now() Дата обновления
synced_at timestamp Дата обработки

Локации

name type comment
id varchar ID локации
parent varchar ID родительской локации
active boolean Активность
name varchar Название
type varchar Тип
group varchar Группа
updated_at timestamp = now() Дата обновления
synced_at timestamp Дата обработки

Товары

name type comment
id varchar ID товара
active boolean Активность
json text Объект товара
updated_at timestamp = now() Дата обновления
synced_at timestamp Дата обработки

# Периодичность

Мы рекомендуем синхронизировать данные раз в 5 минут. В большинстве случаев этого времени достаточно для завершения всех этапов. При необходимости вы можете проанализировать лог импорта и изменить период в большую или меньшую сторону.