Lëshimi i PostgreSQL 12

Grupi i zhvilluesve të PostgreSQL njoftoi daljen e PostgreSQL 12, versioni më i ri i sistemit të menaxhimit të bazave të të dhënave me burim të hapur.
NĂ« PostgreSQL 12, Ă«shtĂ« pĂ«rmirĂ«suar ndjeshĂ«m performanca e pyetjeve – veçanĂ«risht pĂ«rsa i pĂ«rket punĂ«s me sasi tĂ« mĂ«dha tĂ« tĂ« dhĂ«nave, si dhe Ă«shtĂ« optimizuar pĂ«rdorimi i hapĂ«sirĂ«s sĂ« diskut nĂ« pĂ«rgjithĂ«si.

Mënyrat e reja:

  • implementimi i gjuhĂ«s sĂ« pyetjeve JSON Path (njĂ« pjesĂ« e rĂ«ndĂ«sishme e standardit SQL/JSON);
  • optimizimi i ekzekutimit tĂ« shprehjeve tĂ« zakonshme tĂ« tabelave (WITH);
  • mbĂ«shtetje pĂ«r kolona tĂ« gjeneruara

Po ashtu, komuniteti vazhdon punën mbi zgjerueshmërinë dhe besueshmërinë e PostgreSQL, duke zhvilluar mbështetje për internacionalizimin, mundësitë e autentikimit dhe duke ofruar më shumë mundësi për administrimin e sistemit.

Ky version përfshin implementimin e ndërfaqes së motorëve të ruajtjes që tani lejon zhvilluesit të krijojnë metodat e tyre të ruajtjes së të dhënave.

Përmirësime të performancës

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

Indekset B-tree – tipi standard i indeksimit nĂ« PostgreSQL, janĂ« optimizuar nĂ« versionin 12 pĂ«r ngarkesa qĂ« parashikojnĂ« modifikime tĂ« shpeshta tĂ« indekseve. PĂ«rdorimi i testit referues TPC-C pĂ«r PostgreSQL 12 tregoi njĂ« reduktim tĂ« pĂ«rdorimit tĂ« hapĂ«sirĂ«s mesatarisht me 40% dhe njĂ« rritje tĂ« pĂ«rgjithshme tĂ« performancĂ«s sĂ« pyetjeve.

Pyetjet për tabelat e ndara janë përmirësuar dukshëm, veçanërisht për tabelat që përbëhen nga mijëra seksione, që parashikojnë punë vetëm me pjesë të kufizuara të grupeve të të dhënave. Performanca e shtimit të të dhënave në tabelat e ndara përmes INSERT dhe COPY është përmirësuar, si dhe mundësia e lidhjes së një seksioni të ri pa bllokuar pyetjet në përputhje.

Në PostgreSQL 12 janë bërë përmirësime të tjera në indeksim, që ndikojnë në performancën e përgjithshme, duke përfshirë:

  • uljen e kostove gjatĂ« gjenerimit tĂ« WAL pĂ«r llojet e indekseve GiST, GIN dhe SP-GiST;
  • mundĂ«sinĂ« e krijimit tĂ« indekseve tĂ« quajtura mbuluese (covering indexes, propozimi INCLUDE) pĂ«r indekset GiST;
  • mundĂ«sinĂ« e ekzekutimit tĂ« pyetjeve pĂ«r "fqinjĂ«t mĂ« tĂ« afĂ«rt" (k-NN search) 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 (most-common value, MCV) pĂ«rmes CREATE STATISTICS, qĂ« ndihmon nĂ« marrjen e planeve mĂ« tĂ« mira tĂ« ekzekutimit tĂ« pyetjeve kur pĂ«rdoren kolona me vlera qĂ« janĂ« tĂ« shpĂ«rndara nĂ« mĂ«nyrĂ« tĂ« paparashikueshme.

