Transformations / data warehouse migration

Get the Answers Before the Migration Finishes

One ontology over your old warehouse and your new one. The business gets answers across both today — and the move happens table by table, only where it pays.

Start with the systems you already run. Nothing has to move first.
soc 2 type iihipaa · baaruns in your cloudevery query logged
teradata → databricks · live 170 moved · 0 retired
Q3 margin, all regions 41.8% Teradata 20%Databricks 80%
ontology customer · order · account Teradata on-prem · edw Databricks lakehouse
read in place · moved table by table same answer at every step
[ the difference ]

The Migration, Before and After

today
  • Years of program before the first new answer
  • Business logic rewritten by hand in a new dialect
  • Two warehouses in parallel, reconciled in spreadsheets
  • Integrators paid for every month the project runs
with textql
  • Answers across old and new systems from the start
  • SQL translated between dialects, checked by tests
  • Parity monitored continuously as tables move
  • The order of the move set by cost and usage
[ 01 rank ]

Move What Pays, in the Order It Pays

Every table is scored by what it costs to run and who reads it. The plan falls out of the usage — most of the estate turns out not to be worth moving at all.

  1. Query cost and readers measured per table
  2. Lineage shows what breaks if a table moves
  3. Unread tables retired, not migrated
the estate · cost × readers 41,208 tables
cost to run → ↑ readers
move first · 0 retire, don’t move · 0 leave where it is
[ 02 prove ]

Every Object Proven Before Anything Repoints

Views, procedures and ABAP-backed reports are translated between dialects and run on both engines. When a total differs, the cause is found and fixed before a single dashboard moves.

  1. Teradata, Oracle and ABAP into Spark, Snowflake or Postgres SQL
  2. Parity tests on every translated object
  3. Metrics repoint behind the ontology — consumers never notice
parity · teradata vs databricks 0 / 5 matched
object translated teradata databricks
customer_dim bteq → spark sql 2.41M 2.41M running
orders_fact view → spark sql $212.40M —
net_revenue macro → spark sql $48.2M —
ar_aging proc → spark sql $6.07M —
account_hierarchy abap cds → sql 18,204 —
every object proven before anything repoints
[ customer story ]
client
Dropbox
profile
software services · san francisco, ca
estate
erp · warehouses · bi · fp&a models
status
live · nothing migrated
1 year the migration they were quoted first
< 1 week to production · no migration, no rebuild
start+3 mo+6 mo+1 yr
Dropbox

Offered a year-long migration. Live in under a week.

We looked at a number of different solutions. We found TextQL to be the best.

Adam Richter, Director of Revenue
400 hrs
manual reconciliation saved per quarter
140×
faster delivery per FP&A question
98.8%
reduction in dashboard build time
[ the path ]

Answers First, Move Later

The order is the point: the business is answered in the first step, and every step after it is sized by what it saves.

  1. 01 / connect Answer Across Both Old and new engines read in place under one ontology. No rows copied, answers from week one. nothing moves
  2. 02 / rank Let Usage Decide Cost, readers and lineage set the order of the move — and what never moves at all. the plan
  3. 03 / move Table by Table Each object translated, proven on both engines, then repointed behind the ontology. no big bang

Map Your Migration Before You Fund It

Connect the warehouses you already run. We rank the estate by cost, usage and lineage, and show your team what is worth moving — and what the business can have answered today.

  1. 01A 30-minute call to list the engines and the move on the table
  2. 02We connect in place inside your cloud — nothing is copied
  3. 03Your team gets a ranked plan and live answers across both
[ use cases ]

Moves Teams Are Making

  • 01 Teradata to Databricks or Snowflake

    Answer across both while BTEQ, views and procedures are translated and proven, table by table.

  • 02 Oracle retirement

    PL/SQL and finance marts translated with parity tests, so the ledger reconciles on both sides before the switch.

  • 03 SAP HANA and BW reporting offload

    ABAP and CDS-view logic translated into the lakehouse, so reporting stops depending on the ERP’s own database.

  • 04 Estates after an acquisition

    Two companies, two warehouses, one set of definitions — answered together long before anyone consolidates.

  • 05 Hadoop decommissioning

    Find what is still read, move that, and switch the cluster off with the lineage to prove nothing broke.

  • 06 Cost-driven workload moves

    Move only the workloads whose cost justifies it, ranked by what each query actually spends.

[ faq ]

What Teams Ask Before They Start

It changes what they are needed for. The ontology gives the business answers across both systems from the start, and translation with parity tests handles much of the mechanical work — so the program is sized by what is worth moving.

[ try textql ]

Bring Us Your Hardest Problem