Надградба Π·Π° ΠΌΡ€Π·Π»ΠΈΠ²ΠΈΡ‚Π΅: ΠΊΠ°ΠΊΠΎ PostgreSQL 12 Π³ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΡƒΠ²Π° пСрформанситС

Надградба Π·Π° ΠΌΡ€Π·Π»ΠΈΠ²ΠΈΡ‚Π΅: ΠΊΠ°ΠΊΠΎ PostgreSQL 12 Π³ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΡƒΠ²Π° пСрформанситС

PostgreSQL 12, Π½Π°Ρ˜Π½ΠΎΠ²Π°Ρ‚Π° Π²Π΅Ρ€Π·ΠΈΡ˜Π° Π½Π° β€žΠ½Π°Ρ˜Π΄ΠΎΠ±Ρ€Π°Ρ‚Π° Ρ€Π΅Π»Π°Ρ†ΠΈΠΎΠ½Π° Π±Π°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ со ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄ Π²ΠΎ ΡΠ²Π΅Ρ‚ΠΎΡ‚β€œ, ΠΈΠ·Π»Π΅Π³ΡƒΠ²Π° Π·Π° Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ Π½Π΅Π΄Π΅Π»ΠΈ (Π°ΠΊΠΎ сС ΠΎΠ΄ΠΈ спорСд ΠΏΠ»Π°Π½ΠΎΡ‚). Ова Π³ΠΎ слСди Π²ΠΎΠΎΠ±ΠΈΡ‡Π°Π΅Π½ΠΈΠΎΡ‚ распорСд Π·Π° издавањС Π½ΠΎΠ²Π° Π²Π΅Ρ€Π·ΠΈΡ˜Π° со Π΅Π΄Π΅Π½ Ρ‚ΠΎΠ½ Π½ΠΎΠ²ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Сднаш годишно, ΠΈ искрСно, Ρ‚ΠΎΠ° Π΅ импрСсивно. Π—Π°Ρ‚ΠΎΠ° станав Π°ΠΊΡ‚ΠΈΠ²Π΅Π½ Ρ‡Π»Π΅Π½ Π½Π° Π·Π°Π΅Π΄Π½ΠΈΡ†Π°Ρ‚Π° PostgreSQL.

Π‘ΠΏΠΎΡ€Π΅Π΄ ΠΌΠΎΠ΅ мислСњС, Π·Π° Ρ€Π°Π·Π»ΠΈΠΊΠ° ΠΎΠ΄ ΠΏΡ€Π΅Ρ‚Ρ…ΠΎΠ΄Π½ΠΈΡ‚Π΅ изданија, PostgreSQL 12 Π½Π΅ содрТи Π΅Π΄Π½Π° ΠΈΠ»ΠΈ Π΄Π²Π΅ Ρ€Π΅Π²ΠΎΠ»ΡƒΡ†ΠΈΠΎΠ½Π΅Ρ€Π½ΠΈ карактСристики (ΠΊΠ°ΠΊΠΎ ΠΏΠ°Ρ€Ρ‚ΠΈΡ†ΠΈΡ˜Π° ΠΈΠ»ΠΈ ΠΏΠ°Ρ€Π°Π»Π΅Π»ΠΈΠ·Π°ΠΌ Π½Π° Π±Π°Ρ€Π°ΡšΠ΅). Π•Π΄Π½Π°Ρˆ сС ΠΏΠΎΡˆΠ΅Π³ΡƒΠ²Π°Π² Π΄Π΅ΠΊΠ° Π³Π»Π°Π²Π½Π°Ρ‚Π° карактСристика Π½Π° PostgreSQL 12 Π΅ ΠΏΠΎΠ³ΠΎΠ»Π΅ΠΌΠ° стабилност. Π—Π°Ρ€Π΅ΠΌ Ρ‚ΠΎΠ° Π½Π΅ Π΅ ΠΎΠ½Π° ΡˆΡ‚ΠΎ Π²ΠΈ Ρ‚Ρ€Π΅Π±Π° ΠΊΠΎΠ³Π° ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°Ρ‚Π΅ со ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΈΡ‚Π΅ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π½Π° Π²Π°ΡˆΠΈΠΎΡ‚ бизнис?

Но, PostgreSQL 12 Π½Π΅ застанува Ρ‚ΡƒΠΊΠ°: со Π½ΠΎΠ²ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΡƒΠ²Π°ΡšΠ°, Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈΡ‚Π΅ ќС Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΎ, ΠΈ сС ΡˆΡ‚ΠΎ Ρ‚Ρ€Π΅Π±Π° Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Π΅ Π΄Π° сС Π½Π°Π΄Π³Ρ€Π°Π΄ΠΈΡ‚Π΅!

(Па, ΠΌΠΎΠΆΠ΅Π±ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ Π΄Π° сС ΠΈΠ·Π³Ρ€Π°Π΄Π°Ρ‚ индСкситС, Π½ΠΎ Π²ΠΎ ΠΎΠ²Π° ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π΅ Π΅ Ρ‚ΠΎΠ»ΠΊΡƒ ΡΡ‚Ρ€Π°ΡˆΠ½ΠΎ ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ смС Π½Π°Π²ΠΈΠΊΠ½Π°Ρ‚ΠΈ.)

