Informizely customer feedback surveys

PostgreSQL en DBA.nl


Steeds meer bedrijven maken gebruik van de open-source PostgreSQL database. Ondanks het feit dat PostgreSQL geen commercieel product is (en er dus geen officiële verkoopcijfers van zijn) blijkt dit uit trend-analyses van markt-analisten. Ook wij als DBA.nl merken interesse bij onze klanten en bieden nu naast Oracle en SQL Server ook PostgreSQL-diensten aan. Onze verwachting is dat ook steeds meer applicatieleveranciers hun software gaan leveren voor dit platform.

Voor wie er niet bekend mee is: PostgreSQL is een open-source database-systeem dat zich qua functionaliteit en betrouwbaarheid kan meten met Oracle Database en Microsoft SQL Server. De gangbare eigenschappen van een serieus database-product zijn alle aanwezig. Enkele voorbeelden:

SQL:2011 compliant: De SQL-standaard wordt gevolgd

Transacties zijn goed beschermd: Multiversion Concurrency Control, ondersteuning voor “serializable” transacties. De methode is vergelijkbaar met Oracle en met nieuwere versies van SQL Server waarbij “row versioning” is ingeschakeld.

Integratie: Foreign Data Wrappers voor het bevragen van externe bronnen, interfaces voor vele programmeertalen.

Schaalbaar: onbeperkte omvang van databases, onbeperkt aantal rijen per tabel, 32TB maximum omvang per tabel (mits het filesystem dit ondersteunt).

Uitbreidbaar: Door middel van extensies kan de functionaliteit van de database verder worden uitgebreid. Er zijn bijvoorbeeld extensies voor Full-Text search, Geografische data en performance management.

High availability: (synchrone) replicatie naar één of meer “standby”-databases. Integreerbaar met cluster-software voor geautomatiseerde High Availability oplossingen.

Backup en recovery: ondersteuning voor (incrementele) on-line backups, data-imports/exports, log-archiving, Point-in-Time recovery, cloning van databases.

Security: PostgreSQL implementeert een flexibel raamwerk waarbij database-toegang kan worden bewaakt d.m.v. diverse authenticatiemechanismen zoals Kerberos, Active Directory, Radius en PAM. De data zelf kan tot op kolom-niveau via rollen worden afgeschermd. Op Linux kunnen ook SELinux security labels worden ingezet.

Data-consistentie bescherming: Write Ahead Logging t.b.v. (crash-)recovery, data-checksums.

