PostgreSQL 12 թողարկում

PostgreSQL թիմը հայտարարել է PostgreSQL 12-ի թողարկման մասին՝ բաց կոդով հարաբերական տվյալների բազայի կառավարման համակարգի վերջին տարբերակը:
PostgreSQL 12-ը զգալիորեն բարելավել է հարցումների կատարումը, հատկապես մեծ ծավալի տվյալների հետ աշխատելիս, ինչպես նաև օպտիմիզացրել է սկավառակի տարածության օգտագործումը ընդհանրապես:

Նոր առանձնահատկությունները ներառում են.

  • JSON Path հարցումների լեզվի իրականացում (SQL/JSON ստանդարտի ամենակարևոր մասը);
  • ընդհանուր աղյուսակի արտահայտությունների կատարման օպտիմալացում (WITH);
  • աջակցություն ստեղծված սյունակների համար

Համայնքը նաև շարունակում է աշխատել PostgreSQL-ի ընդարձակման և հուսալիության վրա՝ զարգացնելով աջակցություն միջազգայնացման, իսկորոշման հնարավորությունների և համակարգը կառավարելու ավելի հեշտ ուղիների տրամադրման համար:

Այս թողարկումը ներառում է խցանելի պահեստավորման շարժիչների համար ինտերֆեյսի ներդրում, որն այժմ թույլ է տալիս ծրագրավորողներին ստեղծել տվյալների պահպանման իրենց սեփական մեթոդները:

Կատարողականի բարելավումներ

PostgreSQL 12-ը ներառում է ինդեքսավորման և բաժանման համակարգերի կատարողականության և պահպանման զգալի բարելավումներ:

B-tree ինդեքսները, PostgreSQL-ի ստանդարտ ինդեքսավորման տեսակը, օպտիմիզացվել են 12-րդ տարբերակում աշխատանքային բեռների համար, որոնք ներառում են ինդեքսի հաճախակի փոփոխություններ: PostgreSQL 12-ի համար TPC-C հենանիշի օգտագործումը ցույց տվեց տարածության օգտագործման միջին 40% կրճատում և հարցումների կատարողականի ընդհանուր աճ:

Բաժանված աղյուսակների վերաբերյալ հարցումները նկատելի բարելավումներ են ստացել, հատկապես հազարավոր բաժանմունքներից բաղկացած աղյուսակների համար, որոնք պահանջում են աշխատել տվյալների զանգվածների միայն սահմանափակ մասերի հետ: Բարելավվել է INSERT-ի և COPY-ի միջոցով բաժանված աղյուսակներում տվյալների ավելացման աշխատանքը, ինչպես նաև առանց հարցումների արգելափակման նոր բաժանմունք կցելու հնարավորությունը:

PostgreSQL 12-ը լրացուցիչ բարելավումներ է կատարել ինդեքսավորման համար, որոնք ազդում են ընդհանուր կատարողականի վրա, ներառյալ.

  • նվազեցված ծախսեր, երբ ստեղծվում է WAL GiST, GIN և SP-GiST ինդեքսների տեսակների համար.
  • GiST ինդեքսների վրա այսպես կոչված ծածկող ինդեքսներ (INCLUDE կետ) ստեղծելու ունակություն.
  • «մոտակա հարեւանի» հարցումներ (k-NN որոնում) կատարելու ունակություն՝ օգտագործելով հեռավոր օպերատորը (<->) և ​​օգտագործելով SP-GiST ինդեքսները.
  • Ամենատարածված արժեքների (MCV) վիճակագրության հավաքագրման աջակցություն՝ օգտագործելով CREATE STATISTICS, որն օգնում է ավելի լավ հարցումների պլաններ ստանալ, երբ օգտագործում եք սյունակներ, որոնց արժեքները անհավասար բաշխված են:

PostgreSQL 11-ում ներդրված LLVM-ի միջոցով JIT կոմպիլյացիան այժմ լռելյայն միացված է: JIT կոմպիլյացիան բարելավում է կատարումը WHERE կետերի, թիրախային ցուցակների, ագրեգատների և որոշ ներքին գործառնությունների արտահայտությունների հետ աշխատելիս: Այն հասանելի է, եթե դուք կազմել եք PostgreSQL LLVM-ով կամ օգտագործում եք PostgreSQL փաթեթ, որը ստեղծվել է միացված LLVM-ով:

