Π£Π²Π°ΠΆΠ°Π΅ΠΌΠΈ DELETE. Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ² (Postgres.ai)

Π£Π²Π°ΠΆΠ°Π΅ΠΌΠΈ DELETE. Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ² (Postgres.ai)

Някой Π΄Π΅Π½ Π² Π΄Π°Π»Π΅Ρ‡Π½ΠΎΡ‚ΠΎ Π±ΡŠΠ΄Π΅Ρ‰Π΅ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎΡ‚ΠΎ ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π°Π½Π΅ Π½Π° Π½Π΅Π½ΡƒΠΆΠ½ΠΈ Π΄Π°Π½Π½ΠΈ Ρ‰Π΅ бъдС Π΅Π΄Π½Π° ΠΎΡ‚ Π²Π°ΠΆΠ½ΠΈΡ‚Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ Π½Π° Π‘Π£Π‘Π” [1]. ΠœΠ΅ΠΆΠ΄ΡƒΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π½ΠΈΠ΅ сами трябва Π΄Π° сС ΠΏΠΎΠ³Ρ€ΠΈΠΆΠΈΠΌ Π·Π° ΠΈΠ·Ρ‚Ρ€ΠΈΠ²Π°Π½Π΅Ρ‚ΠΎ ΠΈΠ»ΠΈ прСмСстванСто Π½Π° Π½Π΅Π½ΡƒΠΆΠ½ΠΈ Π΄Π°Π½Π½ΠΈ Π² ΠΏΠΎ-Π΅Π²Ρ‚ΠΈΠ½ΠΈ систСми Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅. Π”Π° ΠΏΡ€ΠΈΠ΅ΠΌΠ΅ΠΌ, Ρ‡Π΅ Ρ€Π΅ΡˆΠΈΡ‚Π΅ Π΄Π° ΠΈΠ·Ρ‚Ρ€ΠΈΠ΅Ρ‚Π΅ няколко ΠΌΠΈΠ»ΠΈΠΎΠ½Π° Ρ€Π΅Π΄Π°. Доста проста Π·Π°Π΄Π°Ρ‡Π°, особСно Π°ΠΊΠΎ условиСто Π΅ извСстно ΠΈ ΠΈΠΌΠ° подходящ индСкс. β€žDELETE FROM table1 WHERE col1 = :valueβ€œ – ΠΊΠ°ΠΊΠ²ΠΎ ΠΏΠΎ-просто, Π½Π°Π»ΠΈ?

Video:

Π£Π²Π°ΠΆΠ°Π΅ΠΌΠΈ DELETE. Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ² (Postgres.ai)

  • Аз съм Π² програмния ΠΊΠΎΠΌΠΈΡ‚Π΅Ρ‚ Π½Π° Highload ΠΎΡ‚ ΠΏΡŠΡ€Π²Π°Ρ‚Π° Π³ΠΎΠ΄ΠΈΠ½Π°, Ρ‚.Π΅. ΠΎΡ‚ 2007 Π³.

  • И съм Π² Postgres ΠΎΡ‚ 2005 Π³. Използвал Π³ΠΎ Π΅ Π² ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ.

  • Π“Ρ€ΡƒΠΏΠ°Ρ‚Π° ΡΡŠΡ‰ΠΎ Π΅ с RuPostges ΠΎΡ‚ 2007 Π³.

  • НараснахмС Π΄ΠΎ 2100+ участници Π² Meetup. Π’ΠΎΠ²Π° Π΅ Π²Ρ‚ΠΎΡ€ΠΎ място Π² свСта слСд Ню Π™ΠΎΡ€ΠΊ, слСд ΠΊΠ°Ρ‚ΠΎ ΠΎΡ‚Π΄Π°Π²Π½Π° ΠΈΠ·ΠΏΡ€Π΅Π²Π°Ρ€ΠΈ Π‘Π°Π½ Ѐранциско.

  • ЖивСя Π² ΠšΠ°Π»ΠΈΡ„ΠΎΡ€Π½ΠΈΡ ΠΎΡ‚ няколко Π³ΠΎΠ΄ΠΈΠ½ΠΈ. Работя ΠΏΡ€Π΅Π΄ΠΈΠΌΠ½ΠΎ с амСрикански ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π³ΠΎΠ»Π΅ΠΌΠΈ. Π’Π΅ са Π°ΠΊΡ‚ΠΈΠ²Π½ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ Π½Π° Postgres. И Ρ‚Π°ΠΌ Π²ΡŠΠ·Π½ΠΈΠΊΠ²Π°Ρ‚ всякакви интСрСсни Π½Π΅Ρ‰Π°.

Π£Π²Π°ΠΆΠ°Π΅ΠΌΠΈ DELETE. Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ² (Postgres.ai)

https://postgres.ai/ – Ρ‚ΠΎΠ²Π° Π΅ моята компания. НиС смС Π² бизнСса с Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡ€Π°Ρ‚ забавянСто Π½Π° Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅Ρ‚ΠΎ.

Ако Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Π½Π΅Ρ‰ΠΎ, понякога ΠΈΠΌΠ° някои ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ ΠΎΠΊΠΎΠ»ΠΎ Postgres. Π”Π° ΠΊΠ°ΠΆΠ΅ΠΌ, Ρ‡Π΅ трябва Π΄Π° ΠΈΠ·Ρ‡Π°ΠΊΠ°Ρ‚Π΅, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡ‚Ρ€Π°Ρ‚ΠΎΡ€ΡŠΡ‚ Π²ΠΈ прСдостави тСстов стСнд, ΠΈΠ»ΠΈ трябва Π΄Π° ΠΈΠ·Ρ‡Π°ΠΊΠ°Ρ‚Π΅, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ DBA Π²ΠΈ ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ΠΈ. И Π½ΠΈΠ΅ ΠΎΡ‚ΠΊΡ€ΠΈΠ²Π°ΠΌΠ΅ Ρ‚Π°ΠΊΠΈΠ²Π° тСсни мСста Π² процСса Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, тСстванС ΠΈ администриранС ΠΈ сС ΠΎΠΏΠΈΡ‚Π²Π°ΠΌΠ΅ Π΄Π° Π³ΠΈ Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡ€Π°ΠΌΠ΅ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° автоматизация ΠΈ Π½ΠΎΠ²ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈ.

Π£Π²Π°ΠΆΠ°Π΅ΠΌΠΈ DELETE. Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ² (Postgres.ai)

https://www.seagate.com/files/www-content/our-story/trends/files/idc-seagate-dataage-whitepaper.pdf

Наскоро бях във VLDB Π² Лос АндТСлис. Π’ΠΎΠ²Π° Π΅ Π½Π°ΠΉ-голямата конфСрСнция Π·Π° Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ. И имашС Π΄ΠΎΠΊΠ»Π°Π΄, Ρ‡Π΅ Π² Π±ΡŠΠ΄Π΅Ρ‰Π΅ Π‘Π£Π‘Π” Π½Π΅ само Ρ‰Π΅ ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚, Π½ΠΎ ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ Ρ‰Π΅ ΠΈΠ·Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ Π΄Π°Π½Π½ΠΈ. Π’ΠΎΠ²Π° Π΅ Π½ΠΎΠ²Π° Ρ‚Π΅ΠΌΠ°.

Π’ свСта ΠΈΠΌΠ° всС ΠΏΠΎΠ²Π΅Ρ‡Π΅ Π΄Π°Π½Π½ΠΈ. Π—Π΅Ρ‚Π°Π±Π°ΠΉΡ‚ΠΈΡ‚Π΅ са 1 000 000 ΠΏΠ΅Ρ‚Π°Π±Π°ΠΉΡ‚Π°. И сСга Π²Π΅Ρ‡Π΅ сС изчислява, Ρ‡Π΅ ΠΈΠΌΠ°ΠΌΠ΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ 100 Π·Π΅Ρ‚Π°Π±Π°ΠΉΡ‚Π° Π΄Π°Π½Π½ΠΈ, ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈ Π² свСта. А Ρ‚Π΅ стават всС ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΈ ΠΏΠΎΠ²Π΅Ρ‡Π΅.

Π£Π²Π°ΠΆΠ°Π΅ΠΌΠΈ DELETE. Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ² (Postgres.ai)

https://vldb2019.github.io/files/VLDB19-keynote-2-slides.pdf

И ΠΊΠ°ΠΊΠ²ΠΎ Π΄Π° правя с Π½Π΅Π³ΠΎ? Ясно Π΅, Ρ‡Π΅ трябва Π΄Π° сС ΠΈΠ·Ρ‚Ρ€ΠΈΠ΅. Π•Ρ‚ΠΎ Π»ΠΈΠ½ΠΊ към Ρ‚ΠΎΠ·ΠΈ интСрСсСн Π΄ΠΎΠΊΠ»Π°Π΄. Но досСга Ρ‚ΠΎΠ²Π° Π½Π΅ Π΅ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΎ Π² Π‘Π£Π‘Π”.

Π’Π΅Π·ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ знаят ΠΊΠ°ΠΊ Π΄Π° броят ΠΏΠ°Ρ€ΠΈ, искат Π΄Π²Π΅ Π½Π΅Ρ‰Π°. Π’Π΅ искат Π΄Π° ΠΈΠ·Ρ‚Ρ€ΠΈΠ΅ΠΌ, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ тСхничСски трябва Π΄Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ.

Π£Π²Π°ΠΆΠ°Π΅ΠΌΠΈ DELETE. Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ² (Postgres.ai)

Π’ΠΎΠ²Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ Ρ‰Π΅ Ρ€Π°Π·ΠΊΠ°ΠΆΠ° ΠΏΠΎ-Π½Π°Ρ‚Π°Ρ‚ΡŠΠΊ, Π΅ абстрактна ситуация, която Π²ΠΊΠ»ΡŽΡ‡Π²Π° ΠΊΡƒΠΏ Ρ€Π΅Π°Π»Π½ΠΈ ситуации, тоСст ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° компилация ΠΎΡ‚ Ρ‚ΠΎΠ²Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ Π²ΡΡŠΡ‰Π½ΠΎΡΡ‚ сС Π΅ случило с ΠΌΠ΅Π½ ΠΈ ΠΎΠΊΠΎΠ»Π½ΠΈΡ‚Π΅ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡŠΡ‚ΠΈ, ΠΌΠ½ΠΎΠ³ΠΎ Π³ΠΎΠ΄ΠΈΠ½ΠΈ. Π“Ρ€Π΅Π±Π»Π°Ρ‚Π° са навсякъдС ΠΈ всСки Π³ΠΈ ΡΡ‚ΡŠΠΏΠ²Π° ΠΏΡ€Π΅Π· цялото Π²Ρ€Π΅ΠΌΠ΅.

Π£Π²Π°ΠΆΠ°Π΅ΠΌΠΈ DELETE. Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ² (Postgres.ai)

Π”Π° ΠΊΠ°ΠΆΠ΅ΠΌ, Ρ‡Π΅ ΠΈΠΌΠ°ΠΌΠ΅ Π±Π°Π·Π° ΠΈΠ»ΠΈ няколко Π±Π°Π·ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ растат. А някои ΠΎΡ‚ записитС са ΠΎΡ‡Π΅Π²ΠΈΠ΄Π΅Π½ Π±ΠΎΠΊΠ»ΡƒΠΊ. НапримСр, потрСбитСлят Π΅ Π·Π°ΠΏΠΎΡ‡Π½Π°Π» Π΄Π° ΠΏΡ€Π°Π²ΠΈ Π½Π΅Ρ‰ΠΎ Ρ‚Π°ΠΌ, Π½ΠΎ Π½Π΅ Π΅ Π·Π°Π²ΡŠΡ€ΡˆΠΈΠ». И слСд извСстно Π²Ρ€Π΅ΠΌΠ΅ Π·Π½Π°Π΅ΠΌ, Ρ‡Π΅ Ρ‚Π°Π·ΠΈ Π½Π΅Π·Π°Π²ΡŠΡ€ΡˆΠ΅Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° Π²Π΅Ρ‡Π΅ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°. ВоСст, Π±ΠΈΡ…ΠΌΠ΅ искали Π΄Π° изчистим някои Π½Π΅Π½ΡƒΠΆΠ½ΠΈ Π½Π΅Ρ‰Π°, Π·Π° Π΄Π° спСстим място, Π΄Π° ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΈΠΌ производитСлността ΠΈ Ρ‚.Π½.

Π£Π²Π°ΠΆΠ°Π΅ΠΌΠΈ DELETE. Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ² (Postgres.ai)

ΠšΠ°Ρ‚ΠΎ цяло Π·Π°Π΄Π°Ρ‡Π°Ρ‚Π° Π΅ Π΄Π° сС Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π° ΠΈΠ·Ρ‚Ρ€ΠΈΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΈ Π½Π΅Ρ‰Π°, ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΈ Ρ€Π΅Π΄ΠΎΠ²Π΅ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°.

Π£Π²Π°ΠΆΠ°Π΅ΠΌΠΈ DELETE. Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ² (Postgres.ai)

И ΠΈΠΌΠ°ΠΌΠ΅ Π΅Π΄Π½Π° заявка, Π·Π° която Ρ‰Π΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ днСс, тоСст Π·Π° ΠΈΠ·Π²ΠΎΠ·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π±ΠΎΠΊΠ»ΡƒΠΊΠ°.

Π£Π²Π°ΠΆΠ°Π΅ΠΌΠΈ DELETE. Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ² (Postgres.ai)

ΠŸΠΎΠΌΠΎΠ»ΠΈΡ…ΠΌΠ΅ ΠΎΠΏΠΈΡ‚Π΅Π½ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈ Ρ‚ΠΎΠ²Π°. Π’ΠΎΠΉ Π²Π·Π΅ Ρ‚Π°Π·ΠΈ заявка, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈ я сам - всичко Ρ€Π°Π±ΠΎΡ‚ΠΈ. ВСствах Π³ΠΎ Π½Π° постановка - всичко Π΅ Π½Π°Ρ€Π΅Π΄. Π Π°Π·Ρ‚ΠΎΡ‡ΠΈΡ… Π³ΠΎ - всичко Ρ€Π°Π±ΠΎΡ‚ΠΈ. Π’Π΅Π΄Π½ΡŠΠΆ Π½Π° Π΄Π΅Π½ пускамС Ρ‚ΠΎΠ²Π° - всичко Π΅ Π½Π°Ρ€Π΅Π΄.

Π£Π²Π°ΠΆΠ°Π΅ΠΌΠΈ DELETE. Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ² (Postgres.ai)

Π‘Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ растС ΠΈ растС. ДнСвният DELETE Π·Π°ΠΏΠΎΡ‡Π²Π° Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎ-Π±Π°Π²Π½ΠΎ.

Π£Π²Π°ΠΆΠ°Π΅ΠΌΠΈ DELETE. Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ² (Postgres.ai)

Π’ΠΎΠ³Π°Π²Π° Ρ€Π°Π·Π±ΠΈΡ€Π°ΠΌΠ΅, Ρ‡Π΅ Π²Π΅Ρ‡Π΅ смС ΠΌΠ°Ρ€ΠΊΠ΅Ρ‚ΠΈΠ½Π³ΠΎΠ²Π° компания ΠΈ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΡŠΡ‚ Ρ‰Π΅ бъдС няколко ΠΏΡŠΡ‚ΠΈ ΠΏΠΎ-голям, Π·Π°Ρ‚ΠΎΠ²Π° Ρ€Π΅ΡˆΠ°Π²Π°ΠΌΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π΄Π° спрСм Π½Π΅Π½ΡƒΠΆΠ½ΠΈΡ‚Π΅ Π½Π΅Ρ‰Π°. И забравямС Π΄Π° Π³ΠΎ Π²ΡŠΡ€Π½Π΅ΠΌ.

Π£Π²Π°ΠΆΠ°Π΅ΠΌΠΈ DELETE. Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ² (Postgres.ai)

Няколко мСсСца ΠΏΠΎ-късно сС сСтиха. И Ρ‚ΠΎΠ·ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ напусна ΠΈΠ»ΠΈ бСшС Π·Π°Π΅Ρ‚ с Π½Π΅Ρ‰ΠΎ Π΄Ρ€ΡƒΠ³ΠΎ, Π²ΡŠΠ·Π»ΠΎΠΆΠΈΡ…Π° Π½Π° Π΄Ρ€ΡƒΠ³ Π΄Π° Π³ΠΎ Π²ΡŠΡ€Π½Π΅.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈ Π½Π° dev, Π½Π° staging - всичко Π΅ Π½Π°Ρ€Π΅Π΄. ЕстСствСно, всС ΠΎΡ‰Π΅ трябва Π΄Π° почиститС Π½Π°Ρ‚Ρ€ΡƒΠΏΠ°Π½ΠΎΡ‚ΠΎ. Π’ΠΎΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈ, всичко Ρ€Π°Π±ΠΎΡ‚ΠΈ.

Π£Π²Π°ΠΆΠ°Π΅ΠΌΠΈ DELETE. Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ² (Postgres.ai)

Какво сС случва слСд Ρ‚ΠΎΠ²Π°? Π’ΠΎΠ³Π°Π²Π° всичко сС Ρ€Π°Π·ΠΏΠ°Π΄Π° Π·Π° нас. Пада Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° ΠΌΠ½ΠΎΠ³ΠΎ, Ρ‡Π΅ Π² Π΅Π΄ΠΈΠ½ ΠΌΠΎΠΌΠ΅Π½Ρ‚ всичко ΠΏΠ°Π΄Π°. Всички са Π² шок, Π½ΠΈΠΊΠΎΠΉ Π½Π΅ Ρ€Π°Π·Π±ΠΈΡ€Π° ΠΊΠ°ΠΊΠ²ΠΎ сС случва. И Ρ‚ΠΎΠ³Π°Π²Π° сС ΠΎΠΊΠ°Π·Π²Π°, Ρ‡Π΅ Ρ‚ΠΎΠ·ΠΈ DELETE Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚.

Π£Π²Π°ΠΆΠ°Π΅ΠΌΠΈ DELETE. Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ² (Postgres.ai)