ЌС Π±ΠΈΠ΄Π΅ ΠΎΠ΄Π»ΠΈΡ‡Π½ΠΎ Π΄Π° Π³ΠΎ Π½Π°Π΄Π³Ρ€Π°Π΄ΠΈΡ‚Π΅ PostgreSQL ΠΈ вСднаш Π΄Π° ΡƒΠΆΠΈΠ²Π°Ρ‚Π΅ Π²ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΡƒΠ²Π°ΡšΠ° Π±Π΅Π· Π½Π΅ΠΏΠΎΡ‚Ρ€Π΅Π±Π½Π° Π²Ρ€Π΅Π²Π°. ΠŸΡ€Π΅Π΄ Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ Π³ΠΎΠ΄ΠΈΠ½ΠΈ, ΠΏΡ€Π΅Π³Π»Π΅Π΄Π°Π² Π½Π°Π΄Π³Ρ€Π°Π΄Π±Π° ΠΎΠ΄ PostgreSQL 9.4 Π½Π° PostgreSQL 10 ΠΈ Π²ΠΈΠ΄ΠΎΠ² ΠΊΠ°ΠΊΠΎ сС Π·Π°Π±Ρ€Π·ΡƒΠ²Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½ΠΈΠΎΡ‚ ΠΏΠ°Ρ€Π°Π»Π΅Π»ΠΈΠ·Π°ΠΌ Π½Π° Π±Π°Ρ€Π°ΡšΠ°Ρ‚Π° Π²ΠΎ PostgreSQL 10. И, ΡˆΡ‚ΠΎ Π΅ најваТно, рСчиси Π½ΠΈΡˆΡ‚ΠΎ Π½Π΅ сС Π±Π°Ρ€Π° ΠΎΠ΄ ΠΌΠ΅Π½Π΅ (само поставСтС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Π°Ρ€ Π·Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π° max_parallel_workers).

Π‘Π΅ согласувам, ΠΏΠΎΠ³ΠΎΠ΄Π½ΠΎ Π΅ ΠΊΠΎΠ³Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈΡ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΎ вСднаш ΠΏΠΎ Π½Π°Π΄Π³Ρ€Π°Π΄Π±Π°Ρ‚Π°. И Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³Ρƒ сС Ρ‚Ρ€ΡƒΠ΄ΠΈΠΌΠ΅ Π΄Π° Π³ΠΈ Π·Π°Π΄ΠΎΠ²ΠΎΠ»ΠΈΠΌΠ΅ корисницитС, бидСјќи PostgreSQL ΠΈΠΌΠ° сС повСќС ΠΈ повСќС ΠΎΠ΄ Π½ΠΈΠ².

Па, ΠΊΠ°ΠΊΠΎ ΠΌΠΎΠΆΠ΅ Сдноставната Π½Π°Π΄Π³Ρ€Π°Π΄Π±Π° Π½Π° PostgreSQL 12 Π΄Π° Π²Π΅ Π½Π°ΠΏΡ€Π°Π²ΠΈ ΡΡ€Π΅ΡœΠ½ΠΈ? Π‘Π΅Π³Π° ќС Ρ‚ΠΈ ΠΊΠ°ΠΆΠ°ΠΌ.

Π“ΠΎΠ»Π΅ΠΌΠΈ ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΡƒΠ²Π°ΡšΠ° Π²ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ

Π‘Π΅Π· ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€Π°ΡšΠ΅, Π±Π°Π·Π°Ρ‚Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π½Π΅ΠΌΠ° Π΄Π° ΠΎΠ΄ΠΈ Π΄Π°Π»Π΅ΠΊΡƒ. Како ΠΈΠ½Π°ΠΊΡƒ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π±Ρ€Π·ΠΎ Π΄Π° Π½Π°Ρ˜Π΄Π΅Ρ‚Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ? Π‘Π΅ Π½Π°Ρ€Π΅ΠΊΡƒΠ²Π° Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»Π½ΠΈΠΎΡ‚ систСм Π·Π° ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€Π°ΡšΠ΅ Π½Π° PostgreSQL Π‘-Π΄Ρ€Π²ΠΎ. Овој Ρ‚ΠΈΠΏ Π½Π° индСкс Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½ Π·Π° систСми Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅.

НиС Сдноставно Π³ΠΎ користимС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΡ‚ CREATE INDEX ON some_table (some_column), ΠΈ PostgreSQL ΠΏΡ€Π°Π²ΠΈ ΠΌΠ½ΠΎΠ³Ρƒ Ρ€Π°Π±ΠΎΡ‚Π° Π·Π° Π΄Π° Π³ΠΎ ΠΎΠ΄Ρ€ΠΆΡƒΠ²Π° индСксот Π°ΠΆΡƒΡ€ΠΈΡ€Π°Π½ Π΄ΠΎΠ΄Π΅ΠΊΠ° ΠΏΠΎΡΡ‚ΠΎΡ˜Π°Π½ΠΎ Π²ΠΌΠ΅Ρ‚Π½ΡƒΠ²Π°ΠΌΠ΅, Π°ΠΆΡƒΡ€ΠΈΡ€Π°ΠΌΠ΅ ΠΈ Π±Ρ€ΠΈΡˆΠ΅ΠΌΠ΅ врСдности. Π‘Γ¨ Ρ€Π°Π±ΠΎΡ‚ΠΈ само ΠΏΠΎ сСбС, ΠΊΠ°ΠΊΠΎ со магија.