SQL լեզվի հնարավորությունների և ստանդարտ համատեղելիության բարելավում

PostgreSQL 12-ը ներկայացրեց JSON փաստաթղթերի հարցումներ կատարելու հնարավորությունը՝ օգտագործելով SQL/JSON ստանդարտում սահմանված JSON ուղու արտահայտությունները: Նման հարցումները կարող են օգտագործել JSONB ձևաչափով պահվող փաստաթղթերի ինդեքսավորման գոյություն ունեցող մեխանիզմները՝ տվյալների արդյունավետ առբերման համար:

Սեղանի ընդհանուր արտահայտությունները, որոնք նաև հայտնի են որպես WITH հարցումներ, այժմ կարող են ավտոմատ կերպով իրականացվել՝ օգտագործելով փոխարինումը PostgreSQL 12-ում, որն իր հերթին կարող է օգնել բարելավել բազմաթիվ առկա հարցումների կատարումը: Նոր տարբերակում WITH հարցման փոխարինման մասը կարող է իրականացվել միայն այն դեպքում, եթե այն ռեկուրսիվ չէ, չունի կողմնակի ազդեցություններ և հղում է կատարվում միայն մեկ անգամ հարցման հաջորդ մասում:

PostgreSQL 12-ը ներկայացնում է «գեներացված սյունակների» աջակցությունը: SQL ստանդարտում նկարագրված այս սյունակի տեսակը հաշվարկում է արժեքը՝ հիմնված նույն աղյուսակի այլ սյունակների բովանդակության վրա: Այս տարբերակում PostgreSQL-ն աջակցում է «պահպանված գեներացված սյունակները», որտեղ հաշվարկված արժեքը պահվում է սկավառակի վրա։

Միջազգայնացում

PostgreSQL 12-ն ընդլայնում է ICU համադրումների աջակցությունը՝ թույլ տալով օգտվողներին սահմանել «ոչ դետերմինիստական ​​համադրումներ», որոնք կարող են, օրինակ, թույլ տալ մեծատառերի կամ շեշտադրումների նկատմամբ անզգայուն համեմատություններ:

Նույնականացմանը

PostgreSQL-ն ընդլայնում է իր աջակցությունը վավերացման ուժեղ մեթոդներին մի քանի բարելավումներով, որոնք ապահովում են լրացուցիչ անվտանգություն և ֆունկցիոնալություն: Այս թողարկումը ներկայացնում է հաճախորդի կողմից և սերվերի կողմից գաղտնագրումը GSSAPI ինտերֆեյսների միջոցով նույնականացման համար, ինչպես նաև PostgreSQL-ի՝ LDAP սերվերները հայտնաբերելու հնարավորությունը, երբ PostgreSQL-ը կազմվում է OpenLDAP-ով:

Բացի այդ, PostgreSQL 12-ն այժմ աջակցում է բազմագործոն նույնականացման տարբերակ: PostgreSQL սերվերն այժմ կարող է հաճախորդից պահանջել տրամադրել վավեր SSL վկայագիր՝ համապատասխան օգտվողի անունով՝ օգտագործելով clientcert=verify-full, և դա համատեղել նույնականացման առանձին մեթոդի պահանջի հետ (օրինակ՝ scram-sha-256):

Վարչակազմը

PostgreSQL 12-ը ներկայացրել է REINDEX CONCURRENTLY հրամանի միջոցով չարգելափակող ինդեքսների վերակառուցում կատարելու հնարավորությունը: Սա թույլ է տալիս օգտվողներին խուսափել DBMS-ի խափանումից ինդեքսի երկարատև վերակառուցման ժամանակ:

Բացի այդ, PostgreSQL 12-ում դուք կարող եք միացնել կամ անջատել էջի ստուգման գումարները անջատման կլաստերի մեջ՝ օգտագործելով pg_checksums հրամանը: Նախկինում էջի ստուգումների գումարները, մի հատկություն, որն օգնում է ստուգել սկավառակի վրա պահվող տվյալների ամբողջականությունը, կարող էր միացված լինել միայն այն ժամանակ, երբ PostgreSQL կլաստերը սկզբնավորվեր initdb-ի միջոցով:

Source: linux.org.ru

Добавить комментарий