НСщо сС ΠΎΠ±ΡŠΡ€ΠΊΠ°? Π•Ρ‚ΠΎ списък с Π½Π΅Ρ‰Π°, ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΠΎΠ±ΡŠΡ€ΠΊΠ°Ρ‚. КоС ΠΎΡ‚ тях Π΅ Π½Π°ΠΉ-Π²Π°ΠΆΠ½ΠΎΡ‚ΠΎ?

  • НапримСр, нямашС ΠΏΡ€Π΅Π³Π»Π΅Π΄, Ρ‚.Π΅. Π΅ΠΊΡΠΏΠ΅Ρ€Ρ‚ΡŠΡ‚ Π½Π° DBA Π½Π΅ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π°. Π‘ ΠΎΠΏΠΈΡ‚Π½ΠΎ ΠΎΠΊΠΎ Π²Π΅Π΄Π½Π°Π³Π° Π±ΠΈ ΠΎΡ‚ΠΊΡ€ΠΈΠ» ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, Π° освСн Ρ‚ΠΎΠ²Π° ΠΈΠΌΠ° Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ prod, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ са сС Π½Π°Ρ‚Ρ€ΡƒΠΏΠ°Π»ΠΈ няколко ΠΌΠΈΠ»ΠΈΠΎΠ½Π° Ρ€Π΅Π΄Π°.

  • МоТС Π±ΠΈ са ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠ»ΠΈ Π½Π΅Ρ‰ΠΎ Π½Π΅Ρ€Π΅Π΄Π½ΠΎ.

  • МоТС Π±ΠΈ Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€ΡŠΡ‚ Π΅ остарял ΠΈ трябва Π΄Π° надстроитС Ρ‚Π°Π·ΠΈ Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ.

  • Или Π½Π΅Ρ‰ΠΎ Π½Π΅ Π΅ Π½Π°Ρ€Π΅Π΄ със самата Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ ΠΈ трябва Π΄Π° ΠΏΡ€Π΅ΠΌΠΈΠ½Π΅ΠΌ ΠΎΡ‚ Postgres към MySQL.

  • Или ΠΌΠΎΠΆΠ΅ Π±ΠΈ Π½Π΅Ρ‰ΠΎ Π½Π΅ Π΅ Π½Π°Ρ€Π΅Π΄ с опСрацията.

  • МоТС Π±ΠΈ ΠΈΠΌΠ° Π³Ρ€Π΅ΡˆΠΊΠΈ Π² организацията Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° ΠΈ трябва Π΄Π° ΡƒΠ²ΠΎΠ»Π½ΠΈΡ‚Π΅ някого ΠΈ Π΄Π° Π½Π°Π΅ΠΌΠ΅Ρ‚Π΅ ΠΏΠΎ-Π΄ΠΎΠ±Ρ€ΠΈ Ρ…ΠΎΡ€Π°?

Π£Π²Π°ΠΆΠ°Π΅ΠΌΠΈ DELETE. Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ² (Postgres.ai)

НямашС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° DBA. Ако имашС DBA, Ρ‚ΠΎΠΉ Ρ‰Π΅ΡˆΠ΅ Π΄Π° Π²ΠΈΠ΄ΠΈ Ρ‚Π΅Π·ΠΈ няколко ΠΌΠΈΠ»ΠΈΠΎΠ½Π° Ρ€Π΅Π΄Π° ΠΈ Π΄ΠΎΡ€ΠΈ Π±Π΅Π· Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ СкспСримСнти Ρ‰Π΅ΡˆΠ΅ Π΄Π° ΠΊΠ°ΠΆΠ΅: "Π’Π΅ Π½Π΅ правят Ρ‚ΠΎΠ²Π°." Π”Π° ΠΊΠ°ΠΆΠ΅ΠΌ, Ρ‡Π΅ Π°ΠΊΠΎ Ρ‚ΠΎΠ·ΠΈ ΠΊΠΎΠ΄ бСшС Π² GitLab, GitHub ΠΈ имашС процСс Π½Π° ΠΏΡ€Π΅Π³Π»Π΅Π΄ Π½Π° ΠΊΠΎΠ΄Π° ΠΈ нямашС Ρ‚Π°ΠΊΠΎΠ²Π° Π½Π΅Ρ‰ΠΎ, Ρ‡Π΅ Π±Π΅Π· ΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° DBA Ρ‚Π°Π·ΠΈ опСрация Π΄Π° сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠΈ Π½Π° prod, Ρ‚ΠΎΠ³Π°Π²Π° ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ DBA Ρ‰Π΅ΡˆΠ΅ Π΄Π° ΠΊΠ°ΠΆΠ΅: β€žΠΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Ρ‚ΠΎΠ²Π°. ”

Π£Π²Π°ΠΆΠ°Π΅ΠΌΠΈ DELETE. Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ² (Postgres.ai)

И Ρ‚ΠΎΠΉ Π±ΠΈ ΠΊΠ°Π·Π°Π», Ρ‡Π΅ Ρ‰Π΅ ΠΈΠΌΠ°Ρ‚Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ с IO Π½Π° диска ΠΈ всички процСси Ρ‰Π΅ полудСят, ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° ΠΊΠ»ΡŽΡ‡Π°Π»ΠΊΠΈ ΠΈ Ρ‰Π΅ Π±Π»ΠΎΠΊΠΈΡ€Π°Ρ‚Π΅ Π°Π²Ρ‚ΠΎΠ²Π°ΠΊΡƒΡƒΠΌΠ° Π·Π° няколко ΠΌΠΈΠ½ΡƒΡ‚ΠΈ, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Ρ‚ΠΎΠ²Π° Π½Π΅ Π΅ Π΄ΠΎΠ±Ρ€Π΅.

Π£Π²Π°ΠΆΠ°Π΅ΠΌΠΈ DELETE. Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ² (Postgres.ai)

http://bit.ly/nancy-hl2018-2

Π’Ρ‚ΠΎΡ€Π°Ρ‚Π° Π³Ρ€Π΅ΡˆΠΊΠ° Π΅, Ρ‡Π΅ са ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠ»ΠΈ Π½Π° Π³Ρ€Π΅ΡˆΠ½ΠΎΡ‚ΠΎ място. ВидяхмС слСд Ρ„Π°ΠΊΡ‚Π°, Ρ‡Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅Π½ΡƒΠΆΠ½ΠΈ Π΄Π°Π½Π½ΠΈ са сС Π½Π°Ρ‚Ρ€ΡƒΠΏΠ°Π»ΠΈ Π² prod, Π½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡŠΡ‚ Π½Π΅ Π΅ ΠΈΠΌΠ°Π» Π½Π°Ρ‚Ρ€ΡƒΠΏΠ°Π½ΠΈ Π΄Π°Π½Π½ΠΈ Π² Ρ‚Π°Π·ΠΈ Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ ΠΈ Π½ΠΈΠΊΠΎΠΉ наистина Π½Π΅ Π΅ създал Ρ‚ΠΎΠ·ΠΈ Π±ΠΎΠΊΠ»ΡƒΠΊ ΠΏΡ€ΠΈ Π΅Ρ‚Π°ΠΏΠ°. Π‘ΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΎ имашС 1 Ρ€Π΅Π΄Π°, ΠΊΠΎΠΈΡ‚ΠΎ Π±ΡŠΡ€Π·ΠΎ бяха Π·Π°Π²ΡŠΡ€ΡˆΠ΅Π½ΠΈ.

Π Π°Π·Π±ΠΈΡ€Π°ΠΌΠ΅, Ρ‡Π΅ Π½Π°ΡˆΠΈΡ‚Π΅ тСстовС са слаби, Ρ‚.Π΅. изградСният процСс Π½Π΅ улавя ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ. НС Π΅ ΠΈΠ·Π²ΡŠΡ€ΡˆΠ΅Π½ Π°Π΄Π΅ΠΊΠ²Π°Ρ‚Π΅Π½ DB СкспСримСнт.

Π—Π° ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π½Π΅ Π΅ идСалният СкспСримСнт Π΄Π° сС ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅ Π½Π° ΡΡŠΡ‰ΠΎΡ‚ΠΎ ΠΎΠ±ΠΎΡ€ΡƒΠ΄Π²Π°Π½Π΅. НС Π²ΠΈΠ½Π°Π³ΠΈ Π΅ възмоТно Π΄Π° сС Π½Π°ΠΏΡ€Π°Π²ΠΈ Ρ‚ΠΎΠ²Π° Π½Π° ΡΡŠΡ‰ΠΈΡ Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€, Π½ΠΎ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π°ΠΆΠ½ΠΎ Ρ‚ΠΎΠ²Π° Π΄Π° Π΅ ΠΏΡŠΠ»Π½ΠΎΡ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎ ΠΊΠΎΠΏΠΈΠ΅ Π½Π° Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ. Π’ΠΎΠ²Π° Π΅, ΠΊΠΎΠ΅Ρ‚ΠΎ проповядвам Π²Π΅Ρ‡Π΅ няколко Π³ΠΎΠ΄ΠΈΠ½ΠΈ. И ΠΏΡ€Π΅Π΄ΠΈ Π³ΠΎΠ΄ΠΈΠ½Π° Π³ΠΎΠ²ΠΎΡ€ΠΈΡ… Π·Π° Ρ‚ΠΎΠ²Π°, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³Π»Π΅Π΄Π°Ρ‚Π΅ всичко Π² YouTube.

Π£Π²Π°ΠΆΠ°Π΅ΠΌΠΈ DELETE. Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ² (Postgres.ai)

МоТС Π±ΠΈ Π½Π°ΡˆΠ΅Ρ‚ΠΎ ΠΎΠ±ΠΎΡ€ΡƒΠ΄Π²Π°Π½Π΅ Π΅ лошо? Ако ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅Ρ‚Π΅, латСнтността Π΅ скочила. ВидяхмС, Ρ‡Π΅ Ρ€Π΅Ρ†ΠΈΠΊΠ»ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π΅ 100%. Π Π°Π·Π±ΠΈΡ€Π° сС, Π°ΠΊΠΎ Ρ‚ΠΎΠ²Π° бяха ΠΌΠΎΠ΄Π΅Ρ€Π½ΠΈ NVMe устройства, вСроятно Ρ‰Π΅ΡˆΠ΅ Π΄Π° Π½ΠΈ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-лСсно. И ΠΌΠΎΠΆΠ΅ Π±ΠΈ Π½Π΅ Π±ΠΈΡ…ΠΌΠ΅ Π»Π΅Π³Π½Π°Π»ΠΈ Π·Π°Ρ€Π°Π΄ΠΈ Ρ‚ΠΎΠ²Π°.

Ако ΠΈΠΌΠ°Ρ‚Π΅ ΠΎΠ±Π»Π°Ρ†ΠΈ, Ρ‚ΠΎΠ³Π°Π²Π° Π½Π°Π΄Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π΅ лСсно. ΠŸΡƒΡΠ½Π°Ρ…ΠΌΠ΅ Π½ΠΎΠ²ΠΈ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ Π½Π° Π½ΠΎΠ² Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€. ΠŸΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π²Π°ΠΌ. И всичко Π΅ Π½Π°Ρ€Π΅Π΄. Доста лСсно.

Π£Π²Π°ΠΆΠ°Π΅ΠΌΠΈ DELETE. Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ² (Postgres.ai)

Π’ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ Π΅ ΠΏΠΎ някакъв Π½Π°Ρ‡ΠΈΠ½ Π΄Π° сС докоснат ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΈ дисковС? И Ρ‚ΡƒΠΊ, с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° DBA, сС потапямС Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° Ρ‚Π΅ΠΌΠ°, Π½Π°Ρ€Π΅Ρ‡Π΅Π½Π° настройка Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½ΠΈ Ρ‚ΠΎΡ‡ΠΊΠΈ. Оказва сС, Ρ‡Π΅ Π½Π΅ смС ΠΈΠ·Π²ΡŠΡ€ΡˆΠΈΠ»ΠΈ настройка Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½ΠΈ Ρ‚ΠΎΡ‡ΠΊΠΈ.

Какво Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½ΠΎ-пропускатСлСн ΠΏΡƒΠ½ΠΊΡ‚? Π’ΠΎΠ²Π° Π΅ Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΎ във всяка Π‘Π£Π‘Π”. ΠšΠΎΠ³Π°Ρ‚ΠΎ Π΄Π°Π½Π½ΠΈΡ‚Π΅ Π² ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π²ΠΈ сС промСнят, Ρ‚Π΅ Π½Π΅ сС записват Π²Π΅Π΄Π½Π°Π³Π° Π½Π° дисковС. Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡΡ‚Π°, Ρ‡Π΅ Π΄Π°Π½Π½ΠΈΡ‚Π΅ са ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅Π½ΠΈ, ΠΏΡŠΡ€Π²ΠΎ сС записва Π² рСгистрационния Ρ„Π°ΠΉΠ» Π·Π° Π½Π°ΠΏΡ€Π΅Π΄, Π² ΠΆΡƒΡ€Π½Π°Π»Π° Π·Π° ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ записванС. И Π² Π΅Π΄ΠΈΠ½ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π‘Π£Π‘Π” Ρ€Π΅ΡˆΠ°Π²Π°, Ρ‡Π΅ Π΅ Π²Ρ€Π΅ΠΌΠ΅ Π΄Π° Ρ…Π²ΡŠΡ€Π»ΠΈ истинскитС страници Π½Π° диска, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Π°ΠΊΠΎ ΠΈΠΌΠ°ΠΌΠ΅ Π³Ρ€Π΅ΡˆΠΊΠ°, Π΄Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΏΡ€Π°Π²ΠΈΠΌ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ REDO. Π’ΠΎΠ²Π° Π΅ ΠΊΠ°Ρ‚ΠΎ ΠΈΠ³Ρ€Π°Ρ‡ΠΊΠ°. Ако бъдСм ΡƒΠ±ΠΈΡ‚ΠΈ, Ρ‰Π΅ Π·Π°ΠΏΠΎΡ‡Π½Π΅ΠΌ ΠΈΠ³Ρ€Π°Ρ‚Π° ΠΎΡ‚ послСдната ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ°. И всички Π‘Π£Π‘Π” ΠΏΡ€ΠΈΠ»Π°Π³Π°Ρ‚ Ρ‚ΠΎΠ²Π°.

Π£Π²Π°ΠΆΠ°Π΅ΠΌΠΈ DELETE. Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ² (Postgres.ai)

НастройкитС Π² Postgres изостават. Π’Π΅ са ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈ Π·Π° 10-15 годишни ΠΎΠ±Π΅ΠΌΠΈ ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. И ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½ΠΎ-пропускатСлният ΠΏΡƒΠ½ΠΊΡ‚ Π½Π΅ Π΅ ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅.

Π’Π°Π·ΠΈ информация Π΅ ΠΎΡ‚ нашия ΠΎΡ‚Ρ‡Π΅Ρ‚ с Postgres check-up, Ρ‚.Π΅. Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° Π·Π΄Ρ€Π°Π²Π΅Ρ‚ΠΎ. И Ρ‚ΡƒΠΊ ΠΈΠΌΠ° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ няколко Ρ‚Π΅Ρ€Π°Π±Π°ΠΉΡ‚Π°. И Π΅ ясно, Ρ‡Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½ΠΎ-пропускатСлнитС ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ²Π΅ са ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»Π½ΠΈ Π² ΠΏΠΎΡ‡Ρ‚ΠΈ 90% ΠΎΡ‚ случаитС.

Какво ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°? Π’Π°ΠΌ ΠΈΠΌΠ° Π΄Π²Π΅ настройки. ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½Π°Ρ‚Π° Ρ‚ΠΎΡ‡ΠΊΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° сС появи Π² ΠΈΠ·Ρ‡Π°ΠΊΠ²Π°Π½Π΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ слСд 10 ΠΌΠΈΠ½ΡƒΡ‚ΠΈ. Или ΠΌΠΎΠΆΠ΅ Π΄Π° възникнС, ΠΊΠΎΠ³Π°Ρ‚ΠΎ са попълнСни доста ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π°Π½Π½ΠΈ.

И ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ max_wal_saze Π΅ настроСн Π½Π° 1 Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚. Π’ΡΡŠΡ‰Π½ΠΎΡΡ‚ Ρ‚ΠΎΠ²Π° Ρ€Π΅Π°Π»Π½ΠΎ сС случва Π² Postgres слСд 300-400 ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚Π°. ΠŸΡ€ΠΎΠΌΠ΅Π½ΠΈΠ»ΠΈ стС Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π°Π½Π½ΠΈ ΠΈ ΠΈΠΌΠ°Ρ‚Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ°.

И Π°ΠΊΠΎ Π½ΠΈΠΊΠΎΠΉ Π½Π΅ Π³ΠΎ Π΅ настроил, Π½ΠΎ услугата Π΅ нараснала ΠΈ компанията ΠΏΠ΅Ρ‡Π΅Π»ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ°Ρ€ΠΈ, ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ, Ρ‚ΠΎΠ³Π°Π²Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½Π°Ρ‚Π° Ρ‚ΠΎΡ‡ΠΊΠ° сС появява вСднъТ Π½Π° ΠΌΠΈΠ½ΡƒΡ‚Π°, понякога вСднъТ Π½Π° всСки 30 сСкунди, Π° понякога Π΄ΠΎΡ€ΠΈ сС ΠΏΡ€ΠΈΠΏΠΎΠΊΡ€ΠΈΠ²Π°Ρ‚ . Π’ΠΎΠ²Π° наистина Π΅ лошо.

И трябва Π΄Π° сС ΡƒΠ²Π΅Ρ€ΠΈΠΌ, Ρ‡Π΅ ΠΈΠ΄Π²Π° ΠΏΠΎ-рядко. ВоСст ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° повишим max_wal_size. И Ρ‚ΠΎΠΉ Ρ‰Π΅ Π°Ρ‚Π°ΠΊΡƒΠ²Π° ΠΏΠΎ-рядко.

Но Π½ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΈΡ…ΠΌΠ΅ цяла мСтодология ΠΊΠ°ΠΊ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ Ρ‚ΠΎΠ²Π° ΠΏΠΎ-ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ, тоСст ΠΊΠ°ΠΊ Π΄Π° Π²Π·Π΅ΠΌΠ΅ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π° ΠΈΠ·Π±ΠΎΡ€ Π½Π° настройки, ясно въз основа Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΈ Π΄Π°Π½Π½ΠΈ.

Π£Π²Π°ΠΆΠ°Π΅ΠΌΠΈ DELETE. Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ² (Postgres.ai)

Π‘ΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΎ ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°ΠΌΠ΅ Π΄Π²Π΅ сСрии ΠΎΡ‚ СкспСримСнти с Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ.

ΠŸΡŠΡ€Π²Π° сСрия - промСнямС max_wal_size. И ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°ΠΌΠ΅ ΠΌΠ°Ρ‰Π°Π±Π½Π° опСрация. ΠŸΡŠΡ€Π²ΠΎ Π³ΠΎ ΠΏΡ€Π°Π²ΠΈΠΌ ΠΏΡ€ΠΈ настройката ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ ΠΎΡ‚ 1 Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚. И Π½ΠΈΠ΅ ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°ΠΌΠ΅ масивно Π˜Π—Π’Π Π˜Π’ΠΠΠ• Π½Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠΈΠ»ΠΈΠΎΠ½ΠΈ Ρ€Π΅Π΄ΠΎΠ²Π΅.

