Lansering av PostgreSQL 12

Gruppen av PostgreSQL-utvecklare har meddelat lanseringen av PostgreSQL 12, den senaste versionen av det relationella databashanteringssystemet med öppen kÀllkod.
I PostgreSQL 12 har prestandan för frĂ„gor förbĂ€ttrats avsevĂ€rt – sĂ€rskilt nĂ€r det gĂ€ller hantering av stora mĂ€ngder data, och det har Ă€ven gjorts optimeringar av den övergripande diskutnyttjandet.

Bland de nya funktionerna:

  • implementeringen av JSON Path-frĂ„gesprĂ„ket (en viktig del av standarden SQL/JSON);
  • optimering av genomförandet av gemensamma tabelluttryck (WITH);
  • stöd för genererade kolumner

Gemenskapen fortsÀtter Àven arbetet med att förbÀttra utbyggbarheten och tillförlitligheten hos PostgreSQL, med fokus pÄ internationell anvÀndning, autentisering och enklare administration av systemet.

I denna version har implementeringen av grÀnssnittet för anslutbara lagringsmotorer inkluderats, vilket nu gör det möjligt för utvecklare att skapa sina egna lagringsmetoder.

PrestandaförbÀttringar

PostgreSQL 12 innehÄller betydande prestandaförbÀttringar och underhÄllsprocedurer för indexerings- och partitioneringssystem.

B-tree-index, den standardtyp av indexering i PostgreSQL, har optimerats i version 12 för belastningar som förutsÀtter frekventa modifieringar av index. AnvÀndningen av referenstestet TPC-C för PostgreSQL 12 visade en genomsnittlig minskning av utrymmesanvÀndningen med 40 % och en total ökning av frÄga-prestanda.

FrÄgor mot partitionerade tabeller har fÄtt mÀrkbara förbÀttringar, sÀrskilt för tabeller som bestÄr av tusentals sektioner och förutsÀtter arbete med endast begrÀnsade delar av datamÀngder. Prestandan för att lÀgga till data i partitionerade tabeller med INSERT och COPY har förbÀttrats, liksom möjligheten att koppla en ny sektion utan att blockera pÄgÄende frÄgor.

I PostgreSQL 12 har ytterligare förbÀttringar inom indexering gjorts, vilket pÄverkar den allmÀnna prestandan, inklusive:

  • minskad overhead vid generering av WAL för GiST-, GIN- och SP-GiST-index;
  • möjlighet att skapa sĂ„ kallade tĂ€ckande index (covering indexes, förslaget INCLUDE) pĂ„ GiST-index;
  • möjlighet att utföra k-NN-sökningar (nĂ€rmaste grannar) med hjĂ€lp av avstĂ„ndsoperatören () och anvĂ€ndning av SP-GiST-index;
  • stöd för insamling av statistik över de mest förekommande vĂ€rdena (most-common value, MCV) med hjĂ€lp av CREATE STATISTICS, vilket hjĂ€lper till att fĂ„ bĂ€ttre exekveringsplaner nĂ€r kolumner anvĂ€nds dĂ€r vĂ€rdena Ă€r ojĂ€mt fördelade.

JIT-kompilering med hjÀlp av LLVM, som introducerades i PostgreSQL 11, Àr nu aktiverad som standard. JIT-kompilering ökar prestandan vid arbete med uttryck i WHERE-klausuler, mÄlister, aggregationer och vissa interna operationer. Den Àr tillgÀnglig om du har kompilerat PostgreSQL med LLVM eller anvÀnder ett PostgreSQL-paket som skapades med aktiverat LLVM.

FörbÀttringar av SQL-sprÄkets kapabiliteter och standardkompatibilitet.

I PostgreSQL 12 finns det nu möjlighet att utföra frÄgor mot JSON-dokument med hjÀlp av JSON-sökvÀgsuttryck som definieras i SQL/JSON-standarden. Dessa frÄgor kan anvÀnda befintliga indexeringsmekanismer för dokument som lagras i JSONB-format för effektiv datainsamling.

Vanliga tabelluttryck, Àven kÀnda som WITH-frÄgor, kan nu i PostgreSQL 12 automatiskt exekveras med substituering, vilket i sin tur kan hjÀlpa till att förbÀttra prestandan för mÄnga befintliga frÄgor. I den nya versionen kan en del av WITH-frÄgan exekveras med substituering, förutsatt att den inte Àr rekursiv, inte har biverkningar och endast refereras en gÄng i den efterföljande delen av frÄgan.

PostgreSQL 12 introducerar stöd för "genererade kolumner". Denna typ av kolumn, som beskrivs i SQL-standarden, berÀknar sitt vÀrde baserat pÄ innehÄllet i andra kolumner i samma tabell. I denna version stödjer PostgreSQL "lagrade genererade kolumner", dÀr det berÀknade vÀrdet lagras pÄ disken.

Internationalisering

PostgreSQL 12 utökar stödet för ICU-jÀmförelser, vilket gör det möjligt för anvÀndare att definiera "odeterministiska jÀmförelser" som exempelvis kan tillÄta jÀmförelser utan att ta hÀnsyn till versaler eller accenter.

Autentisering

PostgreSQL ökar sitt stöd för pÄlitliga autentiseringsmetoder med flera förbÀttringar som ger extra sÀkerhet och funktionalitet. Denna version introducerar kryptering pÄ klientsidan och serversidan för autentisering via GSSAPI-grÀnssnitt, samt möjligheten för PostgreSQL att upptÀcka. servrar LDAP, om PostgreSQL Àr kompilerad med OpenLDAP.

Dessutom stöder PostgreSQL 12 nu en variant av multifaktorautentisering. Nu kan PostgreSQL-servern begÀra att klienten tillhandahÄller ett giltigt SSL-certifikat med motsvarande anvÀndarnamn med hjÀlp av clientcert=verify-full, och kombinera detta med ett separat krav för autentiseringsmetod (till exempel scram-sha-256).

Administration

PostgreSQL 12 ger möjlighet att utföra icke-blockerande ombyggnad av index med kommandot REINDEX CONCURRENTLY. Detta gör det möjligt för anvÀndare att undvika driftstopp i databashanteringssystemet vid lÄngvarig ombyggnad av index.

Dessutom kan man i PostgreSQL 12 aktivera eller inaktivera sidchecksummer i en kluster som Ă€r avstĂ€ngd, med hjĂ€lp av kommandot pg_checksums. Tidigare kunde sidchecksummer – en funktion som hjĂ€lper till att kontrollera integriteten för data som lagras pĂ„ disk – endast aktiveras vid initiering av PostgreSQL-klustret med hjĂ€lp av initdb.

KĂ€lla: linux.org.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster