Publikimi i PostgreSQL 12

Ekipi PostgreSQL ka njoftuar lëshimin e PostgreSQL 12, versioni më i fundit i sistemit të menaxhimit të bazës së të dhënave relacionale me burim të hapur.
PostgreSQL 12 ka përmirësuar ndjeshëm performancën e pyetjeve - veçanërisht kur punoni me vëllime të mëdha të dhënash, dhe gjithashtu ka optimizuar përdorimin e hapësirës në disk në përgjithësi.

Karakteristikat e reja përfshijnë:

  • implementimi i gjuhës së pyetjeve të Rrugës JSON (pjesa më e rëndësishme e standardit SQL/JSON);
  • optimizimi i ekzekutimit të shprehjeve të zakonshme të tabelës (ME);
  • mbështetje për kolonat e krijuara

Komuniteti gjithashtu vazhdon të punojë për shtrirjen dhe besueshmërinë e PostgreSQL, duke zhvilluar mbështetje për ndërkombëtarizimin, aftësitë e vërtetimit dhe duke ofruar mënyra më të lehta për të administruar sistemin.

Ky version përfshin zbatimin e një ndërfaqeje për motorët e ruajtjes me prizë, e cila tani i lejon zhvilluesit të krijojnë metodat e tyre të ruajtjes së të dhënave.

Përmirësimet e performancës

PostgreSQL 12 përfshin përmirësime të rëndësishme të performancës dhe mirëmbajtjes për sistemet e indeksimit dhe ndarjes.

Indekset e pemës B, lloji standard i indeksimit në PostgreSQL, janë optimizuar në versionin 12 për ngarkesat e punës që përfshijnë modifikime të shpeshta të indeksit. Përdorimi i standardit TPC-C për PostgreSQL 12 demonstroi një reduktim mesatar prej 40% në përdorimin e hapësirës dhe një rritje të përgjithshme në performancën e pyetjeve.

Pyetjet ndaj tabelave të ndara kanë marrë përmirësime të dukshme, veçanërisht për tabelat që përbëhen nga mijëra ndarje që kërkojnë punë vetëm me pjesë të kufizuara të grupeve të të dhënave. Performanca e shtimit të të dhënave në tabelat e ndara duke përdorur INSERT dhe COPY është përmirësuar, si dhe aftësia për të bashkangjitur një ndarje të re pa bllokuar pyetje.

PostgreSQL 12 ka bërë përmirësime shtesë në indeksimin që ndikojnë në performancën e përgjithshme, duke përfshirë:

  • shpenzime të reduktuara gjatë gjenerimit të WAL për llojet e indeksit GiST, GIN dhe SP-GiST;
  • aftësia për të krijuar të ashtuquajturat indekse mbuluese (Klauzola INCLUDE) në indekset GiST;
  • aftësia për të kryer pyetjet e "fqinjës më të afërt" (kërkimi k-NN) duke përdorur operatorin e distancës (<->) dhe duke përdorur indekset SP-GiST;
  • mbështetje për mbledhjen e statistikave të vlerave më të zakonshme (MCV) duke përdorur CREATE STATISTICS, e cila ndihmon në marrjen e planeve më të mira të pyetjeve kur përdorni kolona, ​​vlerat e të cilave shpërndahen në mënyrë të pabarabartë.

Përpilimi JIT duke përdorur LLVM, i prezantuar në PostgreSQL 11, tani është aktivizuar si parazgjedhje. Kompilimi JIT përmirëson performancën kur punon me shprehjet në klauzola WHERE, listat e synimeve, agregatët dhe disa operacione të brendshme. Është i disponueshëm nëse keni përpiluar PostgreSQL me LLVM ose jeni duke përdorur një paketë PostgreSQL që është ndërtuar me LLVM të aktivizuar.

Përmirësime në aftësitë e gjuhës SQL dhe pajtueshmërinë standarde

PostgreSQL 12 prezantoi aftësinë për të kërkuar dokumente JSON duke përdorur shprehjet e rrugës JSON të përcaktuara në standardin SQL/JSON. Kërkesa të tilla mund të shfrytëzojnë mekanizmat ekzistues të indeksimit për dokumentet e ruajtura në formatin JSONB për të tërhequr në mënyrë efikase të dhënat.

Shprehjet e zakonshme të tabelës, të njohura gjithashtu si pyetje me pyetje, tani mund të ekzekutohen automatikisht duke përdorur zëvendësimin në PostgreSQL 12, i cili nga ana tjetër mund të ndihmojë në përmirësimin e performancës së shumë pyetjeve ekzistuese. Në versionin e ri, një pjesë e zëvendësimit të një pyetësori ME mund të ekzekutohet vetëm nëse nuk është rekurzive, nuk ka efekte anësore dhe referohet vetëm një herë në një pjesë të mëvonshme të pyetjes.

PostgreSQL 12 prezanton mbështetjen për "kolonat e gjeneruara". I përshkruar në standardin SQL, ky lloj kolone llogarit një vlerë bazuar në përmbajtjen e kolonave të tjera në të njëjtën tabelë. Në këtë version, PostgreSQL mbështet "kolona të gjeneruara të ruajtura", ku vlera e llogaritur ruhet në disk.

Ndërkombëtarizimi

PostgreSQL 12 zgjeron mbështetjen për grupimet e ICU duke i lejuar përdoruesit të përcaktojnë "radhitje jo-përcaktuese", të cilat, për shembull, mund të lejojnë krahasime të pandjeshme ndaj rasteve ose theksit.

vërtetim

PostgreSQL zgjeron mbështetjen e saj për metodat e forta të vërtetimit me disa përmirësime që ofrojnë siguri dhe funksionalitet shtesë. Ky version prezanton kriptimin nga ana e klientit dhe nga ana e serverit për vërtetim mbi ndërfaqet GSSAPI, si dhe aftësinë që PostgreSQL të zbulojë serverët LDAP kur PostgreSQL përpilohet me OpenLDAP.

Për më tepër, PostgreSQL 12 tani mbështet një opsion vërtetimi me shumë faktorë. Serveri PostgreSQL tani mund t'i kërkojë klientit të sigurojë një certifikatë të vlefshme SSL me emrin e përdoruesit përkatës duke përdorur klientcert=verify-full dhe ta kombinojë këtë me një kërkesë të veçantë të metodës së vërtetimit (p.sh. scram-sha-256).

administratë

PostgreSQL 12 prezantoi aftësinë për të kryer rindërtime të indeksit jo-bllokues duke përdorur komandën REINDEX CONCURRENTLY. Kjo i lejon përdoruesit të shmangin ndërprerjen e DBMS gjatë rindërtimeve të gjata të indeksit.

Për më tepër, në PostgreSQL 12, mund të aktivizoni ose çaktivizoni kontrollet e faqeve në një grup mbylljeje duke përdorur komandën pg_checksums. Më parë, shumat e kontrollit të faqeve, një veçori që ndihmon në verifikimin e integritetit të të dhënave të ruajtura në disk, mund të aktivizohej vetëm kur grupi PostgreSQL ishte inicializuar duke përdorur initdb.

Burimi: linux.org.ru

Shto një koment