Π’ΠΈΠΆΠ΄Π°Ρ‚Π΅ ΠΊΠΎΠ»ΠΊΠΎ Π½ΠΈ Π΅ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ. Π’ΠΈΠΆΠ΄Π°ΠΌΠ΅, Ρ‡Π΅ IO Π½Π° диска Π΅ ΠΌΠ½ΠΎΠ³ΠΎ лош. НСка Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ ΠΊΠΎΠ»ΠΊΠΎ WAL смС Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π»ΠΈ, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Ρ‚ΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π°ΠΆΠ½ΠΎ. Π”Π° Π²ΠΈΠ΄ΠΈΠΌ ΠΊΠΎΠ»ΠΊΠΎ ΠΏΡŠΡ‚ΠΈ сС Π΅ случила ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½Π°Ρ‚Π° Ρ‚ΠΎΡ‡ΠΊΠ°. И Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅, Ρ‡Π΅ Π½Π΅ Π΅ Π΄ΠΎΠ±Ρ€Π΅.

Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° ΡƒΠ²Π΅Π»ΠΈΡ‡Π°Π²Π°ΠΌΠ΅ max_wal_size. ΠŸΠΎΠ²Ρ‚Π°Ρ€ΡΠΌΠ΅. Π£Π²Π΅Π»ΠΈΡ‡Π΅Ρ‚Π΅, ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Ρ‚Π΅. И Ρ‚Π°ΠΊΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡŠΡ‚ΠΈ. По ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ 10 Ρ‚ΠΎΡ‡ΠΊΠΈ Π΅ Π΄ΠΎΠ±Ρ€Π΅, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ 1, 2, 4, 8 Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚Π°. И Π½ΠΈΠ΅ Ρ€Π°Π·Π³Π»Π΅ΠΆΠ΄Π°ΠΌΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Π° систСма. Ясно Π΅, Ρ‡Π΅ ΠΎΠ±ΠΎΡ€ΡƒΠ΄Π²Π°Π½Π΅Ρ‚ΠΎ Ρ‚ΡƒΠΊ трябва Π΄Π° Π΅ ΠΊΠ°Ρ‚ΠΎ Π½Π° ΠΏΡ€ΠΎΠ΄. Врябва Π΄Π° ΠΈΠΌΠ°Ρ‚Π΅ ΡΡŠΡ‰ΠΈΡ‚Π΅ дисковС, ΡΡŠΡ‰ΠΎΡ‚ΠΎ количСство ΠΏΠ°ΠΌΠ΅Ρ‚ ΠΈ ΡΡŠΡ‰ΠΈΡ‚Π΅ настройки Π½Π° Postgres.

И ΠΏΠΎ Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ Ρ‰Π΅ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠΌ Π½Π°ΡˆΠ°Ρ‚Π° систСма ΠΈ Π·Π½Π°Π΅ΠΌ ΠΊΠ°ΠΊ Ρ‰Π΅ сС Π΄ΡŠΡ€ΠΆΠΈ Π‘Π£Π‘Π” Π² случай Π½Π° лошо масово Π˜Π—Π’Π Π˜Π’ΠΠΠ•, ΠΊΠ°ΠΊ Ρ‰Π΅ провСрява.

Π§Π΅ΠΊΠΏΠΎΠΉΠ½Ρ‚ Π½Π° руски ΠΎΠ·Π½Π°Ρ‡Π°Π²Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½ΠΈ Ρ‚ΠΎΡ‡ΠΊΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: Π˜Π—Π’Π Π˜Π’ΠΠΠ• Π½Π° няколко ΠΌΠΈΠ»ΠΈΠΎΠ½Π° Ρ€Π΅Π΄Π° ΠΏΠΎ индСкс, Ρ€Π΅Π΄ΠΎΠ²Π΅Ρ‚Π΅ са β€žΡ€Π°Π·ΠΏΡ€ΡŠΡΠ½Π°Ρ‚ΠΈβ€œ ΠΏΠΎ страницитС.

Π£Π²Π°ΠΆΠ°Π΅ΠΌΠΈ DELETE. Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ² (Postgres.ai)

Π•Ρ‚ΠΎ Π΅Π΄ΠΈΠ½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€. Π’ΠΎΠ²Π° Π΅ някаква основа. И с настройката ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ ΠΎΡ‚ 1 Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚ Π·Π° max_wal_size, ΠΌΠ½ΠΎΠ³ΠΎ ясно, Ρ‡Π΅ Π½Π°ΡˆΠΈΡ‚Π΅ дисковС Π·Π° запис ΠΎΡ‚ΠΈΠ²Π°Ρ‚ Π½Π° Ρ€Π°Ρ„Ρ‚Π°. Π’Π°Π·ΠΈ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Π° Π΅ Ρ‚ΠΈΠΏΠΈΡ‡Π΅Π½ симптом Π½Π° ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ»Π΅Π½ ΠΏΠ°Ρ†ΠΈΠ΅Π½Ρ‚, тоСст Ρ‚ΠΎΠΉ наистина сС Ρ‡ΡƒΠ²ΡΡ‚Π²Π°ΡˆΠ΅ Π·Π»Π΅. И имашС само Π΅Π΄Π½Π° опСрация, Ρ‚ΡƒΠΊ бСшС само Π˜Π—Π’Π Π˜Π’ΠΠΠ• Π½Π° няколко ΠΌΠΈΠ»ΠΈΠΎΠ½Π° Ρ€Π΅Π΄Π°.

Ако Ρ‚Π°ΠΊΠ°Π²Π° опСрация Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π° Π² prod, Ρ‚ΠΎΠ³Π°Π²Π° просто Ρ‰Π΅ ΠΏΠ°Π΄Π½Π΅ΠΌ, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π΅ ясно, Ρ‡Π΅ Π΅Π΄ΠΈΠ½ DELETE Π½ΠΈ ΡƒΠ±ΠΈΠ²Π° Π² Ρ€Π°Ρ„Ρ‚Π°.

Π£Π²Π°ΠΆΠ°Π΅ΠΌΠΈ DELETE. Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ² (Postgres.ai)

ОсвСн Ρ‚ΠΎΠ²Π°, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ ΠΈΠΌΠ° 16 Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚Π°, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Π΅ Π·ΡŠΠ±ΠΈΡ‚Π΅ Π²Π΅Ρ‡Π΅ са Π·Π°ΠΏΠΎΡ‡Π½Π°Π»ΠΈ Π΄Π° сС появяват. Π—ΡŠΠ±ΠΈΡ‚Π΅ Π²Π΅Ρ‡Π΅ са ΠΏΠΎ-Π΄ΠΎΠ±Ρ€Π΅, Ρ‚.Π΅. Ρ‡ΡƒΠΊΠ°ΠΌΠ΅ ΠΏΠΎ Ρ‚Π°Π²Π°Π½Π°, Π½ΠΎ Π½Π΅ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° Π·Π»Π΅. Π’Π°ΠΌ сС появи ΠΌΠ°Π»ΠΊΠΎ свобода. Вдясно Π΅ Π·Π°ΠΏΠΈΡΡŠΡ‚. А броят Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅ Π΅ Π²Ρ‚ΠΎΡ€Π°Ρ‚Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ°. И Π΅ ясно, Ρ‡Π΅ Π²Π΅Ρ‡Π΅ дишамС ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎ-лСсно с 16 Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚Π°.

Π£Π²Π°ΠΆΠ°Π΅ΠΌΠΈ DELETE. Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ² (Postgres.ai)

И Ρ‚Π°ΠΌ, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ сС Π²ΠΈΠΆΠ΄Π°Ρ‚ 64 Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚Π°, стана напълно ΠΏΠΎ-Π΄ΠΎΠ±Ρ€Π΅. Π’Π΅Ρ‡Π΅ Π·ΡŠΠ±ΠΈΡ‚Π΅ са ясно Π²ΠΈΠ΄ΠΈΠΌΠΈ, ΠΈΠΌΠ° ΠΏΠΎΠ²Π΅Ρ‡Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π΄Π° ΠΎΡ†Π΅Π»Π΅Π΅Ρ‚Π΅ ΠΏΡ€ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Π½Π΅Ρ‰ΠΎ с диска.

Π—Π°Ρ‰ΠΎ?

Π£Π²Π°ΠΆΠ°Π΅ΠΌΠΈ DELETE. Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ² (Postgres.ai)

Π©Π΅ сС потопя ΠΌΠ°Π»ΠΊΠΎ Π² подробноститС, Π½ΠΎ Ρ‚Π°Π·ΠΈ Ρ‚Π΅ΠΌΠ° Π·Π° Ρ‚ΠΎΠ²Π° ΠΊΠ°ΠΊ Π΄Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠΈΡ‚Π΅ настройка Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½ΠΈ Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ цял Π΄ΠΎΠΊΠ»Π°Π΄, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ няма Π΄Π° Π½Π°Π²Π»ΠΈΠ·Π°ΠΌ Π² ΠΌΠ½ΠΎΠ³ΠΎ подробности, Π½ΠΎ Ρ‰Π΅ очСртая ΠΌΠ°Π»ΠΊΠΎ ΠΊΠ°ΠΊΠ²ΠΈ трудности ΠΈΠΌΠ°.

Ако ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½Π°Ρ‚Π° Ρ‚ΠΎΡ‡ΠΊΠ° сС случва Ρ‚Π²ΡŠΡ€Π΄Π΅ чСсто ΠΈ Π½ΠΈΠ΅ Π½Π΅ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°ΠΌΠ΅ Ρ€Π΅Π΄ΠΎΠ²Π΅Ρ‚Π΅ си послСдоватСлно, Π° Π³ΠΈ Π½Π°ΠΌΠΈΡ€Π°ΠΌΠ΅ ΠΏΠΎ индСкс, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ Π΄ΠΎΠ±Ρ€Π΅, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π½Π΅ ΠΈΠ·Ρ‚Ρ€ΠΈΠ²Π°ΠΌΠ΅ цялата Ρ‚Π°Π±Π»ΠΈΡ†Π°, Ρ‚ΠΎΠ³Π°Π²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° сС случи, Ρ‡Π΅ ΠΏΡŠΡ€Π²ΠΎ смС докоснали ΠΏΡŠΡ€Π²Π°Ρ‚Π° страница, слСд Ρ‚ΠΎΠ²Π° хилядната, ΠΈ слСд Ρ‚ΠΎΠ²Π° сС Π²ΡŠΡ€Π½Π° към ΠΏΡŠΡ€Π²ΠΈΡ . И Π°ΠΊΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚Π΅Π·ΠΈ посСщСния Π½Π° ΠΏΡŠΡ€Π²Π°Ρ‚Π° страница ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½Π°Ρ‚Π° Ρ‚ΠΎΡ‡ΠΊΠ° Π²Π΅Ρ‡Π΅ Π³ΠΎ Π΅ записала Π½Π° диск, Ρ‚ΠΎΠ³Π°Π²Π° Ρ‰Π΅ Π³ΠΎ Π·Π°ΠΏΠ°Π·ΠΈ ΠΎΡ‚Π½ΠΎΠ²ΠΎ, Π·Π°Ρ‰ΠΎΡ‚ΠΎ смС Π³ΠΎ ΠΈΠ·Ρ†Π°ΠΏΠ°Π»ΠΈ Π²Ρ‚ΠΎΡ€ΠΈ ΠΏΡŠΡ‚.

И Π½ΠΈΠ΅ Ρ‰Π΅ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΠΌ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½ΠΎ-пропускатСлния ΠΏΡƒΠ½ΠΊΡ‚ Π΄Π° Π³ΠΎ спаси ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡŠΡ‚ΠΈ. ΠšΠ°Ρ‚ΠΎ Ρ‡Π΅ Π»ΠΈ ΠΈΠΌΠ° излишни ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π·Π° Π½Π΅Π³ΠΎ.

Π£Π²Π°ΠΆΠ°Π΅ΠΌΠΈ DELETE. Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ² (Postgres.ai)

Но Ρ‚ΠΎΠ²Π° Π½Π΅ Π΅ всичко. Π’ Postgres страницитС Ρ‚Π΅ΠΆΠ°Ρ‚ 8 ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡ‚Π°, Π° Π² Linux 4 ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡ‚Π°. И ΠΈΠΌΠ° настройка full_page_writes. Π’ΠΎΠΉ Π΅ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½ ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅. И Ρ‚ΠΎΠ²Π° Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π°ΠΊΠΎ Π³ΠΎ ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΠΌ, ΠΈΠΌΠ° опасност ΠΏΡ€ΠΈ ΠΏΠΎΠ²Ρ€Π΅Π΄Π° Π΄Π° сС Π·Π°ΠΏΠ°Π·ΠΈ само ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π°Ρ‚Π° ΠΎΡ‚ страницата.

ΠŸΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° записа Π² WAL Π½Π° ΠΆΡƒΡ€Π½Π°Π»Π° Π·Π° ΠΏΡ€Π΅ΠΏΡ€Π°Ρ‰Π°Π½Π΅ Π΅ Ρ‚Π°ΠΊΠΎΠ²Π°, Ρ‡Π΅ ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΈΠΌΠ°ΠΌΠ΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ° ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΠΌ страница Π·Π° ΠΏΡŠΡ€Π²ΠΈ ΠΏΡŠΡ‚, цялата страница, тоСст всичкитС 8 ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡ‚Π°, Π·Π°Π²ΡŠΡ€ΡˆΠ²Π° Π² ΠΆΡƒΡ€Π½Π°Π»Π° Π·Π° ΠΏΡ€Π΅ΠΏΡ€Π°Ρ‰Π°Π½Π΅, Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ само Ρ€Π΅Π΄, ΠΊΠΎΠΉΡ‚ΠΎ Ρ‚Π΅ΠΆΠΈ 100 Π±Π°ΠΉΡ‚Π°. И смС ΠΏΡ€ΠΈΠ½ΡƒΠ΄Π΅Π½ΠΈ Π΄Π° запишСм цялата страница.

Π’ слСдващитС ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Ρ‰Π΅ ΠΈΠΌΠ° само ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π΅Π½ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ, Π½ΠΎ Π·Π° ΠΏΡŠΡ€Π²ΠΈ ΠΏΡŠΡ‚ записвамС всичко.

И ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΎ, Π°ΠΊΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½Π°Ρ‚Π° Ρ‚ΠΎΡ‡ΠΊΠ° сС случи ΠΎΡ‚Π½ΠΎΠ²ΠΎ, Ρ‚ΠΎΠ³Π°Π²Π° трябва Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅ΠΌ всичко ΠΎΡ‚ Π½ΡƒΠ»Π°Ρ‚Π° ΠΈ Π΄Π° Π½Π°Ρ‚ΡŠΠΏΡ‡Π΅ΠΌ цялата страница. ΠŸΡ€ΠΈ чСсти ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½ΠΈ Ρ‚ΠΎΡ‡ΠΊΠΈ, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π°ΠΌΠ΅ ΠΏΡ€Π΅Π· Π΅Π΄Π½ΠΈ ΠΈ ΡΡŠΡ‰ΠΈ страници, full_page_writes = on Ρ‰Π΅ бъдС ΠΏΠΎ-голямо, ΠΎΡ‚ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ Π±ΠΈ ΠΌΠΎΠ³Π»ΠΎ Π΄Π° бъдС, Ρ‚.Π΅. Π½ΠΈΠ΅ Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°ΠΌΠ΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ WAL. ΠŸΠΎΠ²Π΅Ρ‡Π΅ сС ΠΈΠ·ΠΏΡ€Π°Ρ‰Π° Π½Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ, Π² Π°Ρ€Ρ…ΠΈΠ²Π°, Π½Π° диск.

И ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΎ ΠΈΠΌΠ°ΠΌΠ΅ Π΄Π²Π΅ ΡΡŠΠΊΡ€Π°Ρ‰Π΅Π½ΠΈΡ.

Π£Π²Π°ΠΆΠ°Π΅ΠΌΠΈ DELETE. Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ² (Postgres.ai)

Ако ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠΌ max_wal_size, сС ΠΎΠΊΠ°Π·Π²Π°, Ρ‡Π΅ улСснявамС Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° ΠΊΠ°ΠΊΡ‚ΠΎ Π½Π° checkpoint, Ρ‚Π°ΠΊΠ° ΠΈ Π½Π° wal writer. И Ρ‚ΠΎΠ²Π° Π΅ страхотно.

НСка инсталирамС Ρ‚Π΅Ρ€Π°Π±Π°ΠΉΡ‚ ΠΈ Π΄Π° ΠΆΠΈΠ²Π΅Π΅ΠΌ с Π½Π΅Π³ΠΎ. Какво ΠΌΡƒ Π΅ Π»ΠΎΡˆΠΎΡ‚ΠΎ? Π’ΠΎΠ²Π° Π΅ лошо, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π² случай Π½Π° ΠΏΠΎΠ²Ρ€Π΅Π΄Π° Ρ‰Π΅ ставамС с часовС, Π·Π°Ρ‰ΠΎΡ‚ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½ΠΎ-пропускатСлният ΠΏΡƒΠ½ΠΊΡ‚ бСшС ΠΎΡ‚Π΄Π°Π²Π½Π° ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π΅Ρ‡Π΅ сС ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ. И трябва Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ REDO Π·Π° всичко Ρ‚ΠΎΠ²Π°. И Ρ‚Π°ΠΊΠ°, Π½ΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠΌ Π²Ρ‚ΠΎΡ€Π° сСрия ΠΎΡ‚ СкспСримСнти.

Π˜Π·Π²ΡŠΡ€ΡˆΠ²Π°ΠΌΠ΅ опСрацията ΠΈ Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅ ΠΊΠΎΠ³Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½Π°Ρ‚Π° Ρ‚ΠΎΡ‡ΠΊΠ° Π΅ Π±Π»ΠΈΠ·ΠΎ Π΄ΠΎ Π·Π°Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅, Π½Π°Ρ€ΠΎΡ‡Π½ΠΎ ΠΏΡ€Π°Π²ΠΈΠΌ kill -9 Postgres.

И слСд Ρ‚ΠΎΠ²Π° Π³ΠΎ стартирамС ΠΎΡ‚Π½ΠΎΠ²ΠΎ ΠΈ Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅ ΠΊΠΎΠ»ΠΊΠΎ Π²Ρ€Π΅ΠΌΠ΅ Ρ‰Π΅ ΠΎΡ‚Π½Π΅ΠΌΠ΅ Π΄Π° сС ΠΈΠ·Π΄ΠΈΠ³Π½Π΅ Π½Π° Ρ‚ΠΎΠ²Π° ΠΎΠ±ΠΎΡ€ΡƒΠ΄Π²Π°Π½Π΅, Ρ‚.Π΅. ΠΊΠΎΠ»ΠΊΠΎ REDO Ρ‰Π΅ Π½Π°ΠΏΡ€Π°Π²ΠΈ Π² Ρ‚Π°Π·ΠΈ лоша ситуация.

Π”Π²Π° ΠΏΡŠΡ‚ΠΈ Ρ‰Π΅ ΠΎΡ‚Π±Π΅Π»Π΅ΠΆΠ°, Ρ‡Π΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π΅ лошо. ΠŸΡŠΡ€Π²ΠΎ, ΠΏΠ°Π΄Π½Π°Ρ…ΠΌΠ΅ Ρ‚ΠΎΡ‡Π½ΠΎ ΠΏΡ€Π΅Π΄ΠΈ края Π½Π° контролния ΠΏΡƒΠ½ΠΊΡ‚, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ ΠΈΠΌΠ°ΠΌΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ Π·Π° Π³ΡƒΠ±Π΅Π½Π΅. И Π²Ρ‚ΠΎΡ€ΠΎ, ΠΈΠΌΠ°Ρ…ΠΌΠ΅ ΠΌΠ°Ρ‰Π°Π±Π½Π° опСрация. И Π°ΠΊΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½ΠΈΡ‚Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΈΠΌΠ°Ρ…Π° ΠΈΠ·Ρ‡Π°ΠΊΠ²Π°Π½Π΅, Ρ‚ΠΎΠ³Π°Π²Π° Π½Π°ΠΉ-вСроятно Ρ‰Π΅ΡˆΠ΅ Π΄Π° сС Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π° ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ WAL ΠΎΡ‚ послСдната ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ°. ВоСст, Ρ‚ΠΎΠ²Π° Π΅ Π΄Π²Π° ΠΏΡŠΡ‚ΠΈ Π³ΡƒΠ±Π΅Ρ‰.