Но, индСкситС PostgreSQL ΠΈΠΌΠ°Π°Ρ‚ Π΅Π΄Π΅Π½ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ - Ρ‚ΠΈΠ΅ сС Π½Π°Π΄ΡƒΠ΅Π½ΠΈ ΠΈ Π·Π°Π·Π΅ΠΌΠ°Π°Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π΅Π½ простор Π½Π° дискот ΠΈ Π³ΠΈ Π½Π°ΠΌΠ°Π»ΡƒΠ²Π°Π°Ρ‚ пСрформанситС Π½Π° ΠΏΡ€Π΅Π±Π°Ρ€ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ ΠΈ Π°ΠΆΡƒΡ€ΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ. Под β€žΠ½Π°Π΄ΡƒΠ΅Π½ΠΎΡΡ‚β€œ мислам Π½Π° нССфикасно ΠΎΠ΄Ρ€ΠΆΡƒΠ²Π°ΡšΠ΅ Π½Π° структурата Π½Π° индСксот. Ова ΠΌΠΎΠΆΠ΅ - ΠΈΠ»ΠΈ Π½Π΅ - Π΄Π° Π΅ ΠΏΠΎΠ²Ρ€Π·Π°Π½ΠΎ со Ρ“ΡƒΠ±Ρ€Π΅Ρ‚ΠΎ ΡˆΡ‚ΠΎ Π³ΠΈ отстранува Π’ΠΠšΠ£Π£Πœ (Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π°ΠΌ Π½Π° ΠŸΠΈΡ‚Π΅Ρ€ Π“Π°Π³Π°Π½ Π·Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈΡ‚Π΅)ΠŸΠΈΡ‚Π΅Ρ€ Π“Π΅ΠΎΠ³Π΅Π³Π°Π½)). НадуСноста Π½Π° индСксот Π΅ особСно Π·Π°Π±Π΅Π»Π΅ΠΆΠ»ΠΈΠ²Π° Π²ΠΎ ΠΎΠ±Π΅ΠΌΠΎΡ‚ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° ΠΊΠ°Π΄Π΅ индСксот Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ сС ΠΌΠ΅Π½ΡƒΠ²Π°.

PostgreSQL 12 Π²ΠΎ Π³ΠΎΠ»Π΅ΠΌΠ° ΠΌΠ΅Ρ€Π° Π³ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΡƒΠ²Π° пСрформанситС Π½Π° индСкситС Π½Π° Π‘-Π΄Ρ€Π²ΠΎΡ‚ΠΎ, Π° СкспСримСнтитС со Ρ€Π΅ΠΏΠ΅Ρ€ΠΈ ΠΊΠ°ΠΊΠΎ TPC-C ΠΏΠΎΠΊΠ°ΠΆΠ°Π° Π΄Π΅ΠΊΠ° сСга сС користи Π²ΠΎ просСк 40% ΠΏΠΎΠΌΠ°Π»ΠΊΡƒ простор. Π‘Π΅Π³Π° Ρ‚Ρ€ΠΎΡˆΠΈΠΌΠ΅ ΠΏΠΎΠΌΠ°Π»ΠΊΡƒ Π²Ρ€Π΅ΠΌΠ΅ Π½Π΅ само Π½Π° ΠΎΠ΄Ρ€ΠΆΡƒΠ²Π°ΡšΠ΅ Π½Π° индСкситС Π½Π° Π‘-Π΄Ρ€Π²ΠΎΡ‚ΠΎ (Ρ‚.Π΅. Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π·Π° Π·Π°ΠΏΠΈΡˆΡƒΠ²Π°ΡšΠ΅), Ρ‚ΡƒΠΊΡƒ ΠΈ Π½Π° ΠΏΡ€Π΅Π·Π΅ΠΌΠ°ΡšΠ΅ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ, бидСјќи индСкситС сС ΠΌΠ½ΠΎΠ³Ρƒ ΠΏΠΎΠΌΠ°Π»ΠΈ.

Апликации ΠΊΠΎΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ Π³ΠΈ Π°ΠΆΡƒΡ€ΠΈΡ€Π°Π°Ρ‚ своитС Ρ‚Π°Π±Π΅Π»ΠΈ - ΠΎΠ±ΠΈΡ‡Π½ΠΎ OLTP Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ (ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° трансакции Π²ΠΎ Ρ€Π΅Π°Π»Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅) - ќС користи диск ΠΈ ќС Π³ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΡƒΠ²Π° Π±Π°Ρ€Π°ΡšΠ°Ρ‚Π° ΠΌΠ½ΠΎΠ³Ρƒ поСфикасно. ΠšΠΎΠ»ΠΊΡƒ повСќС простор Π½Π° дискот, Ρ‚ΠΎΠ»ΠΊΡƒ повСќС простор ΠΈΠΌΠ° Π΄Π° растС Π±Π°Π·Π°Ρ‚Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π±Π΅Π· Π΄Π° сС Π½Π°Π΄Π³Ρ€Π°Π΄ΡƒΠ²Π° инфраструктурата.

