PostgreSQL 12 шығарылымы

PostgreSQL командасы ашық бастапқы реляциялық дерекқорды басқару жүйесінің соңғы нұсқасы болып табылатын PostgreSQL 12 шығарылымын жариялады.
PostgreSQL 12 сұрау өнімділігін айтарлықтай жақсартты - әсіресе деректердің үлкен көлемімен жұмыс істегенде, сонымен қатар жалпы дискілік кеңістікті пайдалануды оңтайландырды.

Жаңа ерекшеліктерге кіреді:

  • JSON Path сұрау тілін енгізу (SQL/JSON стандартының ең маңызды бөлігі);
  • жалпы кесте өрнектерінің орындалуын оңтайландыру (WITH);
  • жасалған бағандарға қолдау көрсету

Сондай-ақ қауымдастық PostgreSQL кеңеюі мен сенімділігі бойынша жұмысты жалғастыруда, интернационализацияны қолдауды, аутентификация мүмкіндіктерін дамытады және жүйені басқарудың оңай жолдарын ұсынады.

Бұл шығарылым қосылатын сақтау қозғалтқыштары үшін интерфейсті жүзеге асыруды қамтиды, енді әзірлеушілерге деректерді сақтаудың жеке әдістерін жасауға мүмкіндік береді.

Өнімділікті жақсарту

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 пәрмені арқылы блокталмаған индексті қайта құру мүмкіндігін енгізді. Бұл пайдаланушыларға ұзақ индексті қайта құру кезінде ДҚБЖ тоқтап қалуын болдырмауға мүмкіндік береді.

Сонымен қатар, PostgreSQL 12 жүйесінде pg_checksums пәрменін пайдаланып өшіру кластеріндегі бет бақылау сомасын қосуға немесе өшіруге болады. Бұрын дискіде сақталған деректердің тұтастығын тексеруге көмектесетін мүмкіндікті бет бақылау сомасы PostgreSQL кластері initdb көмегімен инициализацияланған кезде ғана қосылуы мүмкін.

Ақпарат көзі: linux.org.ru

пікір қалдыру