НиС ΠΈΠ·ΠΌΠ΅Ρ€Π²Π°ΠΌΠ΅ Ρ‚Π°Π·ΠΈ ситуация Π·Π° Ρ€Π°Π·Π»ΠΈΡ‡Π΅Π½ max_wal_size ΠΈ Ρ€Π°Π·Π±ΠΈΡ€Π°ΠΌΠ΅, Ρ‡Π΅ Π°ΠΊΠΎ max_wal_size Π΅ 64 Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚Π°, Ρ‚ΠΎΠ³Π°Π²Π° Π² Π΄Π²ΠΎΠΉΠ½ΠΎ Π½Π°ΠΉ-лоша ситуация Ρ‰Π΅ сС ΠΈΠ·Π΄ΠΈΠ³Π½Π΅ΠΌ Π·Π° 10 ΠΌΠΈΠ½ΡƒΡ‚ΠΈ. И мислим Π΄Π°Π»ΠΈ Ρ‚ΠΎΠ²Π° Π½ΠΈ устройва ΠΈΠ»ΠΈ Π½Π΅. Π’ΠΎΠ²Π° Π΅ бизнСс Π²ΡŠΠΏΡ€ΠΎΡ. Врябва Π΄Π° ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ Ρ‚Π°Π·ΠΈ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Π° Π½Π° ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€Π½ΠΈΡ‚Π΅ Π·Π° бизнСс Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΡ‚Π° ΠΈ Π΄Π° ΠΏΠΎΠΏΠΈΡ‚Π°ΠΌΠ΅: β€žΠšΠΎΠ»ΠΊΠΎ Π΅ максималното Π²Ρ€Π΅ΠΌΠ΅, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Ρ‡Π°ΠΊΠ°ΠΌΠ΅ Π² случай Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ? МоТСм Π»ΠΈ Π΄Π° Π»Π΅Π³Π½Π΅ΠΌ Π² ΠΏΠΎ-лоша ситуация Π·Π° 3-5 ΠΌΠΈΠ½ΡƒΡ‚ΠΈ?β€œ И взСмаш Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅.

И Ρ‚ΡƒΠΊ ΠΈΠΌΠ° Π΅Π΄ΠΈΠ½ интСрСсСн ΠΌΠΎΠΌΠ΅Π½Ρ‚. ИмамС няколко Π΄ΠΎΠΊΠ»Π°Π΄Π° Π·Π° Patroni Π½Π° конфСрСнцията. И ΠΌΠΎΠΆΠ΅ Π±ΠΈ Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅. Π’ΠΎΠ²Π° Π΅ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅Π½ ΠΎΡ‚ΠΊΠ°Π· Π·Π° Postgres. GitLab ΠΈ Data Egret Π³ΠΎΠ²ΠΎΡ€ΠΈΡ…Π° Π·Π° Ρ‚ΠΎΠ²Π°.

И Π°ΠΊΠΎ ΠΈΠΌΠ°Ρ‚Π΅ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅Π½ ΠΎΡ‚ΠΊΠ°Π·, ΠΊΠΎΠΉΡ‚ΠΎ Ρ‰Π΅ сС случи слСд 30 сСкунди, Ρ‚ΠΎΠ³Π°Π²Π° ΠΌΠΎΠΆΠ΅ Π±ΠΈ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π»Π΅Π³Π½Π΅ΠΌ Π·Π° 10 ΠΌΠΈΠ½ΡƒΡ‚ΠΈ? Π—Π°Ρ‰ΠΎΡ‚ΠΎ Π΄ΠΎ Ρ‚ΠΎΠ·ΠΈ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Ρ‰Π΅ ΠΏΡ€Π΅ΠΌΠΈΠ½Π΅ΠΌ към Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ‚Π° ΠΈ всичко Ρ‰Π΅ бъдС Π½Π°Ρ€Π΅Π΄. Π’ΠΎΠ²Π° Π΅ спорСн Π²ΡŠΠΏΡ€ΠΎΡ. НС Π·Π½Π°ΠΌ ясСн ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€. ΠŸΡ€ΠΎΡΡ‚ΠΎ чувствам, Ρ‡Π΅ Ρ‚Π°Π·ΠΈ Ρ‚Π΅ΠΌΠ° Π½Π΅ Π΅ само Π·Π° Π²ΡŠΠ·ΡΡ‚Π°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ слСд бСдствиС.

Ако ΠΈΠΌΠ°ΠΌΠ΅ дълго Π²ΡŠΠ·ΡΡ‚Π°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ ΠΎΡ‚ ΠΏΡ€ΠΎΠ²Π°Π», Ρ‚ΠΎΠ³Π°Π²Π° Ρ‰Π΅ сС чувствамС Π½Π΅ΡƒΠ΄ΠΎΠ±Π½ΠΎ Π² ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈ ситуации. НапримСр Π² ΡΡŠΡ‰ΠΈΡ‚Π΅ СкспСримСнти, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈΠΌ Π½Π΅Ρ‰ΠΎ ΠΈ понякога трябва Π΄Π° ΠΈΠ·Ρ‡Π°ΠΊΠ°ΠΌΠ΅ 10 ΠΌΠΈΠ½ΡƒΡ‚ΠΈ.

ВсС ΠΎΡ‰Π΅ Π½Π΅ Π±ΠΈΡ… ΠΎΡ‚ΠΈΡˆΡŠΠ» Ρ‚Π²ΡŠΡ€Π΄Π΅ Π΄Π°Π»Π΅Ρ‡, Π΄ΠΎΡ€ΠΈ Π°ΠΊΠΎ ΠΈΠΌΠ°ΠΌΠ΅ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΡΠ½Π΅ Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ. По ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ стойности ΠΊΠ°Ρ‚ΠΎ 64, 100 Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚Π° са Π΄ΠΎΠ±Ρ€ΠΈ стойности. Понякога Π΄ΠΎΡ€ΠΈ си струва Π΄Π° ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ. Π˜Π·ΠΎΠ±Ρ‰ΠΎ Ρ‚ΠΎΠ²Π° Π΅ Ρ‚ΡŠΠ½ΠΊΠ° Π½Π°ΡƒΠΊΠ°.

Π£Π²Π°ΠΆΠ°Π΅ΠΌΠΈ DELETE. Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ² (Postgres.ai)

Π—Π° Π΄Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, max_wal_size = 1, 8, трябва Π΄Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ масовата опСрация ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡŠΡ‚ΠΈ. Направи Π³ΠΎ. И искатС Π΄Π° Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ ΠΎΡ‚Π½ΠΎΠ²ΠΎ Π½Π° ΡΡŠΡ‰Π°Ρ‚Π° Π±Π°Π·Π°, Π½ΠΎ Π²Π΅Ρ‡Π΅ стС ΠΈΠ·Ρ‚Ρ€ΠΈΠ»ΠΈ всичко. Какво Π΄Π° правя?

Π©Π΅ Π²ΠΈ Ρ€Π°Π·ΠΊΠ°ΠΆΠ° ΠΏΠΎ-късно Π·Π° Π½Π°ΡˆΠ΅Ρ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΈ ΠΊΠ°ΠΊΠ²ΠΎ ΠΏΡ€Π°Π²ΠΈΠΌ, Π·Π° Π΄Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΠΌ Π² Ρ‚Π°ΠΊΠΈΠ²Π° ситуации. И Ρ‚ΠΎΠ²Π° Π΅ Π½Π°ΠΉ-правилният ΠΏΠΎΠ΄Ρ…ΠΎΠ΄.

Но Π² случая ΠΈΠΌΠ°Ρ…ΠΌΠ΅ ΠΊΡŠΡΠΌΠ΅Ρ‚. Ако, ΠΊΠ°ΠΊΡ‚ΠΎ сС ΠΊΠ°Π·Π²Π° Ρ‚ΡƒΠΊ β€žΠΠΠ§ΠΠ›Πž, Π˜Π—Π’Π Π˜Π’ΠΠΠ•, Π’Π ΠͺΠ©ΠΠΠ•β€œ, Ρ‚ΠΎΠ³Π°Π²Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΠΌ Π˜Π—Π’Π Π˜Π’ΠΠΠ•. ВоСст, Π°ΠΊΠΎ сами смС Π³ΠΎ ΠΎΡ‚ΠΌΠ΅Π½ΠΈΠ»ΠΈ, Ρ‚ΠΎΠ³Π°Π²Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π³ΠΎ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΠΌ. И физичСски Π²Π°ΡˆΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ Ρ‚Π°ΠΌ. Π”ΠΎΡ€ΠΈ Π½Π΅ сС ΠΏΠΎΠ΄ΡƒΠ²Π°Ρˆ. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ Ρ‚Π°ΠΊΡŠΠ² DELETE.

Π’ΠΎΠ²Π° DELETE с ROLLBACK Π΅ ΠΈΠ΄Π΅Π°Π»Π½ΠΎ Π·Π° настройка Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½ΠΈ Ρ‚ΠΎΡ‡ΠΊΠΈ, Π΄ΠΎΡ€ΠΈ Π°ΠΊΠΎ няматС ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ Ρ€Π°Π·Π³ΡŠΡ€Π½Π°Ρ‚ΠΈ Π»Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€ΠΈΠΈ Π·Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ.

Π£Π²Π°ΠΆΠ°Π΅ΠΌΠΈ DELETE. Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ² (Postgres.ai)

НаправихмС Π·Π½Π°ΠΊ с Π΅Π΄Π½Π° ΠΊΠΎΠ»ΠΎΠ½Π° β€žiβ€œ. Postgres ΠΈΠΌΠ° ΠΏΠΎΠ»Π΅Π·Π½ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΈ. Π’Π΅ са Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΠΈ, освСн Π°ΠΊΠΎ Π½Π΅ Π΅ ΠΈΠ·Ρ€ΠΈΡ‡Π½ΠΎ поискано. Π’ΠΎΠ²Π° са: ctid, xmid, xmax.

Ctid Π΅ физичСският адрСс. Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° Π½ΡƒΠ»Π°, ΠΏΡŠΡ€Π²ΠΈΡΡ‚ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ Π² страницата.

Π’ΠΈΠΆΠ΄Π° сС, Ρ‡Π΅ слСд ROOLBACK ΠΊΠΎΡ€Ρ‚Π΅ΠΆΡŠΡ‚ остава Π½Π° ΡΡŠΡ‰ΠΎΡ‚ΠΎ място. ВоСст, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΎΠΏΠΈΡ‚Π°ΠΌΠ΅ ΠΎΡ‚Π½ΠΎΠ²ΠΎ, Ρ‰Π΅ сС Π΄ΡŠΡ€ΠΆΠΈ ΠΏΠΎ ΡΡŠΡ‰ΠΈΡ Π½Π°Ρ‡ΠΈΠ½. Π’ΠΎΠ²Π° Π΅ основното.

Π£Π²Π°ΠΆΠ°Π΅ΠΌΠΈ DELETE. Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ² (Postgres.ai)

Xmax Π΅ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π½Π° ΡΠΌΡŠΡ€Ρ‚Ρ‚Π° Π½Π° ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°. Π’ΠΎΠΉ Π΅ въвСдСн, Π½ΠΎ Postgres Π·Π½Π°Π΅, Ρ‡Π΅ Ρ‚Π°Π·ΠΈ транзакция Π΅ Π²ΡŠΡ€Π½Π°Ρ‚Π° Π½Π°Π·Π°Π΄, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ няма Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΄Π°Π»ΠΈ Π΅ 0 ΠΈΠ»ΠΈ Π²ΡŠΡ€Π½Π°Ρ‚Π° транзакция. Π’ΠΎΠ²Π° ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°, Ρ‡Π΅ DELETE ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠ΅ ΠΈ тСстванС Π½Π° масивни ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π° систСмното ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Π»Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€ΠΈΠΈ Π·Π° Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ Π·Π° Π±Π΅Π΄Π½ΠΈΡ‚Π΅.

Π£Π²Π°ΠΆΠ°Π΅ΠΌΠΈ DELETE. Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ² (Postgres.ai)

Π’ΡƒΠΊ става Π²ΡŠΠΏΡ€ΠΎΡ Π·Π° програмисти. ΠžΡ‚Π½ΠΎΡΠ½ΠΎ DBA ΡΡŠΡ‰ΠΎ, Ρ‚Π΅ Π²ΠΈΠ½Π°Π³ΠΈ сС ΠΊΠ°Ρ€Π°Ρ‚ Π½Π° програмиститС Π·Π° Ρ‚ΠΎΠ²Π°: β€žΠ—Π°Ρ‰ΠΎ ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° дълги ΠΈ Ρ‚Ρ€ΡƒΠ΄Π½ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ?β€œ Π’ΠΎΠ²Π° Π΅ съвсСм Ρ€Π°Π·Π»ΠΈΡ‡Π½Π° пСрпСндикулярна Ρ‚Π΅ΠΌΠ°. ΠŸΡ€Π΅Π΄ΠΈ имашС администрация, Π° сСга Ρ‰Π΅ ΠΈΠΌΠ° Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅.

ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ Π½Π΅ смС Π³ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΠ»ΠΈ Π½Π° части. Ясно Π΅. НСвъзмоТно Π΅ Π΄Π° Ρ€Π°Π·Π±ΠΈΠ΅Ρ‚Π΅ Ρ‚Π°ΠΊΡŠΠ² DELETE Π·Π° ΠΊΡƒΠΏ ΠΌΠΈΠ»ΠΈΠΎΠ½ΠΈ Ρ€Π΅Π΄ΠΎΠ²Π΅ Π½Π° части. Π’ΠΎΠ²Π° Ρ‰Π΅ ΠΎΡ‚Π½Π΅ΠΌΠ΅ 20 ΠΌΠΈΠ½ΡƒΡ‚ΠΈ ΠΈ всичко Ρ‰Π΅ Π»Π΅Π³Π½Π΅. Но, Π·Π° съТалСниС, Π΄ΠΎΡ€ΠΈ ΠΎΠΏΠΈΡ‚Π½ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ правят Π³Ρ€Π΅ΡˆΠΊΠΈ, Π΄ΠΎΡ€ΠΈ Π² ΠΌΠ½ΠΎΠ³ΠΎ Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ.

Π—Π°Ρ‰ΠΎ Ρ€Π°Π·Π±ΠΈΠ²Π°Π½Π΅Ρ‚ΠΎ Π΅ Π²Π°ΠΆΠ½ΠΎ?

  • Ако Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Π΅ Π΄ΠΈΡΠΊΡŠΡ‚ Π΅ Ρ‚Π²ΡŠΡ€Π΄, Ρ‚ΠΎΠ³Π°Π²Π° Π½Π΅ΠΊΠ° Π³ΠΎ Π·Π°Π±Π°Π²ΠΈΠΌ. И Π°ΠΊΠΎ смС счупСни, Ρ‚ΠΎΠ³Π°Π²Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΏΠ°ΡƒΠ·ΠΈ, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π·Π°Π±Π°Π²ΠΈΠΌ дросСлиранСто.

  • И няма Π΄Π° Π±Π»ΠΎΠΊΠΈΡ€Π°ΠΌΠ΅ Π΄Ρ€ΡƒΠ³ΠΈ Π·Π° дълго. Π’ някои случаи няма Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π°ΠΊΠΎ ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π°Ρ‚Π΅ истински Π±ΠΎΠΊΠ»ΡƒΠΊ, Π²ΡŠΡ€Ρ…Ρƒ ΠΊΠΎΠΉΡ‚ΠΎ Π½ΠΈΠΊΠΎΠΉ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ, Ρ‚ΠΎΠ³Π°Π²Π° Π½Π°ΠΉ-вСроятно няма Π΄Π° Π±Π»ΠΎΠΊΠΈΡ€Π°Ρ‚Π΅ Π½ΠΈΠΊΠΎΠ³ΠΎ, освСн Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° autovacuum, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Ρ‰Π΅ ΠΈΠ·Ρ‡Π°ΠΊΠ° транзакцията Π΄Π° Π·Π°Π²ΡŠΡ€ΡˆΠΈ. Но Π°ΠΊΠΎ ΠΈΠ·Ρ‚Ρ€ΠΈΠ΅Ρ‚Π΅ Π½Π΅Ρ‰ΠΎ, ΠΊΠΎΠ΅Ρ‚ΠΎ някой Π΄Ρ€ΡƒΠ³ ΠΌΠΎΠΆΠ΅ Π΄Π° поиска, Ρ‚ΠΎΠ³Π°Π²Π° Ρ‚ΠΎΠΉ Ρ‰Π΅ бъдС Π±Π»ΠΎΠΊΠΈΡ€Π°Π½, Ρ‰Π΅ ΠΈΠΌΠ° някаква Π²Π΅Ρ€ΠΈΠΆΠ½Π° рСакция. Врябва Π΄Π° сС избягват дълги Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π² уСбсайтовС ΠΈ ΠΌΠΎΠ±ΠΈΠ»Π½ΠΈ прилоТСния.

Π£Π²Π°ΠΆΠ°Π΅ΠΌΠΈ DELETE. Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ² (Postgres.ai)

https://postgres.ai/products/joe/

Π’ΠΎΠ²Π° Π΅ интСрСсно. ЧСсто Π²ΠΈΠΆΠ΄Π°ΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ Π΄Π° ΠΏΠΈΡ‚Π°Ρ‚: β€žΠšΠ°ΠΊΡŠΠ² Ρ€Π°Π·ΠΌΠ΅Ρ€ Π½Π° ΠΎΠΏΠ°ΠΊΠΎΠ²ΠΊΠ°Ρ‚Π° Π΄Π° ΠΈΠ·Π±Π΅Ρ€Π°?β€œ

Ясно Π΅, Ρ‡Π΅ ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ ΠΏΠΎ-голям Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€ΡŠΡ‚ Π½Π° ΠΏΠ°Ρ€Ρ‚ΠΈΠ΄Π°Ρ‚Π°, Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° ΠΏΠΎ-ниски са Ρ€Π΅ΠΆΠΈΠΉΠ½ΠΈΡ‚Π΅ Ρ€Π°Π·Ρ…ΠΎΠ΄ΠΈ Π·Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ, Ρ‚.Π΅. Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ Ρ€Π΅ΠΆΠΈΠΉΠ½ΠΈ Ρ€Π°Π·Ρ…ΠΎΠ΄ΠΈ Π·Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ. Но Π² ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° Ρ‚Π°Π·ΠΈ сдСлка сС ΡƒΠ²Π΅Π»ΠΈΡ‡Π°Π²Π°.

