PostgreSQL komanda ir paziÅojusi par PostgreSQL 12, atklÄtÄ pirmkoda relÄciju datu bÄzes pÄrvaldÄ«bas sistÄmas jaunÄkÄs versijas, izlaiÅ”anu.
PostgreSQL 12 ir ievÄrojami uzlabojis vaicÄjumu veiktspÄju ā Ä«paÅ”i, strÄdÄjot ar lielu datu apjomu, kÄ arÄ« kopumÄ optimizÄjis diska vietas izmantoÅ”anu.
JaunÄs funkcijas ietver:
- JSON Path vaicÄjumu valodas ievieÅ”ana (svarÄ«gÄkÄ SQL/JSON standarta daļa);
- kopÄjo tabulu izteiksmju izpildes optimizÄcija (WITH);
- atbalsts Ä£enerÄtajÄm kolonnÄm
Kopiena arÄ« turpina strÄdÄt pie PostgreSQL paplaÅ”inÄÅ”anas un uzticamÄ«bas, attÄ«stot atbalstu internacionalizÄcijai, autentifikÄcijas iespÄjÄm un nodroÅ”inot vienkÄrÅ”Äkus sistÄmas administrÄÅ”anas veidus.
Å ajÄ laidienÄ ir iekļauta saskarnes ievieÅ”ana pievienojamiem atmiÅas dzinÄjiem, kas tagad ļauj izstrÄdÄtÄjiem izveidot savas datu glabÄÅ”anas metodes.
VeiktspÄjas uzlabojumi
PostgreSQL 12 ietver ievÄrojamus veiktspÄjas un uzturÄÅ”anas uzlabojumus indeksÄÅ”anas un sadalÄ«Å”anas sistÄmÄm.
B-koka indeksi, standarta indeksÄÅ”anas veids programmÄ PostgreSQL, ir optimizÄti 12. versijÄ darba slodzÄm, kas saistÄ«tas ar biežas indeksa modifikÄcijÄm. Izmantojot TPC-C etalonu sistÄmai PostgreSQL 12, tika konstatÄts vidÄji par 40% samazinÄts vietas lietojums un vispÄrÄjais vaicÄjuma veiktspÄjas pieaugums.
SadalÄ«to tabulu vaicÄjumi ir saÅÄmuÅ”i ievÄrojamus uzlabojumus, Ä«paÅ”i tabulÄm, kas sastÄv no tÅ«kstoÅ”iem nodalÄ«jumu, kurÄm nepiecieÅ”ams strÄdÄt tikai ar ierobežotÄm datu masÄ«vu daļÄm. Ir uzlabota datu pievienoÅ”anas veiktspÄja sadalÄ«tajÄm tabulÄm, izmantojot INSERT un COPY, kÄ arÄ« iespÄja pievienot jaunu nodalÄ«jumu, nebloÄ·Äjot vaicÄjumus.
PostgreSQL 12 ir veicis papildu uzlabojumus indeksÄÅ”anÄ, kas ietekmÄ vispÄrÄjo veiktspÄju, tostarp:
- samazinÄtas pieskaitÄmÄs izmaksas, Ä£enerÄjot WAL GiST, GIN un SP-GiST indeksu veidiem;
- iespÄja izveidot tÄ sauktos seguma indeksus (INCLUDE klauzulu) uz GiST indeksiem;
- spÄja veikt ātuvÄkÄ kaimiÅaā vaicÄjumus (k-NN meklÄÅ”ana), izmantojot attÄluma operatoru (<->) un izmantojot SP-GiST indeksus;
- atbalsts izplatÄ«tÄko vÄrtÄ«bu (MCV) statistikas apkopoÅ”anai, izmantojot CREATE STATISTICS, kas palÄ«dz iegÅ«t labÄkus vaicÄjumu plÄnus, izmantojot kolonnas, kuru vÄrtÄ«bas ir sadalÄ«tas nevienmÄrÄ«gi.
JIT kompilÄcija, izmantojot LLVM, kas ieviesta programmÄ PostgreSQL 11, tagad ir iespÄjota pÄc noklusÄjuma. JIT kompilÄcija uzlabo veiktspÄju, strÄdÄjot ar izteiksmÄm WHERE klauzulÄs, mÄrÄ·a sarakstos, apkopojumos un dažÄs iekÅ”ÄjÄs operÄcijÄs. Tas ir pieejams, ja esat kompilÄjis PostgreSQL ar LLVM vai izmantojat PostgreSQL pakotni, kas tika izveidota ar iespÄjotu LLVM.
SQL valodas iespÄju un standarta saderÄ«bas uzlabojumi
PostgreSQL 12 ieviesa iespÄju vaicÄt JSON dokumentus, izmantojot JSON ceļa izteiksmes, kas definÄtas SQL/JSON standartÄ. Å Ädi vaicÄjumi var izmantot esoÅ”os JSONB formÄtÄ saglabÄto dokumentu indeksÄÅ”anas mehÄnismus, lai efektÄ«vi izgÅ«tu datus.
KopÄjÄs tabulu izteiksmes, kas pazÄ«stamas arÄ« kÄ WITH vaicÄjumi, tagad var automÄtiski izpildÄ«t, izmantojot aizstÄÅ”anu programmÄ PostgreSQL 12, kas savukÄrt var palÄ«dzÄt uzlabot daudzu esoÅ”o vaicÄjumu veiktspÄju. JaunajÄ versijÄ WITH vaicÄjuma aizstÄÅ”anas daļu var izpildÄ«t tikai tad, ja tÄ nav rekursÄ«va, tai nav blakus efektu un uz to ir atsauce tikai vienu reizi nÄkamajÄ vaicÄjuma daļÄ.
PostgreSQL 12 ievieÅ” atbalstu "Ä£enerÄtajÄm kolonnÄm". Å is kolonnas veids, kas aprakstÄ«ts SQL standartÄ, aprÄÄ·ina vÄrtÄ«bu, pamatojoties uz citu tÄs paÅ”as tabulas kolonnu saturu. Å ajÄ versijÄ PostgreSQL atbalsta "uzglabÄtÄs Ä£enerÄtÄs kolonnas", kur aprÄÄ·inÄtÄ vÄrtÄ«ba tiek saglabÄta diskÄ.
InternacionalizÄcija
PostgreSQL 12 paplaÅ”ina atbalstu ICU salÄ«dzinÄjumiem, ļaujot lietotÄjiem definÄt "nedeterministiskas salÄ«dzinÄÅ”anas", kas var, piemÄram, ļaut veikt salÄ«dzinÄjumus bez reÄ£istrjutÄ«gajiem vai akcentiem nejutÄ«giem.
AutentifikÄcija
PostgreSQL paplaÅ”ina savu atbalstu spÄcÄ«gajÄm autentifikÄcijas metodÄm ar vairÄkiem uzlabojumiem, kas nodroÅ”ina papildu droŔību un funkcionalitÄti. Å ajÄ laidienÄ tiek ieviesta klienta un servera puses Å”ifrÄÅ”ana autentifikÄcijai, izmantojot GSSAPI saskarnes, kÄ arÄ« iespÄja PostgreSQL atklÄt LDAP serverus, kad PostgreSQL tiek kompilÄts ar OpenLDAP.
TurklÄt PostgreSQL 12 tagad atbalsta vairÄku faktoru autentifikÄcijas opciju. PostgreSQL serveris tagad var pieprasÄ«t klientam nodroÅ”inÄt derÄ«gu SSL sertifikÄtu ar atbilstoÅ”o lietotÄjvÄrdu, izmantojot clientcert=verify-full, un apvienot to ar atseviŔķu autentifikÄcijas metodes prasÄ«bu (piemÄram, scram-sha-256).
AdministrÄcija
PostgreSQL 12 ieviesa iespÄju veikt nebloÄ·ÄjoÅ”u indeksu pÄrbÅ«vi, izmantojot komandu REINDEX CONCURRENTLY. Tas ļauj lietotÄjiem izvairÄ«ties no DBVS dÄ«kstÄves ilgstoÅ”as āāindeksa atjaunoÅ”anas laikÄ.
TurklÄt programmÄ PostgreSQL 12 varat iespÄjot vai atspÄjot lapu kontrolsummas izslÄgÅ”anas klasterÄ«, izmantojot komandu pg_checksums. IepriekÅ” lapu kontrolsummas, lÄ«dzeklis, kas palÄ«dz pÄrbaudÄ«t diskÄ saglabÄto datu integritÄti, varÄja iespÄjot tikai tad, kad PostgreSQL klasteris tika inicializÄts, izmantojot initdb.
Avots: linux.org.ru