НСкои стратСгии Π·Π° Π½Π°Π΄Π³Ρ€Π°Π΄Π±Π° Π±Π°Ρ€Π°Π°Ρ‚ ΠΎΠ±Π½ΠΎΠ²Π° Π½Π° индСкситС Π½Π° Π‘-Π΄Ρ€Π²ΠΎΡ‚ΠΎ Π·Π° Π΄Π° сС искористат ΠΎΠ²ΠΈΠ΅ ΠΏΡ€ΠΈΠ΄ΠΎΠ±ΠΈΠ²ΠΊΠΈ (Π½Π° ΠΏΡ€. pg_upgrade Π½Π΅ΠΌΠ° автоматски Π΄Π° Π³ΠΈ ΠΎΠ±Π½ΠΎΠ²ΡƒΠ²Π° индСкситС). Π’ΠΎ ΠΏΡ€Π΅Ρ‚Ρ…ΠΎΠ΄Π½ΠΈΡ‚Π΅ Π²Π΅Ρ€Π·ΠΈΠΈ Π½Π° PostgreSQL, ΠΎΠ±Π½ΠΎΠ²Π°Ρ‚Π° Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ индСкси Π½Π° Ρ‚Π°Π±Π΅Π»ΠΈΡ‚Π΅ Ρ€Π΅Π·ΡƒΠ»Ρ‚ΠΈΡ€Π°ΡˆΠ΅ со Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π΅Π½ ΠΏΡ€Π΅ΠΊΠΈΠ½ Π·Π°Ρ‚ΠΎΠ° ΡˆΡ‚ΠΎ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Π° Π΄Π° сС Π½Π°ΠΏΡ€Π°Π²Π°Ρ‚ Π²ΠΎ ΠΌΠ΅Ρ“ΡƒΠ²Ρ€Π΅ΠΌΠ΅. Но, PostgreSQL 12 ΠΈΠΌΠ° ΡƒΡˆΡ‚Π΅ Π΅Π΄Π½Π° ΠΎΠ΄Π»ΠΈΡ‡Π½Π° карактСристика: сСга ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚Π΅ индСкситС ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎ со ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° Π ΠΠˆΠΠ”Π•ΠšΠ‘ Π˜Π—Π’Π•Π”ΠΠžΡ†Π΅Π»ΠΎΡΠ½ΠΎ Π΄Π° сС ΠΈΠ·Π±Π΅Π³Π½Π΅ Π·Π°ΡΡ‚ΠΎΡ˜ΠΎΡ‚.

Има ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΡƒΠ²Π°ΡšΠ° Π½Π° инфраструктурата Π·Π° ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€Π°ΡšΠ΅ Π²ΠΎ PostgreSQL 12. Π”Ρ€ΡƒΠ³Π° Ρ€Π°Π±ΠΎΡ‚Π° ΠΊΠ°Π΄Π΅ ΡˆΡ‚ΠΎ имашС нСкоја магија - Π΄Π½Π΅Π²Π½ΠΈΠΊ Π·Π° ΠΎΠ΄Π½Π°ΠΏΡ€Π΅Π΄ Π·Π°ΠΏΠΈΡˆΡƒΠ²Π°ΡšΠ΅, ΠΏΠΎΠ·Π½Π°Ρ‚ ΠΊΠ°ΠΊΠΎ WAL (Π΄Π½Π΅Π²Π½ΠΈΠΊ Π·Π° ΠΎΠ΄Π½Π°ΠΏΡ€Π΅Π΄ Π·Π°ΠΏΠΈΡˆΡƒΠ²Π°ΡšΠ΅). Π”Π½Π΅Π²Π½ΠΈΠΊΠΎΡ‚ Π·Π° ΠΎΠ΄Π½Π°ΠΏΡ€Π΅Π΄ Π·Π°ΠΏΠΈΡˆΡƒΠ²Π°ΡšΠ΅ ја Π΅Π²ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ€Π° сСкоја Ρ‚Ρ€Π°Π½ΡΠ°ΠΊΡ†ΠΈΡ˜Π° Π²ΠΎ PostgreSQL Π²ΠΎ ΡΠ»ΡƒΡ‡Π°Ρ˜ Π½Π° нСуспСх ΠΈ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°. АпликациитС Π³ΠΎ користат Π·Π° Π°Ρ€Ρ…ΠΈΠ²ΠΈΡ€Π°ΡšΠ΅ ΠΈ Π·Π°ΠΊΡ€Π΅ΠΏΠ½ΡƒΠ²Π°ΡšΠ΅ ΠΎΠ΄ Ρ‚ΠΎΡ‡ΠΊΠ° Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅. Π‘Π΅ Ρ€Π°Π·Π±ΠΈΡ€Π°, Π΄Π½Π΅Π²Π½ΠΈΠΊΠΎΡ‚ Π·Π° ΠΎΠ΄Π½Π°ΠΏΡ€Π΅Π΄ Π·Π°ΠΏΠΈΡˆΡƒΠ²Π°ΡšΠ΅ Π΅ запишан Π½Π° дискот, ΡˆΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° влијаС Π½Π° пСрформанситС.