Имам ΠΌΠ½ΠΎΠ³ΠΎ просто ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ: Π²Π·Π΅ΠΌΠ΅Ρ‚Π΅ ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ Π΅ възмоТно ΠΏΠΎΠ²Π΅Ρ‡Π΅, Π½ΠΎ Π½Π΅ ΠΏΡ€Π΅Π²ΠΈΡˆΠ°Π²Π°ΠΉΡ‚Π΅ ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π·Π° сСкунда.

Π—Π°Ρ‰ΠΎ Π²Ρ‚ΠΎΡ€ΠΈ? ΠžΠ±ΡΡΠ½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ просто ΠΈ Ρ€Π°Π·Π±ΠΈΡ€Π°Π΅ΠΌΠΎ Π·Π° всСки, Π΄ΠΎΡ€ΠΈ ΠΈ Π·Π° нСтСхничСски Ρ…ΠΎΡ€Π°. Π’ΠΈΠΆΠ΄Π°ΠΌΠ΅ рСакцията. Π”Π° Π²Π·Π΅ΠΌΠ΅ΠΌ 50 милисСкунди. Ако Π½Π΅Ρ‰ΠΎ сС Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΠ»ΠΎ, ΠΎΠΊΠΎΡ‚ΠΎ Π½ΠΈ Ρ‰Π΅ Ρ€Π΅Π°Π³ΠΈΡ€Π°. Ако Π΅ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ, Π΅ ΠΏΠΎ-Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ. Ако Π½Π΅Ρ‰ΠΎ ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ΠΈ слСд 100 милисСкунди, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‰Ρ€Π°ΠΊΠ½Π°Ρ…Ρ‚Π΅ с ΠΌΠΈΡˆΠΊΠ°Ρ‚Π° ΠΈ Ρ‚ΠΎ Π²ΠΈ ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ΠΈ слСд 100 милисСкунди, Π²Π΅Ρ‡Π΅ усСщатС Ρ‚ΠΎΠ²Π° Π»Π΅ΠΊΠΎ забавянС. Π‘Π΅ΠΊΡƒΠ½Π΄Π° Π²Π΅Ρ‡Π΅ сС Π²ΡŠΠ·ΠΏΡ€ΠΈΠ΅ΠΌΠ° ΠΊΠ°Ρ‚ΠΎ спирачка.

Π‘ΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΎ, Π°ΠΊΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΠΌ масовитС си ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π° 10-сСкундни ΠΈΠ·Π±Π»ΠΈΡ†ΠΈ, рискувамС Π΄Π° Π±Π»ΠΎΠΊΠΈΡ€Π°ΠΌΠ΅ някого. И Ρ‰Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π·Π° няколко сСкунди ΠΈ Ρ…ΠΎΡ€Π°Ρ‚Π° Π²Π΅Ρ‡Π΅ Ρ‰Π΅ Π³ΠΎ Π·Π°Π±Π΅Π»Π΅ΠΆΠ°Ρ‚. Π—Π°Ρ‚ΠΎΠ²Π° ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°ΠΌ Π΄Π° Π½Π΅ Π³ΠΎ правя ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ сСкунда. Но Π² ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π΅ Π³ΠΎ Ρ€Π°Π·Π±ΠΈΠ²Π°ΠΉΡ‚Π΅ Ρ‚Π²ΡŠΡ€Π΄Π΅ ΠΌΠ°Π»ΠΊΠΎ, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Ρ€Π΅ΠΆΠΈΠΉΠ½ΠΈΡ‚Π΅ Ρ€Π°Π·Ρ…ΠΎΠ΄ΠΈ Π·Π° транзакция Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΠΌΠΈ. Π©Π΅ бъдС ΠΏΠΎ-Ρ‚Π΅ΠΆΡŠΠΊ Π·Π° основата ΠΈ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π²ΡŠΠ·Π½ΠΈΠΊΠ½Π°Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ.

Π˜Π·Π±ΠΈΡ€Π°ΠΌΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π½Π° ΠΎΠΏΠ°ΠΊΠΎΠ²ΠΊΠ°Ρ‚Π°. Π’ΡŠΠ² всСки случай ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ Ρ‚ΠΎΠ²Π° ΠΏΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π΅Π½ Π½Π°Ρ‡ΠΈΠ½. МоТС Π΄Π° сС Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°. И смС ΡƒΠ±Π΅Π΄Π΅Π½ΠΈ Π² СфСктивността Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° Π΅Π΄Π½Π° ΠΎΠΏΠ°ΠΊΠΎΠ²ΠΊΠ°. ВоСст ΠΏΡ€Π°Π²ΠΈΠΌ Π˜Π—Π’Π Π˜Π’ΠΠΠ• Π½Π° Π΅Π΄ΠΈΠ½ ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΈΠ»ΠΈ ΠΠšΠ’Π£ΠΠ›Π˜Π—Π˜Π ΠΠΠ•.

ΠœΠ΅ΠΆΠ΄Ρƒ Π΄Ρ€ΡƒΠ³ΠΎΡ‚ΠΎ, всичко, ΠΊΠΎΠ΅Ρ‚ΠΎ Π²ΠΈ ΠΊΠ°Π·Π²Π°ΠΌ, Π½Π΅ Π΅ само Π·Π° Π˜Π—Π’Π Π˜Π’ΠΠΠ•. ΠšΠ°ΠΊΡ‚ΠΎ сС досСщатС, Ρ‚ΠΎΠ²Π° са всякакви Π³Ρ€ΡƒΠΏΠΎΠ²ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Π΄Π°Π½Π½ΠΈ.

И Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅, Ρ‡Π΅ ΠΏΠ»Π°Π½ΡŠΡ‚ Π΅ ΠΎΡ‚Π»ΠΈΡ‡Π΅Π½. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ сканиранС Π½Π° индСкс, ΠΎΡ‰Π΅ ΠΏΠΎ-Π΄ΠΎΠ±Ρ€Π΅ сканиранС само Π½Π° индСкс. И ΠΈΠΌΠ°ΠΌΠ΅ ΠΌΠ°Π»ΠΊΠΎ количСство Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈ Π΄Π°Π½Π½ΠΈ. И всичко Ρ€Π°Π±ΠΎΡ‚ΠΈ Π·Π° ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΠΎΡ‚ сСкунда. Π‘ΡƒΠΏΠ΅Ρ€.

И всС ΠΎΡ‰Π΅ трябва Π΄Π° сС ΡƒΠ²Π΅Ρ€ΠΈΠΌ, Ρ‡Π΅ няма дСградация. Π‘Π»ΡƒΡ‡Π²Π° сС ΠΏΡŠΡ€Π²ΠΈΡ‚Π΅ ΠΏΠ°Ρ€Ρ‚ΠΈΠ΄ΠΈ Π±ΡŠΡ€Π·ΠΎ Π΄Π° сС разработят, Π° слСд Ρ‚ΠΎΠ²Π° всичко става всС ΠΏΠΎ-Π·Π»Π΅ ΠΈ ΠΏΠΎ-Π·Π»Π΅ ΠΈ ΠΏΠΎ-Π·Π»Π΅. ΠŸΡ€ΠΎΡ†Π΅ΡΡŠΡ‚ Π΅ Ρ‚Π°ΠΊΡŠΠ², Ρ‡Π΅ трябва Π΄Π° тСстватС ΠΌΠ½ΠΎΠ³ΠΎ. Π’ΠΎΡ‡Π½ΠΎ Π·Π° Ρ‚ΠΎΠ²Π° са Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈ Π»Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€ΠΈΠΈ Π·Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ.

И всС ΠΎΡ‰Π΅ трябва Π΄Π° ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²ΠΈΠΌ Π½Π΅Ρ‰ΠΎ, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΄Π° Π½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ Π΄Π° наблюдавамС Ρ‚ΠΎΠ²Π° ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ Π² производството. НапримСр, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° напишСм часа Π² Π΄Π½Π΅Π²Π½ΠΈΠΊΠ°, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° напишСм къдС смС сСга ΠΈ ΠΊΠΎΠ³ΠΎ смС ΠΈΠ·Ρ‚Ρ€ΠΈΠ»ΠΈ сСга. И Ρ‚ΠΎΠ²Π° Ρ‰Π΅ Π½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ ΠΏΠΎ-късно Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΠΊΠ°ΠΊΠ²ΠΎ сС случва. И Π°ΠΊΠΎ Π½Π΅Ρ‰ΠΎ сС ΠΎΠ±ΡŠΡ€ΠΊΠ°, Π±ΡŠΡ€Π·ΠΎ ΠΎΡ‚ΠΊΡ€ΠΈΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°.

Ако трябва Π΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ СфСктивността Π½Π° заявкитС ΠΈ трябва Π΄Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΠΌ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡŠΡ‚ΠΈ, Ρ‚ΠΎΠ³Π°Π²Π° ΠΈΠΌΠ° Ρ‚Π°ΠΊΠΎΠ²Π° Π½Π΅Ρ‰ΠΎ ΠΊΠ°Ρ‚ΠΎ ΠΊΠΎΠ»Π΅Π³Π° Π±ΠΎΡ‚. Π’ΠΎΠΉ Π²Π΅Ρ‡Π΅ Π΅ Π³ΠΎΡ‚ΠΎΠ². Използва сС ΠΎΡ‚ дСсСтки Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ всСки Π΄Π΅Π½. И Ρ‚ΠΎΠΉ ΠΌΠΎΠΆΠ΅ Π΄Π° прСдостави ΠΎΠ³Ρ€ΠΎΠΌΠ½Π° Ρ‚Π΅Ρ€Π°Π±Π°ΠΉΡ‚ΠΎΠ²Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ ΠΏΡ€ΠΈ поискванС Π·Π° 30 сСкунди, вашС собствСно ΠΊΠΎΠΏΠΈΠ΅. И ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·Ρ‚Ρ€ΠΈΠ΅Ρ‚Π΅ Π½Π΅Ρ‰ΠΎ Ρ‚Π°ΠΌ ΠΈ Π΄Π° ΠΊΠ°ΠΆΠ΅Ρ‚Π΅ ΠΠ£Π›Π˜Π ΠΠΠ• ΠΈ Π΄Π° Π³ΠΎ ΠΈΠ·Ρ‚Ρ€ΠΈΠ΅Ρ‚Π΅ ΠΎΡ‚Π½ΠΎΠ²ΠΎ. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° СкспСримСнтиратС с Π½Π΅Π³ΠΎ ΠΏΠΎ Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½. Π’ΠΈΠΆΠ΄Π°ΠΌ Π±ΡŠΠ΄Π΅Ρ‰Π΅ Π² Ρ‚ΠΎΠ²Π° Π½Π΅Ρ‰ΠΎ. И Π½ΠΈΠ΅ Π²Π΅Ρ‡Π΅ ΠΏΡ€Π°Π²ΠΈΠΌ Ρ‚ΠΎΠ²Π°.

Π£Π²Π°ΠΆΠ°Π΅ΠΌΠΈ DELETE. Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ² (Postgres.ai)

https://docs.gitlab.com/ee/development/background_migrations.html

Какви са стратСгиитС Π·Π° раздСлянС? Π’ΠΈΠΆΠ΄Π°ΠΌ 3 Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ стратСгии Π·Π° раздСлянС, ΠΊΠΎΠΈΡ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π°.

ΠŸΡŠΡ€Π²ΠΈΡΡ‚ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ прост. ИмамС Ρ†ΠΈΡ„Ρ€ΠΎΠ² ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€. И Π½Π΅ΠΊΠ° Π³ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΠΌ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΈ ΠΈ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈΠΌ с Ρ‚ΠΎΠ²Π°. ΠœΠΈΠ½ΡƒΡΡŠΡ‚ Π΅ ясСн. Π’ ΠΏΡŠΡ€Π²ΠΈΡ сСгмСнт ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ°ΠΌΠ΅ 100 Ρ€Π΅Π΄Π° истински Π±ΠΎΠΊΠ»ΡƒΠΊ, във втория 5 Ρ€Π΅Π΄Π° ΠΈΠ»ΠΈ ΠΈΠ·ΠΎΠ±Ρ‰ΠΎ Π΄Π° няма, ΠΈΠ»ΠΈ всичкитС 1 Ρ€Π΅Π΄Π° Ρ‰Π΅ сС ΠΎΠΊΠ°ΠΆΠ°Ρ‚ Π±ΠΎΠΊΠ»ΡƒΠΊ. Много Π½Π΅Ρ€Π°Π²Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°, Π½ΠΎ лСсна Π·Π° счупванС. Π’Π·Π΅Ρ…Π° максималната Π»ΠΈΡ‡Π½Π° ΠΊΠ°Ρ€Ρ‚Π° ΠΈ я Ρ€Π°Π·Π±ΠΈΡ…Π°. Π’ΠΎΠ²Π° Π΅ Π½Π°ΠΈΠ²Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄.

Π’Ρ‚ΠΎΡ€Π°Ρ‚Π° стратСгия Π΅ балансиран ΠΏΠΎΠ΄Ρ…ΠΎΠ΄. Използва сС Π² Gitlab. Π’Π·Π΅Ρ…ΠΌΠ΅ ΠΈ сканирахмС масата. НамСрихмС Π³Ρ€Π°Π½ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° ID ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ‚Π΅, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ всСки ΠΏΠ°ΠΊΠ΅Ρ‚ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°ΡˆΠ΅ Ρ‚ΠΎΡ‡Π½ΠΎ 10 000 записа. И ΠΌΠ΅ Π½Π°Ρ€Π΅Π΄ΠΈΡ…Π° Π½Π° някаква опашка. И ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π°ΠΌΠ΅ ΠΏΠΎ-Π½Π°Ρ‚Π°Ρ‚ΡŠΠΊ. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Ρ‚ΠΎΠ²Π° Π² няколко Ρ‚Π΅ΠΌΠΈ.

Π’ ΠΏΡŠΡ€Π²Π°Ρ‚Π° стратСгия, ΠΌΠ΅ΠΆΠ΄Ρƒ Π΄Ρ€ΡƒΠ³ΠΎΡ‚ΠΎ, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Ρ‚ΠΎΠ²Π° ΠΈ Π² няколко нишки. НС Π΅ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ.

Π£Π²Π°ΠΆΠ°Π΅ΠΌΠΈ DELETE. Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ² (Postgres.ai)

https://medium.com/@samokhvalov/how-partial-indexes-affect-update-performance-in-postgres-d05e0052abc

Но ΠΈΠΌΠ° ΠΏΠΎ-Π³ΠΎΡ‚ΠΈΠ½ ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄. Π’ΠΎΠ²Π° Π΅ Ρ‚Ρ€Π΅Ρ‚Π°Ρ‚Π° стратСгия. И ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π΅ възмоТно, ΠΏΠΎ-Π΄ΠΎΠ±Ρ€Π΅ Π΅ Π΄Π° Π³ΠΎ ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅. ΠŸΡ€Π°Π²ΠΈΠΌ Ρ‚ΠΎΠ²Π° въз основа Π½Π° спСциалСн индСкс. Π’ Ρ‚ΠΎΠ·ΠΈ случай Π½Π°ΠΉ-вСроятно Ρ‰Π΅ бъдС индСкс, Π±Π°Π·ΠΈΡ€Π°Π½ Π½Π° Π½Π°ΡˆΠ΅Ρ‚ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ Π½Π° Π±ΠΎΠΊΠ»ΡƒΠΊ ΠΈ ID. Π©Π΅ Π²ΠΊΠ»ΡŽΡ‡ΠΈΠΌ идСнтификационния Π½ΠΎΠΌΠ΅Ρ€, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Π΄Π° Π΅ сканиранС само Π½Π° индСкс, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Π΄Π° Π½Π΅ ΠΎΡ‚ΠΈΠ²Π°ΠΌΠ΅ Π² ΠΊΡƒΠΏΡ‡ΠΈΠ½Π°Ρ‚Π°.

ОбикновСно сканиранСто само Π½Π° индСкс Π΅ ΠΏΠΎ-Π±ΡŠΡ€Π·ΠΎ ΠΎΡ‚ сканиранСто Π½Π° индСкс.

Π£Π²Π°ΠΆΠ°Π΅ΠΌΠΈ DELETE. Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ² (Postgres.ai)

И Π±ΡŠΡ€Π·ΠΎ Π½Π°ΠΌΠΈΡ€Π°ΠΌΠ΅ своитС ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½ΠΈ Π½ΠΎΠΌΠ΅Ρ€Π°, ΠΊΠΎΠΈΡ‚ΠΎ искамС Π΄Π° ΠΈΠ·Ρ‚Ρ€ΠΈΠ΅ΠΌ. Π˜Π·Π±ΠΈΡ€Π°ΠΌΠ΅ BATCH_SIZE ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ. И Π½ΠΈΠ΅ Π½Π΅ само Π³ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°ΠΌΠ΅, Π½ΠΈΠ΅ Π³ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°ΠΌΠ΅ ΠΏΠΎ спСциалСн Π½Π°Ρ‡ΠΈΠ½ ΠΈ Π²Π΅Π΄Π½Π°Π³Π° Π³ΠΈ поправямС. Но Π½ΠΈΠ΅ Π³ΠΈ Π·Π°ΠΊΠ»ΡŽΡ‡Π²Π°ΠΌΠ΅ ΠΏΠΎ Ρ‚Π°ΠΊΡŠΠ² Π½Π°Ρ‡ΠΈΠ½, Ρ‡Π΅ Π°ΠΊΠΎ Π²Π΅Ρ‡Π΅ са Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈ, Π½Π΅ Π³ΠΈ Π·Π°ΠΊΠ»ΡŽΡ‡Π²Π°ΠΌΠ΅, Π° ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π°ΠΌΠ΅ Π½Π°ΠΏΡ€Π΅Π΄ ΠΈ Π²Π·Π΅ΠΌΠ°ΠΌΠ΅ слСдващитС. Π’ΠΎΠ²Π° Π΅ Π·Π° Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ пропусканС Π½Π° актуализация. Π’Π°Π·ΠΈ супСр функция Π½Π° Postgres Π½ΠΈ позволява Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈΠΌ Π² мноТСство нишки, Π°ΠΊΠΎ искамС. Π•Π²Π΅Π½Ρ‚ΡƒΠ°Π»Π½ΠΎ Π² Π΅Π΄Π½Π° Ρ‚Π΅ΠΌΠ°. И Ρ‚ΠΎΠ³Π°Π²Π° ΠΈΠΌΠ° CTE - Ρ‚ΠΎΠ²Π° Π΅ Π΅Π΄Π½Π° заявка. И ΠΈΠΌΠ°ΠΌΠ΅ истинско ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π°Π½Π΅, ΠΊΠΎΠ΅Ρ‚ΠΎ сС случва Π½Π° втория Π΅Ρ‚Π°ΠΆ Π½Π° Ρ‚ΠΎΠ·ΠΈ CTE - returning *. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π²ΡŠΡ€Π½Π΅Ρ‚Π΅ ID, Π½ΠΎ Π΅ ΠΏΠΎ-Π΄ΠΎΠ±Ρ€Π΅ *, Π°ΠΊΠΎ ΠΈΠΌΠ°Ρ‚Π΅ ΠΌΠ°Π»ΠΊΠΎ Π΄Π°Π½Π½ΠΈ във всСки Ρ€Π΅Π΄.

