Raiffeisen Bank International
Raiffeisen Bank International normalizes MongoDB collections into SQL Server across four on-premise data centers, running one set of parameterized flows at every site.
Introduction
Raiffeisen Bank International runs Etlworks on-premise in four regional data centers. Every site moves data from MongoDB into SQL Server using both scheduled ETL and log-based change data capture, and every site runs the same flows with nothing changed between them.
The Challenge
The bank faced four requirements that had to be satisfied together, not in isolation:
A denormalized source and a constrained destination: A single logical record is spread across multiple MongoDB collections. The SQL Server destination is a normalized schema with foreign key constraints. Loading it means creating and updating records in the right order so referential integrity holds while the source is normalized on the fly.
The same logic for bulk and streaming: Normalization had to behave identically under bulk ETL loads and under CDC, rather than existing as two implementations that drift apart.
One build, four data centers: Flows and connections had to deploy to all four sites without edits. Anything environment-specific had to arrive as a runtime parameter.
Throughput: Millions of records had to be processed in under a minute.
Why Etlworks
Parameterized flows and connections: Environment-specific values are supplied at runtime, so one set of artifacts deploys unchanged across four data centers.
One engine for ETL and CDC: The same normalization logic runs under a scheduled bulk load and under log-based change capture.
On-premise deployment: Each data center runs its own instance. Data never leaves the bank's network.
Performance at volume: Bulk loading and parallel execution to meet the sub-minute requirement.
The Solution
Normalization on the fly: Flows read the denormalized MongoDB collections, resolve them into the destination's parent and child tables, and write in dependency order so the foreign key constraints are satisfied as records land.
Shared logic across both paths: The same mapping and transformation logic backs the scheduled loads and the CDC stream, so the two cannot diverge.
Fully parameterized artifacts: Connections, flows, and schedules take their environment from runtime parameters. Promoting to another data center is a deployment, not a rewrite.
Built in-house: The bank's own team built the solution. Etlworks support worked alongside them through the design.
Results
Four data centers, one build: The same flows run at every regional site with no per-site modification.
Referential integrity preserved: Records arrive in the normalized schema in an order the constraints accept, from both the ETL and the CDC path.
Millions of records in under a minute: The throughput requirement is met in production.
In production across all four sites, with the bank reporting complete satisfaction with the result.