Ask the plant anything. It keeps receipts.
The edge devices contextualize the data and the private cloud keeps it alive. This layer is the reason both exist: the transactional database, the columnstore, the lake, and the ERP are connected under one analytics layer with one definition of every metric. Shift reports come out of MSSQL row-exact, three-year questions sweep billions of ClickHouse rows in seconds, and dashboards blend the live stream with all of history. Your plant has been writing everything down for years. Now it answers.
Four engines, one place to ask.
Manufacturing data refuses to live in one database, and it shouldn't: transactions, telemetry, batch files, and business context each want a different engine. So each gets the right one, and an analytics layer on top joins them, holds the metric definitions, and serves every dashboard, report, and model from the same catalog. OEE means one thing here, in every plant, in every meeting.
The report and the sweep run on different physics.
"Which operator signed off order 550123?" wants one exact row, transactionally guaranteed. "What was the p95 cycle time on every filler across three years?" wants to scan billions of rows and come back before the meeting moves on. One engine cannot be best at both, so the platform runs one of each and routes every question to the engine built for it.
Transactional reports
Shift summaries, order confirmations, genealogy, and e-signature audit trails come out of MSSQL exactly as they were written: row-exact, constraint-checked, and queryable mid-shift without blocking production writes. When an auditor asks, the answer is a query away.
row-exact · audit-readyBig-data sweeps
ClickHouse holds every telemetry point from every plant in a compressed, replicated columnstore. Year-over-year OEE, seasonal drift, golden-batch comparisons across sites: aggregate queries over billions of rows return in seconds, while ingest continues at full rate.
billions of rows · secondsJoins across engines
The interesting questions span both: reject counts from SQL joined to the temperature trace from the columnstore, for the same order, on one chart. The analytics layer does the stitching, pushing each part of the query down to the engine that is fastest at it.
orders ⋈ telemetryLive and history, one chart
Dashboards read the Kafka tail for the last few seconds and the columnstore for everything before that, seamlessly. A line chart scrolls from three years ago to four seconds ago, and the operator watching it never learns where one engine ends and the other begins.
stream + history · seamlessWhat manufacturing actually asks for.
The stack exists to answer a short list of questions every plant manager already has. These are the ones we build first, from the same connected engines, with numbers that agree with each other because they share a catalog.
OEE & downtime
Availability, performance, and quality from real event data with downtime reasons attached at the edge. The Pareto chart names the worst actor by line and shift, and the trend shows whether last month's fix actually moved the number.
A × P × Q · by line · by shiftSPC & quality
Control charts on critical parameters, straight from the contextualized stream: X̄-R, Cpk, run rules, with violations alarmed while the batch is still in the tank. Quality history joins genealogy, so an excursion traces to its lot in minutes.
Cpk · run rules · liveReports that write themselves
Shift handoffs, batch summaries, and compliance packets are generated on schedule from the transactional record, signed data included. The report a supervisor used to assemble from three systems and a clipboard arrives by email before the shift meeting.
scheduled · signed · deliveredModels that look ahead
With years of labeled history in the columnstore, prediction gets practical: anomaly detection on vibration and cycle-time signatures, remaining-useful-life on pumps and drives, soft sensors between lab samples. Trained on the cluster, scored at the edge when latency matters.
train central · score at edgeThe dashboards are the visible part. What you're actually buying is agreement:
- One number per question. OEE, yield, and downtime are defined once in the metric catalog, so the Monday meeting argues about causes rather than calculations.
- Answers at the speed of the question. Row lookups in milliseconds, three-year sweeps in seconds, live lines with sub-minute freshness, each from the engine built for it.
- Cross-plant comparability for free. Because the edge modeled every site the same way, a dashboard built for plant 1 works on plant 12 the day its data starts flowing.
- Self-serve for the people who ask. Engineers query with SQL, analysts with Power BI, operators with Grafana, all against the same governed catalog, behind SSO and role-based access.
- A path from hindsight to foresight. The same history that powers the reports trains the models, so predictive maintenance is a next step on infrastructure you already have.
Which question would you ask first?
Tell us the number you can't get today: the OEE you don't trust, the report that takes a day to build, the failure you'd love to see coming. We'll show you the path from your data to that answer.
Start a conversation