Π£Π²Π°ΠΆΠ°Π΅ΠΌΠΈ DELETE. Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ² (Postgres.ai)

Π—Π°Ρ‰ΠΎ ΠΈΠΌΠ°ΠΌΠ΅ Π½ΡƒΠΆΠ΄Π° ΠΎΡ‚ Ρ‚ΠΎΠ²Π°? ИмамС Π½ΡƒΠΆΠ΄Π° ΠΎΡ‚ Ρ‚ΠΎΠ²Π°, Π·Π° Π΄Π° Π΄ΠΎΠΊΠ»Π°Π΄Π²Π°ΠΌΠ΅. Π‘Π΅Π³Π° Π²ΡΡŠΡ‰Π½ΠΎΡΡ‚ ΠΈΠ·Ρ‚Ρ€ΠΈΡ…ΠΌΠ΅ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π΅Π΄ΠΎΠ²Π΅. И Π½Π°ΡˆΠΈΡ‚Π΅ Π³Ρ€Π°Π½ΠΈΡ†ΠΈ ΠΏΠΎ ID ΠΈΠ»ΠΈ created_at са ΠΊΠ°Ρ‚ΠΎ Ρ‚Π΅Π·ΠΈ. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ ΠΌΠΈΠ½., макс. МоТС Π΄Π° сС Π½Π°ΠΏΡ€Π°Π²ΠΈ Π½Π΅Ρ‰ΠΎ Π΄Ρ€ΡƒΠ³ΠΎ. Има ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅Ρ‰Π°, ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π½Π°Ρ‚ΡŠΠΏΡ‡Π΅Ρ‚Π΅ Ρ‚ΡƒΠΊ. И Ρ‚ΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ Π·Π° наблюдСниС.

Има ΠΎΡ‰Π΅ Π΅Π΄Π½Π° Π·Π°Π±Π΅Π»Π΅ΠΆΠΊΠ° относно индСкса. Ако Ρ€Π΅ΡˆΠΈΠΌ, Ρ‡Π΅ ΠΈΠΌΠ°ΠΌΠ΅ Π½ΡƒΠΆΠ΄Π° ΠΎΡ‚ спСциалСн индСкс Π·Π° Ρ‚Π°Π·ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Π° Π·Π°Π΄Π°Ρ‡Π°, Ρ‚ΠΎΠ³Π°Π²Π° трябва Π΄Π° сС ΡƒΠ²Π΅Ρ€ΠΈΠΌ, Ρ‡Π΅ Ρ‚ΠΎΠΉ Π½Π΅ разваля Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈΡ‚Π΅ само Π½Π° ΠΊΡƒΠΏΡ‡ΠΈΠ½Π° ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ. ВоСст Postgres ΠΈΠΌΠ° Ρ‚Π°ΠΊΠ°Π²Π° статистика. Π’ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π²ΠΈΠ΄ΠΈ Π² pg_stat_user_tables Π·Π° Π²Π°ΡˆΠ°Ρ‚Π° Ρ‚Π°Π±Π»ΠΈΡ†Π°. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ Π΄Π°Π»ΠΈ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π³ΠΎΡ€Π΅Ρ‰ΠΈ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ Π½Π΅.

Има ситуации, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π²Π°ΡˆΠΈΡΡ‚ Π½ΠΎΠ² индСкс ΠΌΠΎΠΆΠ΅ просто Π΄Π° Π³ΠΈ ΠΎΡ‚Ρ€Π΅ΠΆΠ΅. И всички Π΄Ρ€ΡƒΠ³ΠΈ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π²Π΅Ρ‡Π΅ сС ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚, Ρ‰Π΅ сС забавят. НС само Π·Π°Ρ‰ΠΎΡ‚ΠΎ сС появи ΠΈΠ½Π΄Π΅ΠΊΡΡŠΡ‚ (всСки индСкс забавя ΠΌΠ°Π»ΠΊΠΎ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈΡ‚Π΅, Π½ΠΎ само ΠΌΠ°Π»ΠΊΠΎ), Π½ΠΎ Ρ‚ΡƒΠΊ ΠΏΠ°ΠΊ Ρ‰Π΅ ΠΎΠ±ΡŠΡ€ΠΊΠ° Π½Π΅Ρ‰Π°Ρ‚Π°. И Π΅ нСвъзмоТно Π΄Π° сС Π½Π°ΠΏΡ€Π°Π²ΠΈ спСциална оптимизация Π·Π° Ρ‚Π°Π·ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°. Π’ΠΎΠ²Π° сС случва понякога. Π’ΠΎΠ²Π° Π΅ Ρ‚ΡŠΠ½ΠΊΠΎΡΡ‚, която ΠΌΠ°Π»ΠΊΠΎ Ρ…ΠΎΡ€Π° помнят. И Π΅ лСсно Π΄Π° ΡΡ‚ΡŠΠΏΠΈΡ‚Π΅ Π½Π° Ρ‚ΠΎΠ·ΠΈ Ρ€Π΅ΠΉΠΊ. Понякога сС случва, Ρ‡Π΅ трябва Π΄Π° Π½Π°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π°Ρ‚Π° страна ΠΈ всС ΠΎΡ‰Π΅ Π΄Π° ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Π±Π΅Π· Ρ‚ΠΎΠ·ΠΈ Π½ΠΎΠ² индСкс, ΠΈΠ»ΠΈ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Π΄Ρ€ΡƒΠ³ индСкс, ΠΈΠ»ΠΈ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Π½Π΅Ρ‰ΠΎ Π΄Ρ€ΡƒΠ³ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ втория ΠΌΠ΅Ρ‚ΠΎΠ΄.

Но Ρ‚ΠΎΠ²Π° Π΅ Π½Π°ΠΉ-ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»Π½Π°Ρ‚Π° стратСгия, ΠΊΠ°ΠΊ Π΄Π° Π³ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅ Π½Π° ΠΏΠ°Ρ€Ρ‚ΠΈΠ΄ΠΈ ΠΈ Π΄Π° сниматС Π½Π° ΠΏΠ°Ρ€Ρ‚ΠΈΠ΄ΠΈ с Π΅Π΄Π½Π° заявка, Π΄Π° ΠΈΠ·Ρ‚Ρ€ΠΈΠ΅Ρ‚Π΅ ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎ ΠΌΠ°Π»ΠΊΠΎ ΠΈ Ρ‚.Π½.

Π£Π²Π°ΠΆΠ°Π΅ΠΌΠΈ DELETE. Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ² (Postgres.ai)

Π”ΡŠΠ»Π³ΠΈ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ - https://gitlab.com/snippets/1890447

Π‘Π»ΠΎΠΊΠΈΡ€Π°Π½ Π°Π²Ρ‚ΠΎΠ²Π°ΠΊΡƒΡƒΠΌ https://gitlab.com/snippets/1889668

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌ с Π±Π»ΠΎΠΊΠΈΡ€Π°Π½Π΅ https://gitlab.com/snippets/1890428

Π“Ρ€Π΅ΡˆΠΊΠ° β„–5 Π΅ голяма. Николай ΠΎΡ‚ Okmeter Π³ΠΎΠ²ΠΎΡ€ΠΈ Π·Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π½Π° Postgres. Π—Π° съТалСниС Π½Π΅ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π° ΠΏΠ΅Ρ€Ρ„Π΅ΠΊΡ‚Π½ΠΎ наблюдСниС Π½Π° Postgres. Някои са ΠΏΠΎ-Π±Π»ΠΈΠ·ΠΎ, Π΄Ρ€ΡƒΠ³ΠΈ ΠΏΠΎ-Π΄Π°Π»Π΅Ρ‡. Okmeter Π΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ Π±Π»ΠΈΠ·ΠΎ, Π·Π° Π΄Π° бъдС ΠΏΠ΅Ρ€Ρ„Π΅ΠΊΡ‚Π΅Π½, Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ липсват ΠΈ трябва Π΄Π° сС добавят. Врябва Π΄Π° стС ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²Π΅Π½ΠΈ Π·Π° Ρ‚ΠΎΠ²Π°.

НапримСр, ΠΏΠΎ-Π΄ΠΎΠ±Ρ€Π΅ Π΅ Π΄Π° Π½Π°Π±Π»ΡŽΠ΄Π°Π²Π°Ρ‚Π΅ ΠΌΡŠΡ€Ρ‚Π²ΠΈΡ‚Π΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ. Ако ΠΈΠΌΠ°Ρ‚Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΡŠΡ€Ρ‚Π²ΠΈ Π½Π΅Ρ‰Π° Π² масата си, Π·Π½Π°Ρ‡ΠΈ Π½Π΅Ρ‰ΠΎ Π½Π΅ Π΅ Π½Π°Ρ€Π΅Π΄. По-Π΄ΠΎΠ±Ρ€Π΅ Π΅ Π΄Π° Ρ€Π΅Π°Π³ΠΈΡ€Π°ΠΌΠ΅ сСга, ΠΈΠ½Π°Ρ‡Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° дСградация ΠΈ Π΄Π° си Π»Π΅Π³Π½Π΅ΠΌ. Π‘Π»ΡƒΡ‡Π²Π° сС.

Ако ΠΈΠΌΠ° голям IO, Ρ‚ΠΎΠ³Π°Π²Π° Π΅ ясно, Ρ‡Π΅ Ρ‚ΠΎΠ²Π° Π½Π΅ Π΅ Π΄ΠΎΠ±Ρ€Π΅.

Π”ΡŠΠ»Π³ΠΈ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΡΡŠΡ‰ΠΎ. Π”ΡŠΠ»Π³ΠΈΡ‚Π΅ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π½Π΅ трябва Π΄Π° сС допускат Π½Π° OLTP. И Π΅Ρ‚ΠΎ Π²Ρ€ΡŠΠ·ΠΊΠ° към Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°, която Π²ΠΈ позволява Π΄Π° Π²Π·Π΅ΠΌΠ΅Ρ‚Π΅ Ρ‚ΠΎΠ·ΠΈ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΈ Π²Π΅Ρ‡Π΅ Π΄Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Ρ‚Π΅ извСстно прослСдяванС Π½Π° дълги Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ.

Π—Π°Ρ‰ΠΎ Π΄ΡŠΠ»Π³ΠΈΡ‚Π΅ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ са лоши? Π—Π°Ρ‰ΠΎΡ‚ΠΎ всички ΠΊΠ»ΡŽΡ‡Π°Π»ΠΊΠΈ Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ освободСни Π΅Π΄Π²Π° Π² края. И затварямС всички. ОсвСн Ρ‚ΠΎΠ²Π° Π±Π»ΠΎΠΊΠΈΡ€Π°ΠΌΠ΅ Π°Π²Ρ‚ΠΎΠ²Π°ΠΊΡƒΡƒΠΌΠ° Π·Π° всички маси. Π’ΠΎΠ²Π° Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ Π΅ Π΄ΠΎΠ±Ρ€Π΅. Π”ΠΎΡ€ΠΈ Π°ΠΊΠΎ ΠΈΠΌΠ°Ρ‚Π΅ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½ Π³ΠΎΡ€Π΅Ρ‰ Ρ€Π΅ΠΆΠΈΠΌ Π½Π° готовност Π½Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ‚Π°, Ρ‚ΠΎΠ²Π° ΠΏΠ°ΠΊ Π΅ лошо. ΠšΠ°Ρ‚ΠΎ цяло Π΅ ΠΏΠΎ-Π΄ΠΎΠ±Ρ€Π΅ Π΄Π° избягватС дълги Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ навсякъдС.

Ако ΠΈΠΌΠ°ΠΌΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ маси, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ са Π²Π°ΠΊΡƒΡƒΠΌΠΈΡ€Π°Π½ΠΈ, Ρ‚ΠΎΠ³Π°Π²Π° трябва Π΄Π° ΠΈΠΌΠ°ΠΌΠ΅ сигнал. Π’ΡƒΠΊ Π΅ възмоТна Ρ‚Π°ΠΊΠ°Π²Π° ситуация. МоТСм косвСно Π΄Π° повлияСм Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° Π°Π²Ρ‚ΠΎΠ²Π°ΠΊΡƒΡƒΠΌΠ°. Π’ΠΎΠ²Π° Π΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΎΡ‚ Avito, ΠΊΠΎΠΉΡ‚ΠΎ ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΈΡ…. И сС ΠΎΠΊΠ°Π·Π° интСрСсСн инструмСнт, Π·Π° Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ ΠΊΠ°ΠΊΠ²ΠΎ ΠΈΠΌΠ°ΠΌΠ΅ с Π°Π²Ρ‚ΠΎΠ²Π°ΠΊΡƒΡƒΠΌΠ°. НапримСр, ΠΈΠΌΠ° някои маси, ΠΊΠΎΠΈΡ‚ΠΎ Ρ‡Π°ΠΊΠ°Ρ‚ Ρ‚Π°ΠΌ ΠΈ Ρ‚Π΅ няма Π΄Π° Π΄ΠΎΡ‡Π°ΠΊΠ°Ρ‚ своя Ρ€Π΅Π΄. Врябва ΡΡŠΡ‰ΠΎ Π΄Π° Π³ΠΎ поставитС Π² Ρ€Π΅ΠΆΠΈΠΌ Π½Π° наблюдСниС ΠΈ Π΄Π° ΠΈΠΌΠ°Ρ‚Π΅ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅.

И ΠΈΠ·Π΄Π°Π²Π° Π±Π»ΠΎΠΊΠΎΠ²Π΅. Π“ΠΎΡ€Π° ΠΎΡ‚ Π±Π»ΠΎΠΊΠΈΡ€Π°Ρ‰ΠΈ Π΄ΡŠΡ€Π²Π΅Ρ‚Π°. Π₯арСсва ΠΌΠΈ Π΄Π° Π²Π·Π΅ΠΌΠ° Π½Π΅Ρ‰ΠΎ ΠΎΡ‚ някого ΠΈ Π΄Π° Π³ΠΎ подобрявам. Π’ΡƒΠΊ Π²Π·Π΅Ρ… страхотСн рСкурсивСн CTE ΠΎΡ‚ Data Egret, ΠΊΠΎΠΉΡ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π²Π° Π³ΠΎΡ€Π° ΠΎΡ‚ Π·Π°ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‰ΠΈ сС Π΄ΡŠΡ€Π²Π΅Ρ‚Π°. Π’ΠΎΠ²Π° Π΅ Π΄ΠΎΠ±Ρ€ΠΎ Π½Π΅Ρ‰ΠΎ Π·Π° диагностика. И Π½Π° Π½Π΅Π³ΠΎΠ²Π° основа ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·Π³Ρ€Π°Π΄ΠΈ ΠΈ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³. Но Ρ‚ΠΎΠ²Π° трябва Π΄Π° сС ΠΏΡ€Π°Π²ΠΈ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»Π½ΠΎ. Врябва Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ малък statement_timeout Π·Π° сСбС си. И lock_timeout Π΅ ΠΆΠ΅Π»Π°Ρ‚Π΅Π»Π½ΠΎ.

Π£Π²Π°ΠΆΠ°Π΅ΠΌΠΈ DELETE. Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ² (Postgres.ai)

Понякога всички Ρ‚Π΅Π·ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ сС появяват Π·Π°Π΅Π΄Π½ΠΎ.

Π‘ΠΏΠΎΡ€Π΅Π΄ ΠΌΠ΅Π½ Π½Π°ΠΉ-Π²Π°ΠΆΠ½Π°Ρ‚Π° Π³Ρ€Π΅ΡˆΠΊΠ° Ρ‚ΡƒΠΊ Π΅ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π°. ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π½ΠΎ Π΅, Π·Π°Ρ‰ΠΎΡ‚ΠΎ тСхнологията Π½Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ. Π’ΠΎΠ²Π° Π΅ Π½ΠΎΠΌΠ΅Ρ€ 2 - ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠ»ΠΈ са Π½Π° Π³Ρ€Π΅ΡˆΠ½ΠΎΡ‚ΠΎ място.

НС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ…ΠΌΠ΅ Ρ‚Π°ΠΌ, Π·Π°Ρ‰ΠΎΡ‚ΠΎ нямахмС производствСн ΠΊΠ»ΠΎΠ½ΠΈΠ½Π³, ΠΊΠΎΠΉΡ‚ΠΎ Π΄Π° Π΅ лСсСн Π·Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡŠΡ‚ ΠΌΠΎΠΆΠ΅ ΠΈΠ·ΠΎΠ±Ρ‰ΠΎ Π΄Π° няма Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ продукцията.

И ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ…ΠΌΠ΅ Π½Π° Π³Ρ€Π΅ΡˆΠ½ΠΎΡ‚ΠΎ място. Ако бяха ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠ»ΠΈ Ρ‚Π°ΠΌ, щяхмС Π΄Π° Π³ΠΎ Π²ΠΈΠ΄ΠΈΠΌ сами. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡŠΡ‚ Π±ΠΈ могъл Π΄Π° Π²ΠΈΠ΄ΠΈ всичко Ρ‚ΠΎΠ²Π° Π΄ΠΎΡ€ΠΈ Π±Π΅Π· DBA, Π°ΠΊΠΎ Π³ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈ Π² Π΄ΠΎΠ±Ρ€Π° срСда, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ ΠΈΠΌΠ° ΡΡŠΡ‰ΠΎΡ‚ΠΎ количСство Π΄Π°Π½Π½ΠΈ ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Π° ΠΏΠΎΠ΄Ρ€Π΅Π΄Π±Π°. ЩСшС Π΄Π° Π²ΠΈΠ΄ΠΈ цялата Ρ‚Π°Π·ΠΈ дСградация ΠΈ Ρ‰Π΅ΡˆΠ΅ Π΄Π° сС засрами.

ΠŸΠΎΠ²Π΅Ρ‡Π΅ Π·Π° автомобилния Π²Π°ΠΊΡƒΡƒΠΌ. Π‘Π»Π΅Π΄ ΠΊΠ°Ρ‚ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΡ…ΠΌΠ΅ масивно почистванС Π½Π° няколко ΠΌΠΈΠ»ΠΈΠΎΠ½Π° Ρ€Π΅Π΄Π°, всС ΠΎΡ‰Π΅ трябва Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ REPACK. Π’ΠΎΠ²Π° Π΅ особСно Π²Π°ΠΆΠ½ΠΎ Π·Π° индСкситС. Π©Π΅ сС почувстват Π·Π»Π΅, слСд ΠΊΠ°Ρ‚ΠΎ изчистим всичко Ρ‚Π°ΠΌ.