Kompilimi JIT me përdorimin e LLVM, që u shfaq në PostgreSQL 11, tani është përfshirë si parazgjedhje. Kompilimi JIT lejon përmirësimin e performancës gjatë punës me shprehjet në kushtet WHERE, listat e objekteve, agregatët dhe disa operacione të brendshme. Ai është i disponueshëm nëse e keni kompiluar PostgreSQL me LLVM ose po përdorni një paketë PostgreSQL që është krijuar me LLVM të aktivizuar.

Përmirësime në mundësitë e gjuhës SQL dhe përputhshmëria me standardin

Në PostgreSQL 12, është shtuar mundësia për të ekzekutuar pyetje në dokumentet JSON duke përdorur shprehjet e rrugës JSON që janë të përcaktuara në standardin SQL/JSON. Këto pyetje mund të përdorin mekanizmat ekzistues të indeksimit për dokumentet e ruajtura në formatin JSONB për nxjerrjen efikase të të dhënave.

Shprehjet e zakonshme të tabelave, të njohura gjithashtu si pyetje me WITH, tani mund të ekzekutohen automatikisht me zëvendësim në PostgreSQL 12, që, nga ana e saj, mund të ndihmojë në përmirësimin e performancës së shumë pyetjeve ekzistuese. Në versionin e ri, një pjesë e pyetjes WITH mund të ekzekutohet me zëvendësim, nëse ajo nuk është rekurzive, nuk ka efekte anësore dhe referohet vetëm një herë në pjesën e mëtejmë të pyetjes.

PostgreSQL 12 sjell mbështetje për 'kolonat e gjeneruara'. Të përshkruara në standardin SQL, ky lloj colonne llogarit vlerën në bazë të përmbajtjes së kolonave të tjera në të njëjtën tabelë. Në këtë version, PostgreSQL mbështet 'kolonat e gjeneruara të ruajtura', ku vlera e llogaritur ruhet në disk.

Internacionalizimi

PostgreSQL 12 zgjeron mbështetje për krahasimet ICU, duke lejuar përdoruesit të caktuan 'krahasime të padrejta', të cilat mund, për shembull, të mundësojnë krahasime pa marrë parasysh rastin ose theksin.

Autentikimi

PostgreSQL zgjeron mbështetjen e metodave të besueshme të autentifikimit me disa përmirësime që ofrojnë siguri dhe funksionalitet shtesë. Në këtë version është paraqitur enkriptimi nga ana e klientit dhe nga ana e serverit për autentifikim përmes interface-ve GSSAPI, si dhe mundësia që PostgreSQL të zbulojë serverët LDAP, nëse PostgreSQL është kompiliuar me OpenLDAP.

Për më tepër, PostgreSQL 12 tani mbështet një variant të autentifikimit me shumë faktorë. Tani serveri PostgreSQL mund të kërkojë nga klienti të ofrojë një SSL-certifikatë valide me emrin e duhur të përdoruesit duke përdorur clientcert=verify-full, dhe të kombinojë këtë me një kërkesë të veçantë të metodës së autentifikimit (për shembull, scram-sha-256).

Administrim

Në PostgreSQL 12 u ofrua mundësia për të kryer rindërtimin e indekseve pa bllokim duke përdorur komandën REINDEX CONCURRENTLY. Kjo lejon përdoruesit të shmangin ndalimin në funksionimin e DBMS gjatë rindërtimit të gjatë të indekseve.

Për më tepër, në PostgreSQL 12 është e mundur të aktivizoni ose çaktivizoni kontrollet e shumave të kontrollit të faqeve në një klaster që është në gjendje të fikur, duke përdorur komandën pg_checksums. Më parë, kontrollet e shumave të kontrollit, një funksion që ndihmon në verifikimin e integritetit të të dhënave të ruajtura në disk, mund të aktivizoheshin vetëm në momentin e fillimit të klasterit PostgreSQL me initdb.

Burimi: linux.org.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster