One pass. Every row accounted for.
DataForge moves data in a single streaming pass and reconciles the entire population to zero unaccounted. No staging tables. No orchestration. No reverse path.
Ask most tools how they move data and the honest answer is in stages, and we hope nothing falls out along the way. DataForge answers differently: it streams straight from the source cursor to the destination write in one pass — Parse → Filter → Accumulate → Write — and every single row ends in exactly one of four terminal states. Scanned equals written. The net delta is zero. Nothing disappears in the middle.
Parse → Filter → Accumulate → Write
The same pipeline handles a flat file, an object store, an HTTP feed, or a live database. It does not change shape per dataset.
Parse
Read the source stream and infer structure on the fly — schema, column mapping, row boundaries — without a pre-declared model per source.
Filter
Evaluate every row against policy. Malformed and policy-excluded rows are classified here — never silently swallowed downstream.
Accumulate
Batch into the destination's most efficient write shape, sizing batches and arena allocation to the workload and the pressure on the system.
Write
Stream into the destination in a single protocol call per batch — PostgreSQL COPY FROM STDIN, SQL Server bulk — then verify what landed.
Four terminal states. Zero ambiguity.
Every accepted unit resolves to one of these — and the four counts reconcile against the source. That reconciliation is Δ0.
In the full 401 GB CourtListener corpus run — 32 heterogeneous datasets, 2,608,874,016 rows — the result was 0 malformed, 0 dropped, 0 row-count delta. Lossless is not a marketing word here. It is a number that has to close.
Three clocks, not one
"How fast is it?" is the wrong question. What a business actually waits on is three distinct intervals.
Data Movement Time
How long the bytes take to travel from source to verified destination. This is the interval most tools quote — and the one DataForge collapses.
Restoration Time
How long until the data is whole and trustworthy at the destination — reconciled, verified, and safe to build on. Movement without this is just copying.
Time to Function
How long until the organization can actually do something with the data. This is the clock the customer feels. Turning hours into minutes means moving all three.
It runs where your data lives.
DataForge does not ask you to ship your data to us. It ships itself to your data.
One binary, inside your walls
The engine deploys as a single binary in your own environment — on the marketplace, an ephemeral per-job container that stands up, runs one job from your source to your destination, and self-destructs.
Only telemetry leaves
What comes back to us is a signed, content-free run meter — counts and bytes for billing and assurance. Never your rows, never your schema, never your data.
Any source, any target
Files, cloud object stores, HTTP, and live databases. PostgreSQL and SQL Server are interchangeable as source or destination — cross-engine transfer is the same one pass.
Verified on arrival
An independent destination verification and the closed per-item ledger run as part of the job — not a separate audit you have to remember to do.