И Π°ΠΊΠΎ искатС Π΄Π° Π²ΡŠΡ€Π½Π΅Ρ‚Π΅ Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½Π°Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ ΡΡŠΠ±Π»ΠΈΡ‡Π°Π½Π΅, Ρ‚ΠΎΠ³Π°Π²Π° Π±ΠΈΡ… ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ» Π΄Π° Π³ΠΎ ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ ΠΏΠΎ-чСсто, Π½ΠΎ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ. МоТС Π΄Π° бъдС вСднъТ Π½Π° ΠΌΠΈΠ½ΡƒΡ‚Π° ΠΈΠ»ΠΈ Π΄ΠΎΡ€ΠΈ ΠΏΠΎ-чСсто ΠΌΠ°Π»ΠΊΠΎ. И трябва Π΄Π° слСдим Π΄Π²Π΅ Π½Π΅Ρ‰Π°: Ρ‚ΠΎΠ²Π° Π½Π΅Ρ‰ΠΎ Π΄Π° няма Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΈ Π΄Π° Π½Π΅ изостава. Π’Ρ€ΠΈΠΊΡŠΡ‚, ΠΊΠΎΠΉΡ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Ρ…, Ρ‰Π΅ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ Π΄Π° Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚Π΅ Ρ‚ΠΎΠ²Π°.

Π£Π²Π°ΠΆΠ°Π΅ΠΌΠΈ DELETE. Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ² (Postgres.ai)

Π’ΠΎΠ²Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈΠΌ, Π΅ с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄. Π’ΠΎΠ²Π° Π΅ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½ΠΎ Π² GitLab. И Π³ΠΎ ΠΏΡ€Π°Π²ΠΈΠΌ Ρ‚Π°ΠΊΠ°, Ρ‡Π΅ Ρ…ΠΎΡ€Π°Ρ‚Π° Π΄Π° ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° провСряват Π΄ΠΎΡ€ΠΈ Π±Π΅Π· DBA. ΠŸΡ€Π°Π²ΠΈΠΌ лаборатория Π·Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ, тоСст Π½Π°Ρ€ΠΈΡ‡Π°ΠΌΠ΅ базовия ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, Π²ΡŠΡ€Ρ…Ρƒ ΠΊΠΎΠΉΡ‚ΠΎ Π”ΠΆΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°. И ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π²Π·Π΅ΠΌΠ΅Ρ‚Π΅ ΠΊΠΎΠΏΠΈΠ΅ ΠΎΡ‚ продукцията. Π‘Π΅Π³Π° ΠΈΠΌΠ° имплСмСнтация Π½Π° Joe for slack, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΊΠ°ΠΆΠ΅Ρ‚Π΅ Ρ‚Π°ΠΌ: β€žΠΎΠ±ΡΡΠ½Π΅Ρ‚Π΅ Ρ‚Π°ΠΊΠ°Π²Π° ΠΈ Ρ‚Π°ΠΊΠ°Π²Π° Π·Π°ΡΠ²ΠΊΠ°β€œ ΠΈ Π½Π΅Π·Π°Π±Π°Π²Π½ΠΎ Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚Π° Π·Π° Π²Π°ΡˆΠ΅Ρ‚ΠΎ ΠΊΠΎΠΏΠΈΠ΅ Π½Π° Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΡ€ΠΈ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ DELETE Ρ‚Π°ΠΌ ΠΈ Π½ΠΈΠΊΠΎΠΉ няма Π΄Π° Π·Π°Π±Π΅Π»Π΅ΠΆΠΈ.

Π£Π²Π°ΠΆΠ°Π΅ΠΌΠΈ DELETE. Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ² (Postgres.ai)

Π”Π° ΠΊΠ°ΠΆΠ΅ΠΌ, Ρ‡Π΅ ΠΈΠΌΠ°Ρ‚Π΅ 10 Ρ‚Π΅Ρ€Π°Π±Π°ΠΉΡ‚Π°, Π½ΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠΌ лаборатория Π·Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ ΡΡŠΡ‰ΠΎ 10 Ρ‚Π΅Ρ€Π°Π±Π°ΠΉΡ‚Π°. И 10 Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° работят Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ с Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΈ 10 Ρ‚Π΅Ρ€Π°Π±Π°ΠΉΡ‚ΠΎΠ²ΠΈ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ. ВсСки ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡ€Π°Π²ΠΈ ΠΊΠ°ΠΊΠ²ΠΎΡ‚ΠΎ иска. МоТС Π΄Π° ΠΈΠ·Ρ‚Ρ€ΠΈΠ΅, ΠΈΠ·Ρ‚Ρ€ΠΈΠ΅ ΠΈ Ρ‚.Π½. Π’ΠΎΠ²Π° Π΅ фантастично. Π©Π΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π·Π° Ρ‚ΠΎΠ²Π° ΡƒΡ‚Ρ€Π΅.

Π£Π²Π°ΠΆΠ°Π΅ΠΌΠΈ DELETE. Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ² (Postgres.ai)

Π’ΠΎΠ²Π° сС Π½Π°Ρ€ΠΈΡ‡Π° Ρ‚ΡŠΠ½ΠΊΠΎ осигуряванС. Π’ΠΎΠ²Π° Π΅ Ρ„ΠΈΠ½ΠΎ осигуряванС. Π’ΠΎΠ²Π° Π΅ някакъв Π²ΠΈΠ΄ фантазия, която Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡ€Π° забавянията Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° ΠΈ тСстванСто ΠΈ ΠΏΡ€Π°Π²ΠΈ свСта ΠΏΠΎ-Π΄ΠΎΠ±Ρ€ΠΎ място Π² Ρ‚ΠΎΠ²Π° ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅. ВоСст, просто Π²ΠΈ позволява Π΄Π° ΠΈΠ·Π±Π΅Π³Π½Π΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ с масовитС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ 5 Ρ‚Π΅Ρ€Π°Π±Π°ΠΉΡ‚Π°, ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠΏΠΈΠ΅ Π·Π° ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΠΎΡ‚ 30 сСкунди. И Π΄ΠΎΡ€ΠΈ Π½Π΅ зависи ΠΎΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°, Ρ‚.Π΅. няма Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ»ΠΊΠΎ Ρ‚Π΅Ρ€Π°Π±Π°ΠΉΡ‚Π°.

ДнСс ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΎΡ‚ΠΈΠ΄Π΅Ρ‚Π΅ Π½Π° postgres.ai ΠΈ сС Ρ€ΠΎΠ²ΠΈ Π² Π½Π°ΡˆΠΈΡ‚Π΅ инструмСнти. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° сС рСгистриратС ΠΈ Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΊΠ°ΠΊΠ²ΠΎ ΠΈΠΌΠ°. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° инсталиратС Ρ‚ΠΎΠ·ΠΈ Π±ΠΎΡ‚ Π·Π° сСбС си. Π‘Π΅Π·ΠΏΠ»Π°Ρ‚Π½ΠΎ Π΅. ΠŸΠΈΡˆΠ΅Ρ‚Π΅.

Π’ΡŠΠΏΡ€ΠΎΡΠΈ

Много чСсто Π² Ρ€Π΅Π°Π»Π½ΠΈ ситуации сС ΠΎΠΊΠ°Π·Π²Π°, Ρ‡Π΅ Π΄Π°Π½Π½ΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ трябва Π΄Π° останат Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π°, са ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΠΎΡ‚ Ρ‚Π΅Π·ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ трябва Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΈΠ·Ρ‚Ρ€ΠΈΡ‚ΠΈ. ВоСст, Π² Ρ‚Π°ΠΊΠ°Π²Π° ситуация чСсто Π΅ ΠΏΠΎ-лСсно Π΄Π° сС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈ Ρ‚ΠΎΠ·ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π΅ ΠΏΠΎ-лСсно Π΄Π° сС създадС Π½ΠΎΠ² ΠΎΠ±Π΅ΠΊΡ‚, Π΄Π° сС ΠΊΠΎΠΏΠΈΡ€Π°Ρ‚ само Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ Ρ‚Π°ΠΌ ΠΈ Π΄Π° сС транскрибира старата Ρ‚Π°Π±Π»ΠΈΡ†Π°. Ясно Π΅, Ρ‡Π΅ трябва софтуСрСн ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π·Π° Ρ‚ΠΎΠ·ΠΈ ΠΌΠΎΠΌΠ΅Π½Ρ‚, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ ΠΏΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚Π΅. Как Π΅ Ρ‚ΠΎΠ·ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄?

Π’ΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠ±ΡŠΡ€ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠ±Ρ€Π° Π·Π°Π΄Π°Ρ‡Π°. Много Π΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π½Π° Ρ‚ΠΎΠ²Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈ pg_repack, ΠΌΠ½ΠΎΠ³ΠΎ Π΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π½Π° Ρ‚ΠΎΠ²Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ трябва Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Ρ‚Π΅ Ρ…ΠΎΡ€Π°Ρ‚Π°, ΠΊΠΎΠΈΡ‚ΠΎ са Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΠ»ΠΈ 4 Π±Π°ΠΉΡ‚Π°. Много Ρ€Π°ΠΌΠΊΠΈ Π½Π°ΠΏΡ€Π°Π²ΠΈΡ…Π° Ρ‚ΠΎΠ²Π° ΠΏΡ€Π΅Π΄ΠΈ няколко Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΠΈ ΠΏΠ»ΠΎΡ‡ΠΈΡ‚Π΅ Ρ‚ΠΎΠΊΡƒ-Ρ‰ΠΎ станаха ΠΏΠΎ-Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΈ трябва Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ²Π°Π½ΠΈ Π² 8 Π±Π°ΠΉΡ‚Π°.

Π’Π°Π·ΠΈ Π·Π°Π΄Π°Ρ‡Π° Π΅ доста Ρ‚Ρ€ΡƒΠ΄Π½Π°. УспяхмС. И трябва Π΄Π° стС ΠΌΠ½ΠΎΠ³ΠΎ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»Π½ΠΈ. Има ΠΊΠ»ΡŽΡ‡Π°Π»ΠΊΠΈ ΠΈ Ρ‚.Π½. Но става. ВоСст стандартният ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° pg_repack. Π’ΠΈΠ΅ обявяватС Ρ‚Π°ΠΊΡŠΠ² Π·Π½Π°ΠΊ. И ΠΏΡ€Π΅Π΄ΠΈ Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅Ρ‚Π΅ Π΄Π° я ΠΏΠΎΠΏΡŠΠ»Π²Π°Ρ‚Π΅ с Π΄Π°Π½Π½ΠΈ Π·Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚Π½Π° снимка, Π²ΠΈΠ΅ ΡΡŠΡ‰ΠΎ Π΄Π΅ΠΊΠ»Π°Ρ€ΠΈΡ€Π°Ρ‚Π΅ Π΅Π΄Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π°, която прослСдява всички ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ. Има Π΅Π΄ΠΈΠ½ Ρ‚Ρ€ΠΈΠΊ, Ρ‡Π΅ ΠΌΠΎΠΆΠ΅ Π΄ΠΎΡ€ΠΈ Π΄Π° Π½Π΅ прослСдитС някои ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ. Има Ρ‚ΡŠΠ½ΠΊΠΎΡΡ‚ΠΈ. И слСд Ρ‚ΠΎΠ²Π° ΠΏΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚Π΅, Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°ΠΉΠΊΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅. Π©Π΅ ΠΈΠΌΠ° ΠΊΡ€Π°Ρ‚ΠΊΠ° ΠΏΠ°ΡƒΠ·Π°, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π·Π°Ρ‚Π²ΠΎΡ€ΠΈΠΌ всички, Π½ΠΎ ΠΊΠ°Ρ‚ΠΎ цяло Ρ‚ΠΎΠ²Π° сС ΠΏΡ€Π°Π²ΠΈ.

Ако ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅Ρ‚Π΅ pg_repack Π² GitHub, Ρ‚ΠΎΠ³Π°Π²Π°, ΠΊΠΎΠ³Π°Ρ‚ΠΎ имашС Π·Π°Π΄Π°Ρ‡Π° Π·Π° ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ²Π°Π½Π΅ Π½Π° ID ΠΎΡ‚ int 4 Π² int 8, Ρ‚ΠΎΠ³Π°Π²Π° имашС идСя Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° самият pg_repack. Π’ΠΎΠ²Π° ΡΡŠΡ‰ΠΎ Π΅ възмоТно, Π½ΠΎ Ρ‚ΠΎΠ²Π° Π΅ ΠΌΠ°Π»ΠΊΠΎ хакСрски ΠΌΠ΅Ρ‚ΠΎΠ΄, Π½ΠΎ Ρ‰Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΈ Π·Π° Ρ‚ΠΎΠ²Π°. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° сС намСситС Π² Ρ‚Ρ€ΠΈΠ³Π΅Ρ€Π°, ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° pg_repack ΠΈ Π΄Π° ΠΊΠ°ΠΆΠ΅Ρ‚Π΅ Ρ‚Π°ΠΌ: β€žΠΡΠΌΠ°ΠΌΠ΅ Π½ΡƒΠΆΠ΄Π° ΠΎΡ‚ Ρ‚Π΅Π·ΠΈ Π΄Π°Π½Π½ΠΈβ€œ, Ρ‚.Π΅. ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΡΠΌΠ΅ само Ρ‚ΠΎΠ²Π°, ΠΎΡ‚ ΠΊΠΎΠ΅Ρ‚ΠΎ сС Π½ΡƒΠΆΠ΄Π°Π΅ΠΌ. И Ρ‚ΠΎΠ³Π°Π²Π° Ρ‚ΠΎΠΉ просто ΠΏΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π²Π° ΠΈ Ρ‚ΠΎΠ²Π° Π΅.

Π‘ Ρ‚ΠΎΠ·ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°ΠΌΠ΅ ΠΈ Π²Ρ‚ΠΎΡ€ΠΎ ΠΊΠΎΠΏΠΈΠ΅ Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π°, Π² която Π΄Π°Π½Π½ΠΈΡ‚Π΅ Π²Π΅Ρ‡Π΅ са индСксирани ΠΈ ΠΎΡ„ΠΎΡ€ΠΌΠ΅Π½ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π³Π»Π°Π΄ΠΊΠΎ с красиви индСкси.

ΠŸΠΎΠ΄ΡƒΠ²Π°Π½Π΅ Π½Π΅, Ρ‚ΠΎΠ²Π° Π΅ Π΄ΠΎΠ±ΡŠΡ€ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄. Но Π·Π½Π°ΠΌ, Ρ‡Π΅ ΠΈΠΌΠ° ΠΎΠΏΠΈΡ‚ΠΈ Π΄Π° сС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΈ автоматизация Π·Π° Ρ‚ΠΎΠ²Π°, Ρ‚.Π΅. Π΄Π° сС Π½Π°ΠΏΡ€Π°Π²ΠΈ унивСрсално Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅. Мога Π΄Π° Π²ΠΈ запозная с Ρ‚Π°Π·ΠΈ автоматизация. Написано Π΅ Π½Π° Python, Π΄ΠΎΠ±Ρ€ΠΈ Π½Π΅Ρ‰Π°.

Аз съм ΠΌΠ°Π»ΠΊΠΎ ΠΎΡ‚ свСта Π½Π° MySQL, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Π΄ΠΎΠΉΠ΄ΠΎΡ… Π΄Π° ΡΠ»ΡƒΡˆΠ°ΠΌ. И Π½ΠΈΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Ρ‚ΠΎΠ·ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄.

Но Ρ‚ΠΎΠ²Π° Π΅ само Π°ΠΊΠΎ ΠΈΠΌΠ°ΠΌΠ΅ 90%. Ако ΠΈΠΌΠ°ΠΌΠ΅ 5%, Ρ‚ΠΎΠ³Π°Π²Π° Π½Π΅ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠ±Ρ€Π΅ Π΄Π° Π³ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅.

Благодаря Π·Π° Π΄ΠΎΠΊΠ»Π°Π΄Π°! Ако няма рСсурси Π·Π° създаванС Π½Π° пълно ΠΊΠΎΠΏΠΈΠ΅ Π½Π° prod, ΠΈΠΌΠ° Π»ΠΈ някакъв Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ ΠΈΠ»ΠΈ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π° Π·Π° изчисляванС Π½Π° Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ ΠΈΠ»ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°?

Π”ΠΎΠ±ΡŠΡ€ Π²ΡŠΠΏΡ€ΠΎΡ. ДосСга ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π½Π°ΠΌΠ΅Ρ€ΠΈΠΌ ΠΌΠ½ΠΎΠ³ΠΎΡ‚Π΅Ρ€Π°Π±Π°ΠΉΡ‚ΠΎΠ²ΠΈ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ. Π”ΠΎΡ€ΠΈ Ρ‚Π°ΠΌ Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€ΡŠΡ‚ Π΄Π° Π½Π΅ Π΅ ΡΡŠΡ‰ΠΈΡΡ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΠΏΠ°ΠΌΠ΅Ρ‚, ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ процСсор ΠΈ дисковСтС Π΄Π° Π½Π΅ са съвсСм ΡΡŠΡ‰ΠΈΡ‚Π΅, ΠΏΠ°ΠΊ Π³ΠΎ ΠΏΡ€Π°Π²ΠΈΠΌ. Ако няма Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ никъдС, Ρ‚ΠΎΠ³Π°Π²Π° трябва Π΄Π° помислитС Π·Π° Ρ‚ΠΎΠ²Π°. НСка Π΄Π° помисля Π·Π° Ρ‚ΠΎΠ²Π° Π΄ΠΎ ΡƒΡ‚Ρ€Π΅, Ρ‚ΠΈ Π΄ΠΎΠΉΠ΄Π΅, Ρ‰Π΅ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ, Ρ‚ΠΎΠ²Π° Π΅ Π΄ΠΎΠ±ΡŠΡ€ Π²ΡŠΠΏΡ€ΠΎΡ.

Благодаря Π·Π° Π΄ΠΎΠΊΠ»Π°Π΄Π°! ΠŸΡŠΡ€Π²ΠΎ Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ…Ρ‚Π΅ Π΄Π° Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚Π΅ Π·Π° Ρ‚ΠΎΠ²Π°, Ρ‡Π΅ ΠΈΠΌΠ° Π³ΠΎΡ‚ΠΈΠ½ Postgres, ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠΌΠ° Ρ‚Π°ΠΊΠΈΠ²Π° ΠΈ Ρ‚Π°ΠΊΠΈΠ²Π° ограничСния, Π½ΠΎ сС Ρ€Π°Π·Π²ΠΈΠ²Π°. И всичко Ρ‚ΠΎΠ²Π° ΠΊΠ°Ρ‚ΠΎ цяло Π΅ ΠΏΠ°Ρ‚Π΅Ρ€ΠΈΡ†Π°. Всичко Ρ‚ΠΎΠ²Π° Π½Π΅ ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΡ€Π΅Ρ‡ΠΈ Π»ΠΈ Π½Π° самата Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Postgres, Π² която Ρ‰Π΅ сС появи някакъв Π²ΠΈΠ΄ DELETE deferent ΠΈΠ»ΠΈ Π½Π΅Ρ‰ΠΎ Π΄Ρ€ΡƒΠ³ΠΎ, ΠΊΠΎΠ΅Ρ‚ΠΎ трябва Π΄Π° ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° Π½Π° ниско Π½ΠΈΠ²ΠΎ Ρ‚ΠΎΠ²Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ сС ΠΎΠΏΠΈΡ‚Π²Π°ΠΌΠ΅ Π΄Π° ΠΏΡ€ΠΈΠΊΡ€ΠΈΠ΅ΠΌ Ρ‚ΡƒΠΊ с някакви свои странни срСдства?

