container
Product Database

Product Database

PostgreSQL database that is the system of record for all product data.

Databasepostgres@16Residency: eu-west-1Retention: indefiniteAccess Mode: readWrite

What is this?

The Product Database is the authoritative store for every product in the catalog. The Product APIProduct APIServicev1.0.0The public-facing API for the product catalog. Handles commands to create, update and delete products, serves product re...Subscribescreate-product, update-product +2APIsOpenAPIOwnerproduct-platformMapRepoView docs reads from and writes to it, and the Product WorkerProduct WorkerServicev1.0.0Background worker that handles long-running and asynchronous catalog work off the request path, such as enrichment, imag...Ownerproduct-platformMapRepoView docs uses it for asynchronous enrichment. It also holds the outbox table that the Product Search PublisherProduct Search PublisherServicev1.0.0Reads product changes from the product database (outbox) and reliably publishes product-created, product-updated and pro...Publishesproduct-created, product-updated +1Ownerproduct-platformMapRepoView docs reads to publish product change events.

What does it store?

Schema

Access patterns

Why an outbox?

Writing the product change and the event in the same transaction guarantees we never persist a change without an event, or publish an event for a change that rolled back. The publisher reads the outbox and emits events with at-least-once delivery.