NLEN
Direct technisch advies?
Home > Blog

Migreren van Oracle naar PostgreSQL hoeft geen maatwerk te zijn

Gijsjan Baars 15-5-2018 16:15
Categorieën: Beheer, BLOG, Open Source, Oracle, PostgreSQL, Tips

Steeds meer grote bedrijven willen af van het licentiemodel van Oracle.  Het is dan misschien de meest complete databaseoplossing, maar 99,99% van de bedrijven maak geen gebruik van al de functionaliteiten die Oracle biedt. Waarom dan nog betalen voor al die extra, meestal onnodige functies? Daarbij biedt de PostgreSQL-community vele ‘plug-ins’ die deze extra functionaliteiten kunnen vervangen. PostgreSQL is zo volwassen inmiddels, dat er eigenlijk geen reden is om nog Oracle te gebruiken. Het aantal Oracle-databases dat ik vanuit OptimaData migreer wordt elk jaar groter. Maatwerk is dan geen optie: wij streven zoveel mogelijk naar standaardisering!

 

Door: Gijsjan Baars 

 

Bij grote bedrijven en organisaties wil men graag weten wat ze kunnen verwachten qua kosten voor ICT. Omdat de Oracle-kosten elk jaar weer fluctueren is dit dus bijzonder lastig. De licentiekosten kunnen al snel in de tonnen, zoniet miljoenen euro’s per jaar lopen - als je veel databases hebt. Wat nu als je deze kosten kunt besparen? Meteen doen, zou ieder weldenkend mens zeggen. En dat gebeurt dan ook steeds vaker, veel bedrijven kennen inmiddels het prachtige open-source alternatief PostgreSQL. Terecht, in mijn ogen, want deze database is dankzij de trouwe en briljante community echt een volwaardig alternatief voor Oracle.

Met PostgreSQL kun je veel nauwkeuriger inschatten wat de jaarlijkse kosten zullen zijn. Natuurlijk is  hardware nodig en heb je DBA-werkzaamheden, maar die kosten maak je ook als je Oracle gebruikt. En tussen Oracle en PostgreSQL ontlopen die hardwarekosten elkaar niet of nauwelijks. Het ombouwen van een Oracle database naar een PostgreSQL omgeving kost wel wat manuren, maar die kosten verdien je snel terug. Hoe snel, dat is afhankelijk van een aantal factoren, zoals het aantal databases en de hoeveelheid werk die het vertalen van Oracle-specifieke syntax naar de SQL-standaard kost. PostgreSQL voldoet namelijk aan de standaard SQL-‘regels’, net als onder andere MySQL en MariaDB. Zo voorkom je enige vorm van ‘vendor lock-in’.

Zijn er duizenden databases, verdeeld over verschillende servers in diverse steden, dan kunnen we de kosten al snel terugbrengen. Het migreren van zoveel databases is wel een flinke klus, maar door alvast zoveel mogelijk databases te bundelen in een zo klein mogelijke hardware-omgeving, worden de kosten al gedrukt. Het is dan wel zaak om Oracle echt helemaal van een locatie te verwijderen, want als het ergens op een server achterblijft dan betaal je (bij wijze van spreken) voor alle hardware die daar staat. Want je zou daarop Oracle kunnen gebruiken. Omdat we in een 24/7-maatschappij leven, proberen we de migraties zo snel en zo soepel mogelijk te laten verlopen.

We hebben het migratieproces zoveel mogelijk gestandaardiseerd. We gebruiken hiervoor het open-source programma ora2pg. Hiermee kan zowel de datastructuur als de data zelf worden overgezet en worden vertaald naar PostgreSQL-structuur. Dankzij mooie tweaks als incrementele migraties voor statische data, kun je de migratie al voor een groot deel van tevoren voorbereiden. Zo kun je heel statische databases alvast migreren, zodat je de downtime tot een minimum kunt beperken tijdens de ‘echte’ migratie.

Omdat een groot bedrijf (bijvoorbeeld een multinational in de auto-industrie waarvoor we werken) vele duizenden databases heeft, is het praktisch onhaalbaar om voor elke database maatwerk te leveren. Het proces is voor 99% gestandaardiseerd en geautomatiseerd. Daarbij stellen we heel duidelijke kaders. Er mogen bijvoorbeeld tijdens de migratie geen wijzigingen meer worden aangebracht in de datastructuur. En we stellen heel duidelijk vooraf wat wij wel doen en wat niet. Wij zijn een extra hulpmiddel voor de applicatieteams om hun data consistent te migreren.

We onderzoeken bij een bedrijf zo gedetailleerd mogelijk wat de grootst gemene deler is. Wat heeft elke Oracle-database en wat kunnen we dus automatisch overzetten naar elke PostgreSQL database zonder handmatige interventie. Al het andere moet door het projectteam zelf worden gedaan. Dat bakenen we echt af, want anders kunnen we geen honderden migraties per jaar uitvoeren.

Gaat het om een migratieproject met maar enkele Oracle-databases, dan kun je wel maatwerk leveren. Omdat dit eenmalig wordt uitgevoerd. Bij een bedrijf met duizenden Oracle-databases wil je een geautomatiseerd proces klaar hebben liggen, dat voor het grootste deel van alle migraties gebruikt kan worden. Dan is standaardisering key.

Zo kunnen we in de meeste gevallen met een goed doordachte standaardisering en automatisering migraties tot wel 90 a 95% probleemloos laten verlopen. En dat zijn toch behoorlijk hoge standaarden, nietwaar?

Meer weten over PostgreSQL? Kom naar onze meetup 14 juni 2018 of lees de Expert's Blog of PostgreSQL introductiepagina op onze website.

Meetup 14 juni 2018 "Migration Approaches and Analyzing Database Performance"

PostgreSQL introductie en quick reference card

Blog an Expert's introduction on PostgreSQL

Terug naar blogoverzicht

Reageer