Data Collector

A pipeline that is never switched off.

Continuous collection and synchronisation of very large data volumes across regions and customers — landing raw payloads to object storage, de-duplicating in twelve layers, syncing into several database engines at once, and repairing itself before anyone is paged. Built for always-on operation, and instrumented so that its own health is as visible as the data it moves.

Overview

At this volume, the hard problem is not moving the data.

Moving large volumes is a solved problem. What is not solved, and what consumes the engineering, is everything around it: duplicates arriving from four different directions, a backfill running against live traffic, a replica drifting, a customer whose data stopped arriving three hours ago without producing a single error. This pipeline is built around those failures rather than around the happy path.

resolve · monitoring
Data Collector — monitoring
resolve · dashboard
Data Collector — operations dashboard
Why it is different

Five things that follow from never stopping.

🌍

Built for always-on, not for a batch window

This is a pipeline that runs continuously for years across regions and customers. Everything in it — staging, de-duplication, rebalancing, health checking — is designed around the assumption that it will never be stopped and restarted cleanly, because in practice it never is.

🧬

Twelve levels of de-duplication

At this volume, duplicates arrive from every direction: retried deliveries, overlapping windows, replayed backfills, upstream re-sends. A layered de-duplication engine resolves them in twelve stages rather than trusting one key, because a single unique constraint is exactly what fails first at scale.

🗄

Several database engines, on purpose

A columnar store for the analytical volume and a relational store for the operational and reference data — each doing what it is good at, with the pipeline responsible for keeping them consistent rather than pretending one engine can do both jobs.

🔧

It repairs itself before anyone is paged

Self-healing is a design property, not a runbook. Failed stages retry, gaps are detected and refilled, and rebalancing runs against the cluster — so the common failures resolve without a human, and the alerts that do fire are the ones worth waking up for.

👁

Continuously health-checked, per customer

Dozens of active checks run against every customer’s pipeline, rolled up into pass, warn and fail, with missing-item detection to catch the failure that produces no error at all: data that simply never arrived.