PostgreSQL 12 Π³ΠΈ Π½Π°ΠΌΠ°Π»ΠΈ Ρ‚Ρ€ΠΎΡˆΠΎΡ†ΠΈΡ‚Π΅ Π·Π° WAL записитС ΡˆΡ‚ΠΎ сС ΠΊΡ€Π΅ΠΈΡ€Π°Π½ΠΈ ΠΎΠ΄ индСкситС GiST, GIN ΠΈ SP-GiST Π·Π° Π²Ρ€Π΅ΠΌΠ΅ Π½Π° ΠΈΠ·Π³Ρ€Π°Π΄Π±Π°Ρ‚Π° Π½Π° индСксот. Ова ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π° Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ ΠΎΠΏΠΈΠΏΠ»ΠΈΠ²ΠΈ ΠΏΡ€ΠΈΠ΄ΠΎΠ±ΠΈΠ²ΠΊΠΈ: записитС Π½Π° WAL Π·Π°Π·Π΅ΠΌΠ°Π°Ρ‚ ΠΏΠΎΠΌΠ°Π»ΠΊΡƒ простор Π½Π° дискот, Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ сС Ρ€Π΅ΠΏΡ€ΠΎΠ΄ΡƒΡ†ΠΈΡ€Π°Π°Ρ‚ ΠΏΠΎΠ±Ρ€Π·ΠΎ, ΠΊΠ°ΠΊΠΎ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π·Π° Π²Ρ€Π΅ΠΌΠ΅ Π½Π° Π²Ρ€Π°ΡœΠ°ΡšΠ΅ ΠΎΠ΄ катастрофи ΠΈΠ»ΠΈ Π·Π° ΠΎΠ±Π½ΠΎΠ²ΡƒΠ²Π°ΡšΠ΅ Π½Π° Π²Ρ€Π΅ΠΌΠ΅. Ако користитС Ρ‚Π°ΠΊΠ²ΠΈ индСкси Π²ΠΎ Π²Π°ΡˆΠΈΡ‚Π΅ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ (Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, гСопросторнитС Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° PostGIS ΠΌΠ½ΠΎΠ³Ρƒ Π³ΠΎ користат индСксот GiST), ΠΎΠ²Π° Π΅ ΡƒΡˆΡ‚Π΅ Π΅Π΄Π½Π° карактСристика ΡˆΡ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ќС Π³ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΈ искуството Π±Π΅Π· ваша Π½Π°ΠΏΠΎΡ€.

ПодСлба - ΠΏΠΎΠ³ΠΎΠ»Π΅ΠΌΠ°, ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π°, ΠΏΠΎΠ±Ρ€Π·ΠΎ

Π’ΠΎΠ²Π΅Π΄Π΅Π½ Π΅ PostgreSQL 10 Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½Π° ΠΏΠ°Ρ€Ρ‚ΠΈΡ†ΠΈΡ˜Π°. Π’ΠΎ PostgreSQL 11 стана ΠΌΠ½ΠΎΠ³Ρƒ полСсСн Π·Π° ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅. Π’ΠΎ PostgreSQL 12, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ја ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ скалата Π½Π° сСкциитС.

Π’ΠΎ PostgreSQL 12, пСрформанситС Π½Π° систСмот Π·Π° ΠΏΠ°Ρ€Ρ‚ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€Π°ΡšΠ΅ станаа Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΈ, особСно Π°ΠΊΠΎ ΠΈΠΌΠ° ΠΈΠ»Ρ˜Π°Π΄Π½ΠΈΡ†ΠΈ ΠΏΠ°Ρ€Ρ‚ΠΈΡ†ΠΈΠΈ Π²ΠΎ Ρ‚Π°Π±Π΅Π»Π°Ρ‚Π°. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π°ΠΊΠΎ Π±Π°Ρ€Π°ΡšΠ΅Ρ‚ΠΎ влијаС Π½Π° само Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ ΠΏΠ°Ρ€Ρ‚ΠΈΡ†ΠΈΠΈ Π²ΠΎ Ρ‚Π°Π±Π΅Π»Π° со ΠΈΠ»Ρ˜Π°Π΄Π½ΠΈΡ†ΠΈ ΠΎΠ΄ Π½ΠΈΠ², Ρ‚ΠΎΠ° ќС сС ΠΈΠ·Π²Ρ€ΡˆΠΈ ΠΌΠ½ΠΎΠ³Ρƒ ΠΏΠΎΠ±Ρ€Π·ΠΎ. ΠŸΠ΅Ρ€Ρ„ΠΎΡ€ΠΌΠ°Π½ΡΠΈΡ‚Π΅ Π½Π΅ сС ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½ΠΈ само Π·Π° ΠΎΠ²ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ²ΠΈ ΠΏΡ€Π°ΡˆΠ°ΡšΠ°. Π˜ΡΡ‚ΠΎ Ρ‚Π°ΠΊΠ°, ќС Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΡ‚Π΅ ΠΊΠΎΠ»ΠΊΡƒ сС ΠΏΠΎΠ±Ρ€Π·ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅ INSERT Π½Π° Ρ‚Π°Π±Π΅Π»ΠΈ со повСќС ΠΏΠ°Ρ€Ρ‚ΠΈΡ†ΠΈΠΈ.

