Skip to main content
← User Stories
Fresha · United Kingdom

Bringing transactional data into a real-time serving layer

Fresha runs Fluss on Amazon EKS, uses Delta Join to denormalize commerce data, and contributes Kubernetes and multi-language client support.

About Fresha

Fresha provides booking, payments, and business-management software for beauty and wellness businesses, alongside a consumer marketplace for appointments.

Enriching transactional streams

Fresha uses Fluss as the real-time serving layer between its operational databases and analytical stack. Flink ingests database changes into primary-key tables, then uses lookup joins to enrich appointment events with dimensional data stored in Fluss.

Denormalizing commerce data with Delta Join

Sales, sale items, and related records form a deep transactional hierarchy. By storing each level in Fluss, eligible Flink joins can use Delta Join to look up matching records instead of retaining both inputs in operator state. Fresha reports that this brings pipeline state close to zero and reduces recovery from tens of minutes to seconds.

Running on Kubernetes and connecting applications

Fresha runs Fluss on Amazon EKS with S3 remote storage and the community Helm chart. Its engineers contribute Kubernetes deployment support, the Rust core client, and Elixir bindings so application services can access Fluss directly.

Further reading

Explore more user stories →