Context: IplanRioPeriod: 2026
in production

Nota Carioca data pipelines

A BigQuery → Oracle load 31 to 33x faster, in production a few days after the first test.

My role

I built the PoC alone, took it to production on Prefect and wrote the plan for moving off Oracle.

33x
faster than conventional inserts
35 s
for 3.4 million rows
0
mismatches in parity checks
SPAN 01 // CONTEXT

Problem

During a performance crisis on the database behind Nota Carioca, the city's service e-invoicing system, heavy processing had to move out of Oracle and come back finished. Loading through the JDBC connector took hours.

SPAN 02 // IMPLEMENTATION

Solution

I replaced the whole path: bq extract to GCS, named pipes, and SQL*Loader direct path, which writes blocks straight into the datafiles. It then became a set of Prefect flows: Oracle → BigQuery extraction, dbt transforms and the load back.

SPAN 03 // DETAILS

Highlights

  • Full reloads with no downtime, using A/B tables and a synonym swap at the end.
  • Handled the cases that broke the load, like newlines inside fields, blanks turning into NULL and column sizing.
  • Parity checked across 300 aggregate metrics and more than 3,000 rows compared cell by cell.
  • A Discord bot to trigger and follow production loads, with mutual exclusion between them.
  • An architecture plan to take this path off Oracle for good, with direct ingestion from the national API, BigQuery, PostgreSQL and a Go API.
SPAN 04 // OUTCOME [200 OK]

Result

In the PoC, 3.4 million rows loaded in 35 s (87k to 121k rows/s) versus about 17 minutes with conventional inserts. The pipeline runs in production twice a day.

Quick actionsSwitch language to Português (PT-BR)
PT-BR
Quick actionsToggle light / dark theme
THEME
Quick actionsDownload résumé in Portuguese (PDF)
PDF · PT-BR
Quick actionsDownload résumé in English (PDF)
PDF · EN
Quick actionsCopy email address (fredzolio.dev@gmail.com)
COPY
NavigationProduction services and featured work
#servicos
NavigationAll projects
/en/projects/
NavigationCareer timeline
#carreira
NavigationTalks, hiring, documentation & open source
#atuacao
NavigationSkills & tooling
#stack
NavigationAcademic background, courses & languages
#formacao
NavigationContact & résumé
#contato
Projects & case studiesRio Queue
IplanRio · in production
Projects & case studiesPublic service search and recommendations
IplanRio · in production
Projects & case studiesCourses, jobs and employability API
IplanRio · in production
Projects & case studiesSuperApp load test
IplanRio · internal
Projects & case studiesNota Carioca data pipelines
IplanRio · in production
Projects & case studiesGCP cost investigation and Billing Guard
IplanRio · in production
Projects & case studiesEAí gateway and the city's MCP server
IplanRio · in production
Projects & case studiesCoding agent platform for developers
IplanRio · internal
Projects & case studiesAgents for infrastructure operations
IplanRio · internal
Projects & case studiesCity chatbot integrations
IplanRio · in production
Projects & case studiesGo email worker
IplanRio · in production
Projects & case studiesExecutive meeting room displays
IplanRio · in production
Projects & case studiesAlliomed
Vizo · in production
Projects & case studiesMaestro, a coding agent delivery pipeline
Vizo · internal
Projects & case studiesProventus
Vizo · in use by customers
Projects & case studiesSienge SaaS RPA
Vizo · sold
Projects & case studiesAWS infrastructure assessment
Vizo · client work
Projects & case studiesPLANEHAB Nosso Bairro
Freelance · live
Projects & case studiesConecta Solar
Freelance · live
Projects & case studiesVardis
Freelance · client work
Projects & case studiesLivinHub
Freelance · client work
Projects & case studiesNDC Nexus
New Data Company · prototype
Projects & case studiesWhatsApp group monitor
New Data Company · prototype
Projects & case studiesInternal ERP
New Data Company · internal
Projects & case studiesJungle Wallet
Personal · open source
Projects & case studiesZolioLab
Personal · internal
Projects & case studiesOSCE Cirurgia
Personal · prototype
Projects & case studiesENEM essay grading spike
Personal · experiment
Projects & case studiesGamePixzo
Personal · prototype
Projects & case studiesSurkai
Personal · open source