Artikel

Welke verborgen verbeteringen heeft PostgreSQL 9.5 onder de motorkap?

De release van PostgreSQL 9.5 is een belangrijk moment voor bedrijven die PostgreSQL gebruiken om high-speed mobiele, web- en digitale bedrijfsapplicaties te ontwikkelen, die veelal gericht zijn op customer engagement. Naarmate bedrijven zich verder ontwikkelen, moet hun infrastructuur voortdurend aangepast worden om concurrerend te blijven en te voldoen aan de stijgende verwachtingen van de consument. PostgreSQL helpt organisaties hierbij met diverse nieuwe functies en mogelijkheden.

PostgreSQL blijft zijn naam waarmaken als 's werelds meest geavanceerde open source database voor enterprise workloads. Wereldwijd zijn organisaties bezig om hun bestaande systemen te upgraden naar zwaardere machines met meer processor-cores en meer werkgeheugen. PostgreSQL speelt hier op in door verbeterde prestaties en schaalbaarheid. En omdat data-gedreven applicaties meer inzicht vereisen, zijn er in PostgreSQL complexe analytics-functies toegevoegd die meer specifieke resultaten opleveren.

Er is al het nodige geschreven over nieuwe functies, zoals UPSERT, Row Level Security en nieuwe analytische functies zoals GROUPING SETS / CUBE en ROLLUP. Dit zijn absoluut belangrijke nieuwe functies, dus als je hier nog niet mee bekend bent, lees dan vooral de PostgreSQL 9.5 release notes. Maar er zijn ook een aantal verbeteringen die misschien niet direct in het oog springen. Hier volgt daarom een lijst van drie van deze ‘verborgen’ verbeteringen en uitbreidingen in PostgreSQL 9.5:

1. Betere prestaties en schaalbaarheid
Een aantal kritische verbeteringen in de code van PostgreSQL zorgen ervoor dat dat de database veel meer performance en schaalbaarheid kan bieden op zware multi-core systemen met veel geheugen. De verbeteringen zijn onder andere bedoeld voor het uitvoeren van workloads op grote, 'big iron' servers met vier tot 12 cores / socket, vier tot acht sockets en 128 GB of meer RAM-geheugen.

Deze verbeteringen werden ontwikkeld in samenwerking met EnterpriseDB (EDB), en waren erop gericht om knelpunten op te lossen in specifieke locking-subsystemen, waaronder onder andere shared buffer eviction locks. Het eindresultaat geeft minder conflict in het systeem en betere prestaties op nieuwe high-end hardware.

Dat deze inspanningen succesvol zijn, blijkt uit verschillende benchmarks die zijn uitgevoerd. PostgreSQL 9.5 vertoont een prestatieverbetering van maar liefst 96% met 64 gelijktijdige verbindingen op een systeem met 24-cores en 496 GB RAM, en 25% betere prestaties dan versie v9.4 voor 32 gelijktijdige verbindingen.
Postgres-gebruikers, en dan met name de bedrijven die workloads ondersteunen met grote aantallen gelijktijdige gebruikers, kunnen meetbare voordelen verwachten in een flink aantal verschillende PostgreSQL 9.5 gebruiksscenario’s. Om er een paar te noemen:

• Verhoogd database uitvoervolume en verbeterde schaalbaarheid
• Betere prestaties met een bestaande infrastructuur
• Meer effectieve besluitvorming door de ontwikkeling van decision support systems (DSS) voor analyse
• Snellere responstijden en significante verbeteringen voor klantenservice.

2. Block Range Indexes (BRIN)
Het nieuwe Indexing-type genaamd BRIN zorgt voor zeer kleine indexen die metadata gebruiken voor datareeksen (zoals minimale en maximale waarden) om de prestaties van query's te verbeteren.

Dit lost het probleem van DBA's op die regelmatig queries moeten draaien die brede, open vragen stellen over enorme hoeveelheden natuurlijk geordende data (ofwel: op numerieke volgorde of op de data/tijd-velden). Denk bijvoorbeeld aan bedrijven die met dagelijkse transactiebelastingen te maken hebben, die in de miljoenen lopen. Data-analyse teams zijn regelmatig op zoek naar een grotere efficiëntie of nieuwe omzetkansen, maar ze weten niet altijd vooraf welke data ze precies nodig hebben. Met bestaande indexen zoals BTrees, kunnen dat soort analyses een zeer langzaam proces zijn. BRIN creëert indexen voor reeksen van waarden in de database, waardoor complete blokken met records uitgesloten zonder kunnen worden, zonder ze eerst te controleren. Dit versnelt queries aanzienlijk.

