Codekraker 12: Martijn Dashorst - Werkenbijtopicus
naar topicus.nl
naar topicus.nl
Codekraker 12: Martijn Dashorst

Codekraker 12: Martijn Dashorst

‘Met Ora2Pg duurde de migratie 24 uur, nu lukte het in 1 uur.’

Kijk verder dan je open source neus lang is, soms zijn betaalde tools écht beter

Het ParnasSys-team stond op het punt om hun huidige database engine compleet te vervangen. Van Oracle naar PostgreSQL. De eindgebruiker merkt er helemaal niks van. Maar voor ons software engineers is het alsof je een benzinemotor vervangt voor een dieselvariant. Handmatig, met de gratis open source tool ora2pg, had dit veel tijd gekost. En je neemt dan bovendien een enorm risico. Als de software niet goed draait op de nieuwe database, is er geen weg meer terug. In mijn ogen kun je dit maar op één manier voorkomen: een tool gebruiken voor de migratie die wel een weg terug biedt. Wij kozen voor de betaalde tool HVR.

De reden dat we overstapten van Oracle naar postgres was deels een financiële kwestie. Oracle is heel goed, maar als je de moderne enterprise editie moet gebruiken betaal je veel geld. En dat is nou precies de versie die je nodig hebt als je in een datacenter wil draaien en gebruik wil maken van opslag die via het netwerk benaderd wordt. Postgres is open source en gratis, waarbij al deze opties gewoon beschikbaar zijn. De migratie konden onze developers met behulp van Ora2Pg zelf uitvoeren, alleen doet deze tool er dan zo’n 24 uur over. Bovendien konden we ook niet meer terug naar Oracle, als het niet goed zou draaien met postgres, want pg2ora bestaat niet. En dan een tijd je applicatie niet kunnen gebruiken, ook al is het maar een paar dagen, is killing voor de business.

Dat risico wilden we niet nemen. We kwamen uit bij HVR. Een betaalde tool die de migratie kon uitvoeren én de garantie bood om terug te kunnen naar het oude. Deze tool pakt de data uit Oracle en stuurt deze via een kleine omweg naar postgres. Eerst via een centrale server, daarna doorvertaald naar postgres. Zo ging de overdracht heel snel; het duurde maar een uurtje. Het zet daarbij niet alleen initieel data over, maar blijft dit aanvullen en synchroniseren. Een ander voordeel is dat HVR de data net zo snel naar meerdere databases tegelijk kan sturen. Zo kun je een testomgeving in de lucht krijgen op basis van productiegegevens en vroegtijdig zien wat het doet met de performance. Want wat gebeurt er met je applicatie als je er 20.000 gebruikers op loslaat? Je weet nooit hoe het zich met de nieuwe database zal gedragen. 

‘Waarom betalen voor software als je het ook zelf prima (en gratis) kunt?’, is de vraag die je vaak hoort. En ik snap het. Ook zelf merk ik dat ik snel afhaak als ik zie dat software geld kost. Waar de migratie handmatig ruim een dag zou duren, duurde het nu slechts een uur. We hadden de zekerheid dat we altijd terug konden naar het oude én het leverde allerlei testmogelijkheden op, zodat we beter conversie kunnen uitvoeren. Plus, vanwege de hele databasemigratie kunnen we nu goedkoper én stabieler werk leveren. Voor ons engineers, maar ook voor Topicus als organisatie, was het de investering dubbel en dwars waard.

Benieuwd naar andere codekrakers? Lees de tips van NickDennisFrankRamonJeroenLisette en SallyJimRhodé, Marco en Jelmer.