Programmeerbaar PL /pgSQL procedurele taal in de database. (vergelijkbaar met Oracle’s PL /SQL en T-SQL van Microsoft

Integratie: Foreign Data Wrappers voor het bevragen van externe bronnen, interfaces voor vele programmeertalen.

Schaalbaar: onbeperkte omvang van databases, onbeperkt aantal rijen per tabel, 32TB maximum omvang per tabel (mits het filesystem dit ondersteunt).

Uitbreidbaar: Door middel van extensies kan de functionaliteit van de database verder worden uitgebreid. Er zijn bijvoorbeeld extensies voor Full-Text search, Geografische data en performance management.

Een stukje historie

De wortels van PostgreSQL liggen in de academische wereld van de Berkeley universiteit in Californië. De database is vervolgens buiten deze universiteit als open-source project doorontwikkeld met een belangrijke focus op betrouwbaarheid, functionaliteit en een zo hoog mogelijke kwaliteit van de source-code. De focus op software-kwaliteit en betrouwbaarheid leidden ertoe dat de indruk ontstond dat gebruiksvriendelijkheid en database-snelheid achterbleven bij sommige andere databases maar zeker dat laatste is eigenlijk al 10 jaar niet meer het geval. Er is veel aandacht geweest voor optimalisatie en in de praktijk is een correct geconfigureerde PostgreSQL-database een uitstekend presterend systeem dat zich goed laat onderhouden. Wel moet worden opgemerkt dat de “tooling” rond monitoring en beheer van PostgreSQL vooralsnog niet op het niveau is dat Oracle en Microsoft bieden; hierdoor is het beheer mogelijk wel wat “arbeidsintensiever” of vereist het tenminste wat extra aandacht en configuratie.

PostgreSQL wordt al sinds 1996 als open-source project ontwikkeld en is inmiddels toe aan de 10e major release (de actuele versie is 9.6 van september 2016). Het ontwikkelmodel is vergelijkbaar met dat van de bekende Linux-kernel; een grote groep ontwikkelaars werkt aan de software en een stuurgoep is verantwoordelijk voor de beoordeling en selectie van de programmacode die uiteindelijk in een database-release wordt opgenomen. Historisch werd PostgreSQL ontwikkeld voor Unix-systemen en inmiddels is Linux het meest gangbare platform waarop PostgreSQL wordt ontwikkeld, getest en gebruikt. Linux is dan ook in beginsel het aan te bevelen platform voor produktie-gebruik. Maar ook voor Microsoft Windows wordt elke PostgreSQL-release gelijktijdig uitgebracht met die voor Linux en met dezelfde functionaliteit. Ook als u een “Windows-only shop” bent is er dus geen reden om PostgreSQL te mijden.

Ondersteuning

Als gebruik wordt gemaakt van de gratis te downloaden releases zijn er geen kosten voor licenties of support. U heeft de vrijheid om ermee te doen wat u wilt, op zoveel systemen als u wilt, voor zolang als u wilt. Wel zal in dat geval bij problemen moeten worden teruggevallen op ondersteuning door de “developer community” (lees: zonodig bug-reports indienen, mailinglists volgen en vragen stellen op stackoverflow en dergelijke sites). Hiervoor is geen support-contract nodig met PosgtgreSQL-ontwikkelaars maar eventueel natuurlijk wel met een partij die in voorkomende gevallen problemen voor u uitzoekt en een oplossing coördineert. Het PostgreSQL-project heeft een gepubliceerd release support-beleid en zal eventuele software-bugs in een versie gedurende 5 jaar nog actief verhelpen. Op dit moment wordt bijvoorbeeld release 9.2 uit 2012 nog tot september 2017 ondersteund. Het is een geruststellende gedachte dat er dan ook geen strikte noodzaak is om jaarlijks naar een nieuwe versie te upgraden als u dat niet wilt; het toepassen van (security-)patches op “oudere” versies is jarenlang mogelijk.

Zoals ook in de Linux-wereld gebruikelijk is (Oracle, Red Hat, Canonical) zijn ook commerciële uitvoeringen van PostgreSQL verkrijgbaar. Het zwaargewicht hierin is EnterpriseDB Corporation dat software-ondersteuning levert en ook beheertools aanbiedt. Een commercieel ondersteunde versie van de database biedt meer zekerheid aan klanten die graag willen weten waar ze aan toe zijn en hierover afspraken wensen te maken. Net als in de Linux-wereld veel voorkomt zijn werknemers van bedrijven als EnterpriseDB ook als programmeurs betrokken bij het open-source project zodat de open-source releases meeprofiteren van eventuele problemen die door “commerciëlen” worden opgelost. De fixes blijven dus niet voorbehouden aan commerciële produkten (optionele add-on features voor de database kunnen dat wel zijn).

Wat biedt DBA.nl ?

Voor een database-specialist als DBA.nl is PostgreSQL een natuurlijke match. Onze jarenlange ervaring in database-beheer laat zich goed toepassen op PostgreSQL, waarin veel concepten bekend terrein zijn.

Net als bij Oracle en SQL Server kunnen wij u assisteren met installatie, configuratie of vragen bij dagelijks gebruik. Daarnaast is het mogelijk periodiek onderhoud en healthchecks door ons te laten uitvoeren en nemen wij graag eventuele daaruit voortvloeiende verbeterpunten met u door.

Heeft u vragen of bent u geïnteresseerd in onze dienst voor PostgreSQL neem dan geheel vrijblijvend contact op.

DBA.nl,
dé database
administrator

DBA.nl is de allround database expert gespecialiseerd in het inrichten, onderhouden, monitoren van database omgevingen. Daarnaast geven wij advies en nemen performance problemen weg.