PostgreSQL 12 julkaisu

PostgreSQL-tiimi on ilmoittanut julkaisevansa PostgreSQL 12:n, avoimen lähdekoodin relaatiotietokannan hallintajärjestelmän uusimman version.
PostgreSQL 12 on parantanut merkittävästi kyselyn suorituskykyä - erityisesti käytettäessä suuria tietomääriä, ja se on myös optimoinut levytilan käytön yleisesti.

Uusia ominaisuuksia ovat:

  • JSON Path -kyselykielen käyttöönotto (tärkein osa SQL/JSON-standardia);
  • yleisten taulukkolausekkeiden suoritusten optimointi (WITH);
  • luotujen sarakkeiden tuki

Yhteisö jatkaa myös PostgreSQL:n laajennettavuuden ja luotettavuuden parantamista kehittämällä kansainvälistymisen tukea, todennusominaisuuksia ja tarjoamalla helpompia tapoja järjestelmän hallintaan.

Tämä julkaisu sisältää liitettävien tallennusmoottoreiden käyttöliittymän toteutuksen, jonka avulla kehittäjät voivat nyt luoda omia tiedontallennusmenetelmiään.

Suorituskyvyn parannukset

PostgreSQL 12 sisältää merkittäviä suorituskyky- ja ylläpitoparannuksia indeksointi- ja osiointijärjestelmiin.

B-puu-indeksit, PostgreSQL:n vakioindeksointityyppi, on optimoitu versiossa 12 työkuormille, joihin liittyy usein indeksin muutoksia. TPC-C-benchmarkin käyttäminen PostgreSQL 12:lle osoitti keskimäärin 40 prosentin vähennyksen tilankäytössä ja yleisen kyselyn suorituskyvyn parantumisen.

Osioituja taulukoita koskevat kyselyt ovat saaneet huomattavia parannuksia, erityisesti taulukoissa, jotka koostuvat tuhansista osioista, jotka edellyttävät työskentelyä vain rajoitettujen osien kanssa tietotaulukoista. Tietojen lisääminen osioituihin taulukoihin INSERT- ja COPY-toimintojen avulla on parantunut, samoin kuin kyky liittää uusi osio ilman kyselyjen estämistä.

PostgreSQL 12 on tehnyt indeksointiin lisäparannuksia, jotka vaikuttavat yleiseen suorituskykyyn, mukaan lukien:

  • vähennetty yleiskustannuksia luotaessa WAL GiST-, GIN- ja SP-GiST-indeksityypeille;
  • kyky luoda niin sanottuja peiteindeksejä (INCLUDE-lauseke) GiST-indekseille;
  • kyky suorittaa "lähimmän naapurin" kyselyitä (k-NN-haku) käyttämällä etäisyysoperaattoria (<->) ja käyttämällä SP-GiST-indeksejä;
  • tuki yleisin arvo (MCV) -tilastojen keräämiseen CREATE STATISTICS -toiminnolla, mikä auttaa saamaan parempia kyselysuunnitelmia käytettäessä sarakkeita, joiden arvot ovat jakautuneet epätasaisesti.

PostgreSQL 11:ssä käyttöön otettu JIT-käännös LLVM:llä on nyt oletuksena käytössä. JIT-käännös parantaa suorituskykyä WHERE-lausekkeiden, kohdeluetteloiden, aggregaattien ja joidenkin sisäisten toimintojen lausekkeiden kanssa työskenneltäessä. Se on käytettävissä, jos olet kääntänyt PostgreSQL:n LLVM:n kanssa tai käytät PostgreSQL-pakettia, joka on rakennettu LLVM:n kanssa.

Parannuksia SQL-kielen ominaisuuksiin ja standardien yhteensopivuuteen

PostgreSQL 12 esitteli mahdollisuuden tehdä kyselyjä JSON-dokumenteista käyttämällä SQL/JSON-standardissa määriteltyjä JSON-polkulausekkeita. Tällaiset kyselyt voivat hyödyntää olemassa olevia JSONB-muotoon tallennettujen asiakirjojen indeksointimekanismeja tietojen tehokkaaseen noutamiseen.

Yleiset taulukkolausekkeet, jotka tunnetaan myös nimellä WITH-kyselyt, voidaan nyt suorittaa automaattisesti käyttämällä korvausta PostgreSQL 12:ssa, mikä puolestaan ​​voi auttaa parantamaan monien olemassa olevien kyselyiden suorituskykyä. Uudessa versiossa WITH-kyselyn korvaava osa voidaan suorittaa vain, jos se ei ole rekursiivinen, sillä ei ole sivuvaikutuksia ja siihen viitataan vain kerran kyselyn seuraavassa osassa.

PostgreSQL 12 tuo tuen "luoduille sarakkeille". SQL-standardissa kuvattu saraketyyppi laskee arvon saman taulukon muiden sarakkeiden sisällön perusteella. Tässä versiossa PostgreSQL tukee "tallennettuja luotuja sarakkeita", joissa laskettu arvo tallennetaan levylle.

Kansainvälistyminen

PostgreSQL 12 laajentaa ICU-lajittelujen tukea antamalla käyttäjien määritellä "ei-deterministisiä lajitteluja", jotka voivat esimerkiksi sallia vertailut, joissa kirjainkoolla ei ole merkitystä tai aksenttia.

todennus

PostgreSQL laajentaa vahvojen todennusmenetelmien tukea useilla parannuksilla, jotka tarjoavat lisää turvallisuutta ja toimintoja. Tämä julkaisu esittelee asiakas- ja palvelinpuolen salauksen todennusta varten GSSAPI-rajapintojen kautta sekä PostgreSQL:n mahdollisuuden löytää LDAP-palvelimia, kun PostgreSQL on käännetty OpenLDAP:n kanssa.

Lisäksi PostgreSQL 12 tukee nyt monivaiheista todennusvaihtoehtoa. PostgreSQL-palvelin voi nyt vaatia asiakkaalta kelvollisen SSL-sertifikaatin ja vastaavan käyttäjänimen komennolla clientcert=verify-full, ja yhdistää tämän erilliseen todennusmenetelmävaatimukseen (esim. scram-sha-256).

antaminen

PostgreSQL 12 esitteli mahdollisuuden suorittaa estämättömiä indeksien uudelleenmuodostuksia REINDEX CONCURRENTLY -komennolla. Tämän avulla käyttäjät voivat välttää DBMS-seisokit pitkien hakemistojen uudelleenrakentamisen aikana.

Lisäksi PostgreSQL 12:ssa voit ottaa käyttöön tai poistaa käytöstä sivujen tarkistussummat sammutusklusterissa pg_checksums-komennolla. Aikaisemmin sivun tarkistussummat, ominaisuus, joka auttaa tarkistamaan levylle tallennettujen tietojen eheyden, voitiin ottaa käyttöön vain, kun PostgreSQL-klusteri alustettiin käyttämällä initdb:tä.

Lähde: linux.org.ru

Lisää kommentti