БнимањС ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ КОПИРАЈ - ΠŸΠ°Ρ‚Π΅ΠΌ, ΠΎΠ²Π° Π΅ ΠΎΠ΄Π»ΠΈΡ‡Π΅Π½ Π½Π°Ρ‡ΠΈΠ½ ΡΠΈΠΌΠ½ΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΎ ΠΈ Π΅Π²Π΅ Π΅Π΄Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΈΠΌΠ°ΡšΠ΅ JSON β€” ΠΏΠΎΠ΄Π΅Π»Π΅Π½ΠΈΡ‚Π΅ Ρ‚Π°Π±Π΅Π»ΠΈ Π²ΠΎ PostgreSQL 12 исто Ρ‚Π°ΠΊΠ° станаа поСфикасни. Π‘ΠΎ COPY сè бСшС вСќС Π±Ρ€Π·ΠΎ, Π½ΠΎ Π²ΠΎ PostgreSQL 12 апсолутно Π»Π΅Ρ‚Π°.

Π‘Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΠ²ΠΈΠ΅ прСдности, PostgreSQL Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π΄Π° складиратС ΡƒΡˆΡ‚Π΅ ΠΏΠΎΠ³ΠΎΠ»Π΅ΠΌΠΈ Π·Π±ΠΈΡ€ΠΊΠΈ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΈ Π΄Π° Π³ΠΎ олСснитС Π½ΠΈΠ²Π½ΠΎΡ‚ΠΎ Π²Ρ€Π°ΡœΠ°ΡšΠ΅. И Π±Π΅Π· Π½Π°ΠΏΠΎΡ€ ΠΎΠ΄ ваша страна. Ако Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³Ρƒ ΠΏΠ°Ρ€Ρ‚ΠΈΡ†ΠΈΠΈ, ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ Π΅ снимањС Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π·Π° врСмСнски сСрии, Сдноставната Π½Π°Π΄Π³Ρ€Π°Π΄Π±Π° Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ќС Π³ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΈ Π½Π΅Ρ˜Π·ΠΈΠ½ΠΈΡ‚Π΅ пСрформанси.

Иако ΠΎΠ²Π° Π½Π΅ Π΅ баш ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΡƒΠ²Π°ΡšΠ΅ Π·Π° β€žΠ½Π°Π΄Π³Ρ€Π°Π΄Π±Π° ΠΈ ΡƒΠΆΠΈΠ²Π°ΡšΠ΅β€œ, PostgreSQL 12 Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π΄Π° ΠΊΡ€Π΅ΠΈΡ€Π°Ρ‚Π΅ странски ΠΊΠ»ΡƒΡ‡Π΅Π²ΠΈ ΠΊΠΎΠΈ ΡƒΠΏΠ°Ρ‚ΡƒΠ²Π°Π°Ρ‚ Π½Π° ΠΏΠ°Ρ€Ρ‚ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€Π°Π½ΠΈ Ρ‚Π°Π±Π΅Π»ΠΈ, ΠΏΡ€Π°Π²Π΅Ρ˜ΡœΠΈ ја ΠΏΠ°Ρ€Ρ‚ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ задоволство Π·Π° Ρ€Π°Π±ΠΎΡ‚Π°.

БО ΠΏΡ€Π°ΡˆΠ°ΡšΠ° само ΡˆΡ‚ΠΎ стана ΠΌΠ½ΠΎΠ³Ρƒ ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΎ

Кога бСшС ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Ρ‚ Π»Π΅ΠΏΠ΅Π½ΠΊΠ° Π·Π° Π²Π³Ρ€Π°Π΄Π΅Π½ΠΈ Π·Π°Π΅Π΄Π½ΠΈΡ‡ΠΊΠΈ ΠΈΠ·Ρ€Π°Π·ΠΈ Π½Π° Ρ‚Π°Π±Π΅Π»Π°Ρ‚Π° (ΠΏΠΎΠ·Π½Π°Ρ‚ΠΎ ΠΊΠ°ΠΊΠΎ CTE, Π°ΠΊΠ° БО ΠΏΡ€Π°ΡˆΠ°ΡšΠ°), Сдвај Ρ‡Π΅ΠΊΠ°Π² Π΄Π° напишам ΡΡ‚Π°Ρ‚ΠΈΡ˜Π° Π·Π° Ρ‚ΠΎΠ° ΠΊΠΎΠ»ΠΊΡƒ Π±Π΅Π° ΡΡ€Π΅ΡœΠ½ΠΈ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‡ΠΈΡ‚Π΅ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ со PostgreSQL. Ова Π΅ Π΅Π΄Π½Π° ΠΎΠ΄ ΠΎΠ½ΠΈΠ΅ карактСристики ΡˆΡ‚ΠΎ ќС ја Π·Π°Π±Ρ€Π·Π°Π°Ρ‚ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π°. ОсвСн, сС Ρ€Π°Π·Π±ΠΈΡ€Π°, Π°ΠΊΠΎ користитС CTE.

