Technical Paper

Индексирование и масштабирование

5.12 Индексирование и масштабирование

Система записи — один управляемый инстанс Postgres (Neon) с обычными B-tree индексами; разработку и продакшен обслуживают отдельные ветки. Представительные классы индексов:

ТаблицаИндексИспользование
receiptsпользователь + время загрузкиСписок чеков пользователя
receiptsпродавец + время загрузкиИстория продавца
receipt_line_itemsканонический продуктЧтение истории цен
price_epoch_observationsepoch + индекс листаЧтение epoch и доказательства включения
contribution_point_eventsпользователь + время созданияЗапросы баланса
merchantsналоговый номер + страна (уникальный, частичный)Разрешение идентичности продавца

Партиционирование receipts и receipt_line_items по времени и перенос старых данных в более дешёвый аналитический слой — варианты масштабирования на случай, когда объём этого потребует; текущий объём обслуживается одним инстансом и обычным индексированием. Конкретная настройка движка остаётся во внутреннем операционном слое.