Ако Π² SQL ΠΊΠ°Π·Π°Ρ…ΠΌΠ΅ Π΄Π° ΠΈΠ·Ρ‚Ρ€ΠΈΠ΅ΠΌ ΠΈΠ»ΠΈ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°ΠΌΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ записи Π² Π΅Π΄Π½Π° транзакция, Ρ‚ΠΎΠ³Π°Π²Π° ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ΅ Postgres Π΄Π° разпространява Ρ‚ΠΎΠ²Π°? НиС смС физичСски ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅. Π©Π΅ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠΈΠΌ Π΄Π° ΠΏΡ€Π°Π²ΠΈΠΌ Ρ‚ΠΎΠ²Π° ΠΎΡ‰Π΅ дълго Π²Ρ€Π΅ΠΌΠ΅. И Π½ΠΈΠ΅ Ρ‰Π΅ Π·Π°ΠΊΠ»ΡŽΡ‡Π²Π°ΠΌΠ΅ Π² Ρ‚ΠΎΠ·ΠΈ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΈ Ρ‚.Π½.

Π’Π΅ Π½Π°ΠΏΡ€Π°Π²ΠΈΡ…Π° ΡΡŠΡ‰ΠΎΡ‚ΠΎ с индСкситС.

Мога Π΄Π° ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ°, Ρ‡Π΅ ΡΡŠΡ‰Π°Ρ‚Π° настройка Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°Π½Π°. Някой Π΄Π΅Π½ Ρ‚ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° сС случи. Но Ρ‚ΠΎΠ³Π°Π²Π° наистина Π½Π΅ Ρ€Π°Π·Π±ΠΈΡ€Π°ΠΌ Π²ΡŠΠΏΡ€ΠΎΡΠ°.

Π’ΡŠΠΏΡ€ΠΎΡΡŠΡ‚ Π΅: ΠΈΠΌΠ° Π»ΠΈ Π²Π΅ΠΊΡ‚ΠΎΡ€ Π½Π° Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅, ΠΊΠΎΠΉΡ‚ΠΎ Π΄Π° Π²ΡŠΡ€Π²ΠΈ Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΌ ΠΈ Π΄Π° Π²ΡŠΡ€Π²ΠΈ успорСдно Π½Π° вашия Ρ‚ΡƒΠΊ? Π’Π΅Π·ΠΈ. ΠžΡ‰Π΅ Π»ΠΈ Π½Π΅ мислят Π·Π° Ρ‚ΠΎΠ²Π°?

Π“ΠΎΠ²ΠΎΡ€ΠΈΡ… Π·Π° ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ сСга. Има ΠΎΡ‰Π΅ Π΅Π΄ΠΈΠ½ Π±ΠΎΡ‚ хомосСксуалист, с Ρ‚ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°Π½Π° настройка Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½ΠΈ Ρ‚ΠΎΡ‡ΠΊΠΈ. Π©Π΅ сС случи Π»ΠΈ Ρ‚ΠΎΠ²Π° някога Π² Postgres? НС Π·Π½Π°ΠΌ, Ρ‚ΠΎΠ²Π° Π΄ΠΎΡ€ΠΈ Π½Π΅ сС обсъТда ΠΎΡ‰Π΅. ΠžΡ‰Π΅ смС Π΄Π°Π»Π΅Ρ‡ ΠΎΡ‚ Ρ‚ΠΎΠ²Π°. Но ΠΈΠΌΠ° ΡƒΡ‡Π΅Π½ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ правят Π½ΠΎΠ²ΠΈ систСми. И Π½ΠΈ Π½Π°Π±ΡƒΡ‚Π²Π°Ρ‚ Π² Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΈ индСкси. Има Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅. НапримСр, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Ρ€Π°Π·Π³Π»Π΅Π΄Π°Ρ‚Π΅ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½Π°Ρ‚Π° настройка. Π˜Π·Π±ΠΈΡ€Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ. Но Ρ‚ΠΎΠΉ всС ΠΎΡ‰Π΅ няма Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈ настройка Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½ΠΈ Ρ‚ΠΎΡ‡ΠΊΠΈ вмСсто вас. ВоСст, Ρ‰Π΅ ΠΈΠ·Π±Π΅Ρ€Π΅ Π·Π° производитСлност, Π±ΡƒΡ„Π΅Ρ€ Π½Π° ΠΎΠ±Π²ΠΈΠ²ΠΊΠ°Ρ‚Π° ΠΈ Ρ‚.Π½.

А Π·Π° настройка Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ слСдното: Π°ΠΊΠΎ ΠΈΠΌΠ°Ρ‚Π΅ хиляди ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ΠΈ ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€Π½ΠΈ части, Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ машини Π² ΠΎΠ±Π»Π°ΠΊΠ°, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ нашия Π±ΠΎΡ‚ хомосСксуалист Π½Π°ΠΏΡ€Π°Π²ΠΈ автоматизация. И max_wal_size Ρ‰Π΅ бъдС ΠΈΠ·Π±Ρ€Π°Π½ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ спорСд Π²Π°ΡˆΠΈΡ‚Π΅ Ρ†Π΅Π»Π΅Π²ΠΈ настройки. Но засСга Ρ‚ΠΎΠ²Π° Π΄ΠΎΡ€ΠΈ Π½Π΅ Π΅ Π±Π»ΠΈΠ·ΠΎ Π΄ΠΎ Ρ‚ΠΎΠ²Π° Π΄Π° Π΅ Π² ядрото, Π·Π° съТалСниС.

Π”ΠΎΠ±ΡŠΡ€ Π΄Π΅Π½ Π“ΠΎΠ²ΠΎΡ€ΠΈΡ…Ρ‚Π΅ Π·Π° опасноститС ΠΎΡ‚ Π΄ΡŠΠ»Π³ΠΈΡ‚Π΅ сдСлки. ΠšΠ°Π·Π°Ρ…Ρ‚Π΅, Ρ‡Π΅ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎΡ‚ΠΎ Π²Π°ΠΊΡƒΡƒΠΌΠΈΡ€Π°Π½Π΅ сС Π±Π»ΠΎΠΊΠΈΡ€Π° Π² случай Π½Π° ΠΈΠ·Ρ‚Ρ€ΠΈΠ²Π°Π½Π΅. Как ΠΈΠ½Π°Ρ‡Π΅ Π½ΠΈ Π²Ρ€Π΅Π΄ΠΈ Ρ‚ΠΎΠ²Π°? Π—Π°Ρ‰ΠΎΡ‚ΠΎ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΏΠΎΠ²Π΅Ρ‡Π΅ Π·Π° освобоТдаванС Π½Π° място ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π΄Π° Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅. Какво ΠΎΡ‰Π΅ ΠΈΠΌΠ°ΠΌΠ΅ Π΄Π° Π³ΡƒΠ±ΠΈΠΌ?

ΠΠ²Ρ‚ΠΎΠ²Π°ΠΊΡƒΡƒΠΌΡŠΡ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π΅ Π΅ Π½Π°ΠΉ-голСмият ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Ρ‚ΡƒΠΊ. А Ρ„Π°ΠΊΡ‚ΡŠΡ‚, Ρ‡Π΅ Π΅Π΄Π½Π° дълга транзакция ΠΌΠΎΠΆΠ΅ Π΄Π° Π±Π»ΠΎΠΊΠΈΡ€Π° Π΄Ρ€ΡƒΠ³ΠΈ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ, Π΅ ΠΏΠΎ-опасна Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚. Вя ΠΌΠΎΠΆΠ΅ ΠΈΠ»ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° сС срСщнС. Ако сС срСщнС, Ρ‚ΠΎΠ³Π°Π²Π° Π½Π΅Ρ‰Π°Ρ‚Π° ΠΌΠΎΠΆΠ΅ Π΄Π° са ΠΌΠ½ΠΎΠ³ΠΎ лоши. А ΠΏΡ€ΠΈ Π°Π²Ρ‚ΠΎΠ²Π°ΠΊΡƒΡƒΠΌΠ° Ρ‚ΠΎΠ²Π° ΡΡŠΡ‰ΠΎ Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. Има Π΄Π²Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с Π΄ΡŠΠ»Π³ΠΈΡ‚Π΅ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π² OLTP: ΠΊΠ»ΡŽΡ‡Π°Π»ΠΊΠΈ ΠΈ Π°Π²Ρ‚ΠΎΠ²Π°ΠΊΡƒΡƒΠΌ. И Π°ΠΊΠΎ ΠΈΠΌΠ°Ρ‚Π΅ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½Π° ΠΎΠ±Ρ€Π°Ρ‚Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠ° Π² Π³ΠΎΡ€Π΅Ρ‰ Ρ€Π΅ΠΆΠΈΠΌ Π½Π° готовност Π½Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ‚Π°, Ρ‚ΠΎΠ³Π°Π²Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎΡ‚ΠΎ Π²Π°ΠΊΡƒΡƒΠΌΠ½ΠΎ Π±Π»ΠΎΠΊΠΈΡ€Π°Π½Π΅ Ρ‰Π΅ пристигнС ΠΈ ΠΏΡ€ΠΈ главния, Ρ‚ΠΎ Ρ‰Π΅ пристигнС ΠΎΡ‚ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ‚Π°. Но Ρ‚Π°ΠΌ ΠΏΠΎΠ½Π΅ няма Π΄Π° ΠΈΠΌΠ° ΠΊΠ»ΡŽΡ‡Π°Π»ΠΊΠΈ. И Ρ‚ΡƒΠΊ Ρ‰Π΅ ΠΈΠΌΠ° ΠΊΠ»ΡŽΡ‡Π°Π»ΠΊΠΈ. Π“ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π·Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² Π΄Π°Π½Π½ΠΈΡ‚Π΅, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ ΠΊΠ»ΡŽΡ‡Π°Π»ΠΊΠΈΡ‚Π΅ са Π²Π°ΠΆΠ΅Π½ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Ρ‚ΡƒΠΊ. И Π°ΠΊΠΎ Ρ‚ΠΎΠ²Π° ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠΈ дълго, дълго Π²Ρ€Π΅ΠΌΠ΅, Ρ‚ΠΎΠ³Π°Π²Π° всС ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΈ ΠΏΠΎΠ²Π΅Ρ‡Π΅ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ сС Π±Π»ΠΎΠΊΠΈΡ€Π°Ρ‚. Π’Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Ρ…Π²Π°Π½Π°Ρ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ‚Π΅ Π² ΠΊΠ°ΠΏΠ°Π½. И сС появяват ΠΊΠ»ΡŽΡ‡Π°Π»ΠΊΠΈ. Π”Π°Π΄ΠΎΡ… Π»ΠΈΠ½ΠΊ към Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°. И Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π±ΡŠΡ€Π·ΠΎ става ΠΏΠΎ-Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΠΌ ΠΎΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с Π°Π²Ρ‚ΠΎΠ²Π°ΠΊΡƒΡƒΠΌΠ°, ΠΊΠΎΠΉΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ само Π΄Π° сС Π½Π°Ρ‚Ρ€ΡƒΠΏΠ²Π°.

Благодаря Π·Π° Π΄ΠΎΠΊΠ»Π°Π΄Π°! Π—Π°ΠΏΠΎΡ‡Π½Π°Ρ…Ρ‚Π΅ Π΄ΠΎΠΊΠ»Π°Π΄Π° си, ΠΊΠ°Ρ‚ΠΎ ΠΊΠ°Π·Π°Ρ…Ρ‚Π΅, Ρ‡Π΅ стС тСствали Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ. ΠŸΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠΈΡ…ΠΌΠ΅ идСята си, Ρ‡Π΅ трябва Π΄Π° Π²Π·Π΅ΠΌΠ΅ΠΌ ΡΡŠΡ‰ΠΎΡ‚ΠΎ ΠΎΠ±ΠΎΡ€ΡƒΠ΄Π²Π°Π½Π΅, с Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ ΡΡŠΡ‰Π°Ρ‚Π° основа. Π”Π° ΠΊΠ°ΠΆΠ΅ΠΌ, Ρ‡Π΅ смС Π΄Π°Π»ΠΈ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π±Π°Π·Π°. И Ρ‚ΠΎΠΉ изпълни ΠΌΠΎΠ»Π±Π°Ρ‚Π°. И ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°, Ρ‡Π΅ сС справя Π΄ΠΎΠ±Ρ€Π΅. Но Π½Π΅ сС провСрява Π½Π° ΠΆΠΈΠ²ΠΎ, Π½ΠΎ Π½Π° ΠΆΠΈΠ²ΠΎ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ Π½ΠΈ Π΅ 60-70%. И Π΄ΠΎΡ€ΠΈ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Ρ‚Π°Π·ΠΈ настройка, Π½Π΅ сС ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π° ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠ±Ρ€Π΅

Π’Π°ΠΆΠ½ΠΎ Π΅ Π΄Π° ΠΈΠΌΠ°Ρ‚Π΅ СкспСрт Π² Π΅ΠΊΠΈΠΏΠ° си ΠΈ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ DBA СкспСрти, ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° прСдвидят ΠΊΠ°ΠΊΠ²ΠΎ Ρ‰Π΅ сС случи ΠΏΡ€ΠΈ Ρ€Π΅Π°Π»Π½ΠΎ Ρ„ΠΎΠ½ΠΎΠ²ΠΎ Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅. ΠšΠΎΠ³Π°Ρ‚ΠΎ просто ΠΏΡ€Π΅ΠΌΠΈΠ½Π΅ΠΌ ΠΏΡ€Π΅Π· Π½Π°ΡˆΠΈΡ‚Π΅ чисти ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ, Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Π°Ρ‚Π°. Но ΠΏΠΎ-напрСдналият ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ бСшС, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΡ…ΠΌΠ΅ ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π½Π΅Ρ‰ΠΎ ΠΎΡ‚Π½ΠΎΠ²ΠΎ, Π½ΠΎ със симулирано производствСно Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅. Π’ΠΎΠ²Π° Π΅ напълно Π³ΠΎΡ‚ΠΈΠ½ΠΎ. ВсС ΠΎΡ‰Π΅ трябва Π΄Π° израснСм Π΄ΠΎ Ρ‚Π°Π·ΠΈ Ρ‚ΠΎΡ‡ΠΊΠ°. Π’ΠΎΠ²Π° Π΅ зряло. Π“Π»Π΅Π΄Π°Ρ…ΠΌΠ΅ чисто с ΠΊΠ°ΠΊΠ²ΠΎ Ρ€Π°Π·ΠΏΠΎΠ»Π°Π³Π°ΠΌΠ΅ ΠΈ Π΄Π°Π»ΠΈ ΠΈΠΌΠ°ΠΌΠ΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ рСсурси. Π’ΠΎΠ²Π° Π΅ Π΄ΠΎΠ±ΡŠΡ€ Π²ΡŠΠΏΡ€ΠΎΡ.

ΠšΠΎΠ³Π°Ρ‚ΠΎ Π²Π΅Ρ‡Π΅ ΠΏΡ€Π°Π²ΠΈΠΌ garbage select ΠΈ ΠΈΠΌΠ°ΠΌΠ΅ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ·Ρ‚Ρ€ΠΈΡ‚ Ρ„Π»Π°Π³

Π’ΠΎΠ²Π° Π΅, ΠΊΠΎΠ΅Ρ‚ΠΎ autovacuum ΠΏΡ€Π°Π²ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ Π² Postgres.

О, Ρ‚ΠΎΠΉ ΠΏΡ€Π°Π²ΠΈ Ρ‚ΠΎΠ²Π°?

ΠΠ²Ρ‚ΠΎΠ²Π°ΠΊΡƒΡƒΠΌΡŠΡ‚ Π΅ ΡΡŠΠ±ΠΈΡ€Π°Ρ‡ Π½Π° Π±ΠΎΠΊΠ»ΡƒΠΊ.

Благодаря Π²ΠΈ!

Благодаря Π·Π° Π΄ΠΎΠΊΠ»Π°Π΄Π°! Има Π»ΠΈ опция Π·Π° Π½Π΅Π·Π°Π±Π°Π²Π½ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€Π°Π½Π΅ Π½Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ с раздСлянС, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ цСлият Π±ΠΎΠΊΠ»ΡƒΠΊ Π΄Π° бъдС ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π°Ρ‚ ΠΎΡ‚ Π³Π»Π°Π²Π½Π°Ρ‚Π° Ρ‚Π°Π±Π»ΠΈΡ†Π° някъдС отстрани?

Π Π°Π·Π±ΠΈΡ€Π° сС, Ρ‡Π΅ ΠΈΠΌΠ°.

МоТСм Π»ΠΈ Ρ‚ΠΎΠ³Π°Π²Π° Π΄Π° сС Π·Π°Ρ‰ΠΈΡ‚ΠΈΠΌ, Π°ΠΊΠΎ смС Π·Π°ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈ маса, която Π½Π΅ трябва Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°?

Π Π°Π·Π±ΠΈΡ€Π° сС, Ρ‡Π΅ ΠΈΠΌΠ°. Но Ρ‚ΠΎΠ²Π° Π΅ Π²ΡŠΠΏΡ€ΠΎΡ Π·Π° кокошка ΠΈ яйцС. Ако всички Π·Π½Π°Π΅ΠΌ ΠΊΠ°ΠΊΠ²ΠΎ Ρ‰Π΅ сС случи Π² Π±ΡŠΠ΄Π΅Ρ‰Π΅, Ρ‚ΠΎΠ³Π°Π²Π°, Ρ€Π°Π·Π±ΠΈΡ€Π° сС, Ρ‰Π΅ Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ всичко страхотно. Но Π±ΠΈΠ·Π½Π΅ΡΡŠΡ‚ сС промСня, появяват сС Π½ΠΎΠ²ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΈ ΠΈ Π½ΠΎΠ²ΠΈ заявки. И Ρ‚ΠΎΠ³Π°Π²Π° - ΠΎΠΏΠ°, искамС Π΄Π° Π³ΠΎ ΠΈΠ·Ρ‚Ρ€ΠΈΠ΅ΠΌ. Но Ρ‚ΠΎΠ²Π° Π΅ ΠΈΠ΄Π΅Π°Π»Π½Π° ситуация, случва сС Π² ΠΆΠΈΠ²ΠΎΡ‚Π°, Π½ΠΎ Π½Π΅ Π²ΠΈΠ½Π°Π³ΠΈ. Но ΠΊΠ°Ρ‚ΠΎ цяло Π΅ Π΄ΠΎΠ±Ρ€Π° идСя. ΠŸΡ€ΠΎΡΡ‚ΠΎ ΡΡŠΠΊΡ€Π°Ρ‚Π΅Ρ‚Π΅ ΠΈ Ρ‚ΠΎΠ²Π° Π΅.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: www.habr.com

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€