ЧСсто ΠΎΡ‚ΠΊΡ€ΠΈΠ²Π°ΠΌ Π΄Π΅ΠΊΠ° ΠΏΠΎΡ‡Π΅Ρ‚Π½ΠΈΡ†ΠΈΡ‚Π΅ Π²ΠΎ SQL сакаат Π΄Π° користат CTE; Π°ΠΊΠΎ Π³ΠΈ ΠΏΠΈΡˆΡƒΠ²Π°Ρ‚Π΅ Π½Π° ΠΎΠ΄Ρ€Π΅Π΄Π΅Π½ Π½Π°Ρ‡ΠΈΠ½, навистина сС чувствуватС ΠΊΠ°ΠΊΠΎ Π΄Π° ΠΏΠΈΡˆΡƒΠ²Π°Ρ‚Π΅ ΠΈΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°. Π›ΠΈΡ‡Π½ΠΎ, ΠΌΠΈ сС Π΄ΠΎΠΏΠ°Π΄Π½Π° Π΄Π° Π³ΠΈ ΠΏΡ€Π΅ΠΏΠΈΡˆΡƒΠ²Π°ΠΌ ΠΎΠ²ΠΈΠ΅ ΠΏΡ€Π°ΡˆΠ°ΡšΠ° Π·Π° Π΄Π° сС Π·Π°ΠΎΠ±ΠΈΠΊΠΎΠ»Π°ΠΌ Π±Π΅Π· CTE ΠΈ Π·Π³ΠΎΠ»Π΅ΠΌΡƒΠ²Π°ΡšΠ΅ Π½Π° продуктивноста. Π‘Π΅Π³Π° сС Π΅ ΠΏΠΎΠΈΠ½Π°ΠΊΡƒ.

PostgreSQL 12 Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π΄Π° внСсСтС спСцифичСн Ρ‚ΠΈΠΏ Π½Π° CTE Π±Π΅Π· нСсакани Π΅Ρ„Π΅ΠΊΡ‚ΠΈ (SELECT), ΡˆΡ‚ΠΎ сС користи само Сднаш ΠΏΡ€ΠΈ ΠΊΡ€Π°Ρ˜ΠΎΡ‚ Π½Π° Π±Π°Ρ€Π°ΡšΠ΅Ρ‚ΠΎ. Ако Π³ΠΈ слСдСв ΠΏΡ€Π°ΡˆΠ°ΡšΠ°Ρ‚Π° Π·Π° CTE ΡˆΡ‚ΠΎ Π³ΠΈ ΠΏΡ€Π΅ΠΏΠΈΡˆΠ°Π², ΠΏΠΎΠ²Π΅ΡœΠ΅Ρ‚ΠΎ ΠΎΠ΄ Π½ΠΈΠ² ќС спаѓаат Π²ΠΎ ΠΎΠ²Π°Π° ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΡ˜Π°. Ова ΠΈΠΌ ΠΏΠΎΠΌΠ°Π³Π° Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ Π΄Π° Π½Π°ΠΏΠΈΡˆΠ°Ρ‚ јасСн ΠΊΠΎΠ΄ кој сСга исто Ρ‚Π°ΠΊΠ° Ρ€Π°Π±ΠΎΡ‚ΠΈ Π±Ρ€Π·ΠΎ.

ΠŸΠΎΠΊΡ€Π°Ρ˜ Ρ‚ΠΎΠ°, PostgreSQL 12 Π³ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π° самото ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅ Π½Π° SQL, Π±Π΅Π· Π΄Π° ΠΌΠΎΡ€Π°Ρ‚Π΅ Π΄Π° ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Π½ΠΈΡˆΡ‚ΠΎ. И ΠΈΠ°ΠΊΠΎ Π²Π΅Ρ€ΠΎΡ˜Π°Ρ‚Π½ΠΎ Π½Π΅ΠΌΠ° Π΄Π° ΠΈΠΌΠ°ΠΌ ΠΏΠΎΡ‚Ρ€Π΅Π±Π° Π΄Π° Π³ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°ΠΌ Ρ‚Π°ΠΊΠ²ΠΈΡ‚Π΅ ΠΏΡ€Π°ΡˆΠ°ΡšΠ° сСга, ΠΎΠ΄Π»ΠΈΡ‡Π½ΠΎ Π΅ ΡˆΡ‚ΠΎ PostgreSQL ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΡƒΠ²Π° Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ Π½Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ˜Π° Π½Π° Π±Π°Ρ€Π°ΡšΠ°Ρ‚Π°.

Just-in-Time (JIT) - сСга стандардно