Sommigen zien deze functie als het bewijs dat PostgreSQL meer 'big data' gebruikscenario’s kan ondersteunen. Dat klinkt zeker heel spannend, maar het belangrijkste is volgens mij dat dit weer bewijst welke unieke mogelijkheden PostgreSQL biedt in de database-industrie. PostgreSQL is uitbreidbaar. Het is vanaf het begin als een objectgeoriënteerde database opgezet, waardoor nieuwe functies en mogelijkheden gemakkelijk toegevoegd kunnen worden. De database kan hierdoor eenvoudig uitgebreid worden om nieuwe gebruiksscenario’s te ondersteunen. PostgreSQL 9.4 bracht ons het nieuwe JSONB datatype, waarmee document-databases en NoSQL workloads ondersteund kunnen worden. Dit is een goed voorbeeld van hoe PostgreSQL kan worden uitgebreid om ongestructureerde data te ondersteunen. Nu toont BRIN in versie 9.5 hoe PostgreSQL uitgebreid kan worden om specifieke indexen te ondersteunen voor datawarehousing-methodes binnen een relationeel database-systeem.

3. Parallelism-infrastructuur
Parallellisme is niet een enkele functie, maar een fundament voor meerdere functies de toekomstige mogelijkheden van Postgres aanzienlijk zullen vergroten. Het zal de database in staat stellen om queries parallel uit te voeren en een beter gebruik te maken van de meerdere cores in moderne hardware. Dit zal resulteren in nog betere prestaties, met name voor langlopende soorten workloads.

Eindgebruikers zullen voor het daadwerkelijk inzetten van de nieuwe parallelle query-functies moeten wachten tot de release van PostgreSQL 9.6 volgend jaar . Ze zouden echter niet mogelijk zijn zonder een reeks van nieuwe toevoegingen in PostgreSQL 9.5. Robert Haas, EDB's Vice President, Chief Database Architect, beschreef in een blog het werk dat hij deed aan de nieuwe release van PostgreSQL, samen met EDB's Amit Kapila, Senior Database Architect. Deze patches voorzien in de laatste fundamentele componenten die nodig zijn om parallelle verwerking in PostgreSQL realiteit te maken.

Met deze patches achter de rug, wordt er nu al gekeken hoe de end-user functies toegevoegd worden worden in v9.6. Parallel sequential scan is voltooid en met parallel sort wordt al veel vooruitgang geboekt. Men verwacht dat er binnenkort nog meer mogelijkheden naar de voorgrond zullen komen, zoals parallel join en aggregation.

Kortom, ik zie PostgreSQL 9.5 als een grote stap voorwaarts, en niet alleen in termen van nieuwe functies. PostgreSQL wordt een geïntegreerd dataplatform dat organisaties vandaag ondersteunt, maar ook tot ver in de toekomst. Dat is belangrijk voor bedrijven om weten als ze bezig zijn hun strategische initiatieven en plannen te onderzoeken om concurrerend te blijven de huidige digitale markt. Met de nieuwste ontwikkelingen, heeft PostgreSQL 9.5 weer eens bewezen waarom het 's werelds meest geavanceerde open source database is.

De gratis versie van PostgreSQL is met behulp van een eenvoudig één-klik installatieprogramma hier te downloaden.

Categorie:   
Auteur(s)
afbeelding van JeannotBos
Jeannot Bos
EnterpriseDB - Sales Director Europe

Jeannot is een inspirende leider met een succesvolle track-record. Hij is resultaatgericht en kan een sterke bijdrage leveren aan het groeien van de business van sofware en SaaS-bedrijven. Dit doet hij door relaties met potentiële klanten te bouwen op basis van wederzijds vertrouwen.

Nieuwe reactie inzenden

De inhoud van dit veld is privé en zal niet openbaar worden gemaakt.
Indien het niet lukt om een reactie te plaatsen, stuur dan uw reactie naar redactie@xr-magazine.nl.
Alle inzendingen dienen correct, professioneel en beschaafd te zijn. IP-adressen worden gelogd, maar niet gepubliceerd. De redactie van XR Magazine behoudt zich het recht voor om anonieme reacties (niet op naam) of zonder geldig e-mailadres, te verwijderen zonder kennisgeving. Ook reacties waarin commerciële uitingen worden gedaan en/of commerciële producten en diensten worden aangeboden worden door de redactie verwijderd of ontdaan van commerciële uitingen zonder kennisgeving.