Open source database-technologie krijgt steeds meer voeten aan de grond in het datacenter. De website DB-Engines stelt dat de verdeling tussen commerciële en open source-oplossingen om en nabij 50/50 is. Toch zijn er in de it-wereld nog een hoop misvattingen over de werking van het open source softwaremodel, over hoe goed de performance is, en wat precies de voordelen en reurm on investment (roi) zijn. Hieronder ontmasker ik negen van deze mythes.
1. Er zijn te weinig tools en resources voor database administrator
Om maar meteen met de deur in huis te vallen: er zijn niet minder tools en resources voor een database administrator (dba) beschikbaar bij een open source-oplossing. Een recente analyse van Gartner in The State of Open-Source RDBMS 2015 laat zien dat het aanbod nagenoeg gelijk is, vergeleken met traditionele varianten. Gartner zegt hierover: ‘Open source relational database management systems (rdms) zijn de afgelopen tijd volwassen geworden. Ze passen beter bij de vaardigheden van een database administrator, er zijn meer dba-tools op de markt en de functionaliteiten zijn nagenoeg gelijk aan traditionele rdms-functionaliteiten.’
2. Third-party tools en app-ondersteuning ontbreken
Nu de populariteit van open source database-technologie toeneemt, stijgt ook het aantal derde partijen dat hun software integreert met deze oplossingen. Hierover zegt het rapport van Gartner: ‘Third party en in-house applicaties kunnen in toenemende mate gebruikt worden in combinatie met een open source rdms. Hierdoor kunnen open source-varianten gebruikt worden om bestaande interne commerciële rdbms-oplossingen te vervangen.’
3. Ze zijn niet gemaakt voor dba’s
De rol van de dba is de afgelopen tijd flink veranderd door het gebruik van nieuwe technologie in combinatie met toenemende eisen vanuit het management. Een dba is tegenwoordig verantwoordelijk voor meer databases dan ooit tevoren. In het Gartner-rapport geef 72 procent van de ondervraagden aan dat dit aantal snel stijgt. Met open source databases kunnen dba’s de tools ontwikkelen, die ze nodig hebben om aan de veranderende vraag te voldoen. Postgres, bijvoorbeeld, heeft pgAdmin, een database-ontwerp en -beheersysteem. PgAdmin is ontwikkeld door een van de meest toonaangevende Postgres-ontwikkelaars en kan door iedereen gebruikt worden. Het is een van de vele tools die door de Postgres-community ontwikkeld is om andere open source-gebruikers te ondersteunen.
4. Open source-oplossingen zijn niet echt goedkoop
Zelfs een commercieel ondersteunde versie van een open source-database kost maar een fractie van een traditionele oplossing. Dit komt door het prijsmodel: de prijsstelling start een stuk lager. Bovendien leveren veel van deze organisaties hun diensten op basis van een abonnementsmodel.
5. Ze zijn niet schaalbaar genoeg voor enterprise-gebruik
Ook voor enterprises hebben veel open soure-oplossingen tegenwoordig de juiste tools op het gebied van performance en security. Bovendien is er een groot arsenaal aan aanvullende tools, zoals voor het managen van resources, partitioning, linear read perfomance scaling en locking. Enterprises kunnen dus ook hun steeds zwaardere en bedrijfskritische applicaties met een open source-oplossing ondersteunen.
6. Ze zijn moeilijk in gebruik
Volgens het Gartner-rapport is open source database-technologie volwassen geworden en qua resources vrijwel net zo goed behept als traditionele oplossingen. Open source-oplossingen bevatten min of meer dezelfde functionaliteiten, boeten niet in op betrouwbaarheid en gebruiksgemak en bieden een gelijkwaardige performance. Daarnaast is er een levendige open source-community, die zorgt voor innovatie en kennisdeling. Een open source database als Postgres is verder gebaseerd op SQL-standaarden. Dit maakt het voor dba’s met een andere achtergrond gemakkelijker om aan het gebruik van een open source-database te wennen.
7. Ze zijn minder veilig als propriëtaire oplossingen
Er is eigenlijk geen gegronde reden te bedenken waarom open source-software minder veilig zou zijn dan een traditionele oplossing. Sterker nog, door het strakke management, de strikte evaluatiereviews en testprocecures, hebben veel open source-projecten minder kwetsbaarheden dan commerciële producten. Omdat transparantie het toverwoord is bij open source, hebben veel mensen toegang tot de broncode. Er zijn dus veel ogen die potentiële problemen kunnen opsporen en oplossen. Bovendien is er een ecosysteem van verschillende security-lagen rond open source-projecten ontstaan. Organisaties hebben daarmee verschillende opties om een veilig en betrouwbaar systeem in te richten.
8. Migratie is zo goed als onmogelijk
Voor alle duidelijkheid, database-migraties zijn over het algemeen geen eenvoudige projecten. Maar het migreren van een commerciële oplossing naar een open source database is zeker niet onmogelijk. Er zijn diverse handleidingen geschreven door de betreffende community’s die daarbij kunnen helpen. Bovendien kan een dba veel van zijn kennis en vaardigheden gewoon blijven gebruiken. Postgres is bijvoorbeeld gebaseerd op SQL-standaarden en is daarom heel herkenbaar voor veel gebruikers.
9. Minder mogelijkheden dan commerciële oplossingen
Uit het rapport van Gartner blijkt dat de functionaliteiten van een open source dbms vrijwel gelijk zijn aan commerciële oplossingen. Neem als voorbeeld Postgres, dat is uit hetzelfde onderzoek voortgekomen als Oracle en DB2. Deze open source-oplossing biedt daardoor vergelijkbare enterprise-functionaliteit, zoals volledige acid-compliance en multi-version concurrency control om high concurrent loads te ondersteunen.
Wanneer je databases aan elkaar wilt knopen kan dat met Pentaho of Talend, beide ook open source.
Voor konversies is Quirrel SQL Client een praktisch hulpmiddel.
Ik ben Postgres gebruiker en neem deze vooral af als RDS bij AWS, werkt als een trein en is goedkoper dan de MS SQL Variant en heeft ook nog een aantal voordelen omdat Postgres heel goed in elkaar steekt.
Maar pgAdmin een goede tool noemen gaat me wat ver. Technisch kun je wellicht er van alles mee bereiken, maar het schiet ook aan zeer veel kanten tekort en dat kost ook kapitalen.
Waarom is er geen autocomplete c.q. intellisense? Waarom is dat T-SQL query scherm zo vreselijk onhandig? Waarom moet ik fratsen uithalen om mijn verbinding open te houden? Waarom zit alles minimaal vier kliks diep?
Waarom krijg ik als ik een UUID kopieren uit de resultaten hier de dubbele quotes voor string notatie terug zodat ik deze niet direct in het T-SQL scherm kan toepassen.
Nu is er een ontwikkelaar in Taiwan met een uiterste ontbetrouwbare ogende website die wel een briljante tool heeft gemaakt om met veel open source DB’s om te gaan en voor Postgres autocomplete functie heeft die draait als een zonnetje. Geen open source en kost 60 dollar.
Maar goed, ik schrijf nu erg op het detail. Ik werk veel met open source en er kleven zowel voordelen als nadelen aan. Ik neig naar open source, maar heb af en toe van die momenten dat ik liever gewoon veel betalen voor een pakket die wat gebruikersvriendelijker is. Want al die tools en frameworks hebben een leercurve en iedere keer als je iemand nieuw aanneemt is dat weer een heel gedoe wat je niet zou hebben als je een C#.NET ontwikkelaar aanneemt met MS SQL Server ervaring…..
Het is een beetje het kip en ei probleem. Er zijn een behoorlijk aantal commerciele DBMS-en en een handje vol open source DBMS-en. In principe werken ze natuurlijk allemaal op dezelfde manier, dat maakt het een DBMS. Zodra we zoals hierboven zien, zijn detailzaken relevant geworden. Dat is met alle software componenten zo, of het nu een besturingssysteem, security product of wat dan ook. Waar je vanuit moet gaan kijken in de ICT, is toch de groep die er mee moet werken. Een DBA-er die al deze producten tot in zijn haarvaten kent, zal je op een hand moeten tellen, maar je mag van een DBA-er wel verwachten dat hij op zijn minst 1 of 2 DBMS-en behoorlijk onder de knie heeft. Dan zijn er voor zowel commerciele als open-source DBMS-en voldoende mensen te vinden die er verstand van hebben.
De enige reden om voor de een of voor de ander te kiezen is een strategische en inhoudelijke. Strategisch omdat je wel een horizon van je gehele ICT moet hebben, waarin de gekozen DBMS voorlopig past. En inhoudelijk vanwege heel specifieke eisen en wensen die je aan je DBMS stelt. Ik krijg wel vlekken in mijn nek van welk stukje ICT dan ook, waar enorm ingewikkelde eisen gesteld worden aan de producten. Dan rijst bij mij de vraag of die eisen realistisch zijn en of de bouwers van die producten dat tot in lengte van dagen blijven ondersteunen. Overigens is voor mij dan ook de grens overschreden wat betreft het adagium “ICT volgt altijd de business”. Het is zoiets als eisen dat een auto nooit ongelukken moet maken en de autofabrikant daarvoor altijd verantwoordelijk houdt.
De grote spelers in de zakelijke softwaremarkt verdommen het gewoon om MySQL te ondersteunen. Aan de ene kant irriteert me dat mateloos omdat ik nu weer voor vele duizenden euro’s een MS-SQL- licentie moet aanschaffen en ik dolgraag over zou willen naar een goedkoper alternatief – zeker als dat net zo goed is.
Aan de andere kant kan ik me de weerstand van de softwarehuizen ook wel voorstellen, want ook hier stikt het weer van de dialecten en spin-off’s. En als die dan allemaal ondersteund moeten worden is het einde zoek.
Daarbij is het versiebeheer qua updates bij de open source varianten voor mijn gevoel ook wat minder ‘regulier’ en voorspelbaar dan bij de mannen van Microsoft.
Ik denk dat Atilla het mooi samenvat: kies op grond van doordachte strategische en terechte inhoudelijke gronden. Om met de laatste te beginnen: voor rechttoe-rechtaan werk opslaan van data in een setje gerelateerde tabellen (wat volgens mij nog steeds vaak het geval is) is vrijwel iedere database geschikt. En dus zou om die reden een open source database vaker dan nu het geval is kunnen worden ingezet.
De strategische afweging is lastiger. Zoals RJ Tuinman aangeeft bij leveranciers, maar het geldt natuurlijk ook bij zelf te maken keuzes, kan meer voor licenties betalen best een goede keuze zijn als je het op andere terreinen terug weet te verdienen. Nog anders wordt het als je geen keuze qua database hebt omdat er bedrijfsmatig wordt gekozen voor een product dat een bepaalde database vereist. Afhankelijk van de situatie zou het zomaar kunnen dat DBA-bezwaren daarbij niet zwaar genoeg wegen. Ook dat behoort tot strategie…
Als je naar innovatie zoekt moet je juist bij de open-source en/of kleinere spelers zijn die wendbaar genoeg zijn om in te spelen op de laatste ontwikkelingen.
De oude grote jongens zijn solide en bieden voor een zeer stevige prijs een uitstekende prestatie. En hun business model is ook dat hun producten zoveel mogelijk met consultancy verkocht worden wat het beheer ook nog eens een kostenpost maakt.
Maar ook bij open-source producten is support en evt beheer ook niet kosteloos en is maatwerk niet ongewoon.
Laat je niet verleiden om je applicaties dusdanig te verweven met een database dmv maatwerk dat je later niet meer kan wisselen. Dan kan je altijd nog wisselen als een bepaalde partij beter aansluit bij jouw groei pad. De frameworks die dat mogelijk maken zijn vandaag de dag volwassen genoeg om dit mogelijk te maken.