На систСмитС PostgreSQL 12 со ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ° LLVM ΠšΠΎΠΌΠΏΠΈΠ»Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° JIT Π΅ стандардно ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½Π°. ΠŸΡ€Π²ΠΎ, Π΄ΠΎΠ±ΠΈΠ²Π°Ρ‚Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ° JIT Π·Π° Π½Π΅ΠΊΠΎΠΈ Π²Π½Π°Ρ‚Ρ€Π΅ΡˆΠ½ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΈ Π²Ρ‚ΠΎΡ€ΠΎ, ΠΏΡ€Π°ΡˆΠ°ΡšΠ° со ΠΈΠ·Ρ€Π°Π·ΠΈ (Π½Π°Ρ˜Π΅Π΄Π½ΠΎΡΡ‚Π°Π²Π½ΠΈΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π΅ x + y) Π²ΠΎ списоцитС Π·Π° ΠΈΠ·Π±ΠΈΡ€Π°ΡšΠ΅ (ΡˆΡ‚ΠΎ Π³ΠΈ ΠΈΠΌΠ°Ρ‚Π΅ ΠΏΠΎ SELECT), Π°Π³Ρ€Π΅Π³Π°Ρ‚ΠΈ, ΠΈΠ·Ρ€Π°Π·ΠΈ со WHERE ΠΊΠ»Π°ΡƒΠ·ΡƒΠ»ΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° користат JIT Π·Π° ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΡƒΠ²Π°ΡšΠ΅ Π½Π° пСрформанситС.

Π‘ΠΈΠ΄Π΅Ρ˜ΡœΠΈ JIT Π΅ стандардно ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ Π²ΠΎ PostgreSQL 12, пСрформанситС ќС сС ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π°Ρ‚ сами ΠΏΠΎ сСбС, Π½ΠΎ ΠΏΡ€Π΅ΠΏΠΎΡ€Π°Ρ‡ΡƒΠ²Π°ΠΌ Π΄Π° ја тСстиратС Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π²ΠΎ PostgreSQL 11, кој Π³ΠΎ Π²ΠΎΠ²Π΅Π΄Π΅ JIT, Π·Π° Π΄Π° ја ΠΈΠ·ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ ΠΈΠ·Π²Π΅Π΄Π±Π°Ρ‚Π° Π½Π° Π±Π°Ρ€Π°ΡšΠ΅Ρ‚ΠΎ ΠΈ Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ Π΄Π°Π»ΠΈ Ρ‚Ρ€Π΅Π±Π° Π΄Π° подСситС Π½Π΅ΡˆΡ‚ΠΎ.

Π¨Ρ‚ΠΎ Π΅ со останатитС Π½ΠΎΠ²ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²ΠΎ PostgreSQL 12?

PostgreSQL 12 ΠΈΠΌΠ° Π΅Π΄Π΅Π½ Ρ‚ΠΎΠ½ ΠΊΡƒΠ» Π½ΠΎΠ²ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΎΠ΄ способноста Π΄Π° сС испитаат ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ ΠΎΠ΄ JSON ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ стандардни ΠΈΠ·Ρ€Π°Π·ΠΈ Π½Π° Ρ€ΡƒΡ‚ΠΈ SQL/JSON Π΄ΠΎ ΠΏΠΎΠ²Π΅ΡœΠ΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΡΠΊΠ° Π°Π²Ρ‚Π΅Π½Ρ‚ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° со ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Π°Ρ€ clientcert=verify-full, создадСни ΠΊΠΎΠ»ΠΎΠ½ΠΈ ΠΈ ΠΌΠ½ΠΎΠ³Ρƒ повСќС. Π”ΠΎΠ²ΠΎΠ»Π½ΠΎ Π·Π° посСбСн пост.

Како PostgreSQL 10, PostgreSQL 12 ќС Π³ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΈ Π²ΠΊΡƒΠΏΠ½ΠΈΡ‚Π΅ пСрформанси вСднаш ΠΏΠΎ Π½Π°Π΄Π³Ρ€Π°Π΄Π±Π°Ρ‚Π°. Π’ΠΈΠ΅, сС Ρ€Π°Π·Π±ΠΈΡ€Π°, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠΌΠ°Ρ‚Π΅ свој ΠΏΠ°Ρ‚ - Ρ‚Π΅ΡΡ‚ΠΈΡ€Π°Ρ˜Ρ‚Π΅ ја Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° ΠΏΠΎΠ΄ слични услови Π½Π° систСмот Π·Π° производство ΠΏΡ€Π΅Π΄ Π΄Π° ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈΡ‚Π΅ ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΡƒΠ²Π°ΡšΠ°, ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΠ² со PostgreSQL 10. Π”ΡƒΡ€ΠΈ ΠΈ Π°ΠΊΠΎ PostgreSQL 12 Π΅ вСќС постабилСн ΠΎΡ‚ΠΊΠΎΠ»ΠΊΡƒ ΡˆΡ‚ΠΎ ΠΎΡ‡Π΅ΠΊΡƒΠ²Π°Π², Π½Π΅ΠΌΠΎΡ˜Ρ‚Π΅ Π΄Π° Π±ΠΈΠ΄Π΅Ρ‚Π΅ ΠΌΡ€Π·Π»ΠΈΠ²ΠΈ ΠΏΡ€ΠΈ Ρ‚Π΅ΡΡ‚ΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈΡ‚Π΅ Ρ‚Π΅ΠΌΠ΅Π»Π½ΠΎ, ΠΏΡ€Π΅Π΄ Π΄Π° сС ΠΏΡƒΡˆΡ‚Π°Ρ‚ Π²ΠΎ производство.

Π˜Π·Π²ΠΎΡ€: www.habr.com

Π”ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€