Izdaja PostgreSQL 12

Skupina razvijalcev PostgreSQL je napovedala izid PostgreSQL 12, najnovejše različice relacijske sistema za upravljanje baz podatkov z odprto kodo.
V PostgreSQL 12 je bila znatno izboljšana hitrost izvajanja poizvedb – še posebej pri delu z velikimi količinami podatkov, prav tako pa je bila optimizirana uporaba diskovnega prostora na splošno.

Med novimi funkcionalnostmi:

  • implementacija jezika poizvedb JSON Path (ključen del standarda SQL/JSON);
  • optimizacija izvajanja skupnih tabelarnih izrazov (WITH);
  • podpora generiranim stolpcem

Prav tako skupnost še naprej deluje na razširljivosti in zanesljivosti PostgreSQL, razvijajoč podporo za internacionalizacijo, možnosti avtentikacije ter zagotavljajoč enostavnejše poti za upravljanje sistema.

Ta različica vključuje implementacijo vmesnika priključnih shranjevalnih motorjev, kar zdaj omogoča razvijalcem, da ustvarijo svoje lastne metode shranjevanja podatkov.

Izboljšave zmogljivosti

PostgreSQL 12 vključuje znatne izboljšave zmogljivosti in postopkov vzdrževanja za sisteme indeksiranja in delitve.

Indeksi B-tree — standardna vrsta indeksiranja v PostgreSQL, so bili v različici 12 optimizirani za obremenitve, ki predvidevajo pogoste spremembe indeksov. Uporaba referenčnega testa TPC-C za PostgreSQL 12 je pokazala zmanjšanje porabe prostora v povprečju za 40 % in splošno povečanje zmogljivosti poizvedb.

Poizvedbe nad razdeljenimi tabelami so prejele opazne izboljšave, še posebej za tabele, ki so sestavljene iz tisoč sekcij, kar omogoča delo samo z omejenimi deli zbirke podatkov. Povečana je bila zmogljivost dodajanja podatkov v razdeljene tabele z uporabo INSERT in COPY, pa tudi možnost dodajanja nove sekcije brez blokiranja izvedenih poizvedb.

V PostgreSQL 12 so bile izvedene dodatne izboljšave v indeksaciji, ki vplivajo na splošno zmogljivost, vključno z:

  • zmanjšanjem preglavite pri generiranju WAL za tipe indeksov GiST, GIN in SP-GiST;
  • možnostjo ustvarjanja tako imenovanih pokrivnih indeksov (covering indexes, predlog INCLUDE) na GiST-indekse;
  • možnostjo izvajanja poizvedb »bližnjih sosedov« (k-NN search) z uporabo operatorja razdalje () in uporabo indeksov SP-GiST;
  • podpora za zbiranje statistike najbolj pogosto pojavljajočih se vrednosti (most-common value, MCV) z uporabo CREATE STATISTICS, kar pomaga pridobiti boljše načrte izvajanja poizvedb pri uporabi stolpcev, katerih vrednosti so neenakomerno porazdeljene.

JIT-kompilacija z uporabo LLVM, ki se je pojavila v PostgreSQL 11, je zdaj privzeto vključena. JIT-kompilacija omogoča povečanje zmogljivosti pri delu z izrazi v WHERE stavkih, ciljnih seznamih, agregatih in nekaterih notranjih operacijah. Na voljo je, če ste PostgreSQL skompilirali z LLVM ali uporabljate paket PostgreSQL, ki je bil ustvarjen z vključeno LLVM.

Izboljšave zmožnosti SQL jezika in skladnosti s standardom

V PostgreSQL 12 je dodana možnost izvajanja poizvedb na JSON dokumentih z uporabo JSON poti, ki jih določa standard SQL/JSON. Takšne poizvedbe lahko uporabljajo obstoječe mehanizme indeksiranja za dokumente, shranjene v formatu JSONB, za učinkovito pridobivanje podatkov.

Skupna tabelarna izrazja, znana tudi kot poizvedbe z WITH, v PostgreSQL 12 lahko zdaj avtomatsko izvajajo s pomočjo nadomestitve, kar lahko pripomore k povečanju zmogljivosti številnih obstoječih poizvedb. V novi različici se lahko del poizvedbe WITH izvede z nadomestitvijo, samo če ni rekurziven, nima stranskih učinkov in se sklicuje nanj le enkrat v naslednjem delu poizvedbe.

V PostgreSQL 12 se pojavi podpora za 'generirane stolpce'. Opisan v standardu SQL, ta vrsta stolpca izračunava vrednost na podlagi vsebine drugih stolpcev v isti tabeli. V tej različici PostgreSQL podpira 'shranjene generirane stolpce', kjer se izračunana vrednost shranjuje na disku.

Mednarodna podpora

PostgreSQL 12 širi podporo za ICU-podrobnosti, kar uporabnikom omogoča določanje 'nedeterminiranih podrobnosti', ki lahko na primer omogočijo primerjave brez upoštevanja velikih črk ali naglasov.

Autentifikacija

PostgreSQL širi svojo podporo za zanesljive metode avtentikacije s številnimi izboljšavami, ki zagotavljajo dodatno varnost in funkcionalnost. Ta izdaja prinaša šifriranje na strani odjemalca in strežnika za avtentikacijo preko vmesnikov GSSAPI ter možnost, da PostgreSQL odkrije servere LDAP, če je PostgreSQL sestavljen z OpenLDAP.

Poleg tega PostgreSQL 12 zdaj podpira možnost večfaktorske avtentikacije. Zdaj lahko strežnik PostgreSQL zahteva, da odjemalec predstavi veljaven SSL-certifikat s pripadajočim uporabniškim imenom z uporabo clientcert=verify-full in to kombinira z ločeno zahtevo po metodi avtentikacije (na primer, scram-sha-256).

Administracija

V PostgreSQL 12 je dodana možnost izvajanja nebblocking ponovnega gradjenja indeksov z uporabo ukaza REINDEX CONCURRENTLY. To uporabnikom omogoča, da se izognejo izpadu pri dolgem ponovnem graditvi indeksov.

Poleg tega v PostgreSQL 12 lahko vklopite ali izklopite kontrolne vsote strani v grozdu, ki je v izklopljenem stanju, z uporabo ukaza pg_checksums. Prej so bile kontrolne vsote strani - funkcija, ki pomaga preveriti celovitost podatkov, shranjenih na disku - mogoče vključiti le ob začetni vzpostavitvi grozda PostgreSQL z uporabo initdb.

Izvor: linux.org.ru

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster