Laboratorium Instrumentatie producent - SQL Specialist
Een organisatie die groot is in het produceren en verkopen van een groot aantal laboratorium gerelateerde producten, maakt tevens een aantal zeer complexe instrumenten. Als onderdeel van het gebruiksproces en als onderdeel van interne zelfcontrole, wordt er intern in deze instrumenten de nodige meetwaarden geregistreerd, waaronder mate van gebruik en slijtage. Op basis van deze analytische gegevens kunnen de instrumenten verbeterd worden en kan onderhoud beter worden gepland. In plaats van tijd gebaseerd onderhoud, wordt er enkel onderhoud gepleegd als dat werkelijk nodig is. Daarnaast worden zeer specialistische onderdelen, die een lange productietijd kennen en cruciaal zijn voor de werking van het apparaat precies op het juiste moment gemaakt, zodat ze beschikbaar zijn zodra vervanging nodig is. Met tot gevolg dat de tijd waarin het apparaat niet gebruikt kan worden, tot een minimum beperkt kan worden.
Wat is begonnen als een leuk probeersel, groeide al heel snel uit tot een succesvol product. Als gevolg van deze onverwacht snelle groei, liep de organisatie na verloop van tijd tegen een aantal blokkerende performance problemen. Deze leken zich vooral te concentreren rond de databases.
De organisatie vroeg mij om de databases te onderzoeken en te verbeteren waar mogelijk. Op basis van mijn advies zijn de opzet van de database, het datamodel, de queries en zelf gemaakte applicaties sterk verbeterd. Daarnaast heb ik de communicatie lijnen met het grote en zeer capabele internationale DBA team opnieuw opgebouwd. Dit team heeft geholpen om het database systeem nog verder te optimaliseren via beter regulier onderhoud, setup en backup. Hier ben ik vooral tussenpersoon geweest tussen het DBA team, de ontwikkelaars en het operationeel beheer team. Het eindresultaat is dat alle performance problemen zijn opgelost.
Gedurende dit traject merkte ik dat het gebruikersbeheer van de PostgreSQL server onveilig was opgezet en niet voldeed aan de interne beveiliging regels. Nu de grootste performance problemen zijn opgelost, ben ik gevraagd om de beveiliging te verbeteren op een werkbare manier. Dit resulteerde in de installatie en configuratie van een open source oplossing ldap2pg, dat de gebruikers binnen één of meer Active Directory groepen synchroniseert als database gebruikers en ze aan een vaste set rollen koppelt. Op deze manier kan het beheer van gebruikers en hun wachtwoorden geregeld worden via Active Directory, gelijk aan de bestaande SQL Server werkwijze en in lijn met de interne beveiligingsregels.
Nu de systemen consistent een goede performance bieden en database connecties veilig zijn, wilde de organisatie kijken of ze de licentiekosten konden verminderen. Ik ben daarom gevraagd om te onderzoeken wat de mogelijkheden zijn om de SQL Server databases te migreren naar een goedkopere Open Source oplossing. Hierbij waren PostgreSQL, MySQL en Aurora de meest haalbare kandidaten, al is ook Cockroach DB meegenomen in het onderzoek. Het resultaat van dit onderzoek is een aanbeveling voor de meest zinnige oplossing en een aanbeveling rond meest efficiënte de aanpak voor de migratie.
Vanuit diezelfde behoefte tot kostenreductie ben ik tevens gevraagd om Open Telemetry te onderzoeken als mogelijkheid om performance gerelateerde database metrics te verzamelen. Het resultaat was een volledig werkende, geteste en gedocumenteerde installatie van Open Telemetry, inclusief een groot aantal op maat gemaakte queries voor het verzamelen van deze metrics. Tevens voorzien van Datadog rapporten waarmee inzicht in performance bottlenecks zichtbaar worden gemaakt.
Kerncompetenties
- PostgreSQL Database Tuning, Performance and onderhoud van het database cluster
- PostgreSQL synchronisatie van gebruikers en rollen via Active Directory via ldap2pg
- ldap2pg
- MS SQL Server Database Tuning en Performance
- Docker: Setup, run (continu) en monitor op een Linux omgeving (AWS Linux & Ubuntu)
- Active Directory / LDAP Querying (AWS Linux & Windows Server)
- AWS Aurora standaard installatie en gebruik van de database
- AWS RDS PostgreSQL en MySQL standaard installatie en gebruik van de database
- Datadog rapportage
- Open Telemetry data verzameling
- Scrum, Agile en Lean principes