PostgreSQL 12 чыгарылышы

PostgreSQL командасы ачык булактуу реляциялык маалымат базасын башкаруу тутумунун эң акыркы версиясы болгон PostgreSQL 12нин чыгарылышын жарыялады.
PostgreSQL 12 сурамдардын аткарууну кыйла жакшыртты - өзгөчө чоң көлөмдөгү маалыматтар менен иштөөдө, ошондой эле жалпысынан диск мейкиндигин пайдаланууну оптималдаштырды.

Жаңы функциялар төмөнкүлөрдү камтыйт:

  • JSON Path суроо тилин ишке ашыруу (SQL/JSON стандартынын эң маанилүү бөлүгү);
  • жалпы таблица туюнтмаларынын аткарылышын оптималдаштыруу (WITH);
  • түзүлгөн мамычаларды колдоо

Коомчулук ошондой эле PostgreSQLдин кеңейүү жана ишенимдүүлүгү боюнча иштөөнү улантууда, эл аралык колдоону, аутентификация мүмкүнчүлүктөрүн иштеп чыгууда жана системаны башкаруунун оңой жолдорун камсыз кылууда.

Бул чыгарылыш кошулма сактагыч кыймылдаткычтары үчүн интерфейсти ишке ашырууну камтыйт, ал эми иштеп чыгуучуларга маалыматтарды сактоонун өз ыкмаларын түзүүгө мүмкүндүк берет.

Performance жакшыртуу

PostgreSQL 12 индекстөө жана бөлүү системалары үчүн олуттуу аткарууну жана тейлөөнү жакшыртууну камтыйт.

B-дарактын индекстери, PostgreSQLдеги стандарттуу индекстөө түрү, индексти тез-тез өзгөртүүнү камтыган жумуш жүктөмдөрү үчүн 12-версияда оптималдаштырылган. PostgreSQL 12 үчүн TPC-C эталондорун колдонуу мейкиндикти колдонуунун орточо 40% кыскарышын жана сурамдардын аткаруунун жалпы өсүшүн көрсөттү.

Бөлүнгөн таблицаларга каршы суроо-талаптар, айрыкча, маалымат массивинин чектелген бөлүктөрү менен иштөөнү талап кылган миңдеген бөлүктөрдөн турган таблицалар үчүн байкаларлык жакшыртты. INSERT жана COPY аркылуу бөлүштүрүлгөн таблицаларга маалыматтарды кошуунун өндүрүмдүүлүгү, ошондой эле сурамдарды бөгөттөгөнсүз жаңы бөлүмдү тиркөө мүмкүнчүлүгү жакшырды.

PostgreSQL 12 жалпы өндүрүмдүүлүккө таасирин тийгизген индекстөө үчүн кошумча жакшыртууларды жасады, анын ичинде:

  • GiST, GIN жана SP-GiST индексинин түрлөрү үчүн WAL түзүүдө кыскартылган кошумча чыгымдар;
  • GiST индекстери боюнча жабуу көрсөткүчтөрүн (INCLUDE пункту) түзүү мүмкүнчүлүгү;
  • дистанциялык операторду (<->) жана SP-GiST индекстерин колдонуу менен "жакынкы кошуна" суроо-талаптарын (k-NN издөө) аткаруу мүмкүнчүлүгү;
  • CREATE STATISTICS жардамы менен эң жалпы маани (MCV) статистикасын чогултуу үчүн колдоо, бул маанилери бирдей эмес бөлүштүрүлгөн мамычаларды колдонууда жакшыраак суроо пландарын алууга жардам берет.

PostgreSQL 11де киргизилген LLVM аркылуу JIT компиляциясы демейки боюнча иштетилген. JIT компиляциясы WHERE пункттарындагы, максаттуу тизмелердеги, агрегаттардагы жана кээ бир ички операциялардагы туюнтмалар менен иштөөдө натыйжалуулукту жакшыртат. Эгер сиз PostgreSQLди LLVM менен түзгөн болсоңуз же LLVM иштетилген менен курулган PostgreSQL пакетин колдонуп жатсаңыз, ал жеткиликтүү.

SQL тил мүмкүнчүлүктөрүн жана стандарттуу шайкештикти жакшыртуу

PostgreSQL 12 SQL/JSON стандартында аныкталган JSON жол туюнтмаларын колдонуу менен JSON документтерин суроо мүмкүнчүлүгүн киргизди. Мындай сурамдар JSONB форматында сакталган документтер үчүн учурдагы индекстөө механизмдерин натыйжалуу маалыматтарды алуу үчүн колдоно алат.

Жалпы таблица туюнтмалары, ошондой эле WITH сурамдары катары белгилүү, эми PostgreSQL 12де алмаштыруу аркылуу автоматтык түрдө аткарылышы мүмкүн, бул өз кезегинде көптөгөн учурдагы суроо-талаптардын иштешин жакшыртууга жардам берет. Жаңы версияда WITH сурамынын алмаштыруу бөлүгү, эгерде ал рекурсивдүү болбосо, эч кандай терс таасирлери болбосо жана суроонун кийинки бөлүгүндө бир гана жолу шилтеме кылынса гана аткарылышы мүмкүн.

PostgreSQL 12 "түзүлгөн мамычаларды" колдоону киргизет. SQL стандартында сүрөттөлгөн бул мамычанын түрү ошол эле таблицадагы башка тилкелердин мазмунуна негизделген маанини эсептейт. Бул версияда PostgreSQL эсептелген маани дискте сакталган "сакталган түзүлгөн мамычаларды" колдойт.

Интернационалдаштыруу

PostgreSQL 12 колдонуучуларга, мисалы, регистрди сезбеген же акцентти сезбеген салыштырууларды жүргүзүүгө мүмкүндүк бере турган "детерминистикалык эмес салыштырмаларды" аныктоого мүмкүндүк берүү менен ICU кооляцияларын колдоону кеңейтет.

тастыктоо

PostgreSQL кошумча коопсуздукту жана функцияларды камсыз кылган бир нече өркүндөтүүлөр менен күчтүү аутентификация ыкмаларын колдоосун кеңейтет. Бул релиз GSSAPI интерфейстери аркылуу аутентификация үчүн кардар жана сервер тарабында шифрлөөнү, ошондой эле PostgreSQL OpenLDAP менен компиляцияланганда PostgreSQL үчүн LDAP серверлерин табуу мүмкүнчүлүгүн киргизет.

Кошумчалай кетсек, PostgreSQL 12 азыр көп факторлуу аутентификация опциясын колдойт. PostgreSQL сервери эми кардардан clientcert=verify-full аркылуу тиешелүү колдонуучу аты менен жарактуу SSL сертификатын берүүнү талап кыла алат жана аны өзүнчө аутентификация ыкмасы талабы менен айкалыштыра алат (мисалы, scram-sha-256).

башкаруу

PostgreSQL 12 REINDEX CONCURRENTLY буйругун колдонуу менен бөгөттөлбөгөн индексти кайра куруу мүмкүнчүлүгүн киргизди. Бул колдонуучуларга узакка созулган индексти кайра куруу учурунда DBMS иштебей калуудан качууга мүмкүндүк берет.

Кошумчалай кетсек, PostgreSQL 12де сиз pg_checksums буйругун колдонуу менен өчүрүү кластериндеги баракчаларды текшерүү суммасын иштетип же өчүрө аласыз. Мурда дискте сакталган маалыматтардын бүтүндүгүн текшерүүгө жардам берген функция барактын текшерүү суммасы PostgreSQL кластери initdb аркылуу инициализацияланганда гана иштетилиши мүмкүн.

Source: linux.org.ru

Комментарий кошуу