á¨á°áá°á áá á ááᣠá ááľááá áá¨ááá˝á á áŤáľ á°á ááľáááľ á¨á˛á˘á¤áá¤áľ [1] á áľááá á°ááŁáŤáľ ááľáĽ á ááą ááááᢠáĽáľá¨ááŤá áľá¨áľáŁ áĽá áĽáŤáłá˝á á ááľááá áá¨ááá˝á ááá°á¨á ááá áááááłááľ áĽá á᪠á¨ááá áá á¨áá¨ááť áľáááśá˝á ááá¨áŁá¨áĽ á ááĽáᢠáĽááľ áááŽá á¨áľáá˝á ááá°á¨á ááľááá áĽáá áᢠá áľááá ááá á°ááŁá ᣠá á°ááá áááłá ââââá¨ááłáá á¨áá áĽá á°áľáá á˘áá´ááľ áŤáᢠ"á¨á áá á¨áĽ 1 á°áá col1 = : áĽá´áľ" - áá ááá ááá áá˝áá, áľááá?
áŞá˛áŽ
-
á¨ááááŞáŤá áááľ ááᎠáááľá á¨2007 ááᎠá ááááľ ááŽááŤá áŽáá´ ááľáĽ ááá˘
-
áĽá á¨2005 ááᎠá¨ááľáľááŹáľ áá áá ááŠá˘ á áĽá ááŽáááśá˝ ááľáĽ á°á á áá áłá.
-
ᨠ2007 ááᎠá¨RuPostges áá áááľáĄá˘
-
á Metup áá° 2100+ á°áłáłááá˝ á áľáááᢠá áłá ááŤáá˛áľáŽ áá¨á á áá á¨áááŽáá ááĽá á á áá ááá°á ááá˘
-
áŤáááá፠ááľáĽ ááĽá áááłáľ ááŹá ááᢠáľááá áŠáŁááŤáá˝á á¨áᎠá¨á ááŞáŤ áŠáŁááŤáá˝ áá á¨á áá áĽá°áŤááᢠᨠPostgres áá á°á áááá˝ áá¸áᢠáĽá ááá á áááľ á áľá°áłá˝ áááŽá˝ á á.
á¨áá ááá áĽá¨á°áŠ á¨ááᣠá ááłááľ áá á ááľáľááŹáľ á áŤáŁá˘ á ááłááľ á áááľ áá°áŞáŤáá˝ á áᢠá áľá°áłáłáŞá á¨ááá¨áŞáŤ áŚáł áĽáľáŞáŤááá áááľ áá á á á ááŚáľ ááá DBA ááá˝ áĽáľáŞá°áĽ áá á á á ááŚáľ áĽáá áᢠáĽá á áááľ, á áá¨áŤ áĽá á á áľá°áłá°á áá°áľ ááľáĽ áĽáá°áá áŤá ááááá˝á áĽááááá áĽá á á ááśáá˝á áĽá á á áłá˛áľ á ááŤá¨áŚá˝ áĽáá áĽááąá áááľáááľ áĽááááŤáá.
á á áᥠá ááľ á ááááľ VLDB áá ááŠá˘ áá á áá¨á ááśá˝ áá áľáá áŽááá¨ááľ ááᢠáĽá áá°ááľ DBMS áá¨áá¸áľ áĽáť áłááá áááĽá á áŤáľ-á°á áĽáá°áá°áá á ááľ áŞáááľ áá áᢠáá á á˛áľ áááľ ááá˘
á ááłáŁááľ ááá ááľáĽ áĽá áĽá áĽá áá¨ááá˝ á á - ፠1 petabytes ááᢠáĽá á áá á ááá áá á¨á°á¨áḠá¨000 á áá ááłáŁááľ áá¨á áĽááłáá ááááłáᢠáĽá á¨áĽááą á¨á áá áĽá áĽá áá¸á.
áĽá áá áá°á¨á? ááááľ áĽááłáá áľ ááá˝ ááᢠá¨áá á áľá°áłá˝ ááᣠáááá áĽááᢠáá áĽáľáŤáá áá á á˛á˘á¤áá¤áľ ááľáĽ á áá°á°áá á¨áá˘
áááἠááá á á¨áá˝á áááľ áááŽá˝á áááááᢠáĽááľáá°áá áááááᣠáľááá á á´áááŤá áĽá ááľá¨á ááťá á ááĽáá˘
ááĽá á¨áááá¨á áĽá á°á¨áŁá áááłáá˝á á¨ááŤá ááá á¨áá áááłá ááᣠáááľá á áĽá áĽá á ááŞáŤá áŁá á¨ááἠááłáá˝ áá áĽá ááᣠáĽá á ááłáľ áŤáá ááľá á¨á°ááá ᨠá áááľ ááᢠáŤáŽá˝ á ááá áŚáł á á áĽá ááá á°á áá áá á áĽááą áá ááŤááłáá˘
áĽáŤá°á áŤá áá°á¨áľ ááá á ááŤáł áá°á¨áśá˝ á áá áĽáá áᢠá ááłááľ ááááŚá˝ á°áá ááťáťáá˝ áá¸áᢠáááłá, á°á ááá á ááľ ááá áĽá፠ááľá¨á ááá¨, ááá áá á áá¨á¨á°áá. áĽá á¨á°áá°á áá á áá áá áŤáá°á ááá á¨áĽááá˛á áá¨áá˝ áĽáá°ááá˝á áĽáááááᢠáááľáᣠáŚáłá áááá áĽáŁ á ááťá¸áá áááťáťáᣠááá° á ááłááľ ááťáť áááŽá˝á áá˝áłáľ áĽááááááá˘
á á á ááá, á°ááŁáŠ á á°áá°á á áá á¨áĽ ááľáĽ á¨á°áá°á áááŽá˝á, á¨á°áá°á ááľááŽá˝á á áŤáľ á°á áá°á¨á áá.
áĽá áĽáá°áá á áááľ áĽáŤá á áá, áľá áᏠá¨ááááá¨á, áááľá áľá ááťáť ááľááá áá.
á ááľ áááľ áŤáá ááᢠáĽáá˛á°áŤ á ááá áá áᢠáá áá áĽáŤá áá°á°, ááŤáą ááľá˝ - ááá ááá áá°áŤá. á ááľá¨á áá á°ááľáá - ááá ááá á°á á ááᢠá°ááááˇá - ááá ááá áá°áŤá. á áá á ááľ áá áĽááŤááłáá - ááá ááá á°á á áá.
á¨áá¨á ááą áŤáľáá áĽá áŤáľááᢠáááłá DELETE á áľááš á áľááš á áááł ááľáŤáľ ááááŤáá˘
á¨á፠á áá á¨ááĽááľ áŠáŁá፠áĽááłáá áĽáá¨áłáá áĽá áľáŤáአáĽá áĽáĽá áĽáá°áá áἠáĽáá¨áłááᣠáľááá á ááľááá áááŽá˝á áááá áááá ááľáááᢠáĽá ááááľá áá¨áąá˘
á¨áĽááľ ááŤáľ á áá á áľáłááąá˘ áĽá ፠ááᢠá ááá ááá á áá ááá á°á ááˇáᣠáá áĽáá˛áááľ á ááá˘
áĽáą á á´á áá á°ááá¨á° ᣠá ááá áľ áá - ááá ááá á°á á ááᢠá á°ááĽáŽ, á ááá á¨á°á áŤáááá áá˝áłáľ áŤáľáááááłá. ááá ááá áĽáá°áá°áŤ á á¨ááá§áá˘
ááĽá áá áááá? á¨á፠ááá ááá ááĽá ááááłáᢠá á ááľ áá áľ ááá ááá áĽáá˛ááľá ááááłá. ááá á°á á áľááᤠááľáĽ áá, áĽá¨áá áŤááá ááá á áá¨áłá. áĽá á¨á፠ááłáŠ á áá DELETE ááľáĽ áĽáá°áá ᨠáłááá˘
á¨áá áľá á°áľ á°á¨áľáˇá? áľá á°áľ ááá á á¨áá˝ááá áááá áĽááᢠá¨áĽááá ááľáĽ á áŁá á áľááá á¨ááá á¨áľáá áá?
-
áááłáᣠááá áááá á ááá á¨áᣠáááľá á¨á˛á˘á¤ áŁáááŤá á áá¨ááᢠáá˛áŤáá á˝ááŠá á á ááľ áááľ áŁáá ááá áŤáá áá á, áĽá á á°á¨ááŞ, áĽá áááŽá ááľááŽá˝ á¨á°á áŤááá áľá ááŽáłáá˝á ááááľ áá˝áá.
-
ááááŁáľ á¨áá áľá á°áľ ááľá¸á ááá áá˝ááá˘
-
ááááŁáľ áááľáአááá á ááá áłá áĽá áá á áá°á¨áľ ááťáťá áŤáľáááááłá.
-
ááá á áá¨á ááą á áŤáą á¨áá á˝áá á á áĽá á¨ááľáľááŹáľ áá° MySQL áááľ á ááĽáá˘
-
ááá ááááŁáľ á ááś áĽááá áá á¨áá á˝áá á á.
-
ááááŁáľ á áľáŤ áľáá áľ ááľáĽ á ááłááľ áľá á°áśá˝ ááአáá˝áá áĽá á ááľá á°á ááŁá¨á áĽá ááἠá°áá˝á áá á á áŤáľáááááłá?
ᨠDBA áźá á ááá á¨áᢠá˛á˘á¤ áŤáᣠáĽááá á á ááŤáł áááŽá ááľááŽá˝ áŤáŤá¸ááᣠáĽá ááá á áááľ áá¨áŤáá˝ áŁáááŠá áĽááł âáŤá á áŤá°áááľáâ áááᢠáĽáá á áá áŽáľ á GitLabᣠGitHub ááľáĽ á¨áá áĽá á¨áŽáľ áááá áá°áľ áŤá áĽá áŤá DBA áááľ áá ááá á ááŽáľ áá á¨áá¨ááá á ááá á¨áᣠáĽáá á ááá˝ DBA áĽáá˛á ááááĄ- âáá ááľá¨á á ááťááᢠâ
áĽá áĽáą á á˛áľá á áጠáá á˝ááŽá˝ áŤááĽáááłá áĽá ááá áá°áśá˝ áŤá áľáá ᣠáááááŤáá˝ ááአáá˝áá ᣠáĽá áĽáá˛áá ááĽá á°áááá˝ á ááśáŤáŞáŠáá áŤááąáłá ᣠáá áĽáŠ á áá°áá á˘
ááá°áá áľá á°áľ - á á°áłáłá° áŚáł áá ááááľ á áľáááá. á ááŽáľ áá áĽá á¨ááťáť ááŁáŤ áá¨ááá˝ á˛á¨ááš á áá°áá ááá áá ááá˘á á áá áłáłá¤á ááľáĽ á¨á°á¨áḠáá¨á á ááá á¨áá áĽá áá áá ááťáť á áááááľ áá á¨áá á¨á ááá á¨ááᢠá áá áá á¨áľ á ááĽááľ á¨áá°áŠ 1 ááľááŽá˝ áá áŠ.
á¨áĽá áá°ááá˝ á°áŤá áááá¸áá áĽáá¨áłáá, áááľá á¨á°áááŁá áá°áľ á˝ááŽá˝á á áááá. á á á¨á˛á˘ áá¨áŤ á áá°á°á¨ááá˘
á°áľáá áá¨áŤ á á°ááłáłáŠ ááłáŞáŤáá˝ áá ááá¨áŁá. áá áá á á°ááłáłáŠ ááłáŞáŤáá˝ áá áááá ááľá¨á á ááťáá, ááá áá áá áá á áŤáá á¨ááἠááł á á ááá á áŁá á áľááá áá. ááĽá áááłáľ áĽá¨á°á ááŠáľ áŤáááľ áá áá ááᢠáĽá á¨á ááľ á ááľ á ááľ áľááá ááłá á°áááŹáŤáá, áááá á áŠá˛áŠáĽ áá áá¨áľ áá˝áá.
ááááŁáľ á¨áĽá ááłáŞáŤ ááĽá áá? áĽááá˝á áĽá á ááĄá áá áḠáĽáŠá˘ á á ááá 100% áááá á áá°ááᢠá áĽááἠáĽááá áááá á¨NVMe áľáŤááŽá˝ á¨áá ááááŁáľ ááĽá á áŁá ááá ááááá áá áᢠáĽá ááááŁáľ á¨áĽáą á áá°áá.
á°áááá˝ áŤáááľ, ááťáťáŤá á ááá áĽá፠áá¨áááá. á á á˛áą áááľáá áá á á˛áľ á ááá˝ á°ááľá°ááᢠááá¨á. áĽá ááá ááá á°á á ááᢠá áŁá áááá˘
áľááážášá á˛áľáŽá˝ áĽáá°ááá áááŤáľ ááťáá? áĽá áĽáá ᣠáá á á˛á˘á¤ áĽááłáłáŁ áá° á ááľ á¨á°áá°á áááľ ááľáĽ áĽáááŁáá á¨áá°áť ááĽáĽ ááľá°áŤá¨áŤá˘ á¨áá°áť ááĽáĽ ááľá°áŤá¨áŤ á ááá á¨ááá˘
á¨áá°áť ááĽáĽ áááľá áá? á ááááá á˛á˘á¤áá¤áľ ááľáĽ ááᢠá¨ááá¨á áá¨á á áá á°á¨ áľááľáł ááľáĽ á˛ááááľ áá˛áŤáá áá° á˛áľá á ááááᢠááᥠá¨á°ááá á áá¨á á ááááŞáŤ áá° ááľá áááἠáááἠááááᢠáĽá á á ááľ áá áľáŁ á˛á˘á¤áá¤áľ áĽááá°á áážá˝á áá° á˛áľá á¨áááĽáá áľ áá áĽáá°áá áááľááᣠáľááá á ááľááľ áŤáá ááᣠREDOá áŤáá° ááľá¨á áĽáá˝áááᢠáá áĽáá° á áťááááľ áá. á¨á°áá°áá á¨ááłáá á¨áá¨á¨áťá áá°áť áĽááááŤáá ᢠáĽá ááá á˛á˘á¤áá¤áľ á°ááŁáŤá áŤá°áááá˘
á Postgres ááľáĽ áŤá á ááĽáŽá˝ áá° áá ááá°ááᢠá¨á°áá°ááľ á¨10-15 á ááľ ááá á¨ááἠáá á áĽá ááĽááśá˝ ááᢠáĽá á¨áá°áť áŚáł ááá á¨á°áᨠá áá°áá.
á¨ááľáľááŹáľ á¨áá°áť áááŁáŁ áááľá á ááśáá˛á á¨á¤á áá°áť áŤáááá áá¨á áá¸ááᢠáĽá á¨á ááŤáł á´áŤáŁááľ á ááłááľ á¨ááἠááł áĽáá á áᢠáĽáá áá° 90% á¨ááááľ ááłáŽá˝ ááľáĽ á¨ááłá áŹááá˝á áĽáá°ááŤáľááľáą á á°áἠáá¨áľ ááťáá á˘
áá áááľ áá? áĽá፠áááľ á ááĽáŽá˝ á áᢠá¨áá°áť ááĽáĽ á áá ááĽá፠ááᣠáá˝ááᣠáááłá á 10 á°ááᢠááá áĽá ááἠá˛áá ááᣠáá˝ááá˘
áĽá á ááŁáŞ max_wal_saze áá° 1 áááŁááľ á°áááĽáŻáᢠáĽáá° áĽáááą á¨áá, áá á áĽááṠᨠ300-400 áááŁááľ á áá á Postgres ááľáĽ áá¨á°áłá. á áŁá áĽá ááἠááá¨áá áĽá á¨áá°áť ááĽáĽá áá¨á°áłáá˘
áĽá ááá áŤááľá°áŤá¨áá ᣠáĽá á áááááą áĽáŤá°á ᣠáĽá áŠáŁááŤá áĽá áááἠáŤáá ᣠáĽá ááĽááśá˝ á áᾠᣠá¨á፠á¨áá°áť ááĽáĄ á á°áá á ááľ áá ᣠââá ááłááľ áá á ᨠ30 á°á¨ááľ áĽá á ááłáá´á áá°áŤá¨áĽ áááŁáᢠáá á áŁá ááĽá ááá˘
áĽá áĽá áá áĽá¨áᣠáááá áá¨ááἠá ááĽáᢠáááľáᣠmax_wal_sizeá ááłá°á áĽáá˝áááᢠáĽá áŤáá° á á°á°ááá áááŁá.
ááá áá á áľááá áĽáá´áľ ááľá¨á áĽááłááĽá á á ááá áá´á á ááá á°áá, áááľá, ááźáśá˝á áááá¨áĽ áĽáá´áľ ááłá ááľá¨á áĽáá°ááťá, á á°áᨠáá¨á áá á ááá .
á áá áá á¨áľ á áá¨á ááśá˝ áá áááľ á°á¨áłáłá áá¨áŤáá˝á áĽáŤá°á¨áá ááá˘
á¨ááááŞáŤá á°á¨áłáłá - max_wal_sizeá áĽááááŁáá. áĽá áľáá áŚááŹá˝á áĽá¨á°áŤá ááᢠá ááááŞáŤ, á 1 áááŁááľ ááŁáŞ á ááĽá áá áĽáá°áááá. áĽá áĽá áááŽáá˝ á¨ááá á ááľááŽá˝á á ááľ áľáá DELETE áĽáá°ááááá˘
ááĽá áá áŤá á á¨áŁáľ áĽáá°áá áá¨áľ áá˝áá. á˛áľá IO á áŁá ááĽá áááá áĽááŤáá. áá áŤá á WAL áĽááłáá áá áĽáááá¨áłááᣠááááŤáąá áá á áŁá á áľááá ááᢠá¨áá°áť ááĽáĄ áľááľ áá áĽáá°á°á¨á°á° áĽááᢠáĽá áĽáŠ áĽááłááá áĽááŤáá.
á ááá á max_wal_sizeá áĽáá¨ááŤáá. áĽáá°ááááá. áĽáá¨ááŤáá, áĽáá°ááááá. áĽá áĽá ááᢠá ááá á°á¨á, 10, 1, 2, 4 áááŁááľ 8 ááĽáĽ áĽáŠ áá. áĽá á¨á ááľ á¨á°áá°á áľáááľ áŁá áŞá áĽáááá¨áłáá. áĽáá ááłáŞáŤááš áĽáá° ááŽáľ áá ááá áĽááłááŁá¸á ááá˝ áá. á°ááłáłá á˛áľáŽá˝áŁ á°ááłáłá á¨áá á°á¨ áľááľáł áá á áĽá á°ááłáłá á¨ááľáľááŹáľ ááźáśá˝ áááŠááľ áááŁáá˘
áĽáá á áá ááááľ áľáááłá˝áá áĽáááááŁááᣠáĽá DBMS ááĽá á¨á áá á°áá á ááá áá áľ áá áĽáá´áľ áĽáá°ááłáᣠáĽáá´áľ áĽáá°ááá°á˝ áĽáááááá˘
á áŠá˛áŤá á¨áá°áť ááĽáĽ á¨áá°áť áŚáłáá˝ áá¸áá˘
ááłááĄ- á ááŤáł áááŽá á¨áľáá˝á á áá¨á á áĽáᣠá¨áľáá˝ á áážá˝ áá "á°á á°á" áá¸áá˘
á ááľ ááłá áĽáá á áᢠáá á¨á°áá°á áá á¨áľ ááᢠáĽá á ááŁáŞá á¨1 áááŁááľ ááźáľ á max_wal_sizeᣠá¨áĽá á˛áľáŽá˝ ááá áłáľ áá° áá°áá°áŞáŤ áĽáá°áááą á áŁá ááá ááᢠáá áĽáá á áŁá á¨áłáá áááá°á áááá°á ááááľ áá, áááľá, áĽáą á áĽááἠááĽá áľááľ á°á°ááśáľ áá á. áĽá á ááľ áá á ááś áĽáá áá áᣠáĽá áááŽá ááľááŽá˝ áŤáá á°áá áĽáť áá áá˘
áĽáá˛á ááááą ááś áĽáá á ááŽáľ ááľáĽ á¨á°ááá°, áĽá áá áĽáá áĽáá°ááá, ááááŤáąá á ááľ DELETE á áá°áá°áŞáŤá ááľáĽ áĽáá°áááľáá ááá˝ áá.
á á°á¨ááŞ, 16 áááŁááľ, áĽááśáš ááľááá áĽáá°á á ááá˝ áá. áĽááśá˝ ááľááá á¨á°áťá áá¸á, áááľá, áŁáŞáŤáá áĽáŤááłáł áá, áá á áŁá ááĽá á áá°áá. áĽááŤá á¨á°áá°á ááááľ áá á¨á˘ á áá á áŠá áááᥠáá. áĽá á¨ááááá˝ áĽááľ - ááá°áá ááŤá. áĽá 16 áááŁááľ á áááá áá áľááá˝ ááá áá°áááľ áĽááłááĽá ááá˝ ááá˘
áĽá 64 áááŁááľ áá á áá á¨á°áťá áá ááłá á áá˝áá áľ áŚáł. ááľááá áĽááśá˝ ááááŤá, ááá˝ áľáŤáá˝á áááľá¨á áĽá á á˛áľá á ááľ ááá áááľá¨á áĽá áĽáľáá˝ á á.
ááá?
áá° ááááŽáš á áĽááą áĽááŁáá ᣠáá áá ááᾠᣠá¨áá°áť ááĽáĽ ááľá°áŤá¨áŤ áĽáá´áľ áĽáá°áá°á¨á ᣠá á ááá áááŁá ááŤáľá¨áľá áá˝áá ᣠáľáááá áĽá á ááŤáá ᣠáá áá á˝ááŽá˝ áĽááłá á áĽááą áĽáá¨ááŤáá á˘
á¨áá°áť ááĽáĄ áĽá áá á¨áá¨á°áľ á¨áá áĽá ááľááŽáťá˝áá á á á°á á°á¨á°á áŤáááá ᣠáá á áá¨á á áá áááá ᣠáá á áĽáŠ áá ᣠááááŤáąá áááá á á¨á´á áľáááá°áá ᣠá¨á፠ááááŁáľ ááááŞáŤ áá á¨ááááŞáŤáá áὠᣠá¨á፠áşá ááá ááŤá ᣠáĽá á¨ááŤá áá° ááááŞáŤá á°áááą. áĽá á áĽááá ááĽááśá˝ ááŤá¨á áá° ááááŞáŤá áὠᣠá¨áá°áť ááĽáĽ ááľááá áá° á˛áľá á áľáááŚáłá ᣠá¨á፠áĽáá°áá áŤáľááá áá ᣠááááŤáąá áááá°á áá áľááá¸á¸á˘
áĽá á¨áá°áť áŚáłá áĽá áá áĽáá˛áŤáľáá áĽááľááľá°áááᢠááĽáą áŤáá°á°ááá áľáŤáá˝ áĽáá´áľ áĽáá°áááŠá˘
áá ፠áĽáť á áá°ááᢠááá˝ á ááľáľááŹáľ 8 áŞááŁááľ áĽá á ááááľ 4 áŞááŁááľ áá¸áᢠáĽá áá_áá˝_áá˝ááᢠá ááŁáŞ áá á¨áááᢠáĽá áá áľááá áá, ááááŤáąá áŤá ááá, á¨á°á áḠá¨ááš ááá˝ áĽáť á¨ááľáá áľ á á°á á á.
áá° ááľ áááἠááľáłááťá WAL á¨ááá áŁá áŞá á¨áá°áť áŚáł á˛áá¨á áĽá áášá áááááŞáŤ áá áľáááá, ááá áá˝ áááľá ááá 8 áŞááŁááľ áá° ááľ áááἠááľáĽ áááŁá, ááá áĽááłá áĽá áĽáť ááá¨áá. ááľáá, áĽáąá 100 áŁááľ ááááá. áĽá áááá áá˝ ááá á ááĽá.
á ááŁáŽáš áááŚá˝, á¨á°áá°á tuple áĽáť áááŤá, áá áááááŞáŤ áá áááá ááá áĽáá˝ááá.
áĽáá, á áá áá á¨áľ, á¨áá°áť ááĽáĄ áĽáá°áá á¨á°á¨á°á°, áááá ááá áĽáá°áá á¨áŁáś áááá áĽá áááá áá˝ ááááľ á ááĽá. á á°á°ááá á¨áá°áť áŹááá˝áŁ á á°ááłáłáŠ ááá˝ ááľáĽ áľááŤááľ áá_áá˝_áááá = á ááˇá á¨áá˝áá á áá ááááᣠáááľá áĽá WAL áĽááááŤááᢠá°á¨á᪠áá° á ááá˝áŁ áá° áá á°áᣠáá° á˛áľá áááŤáá˘
áĽá, á áá áá°á¨áľ, áááľ áľáááá˝ á áá.
ᨠmax_wal_sizeá á¨á¨ááá ááááąá á¨áá°áť ááĽáĽ áĽá á¨áá á¸áá ááá áĽáá°áááááᢠáĽá ፠á áŁá áĽáŠ ááá˘
á´áŤáŁááľ á áľááĽá°á áĽáááᢠáá ááĽá áá? áá ááĽá áá, ááááŤáąá ááľááľ á˘áá á, áá°ááłáľ áĽáááŁáá, ááááŤáąá á¨áá°áť ááĽáĄ á¨á¨á á áá á ááľ áľááá ᨠáĽá áĽá ááá á°ááá§á. áĽá áá á áá REDO ááľá¨á á ááĽáᢠáĽá áľááá ááá°ááá á°á¨áłáłá áá¨áŤáá˝ áĽáá°áááá.
áŚááŹá˝á áĽáá°áŤáá áĽá á¨áá°áť ááĽáĄ áá ááá á˛á áĽááŤáá -9 Postgresá áá áĽáá áĽáááľáááá˘
áĽá á¨á፠á áá áĽáá°áá áĽááááŤáá, áĽá á áá ááłáŞáŤ áá áá áŤá á áá áĽáá°áááł, áááľá á áá ááĽá áááł ááľáĽ áá áŤá á áĽáá°áá°ááá áááá¨áą.
áááłá ááĽá áááá áááľ áá á áľá°ááŤáá. ááááŞáŤ á¨áá°áť ááĽáĄ á¨ááá á ááľ á°á áá˝á°ááᣠáľááá áĽá áŤáŁááᢠááá°á á°áá áľáá ááś áĽáá á°á°á¨áááᢠáĽá á¨áá°áť áŹááá˝ á áá ááĽá፠áá á¨ááᣠááááŁáľáŁ á¨áá¨á¨áťá á¨áá°áť ááĽáĽ ááᎠáŤáá° WAL ááá á áá áᢠáááľá áľáἠá°á¸áá ááá˘
áĽáá˛á ááááąá áááł áá°ááŤáŠ ᨠmax_wal_size áá áá˝ áĽáááŤáá áĽá max_wal_size 64 áááŁááľ á¨ááᣠá á¨á áááł á10 á°áá áĽáá°áááᣠáĽáá¨áłááᢠáĽá á°áá á¨ááľááá ááá á ááľááá áĽáá áĽááľáŁááᢠáá á¨áááľ áĽáŤá ááᢠáá áá áĽáá ááááľ áĽáŤ ááłááá˝ á°á áŤá ááá á°áá˝ ááłá¨áľ áĽá âá˝áá á˛áá á ááá áŤá á áá áá°ááľ áĽáá˝ááá? á 3-5 á°áááá˝ á áŁá á á¨á áááł ááľáĽ áá°ááľ áĽáá˝ááá? áĽá áĽááľá ááłá áŤá°ááá.
áĽá áĽáá á ááľ á áľá°áłá˝ ááĽáĽ á áᢠá ááŁá¤á áá áľá Patroni áááľ áááŁáá˝ á ááᢠáĽá ááááŁáľ áĽá¨á°á ááá áľ ááá áá˝áá. áá á Postgres áŤáľ-á°á á áááłáŤáľ ááᢠGitLab áĽá Data Egret áľááá ááłá á°áááŠá˘
áĽá á 30 á°á¨ááľ ááľáĽ á¨ááᣠá ááśáááá¨á áŤáá ááááŁáľ á10 á°áá áá°ááľ áĽáá˝ááá? ááááŤáąá á áá ááĽáĽ áá° á áá áĽááááŤáá, áĽá ááá ááá á°á á áááá. áá á áá ááĽáĽ ááᢠááá áááľ á ááá áᢠáá áááľ á á á°á áááá áá áĽáť áĽááłááá áá°áááá˘
á¨á˝áááľ á áá á¨á á áááá፠áŤááá, á ááá˝ áĽá áááłáá˝ ááľáĽ áážáľ á áá°ááá. áááłá, á á°ááłáłá áá¨áŤáá˝, á ááľ ááá áľáá°áá áĽá á ááłááľ áá á 10 á°áááá˝ áá á á á ááĽá.
á ááśáááá¨á á˘áá¨áá á ááá á áŁá áŠá á áááľáᢠáĽáá° 64, 100 áááŁááľ áŤá áĽá´áśá˝ áĽáŠ áĽá´áśá˝ áá¸á. á ááłááľ áá áľáá˝ ááá¨áĽ áĽááłá á áá ááᢠá á á ááá áá á¨áá áłáááľ ááá˘
áľáááážá˝á áááľáŤáľ áááłá, max_wal_size =1, 8, á¨á áá ááááá áĽá áá ááľáá áŤáľáááááłá. á á°á¨á¨á. áĽá á á°ááłáłá áá°á¨áľ áĽáá°áá ááľá¨á ááááá, ááá áá áááá ááá á áľááľáá á°áááá. áá áááľá¨á?
á áĽáá°áá ááááľ áááłáá˝ ááľáĽ áááľáá áá áĽáá°ááá°áá áľá áááľáá˝á á áá áĽáááŤáá ᢠáĽá áá á áŁá áľááááá á ááŤá¨áĽ ááá˘
á áá á ááŁá áá áĽáľááá˝ áá ááᢠáĽáá áá "BEGIN, Delete, Rollback" áĽáá°ááá á¨áá á°ááá ááľáá áĽáá˝áááᢠáááľáᣠáĽá áĽáŤáłá˝á á¨á°á¨áááᣠááá°ááá áĽáá˝áááᢠáĽá á á áŤá áĽááľá ááᥠá á°ááłáłá áŚáł áá áá°ááᢠááá áĽááłá á¨ááľ áĽáĽá áľ áĽááłá á áá°áááľá. áĽáá°áá áŁá DELETEs áá áá°ááá áľá˝ááá á˘
áá á¨ROLLBACK áá áŤáá á°áá ááá°áť ááĽáĽ ááľá°áŤá¨áŤ á°áľáá ááᣠááá áĽááłá á áľááá á¨á°áá¨á á¨ááἠááł á¤á°áá¨áŤáá˝ áŁáááŠááľáá˘
á¨á ááľ á ááľ "i" áá á ááľ áłá á á á°á¨áá. Postgres á¨áááá፠á ááśá˝ á ááľá˘ á á°áá áŤáá°á á¨á á áľá°áá á¨áááłáŠ áá¸áᢠáĽááá áĄ- ctidᣠxmidᣠxmax áá¸áá˘
Ctid á áŤáá á áľáŤáť ááᢠáᎠáá˝áŁ á ááš ááľáĽ á¨ááááŞáŤá tupleá˘
á¨ROOLBACK á áá áąáá á á°ááłáłá áŚáł áĽáá°áᨠáá¨áľ ááťáá. áááľá ᣠáĽáá°áá ááá¨á áĽáá˝ááá ᣠáĽáą á á°ááłáłá ááááľ áá áŤáᢠááá ááá áá ááá˘
Xmax ᨠtuple ááľ áá ááᢠáá á°á á°á°ááá áłááŁááá áá ááľáľááŹáľ ááĽááą áĽáá°á°ááá° áŤááááŁáľááá 0 á¨áá ááá á¨á°ááá° ááĽááľ ááá ááἠá¨áááᢠáá á¨ááŤáłá¨á á DELETE áá áá°ááá áĽá á¨áľáááąá áŁá ᪠á¨á áá áľáŤáá˝á áá¨ááἠáĽáá°ááťá ááᢠááľáá˝ á¨ááἠááł á¤á° áá¨áŤ ááľá¨á áľá˝ááá á˘
áá áľá ááŽááŤá á ááŞáá˝ ááᢠáľá á˛á˘á¤á áĽáá˛áᣠáááá ááŽááŤááŽá˝á ááá ááá áłááĄ- âááááľá áá á¨á á áĽá á áľá¸á᪠áľáŤáá˝á á¨ááľá°áŤá?âᢠáá áá ááá á¨á°áᨠáἠáŤá áááľ ááᢠáľáŽá á áľá°áłá°á áá á á áá á°áá áááľ áááŤáá˘
áĽááłáá¨áááá ááá˝ ááᢠááá˝ ááᢠá áááŽá áááá አááľááŽá˝ áĽáá˛á áŤááá DELETE áĽááłáá°áĽá ááľá¨á á ááťááᢠá 20 á°áááá˝ áá¨áááá, áĽá ááá ááá áá°áá. áá á ááŤáłáá áááł, áááľ áŤáá¸á ááá˘áá˝ áĽááłá á áŁá áľáá á áá áŠáŁááŤáá˝ ááľáĽ áĽááłá áłááá áľá á°áśá˝á áŤá°ááá.
ááá ááľá á á áľááá áá?
-
á˛áľáŠ á¨áŁáľ áááá á¨á°ááá¨áľá, áĽááá˛áŤááľ ááĽááľ áĽáááá áá. á¨á°á áá¸á á°áá áá áĽáá ááá¨áá áĽáá˝áááᣠáľáŽáľáááá áĽááááłááá˘
-
áĽá ááá˝á áá¨á á áá á áááľáᢠá á ááłááľ áááłáá˝ ááá á áá°ááᣠááá á¨ááá°áŤáá áĽááá°á ááťáť áĽá¨á°á¨á á¨ááᣠááááŁáľ á¨á ááśáŤááŠá áľáŤ á áľá°áá áááá á áŤááąá ᣠááááŤáąá ááĽááą áĽáľáŞá ááá áľá¨áľ áá áĽááᢠááá áá áá á°á áá ááá á¨áá˝ááá ááá áŤáľáááą, á¨ááŤá ááłááłá, á¨áá ááááľ á°áá°ááľ ááá˝ áááŤá. á¨á á ááĽááśá˝ á áľá¨-áážá˝ áĽá á ááŁáá áá°áá áŞáŤáá˝ áá ááááľ á ááŁá¸á.
áá á áľá°áłá˝ ááᢠáĽá áá ááá˘áá˝ "áá ááááľ áĽá á áá á ááá¨áĽ á ááĽá?" áĽáá á˛á áá á ááťááá˘
á¨áĽá á áá á á áľááᣠá¨ááĽááą áá á á ááľá°á áĽáá°ááá ááá˝ ááᣠáááľáᣠá¨ááĽááśá˝ á°á¨á᪠áľááᢠáá á á°ááłáłá áá, ááá ááĽááľ ááá áá¨ááŤá.
á áŁá ááá á á á ááᥠá¨ááľá˝ááá áŤá á áá°áľáŁ ááá áá executables á á°á¨ááľ á áľááá˘
ááá á ááľ á°á¨ááľ? ááĽáŤáŞáŤá á áŁá ááá áĽá áááá á°á, á´áááŤá áŤááá á°áá˝ áĽááłá áłááá áá¨áł á¨áá˝á áá. ááá˝ áĽááŤááᢠ50 ááá°á¨ááśá˝ áĽááá°áľ. á¨áá ááá á¨á°ááá áááá˝á ááá˝ áá°áŁá. áŤáá° á¨áá ᣠá¨á፠á¨á áá á¨áŁáľá˘ á¨áá ááá á¨100 ááá°á¨ááśá˝ á áá ááá˝ á¨á°á ᣠáááłáᣠá áá¤áá á á áŤá°á¨ááᣠáĽá á¨100 ááá°á¨ááśá˝ á áá áááľ á¨á°á á ᣠáá áľáá˝ áááá¨áľ ááľááá áá°áááᢠá ááľ á°á¨ááľ á áľááľá áĽáá° áĽáŹááľ áá á¨ááłáááá˘
á áá áá°á¨áľ á¨á áá áľáŤááťá˝áá á 10 á°á¨ááľ áááŁá á¨á°á áá á ááľá á°á á¨áá¨áá¨á áľááľ á ááᢠáĽá ááĽááľ á°á¨ááśá˝ áá°áŤá, áĽá á°áá˝ á áľááľáá áŤáľá°ááá. áľááá , á¨á ááľ á°á¨ááľ á áá ááááľá¨á áĽáááŁáá. áá á á°ááłáłá áá, á áŁá á áĽáŠ áááł á áá¨ááááľ, ááááŤáąá á¨ááĽááą áľáá á¨ááłá áááá. áá°á¨áą á¨á áá á¨áŁáľ áááá, áĽá ááá˝ á¨á°ááŤáŠ á˝ááŽá˝ ááá አáá˝áá.
á¨áá¸ááŤáá áá á áĽááááŁáá. á áĽáŤááłááą áááł, á á°áᨠááááľ ááľá¨á áĽáá˝ááá. á ááśáá˛á ááľá¨á ááťáá. áĽá á¨á ááľ áĽá á áá°áľ áá¤áłáááľ áĽááá áá˝ ááᢠáááľáᣠá¨á ááľ áĽá á á°áá ááá á áá´áľ áĽáá°ááááá˘
á áááŤá˝á áá á¨áááŤá ááá áá áľá DELETE áĽáť á áá°ááᢠáĽáá°áááąáľ áĽááá á áá¨á áá áŤá áááá¸áá á¨á áá áľáŤáá˝ áá¸áá˘
áĽá áĽá áą á áŁá áĽáŠ áĽáá°áá áĽááŤáá. á¨á˘áá´ááľ á ááąá áá¨áľ áá˝ááᣠá˘áá´ááľ áĽáť á ááľ áĽááłá á¨á°áťá ááᢠáĽá á ááľá°á áá á áŤáá áá¨á á°áŤáˇá. áĽá á¨á ááľ á°á¨ááľ áŤáá° áá áááá. ááá
áĽá á ááá áá áá¸áľ áĽáá°áá áá¨ááἠá ááĽá. á¨ááááŞáŤááš áĽá˝áá˝ á ááĽááľ á˛á°áŠ áá¨á°áłá, áĽá á¨á፠áĽá¨áŁá°, áĽá¨áŁá° áááłá. áá°áą áĽá ááá¨á áľáááŤáľáááá áá. á¨ááἠááł á¤á°-áá¨áŤáá˝ ááá áá.
áĽá á ááá á áááľ ááľáĽ áá áá á áľááá ááá¨á°á á¨ááŤáľá˝ááá á ááľ ááá áááááľ á ááĽá. áááłá, á áááἠááľáłááťá ááľáĽ á°ááąá áĽáá˝ááá, á áá áŤááá áľá áĽá á áá áá áĽáá°á°á¨áá ááťá áĽáá˝ááá. áĽá áá á áá áá áĽá¨áá áĽááłá ááá¨áłáľ áŤáľá˝ááá. áĽá á¨áá á˝áá á¨á°áá ᨠá ááĽááľ á˝ááŠá áŤááá˘
á¨áĽáŤááá˝á á ááĽáá ááá°á˝ á¨áááá áĽá áĽá áá áá°ááá á¨áááá áĽáá° áŁáá°á¨áŁ áŚáľ áŤá ááá á áᢠáĽáą á áľááľá ááá ááᢠá á¨áá á á°ááá á¨ááá አááá˘áá˝ áĽá á áá áááá. áĽá á 30 á°á¨ááľ ááľáĽ áľáá á¨á´áŤáŁááľ áłáłá¤á á áĽáŤá áĽáá´áľ áĽáá°áá°áĽ áŤááá á¨áĽáŤáľá á áᢠáĽá áĽá፠á¨áá ááá áá°á¨á áĽá áĽáá°áá á áľááá áá á áĽá áĽáá°áá áá°á¨á áá˝ááᢠá áá ááááľ áá¨áŤ ááľá¨á áá˝áá. ááá ááá áá°ááľ á ááťááᢠáĽá á°áá áĽáŤá°á¨áá ááá˘
á¨áá¨ááá áľááśá˝ áááľá áá¸á? á áĽá á áá áŤá ááá˘áá˝ áĽá¨á°á áááŁá¸á áŤá 3 á¨á°ááŤáŠ á¨áá¨ááá áľááśá˝á á ááťááá˘
á¨ááááŞáŤá á áŁá ááá áá. á¨ááĽá ááłáá፠á ááᢠáĽá á á°ááŤáŠ ááá°áśá˝ á¨áááá á á፠áĽááľáŤá˘ ááłáą ááá˝ ááᢠá ááááŞáŤá ááá ááľáĽ 100 á¨áĽááá°á ááťáť ááľááŽá˝ ááá¨á áá˝áá, á ááá°áá 5 ááľáá áá ááá á ááŤá˝ á áá°áá, ááá ááá 1 ááľááŽá˝ ááťáť áááá. á áŁá áŤáá°áľá°áŤá¨á áľáŤ, áá áááľá á ááá áá. á¨áá°ááá ááłáá፠ááľá°á á°áŁá áŠáľá˘ áá á¨áá ááľ á áŤááľ ááá˘
ááá°áá áľáľáŤá´á áááá á ááŤá¨áĽ ááᢠá Gitlab ááľáĽ áĽá á áá áááá. ááľá°á á á¨á´ááá áááľá˘ áĽáŤááłááą áĽá˝á á áľááá 10 ááááĽáľ áĽáá˛áá¨á á¨ááłáá፠ááŹáá˝á áá°á á ááá°ááᢠáĽá áá¨á ááľáĽ á áľáááŁá¸á. áĽá á¨á፠áĽáá°áŤáá. áá áá á á ááŤáł ááŽá˝ ááľáĽ ááľá¨á áá˝áá.
á ááááŞáŤá áľááľ, á áááŤá˝á áá, áá áá á á ááŤáł ááŽá˝ ááľáĽ ááľá¨á áá˝áá. á áľá¸á᪠á áá°áá.
áá áááá áĽá á¨á°áťá á ááŤá¨áĽ á á. áá áŚáľá°áá áľáľáŤá´á ááᢠáĽá á¨á°áťá, áĽáąá ááá¨áĽ á¨á°áťá áá. áá áá á¨ááá°ááá á áአá˘áá´ááľ áá°á¨áľ áá. á áá ááłá áá áĽáá° ááťáť áááłá˝á áĽá ááłáááŤá˝á ááááŁáľ á˘áá´ááľ ááááᢠáá° ááá áĽááłáááľ á˘áá´ááľ áĽáť áľáŤá áĽáá˛áá ááłáááŤáá áĽáá¨áá¨áááá˘
á á á ááá á¨áá¨á á áá áĽáť áá°áť á¨áá¨á á áá áá°áť á¨á áá ááŁá ááá˘
áĽá ááľáááľ á¨ááááááá ááłáááŤá˝áá á ááĽááľ áĽáááááᢠBATCH_SIZE á áľááľáá áĽááááŁááᢠáĽá áĽááąá áĽáť áłááá á áአááááľ áĽáááá¸ááá áĽá áá˛áŤáá áĽáá°ááŁá¸áááᢠáĽá áá áĽá¨áááá áŤááá ááľáááá á¨á°ááá áááááá¸á áłááá ááĽáá ááĽáá áĽááá°áľá˘ áá
áááá áááá á°ááááᢠáá
ᨠPostgres áąáá áŁá
᪠á¨áááá á á ááŤáł ááŽá˝ ááľáĽ áĽááľáá°áŤ áŤáľá˝ááá. á á ááľ áĽá¨áľ ááľáĽ ááťáá. áĽá áĽáá
CTE á á - áá
á ááľ áĽáŤá ááᢠáĽá á áá
CTE ááá°á áá
áá áĽááá°á áľá¨á á áá - returning *
. ááłáááŤáá ááááľ áá˝áá ᣠáá á¨á°áťá ááᢠ*
á áĽáŤááłááą ááľáá áá áĽá ááἠá¨ááááľ.
ááá áŤáľááááá? ááá°á áŞáááľ ááľá¨á áŤááĽá áá ááᢠá áá á áĽáááą áĽá ááľááŽá˝á á°ááááᢠáĽá á°áá á ááłáá፠ááá á á°áá á¨_áĽáá˛á á áááľ áľáá á á ááᢠá°ááᣠá˘á á ááľá¨á áľá˝ááá ᢠáá ááá ááľá¨á ááťáá. áĽáá áĽá áááŽá˝á ááľá¨á áá˝áá. áĽá áááľáľá á áŁá ááš áá.
áľá áá¨á á ááá á ááľ á°á¨á᪠ááľáłááť á á. ááá á°ááŁá áአáá¨á á áá áĽáá°ááŤáľáááá á¨áá°áá ᨠtuples ááááá˝á áĽáť áĽááłáŤá áá˝ áá¨ááἠá ááĽáᢠáŤá áááľ ááľáľááŹáľ áĽáá°áá á áááľ áľáłá˛áľá˛ááľ á áá. áá áá á¨á´áá á pg_stat_user_tables áá ááłá áá˝ááᢠáľáŠáľ ááááá˝ áĽá á áá áĽá¨áá áĽáá°áá ááá áĽááłááá áá¨áľ áá˝ááá˘
á á˛áą áá¨á á ááá á ááá ááááŁá¸á á¨áá˝ááŁá¸á áááłáá˝ á áᢠáĽá á áá áĽá¨á°áŠ áŤá ááá˝ ááťáťáŤáá˝ á áááľáŁ ááĽááľáá ááááąá˘ áá¨á á ááá áľááłá¨ áĽáť á áá°áá (áĽáŤááłááą á˘áá´ááľ ááááá˝á áľáá˝ ááááłá, áá áľáá˝), áá áĽáá á ááá áŤá áá¸áá. áĽá ááá á á¨á´á áአáááťá¸áľ á¨áááťá áá. áá á ááłááľ áá áá¨á°áłá. áá áĽááľ á°áá˝ á¨ááŤáľáłááąáľ á¨áá ááá ááᢠáĽá áá áá°á á°á፠ááááἠááá ááᢠá ááłááľ áá á¨ááá ááá á ááŤá¨áĽ áááá áĽá á ááá áŤááá á á˛áľ áá¨á á áá ááľá¨á ááá áá á˘áá´ááľ ááľá¨á ááá á áá ááááľ áááłá ááá°ááá áá´ áá áá á˛ááá áá¨á°áłáá˘
ááá áá áá á áŁá áĽáŠá áľááľ ááᣠáĽáá´áľ á áĄáľá áá¨ááá áĽá á á ááľ áĽáŤá á áĄáľá áá°áŽáľ ᣠáľáá˝ áá°á¨á ᣠááá°.
á¨á
á ááĽááśá˝
á¨áłáá° á ááśáŤááŠá -
á¨áááľ ááłá -
áľá á°áľ #5 áľáá ááᢠááŽáá á¨áŚáááľá áľá ááľáľááŹáľ ááľáľá á°áááŻáᢠIdeal Postgres ááľáľáᣠá ááŤáłáá áááłáŁ á¨ááᢠá ááłááśáš á áἠáá¸áᣠá ááłááśáš á°áá á¨áŤá áá¸áᢠáŚáááľá ááá áááá á áἠáá ᣠáá áĽá á áá°áá áĽá áá¨áá á áá áľá˘ ááá ááá ááá á ááĽááľ.
áááłá, á¨ááą áąááá˝ á á°áťá áááł ááľáľá áá°á¨ááŁá¸áá. á á á¨á´áá ááľáĽ áĽá á¨ááą áááŽá˝ áŤá, á¨áá á˝áá á á. á áá ááá˝ ááľá áľ á¨á°áťá áá, á áá áá፠ááá°áľ ááá áá˝áá, áĽá áá°ááľ áĽáá˝ááá. áŤááĽáá.
áľáá IO áŤá, áá áĽáŠ áĽááłááá ááá˝ áá.
á¨á á ááĽááśá˝á. á¨á á ááĽááśá˝ á OLTP áá ááááľ á¨ááŁá¸ááᢠáĽá áá á á ááŁá˘ áááá°áľ áĽá á¨á á ááĽááśá˝á ááá¨áłá°á á¨ááŤáľá˝áá áá° á ááŁá˘ á¨áááľáľ á ááá áĽáá á áá˘
á¨á á ááĽááśá˝ ááá ááĽá áá¸á? ááááŤáąá ááá áááááŤáá˝ áá¨á¨áť áá áĽáť ááááá. áĽá áááá áĽáá¨áá¨áááᢠá á°á¨ááŞáᣠáááá á á¨á´ááá˝ á ááśáŤááŠáá áĽááá°áááᢠá ááá áĽáŠ á áá°ááᢠá á áá áá áľáŠáľ á°á áŁáŁá á¨áá á˘áááᣠá ááá ááĽá ááᢠá á á ááá á¨á á ááĽááśá˝á áááľáááľ á¨áľá á¨á°áťá á áá°áá.
áŤááŠá á¨ááá¸á áĽá á á¨á´ááá˝ áŤáá áłá˛áŤ ááá፠ááá¨á áááŁáᢠáĽáá áĽáá˛á ááááą áááł ááťáá. á á°ááá᪠á¨á ááśáŤááŠá áľáŤá ááá፠áĽáá˝áááᢠáá áľáá˝ áŤáťáťááŠáľ á¨á áŞáś á¨á°ááá¨á ááᢠáĽá á á ááśáŤááŠá áŤááá ááá¨áľ á áľá°áłá˝ ááŁáŞáŤ áá á°ááᢠáááłá, á ááłááľ á á¨á´ááá˝ áĽá፠áĽá¨á á á áá¸á áĽá á°áŤá¸áá á áá áĽáá. áĽáá˛áá á ááľáľá ááľáĽ ááľááἠáĽá ááá፠áááááľ áááŁá.
áĽá áĽááŽá˝á áŤááŁáᢠá¨ááá ááá˝ áŤáŤ. á¨áá ááá á¨á ááľ á°á ááľá ááťáťá áĽááłááᢠáĽáá á¨á°ááá ááá˝á á°á á¨ááŤáłá á áŞá á°á°ááá CTE á¨áłáł á˘ááŹáľ áá°áľáŠá˘ áá áĽáŠ á¨áááááŞáŤ ááłáŞáŤ áá. áĽá á áĽáą áá°á¨áľ, ááľáľáá ááááŁáľ áá˝áá. ááá áá áá á áĽááá áá°á¨á á áá áľ. ááŤáľá áľáá˝ ááááŤ_áá ááĽá፠ááľá¨á á ááĽá ᢠáĽá á¨áááááŤ_áá ááĽá፠á°ááá ááá˘
á ááłááľ áá áĽááá áá áľá á°áśá˝ á áľáአáá¨á°áłá.
á áĽá á áľá°áŤá¨áľ áĽáá áá ááá áľá á°áľ áľáá áłá ááᢠáľáá áłá áá, ááááŤáąá á´ááአá ááá°áľá. áá ááĽá 2 áá - áĽááą á á°áłáłá° áŚáł áá ááááľ á áľáááá.
áĽá áľáááá áŤááá áŚáł áá á á¨ááá áá ᣠááááŤáąá á¨áááľ áááá áľáááá á¨á ᣠáááá°á˝ ááá ááᢠááᢠá¨ááś á¨ááá¨áľ ááłá¨áť áááá¨á áá˝ááá˘
áĽá áĽá፠áĽááłááá á á¨áááĽá. áĽá፠áĽááŁáŤá áĽáŤáłá˝á áĽáá¨á áá áᢠááá˘á á ááľ á áááľ á¨ááἠáá á áĽá á°ááłáłá áŚáł áŁáá áľ á áĽáŠ á áŤáŁá˘ áá á¨áá°á¸ áŤá DBA áĽááłá áááá á ááˇáᢠáá á áá ááá°áľ á ááś áŤáá áá áá˘
áľá autovacuum á°á¨ááŞá˘ áĽá áááŽá ááľááŽá˝á á¨á áŤáá á ááᣠá ááá REPACK ááľá¨á á ááĽáᢠáá á á°áá áá˘áá´ááśá˝ á áľááá áá. áááá ááá áĽá፠áŤá¸áłá á áá ááĽá áľááľ áááŤá¸áá.
áĽá á¨áááľ á°áááľ á¨á˝áłáľ áľáŤá ááááľ á¨ááá ᣠá¨á፠áĽá áá áĽáá˛áŤá°áááľ ááłáĽ á áááŁáá ᣠáá áľáá˝á˘ á á°áá á ááľ áá ááá áĽáá˛áŤáá áĽá áá áľáá˝ ááá áá˝áá. áĽá áááľ áááŽá˝á áá¨áłá°á áŤáľáááááłá: áá ááá ááá áľá á°áľ áĽáá°ááá áĽá áá° áá áĽáá°ááááá. áĽá áŤáłá¨ááľ áĽáááľ áá áá áĽáť áááłáá˘
áĽá á¨ááá°ááá áááľ ááá áá. á GitLab áá á°áá áᢠáĽá á°áá˝ áŤá DBA áĽááłá áá¨ááἠáĽáá˛á˝á áĽáá°ááááᢠá¨ááἠááł ááĽáŤáśáŞ áĽá¨á°áŤá áá, áááľá, á á á áá áá áĽá¨á°áŤ áŤááá á¨áá á¨áľ á áŤá áĽáá áĽáá áŤááá. áĽá á¨áááľ á áá ááá°áľ áá˝áá. á áá á¨á ááľáá á á°ááŁá á á á, áĽá፠áááľ áá˝áá: "áĽáá˛á ááááąá áĽá áĽáá°áá áŤá áĽáŤáá áŤáĽáŤáŠ" áĽá áá˛áŤáá á¨ááἠááłáá á á áŤáá. áĽááŤá áá°á¨á áľá˝ááá ᣠáĽá ááá á áŤáľá°ááááá˘
10 á´áŤáŁááľ á áá áĽáá áᣠáłáłá¤á ááĽáŤáśáŞá 10 á´áŤáŁááľ áĽáá°áŤááᢠáĽá á á ááľ áá á 10 á´áŤáŁááľ áłáłá¤áᣠ10 ááá˘áá˝ á á ááľ áá ááľáŤáľ áá˝ááᢠááá á°á á¨ááááá ááľá¨á áá˝ááᢠáá°á¨áᣠááŁáᣠááá° áá˝ááᢠ፠áĽáá°áá áŤá á á áľ ááᢠáľááá ááłá áá áĽáááááŤáá.
áá ááá á á ááŚáľ ááŁáá. áá áľáá á á ááŚáľ ááᢠáá á áĽáľááľ, á áá¨áŤ áá áááá¨áśá˝á á¨ááŤáľáááľ áĽá á áá á¨ááľ áááá á¨á°áťá áŚáł á¨ááŤá°áá á ááľ ááááľ á á áľ áá. áŤá áááľ á á áá áľáŤáá˝ áá á˝ááŽá˝á áááľáááľ áĽáť ááá áľáááłá.
ááłááĄ- 5 á´áŤáŁááľ áłáłá¤áᣠá¨30 á°á¨ááľ áŁáá° áá á á ááááľá˘ áĽá á áá á áá áĽááłá á ááá°áá, áááľá, áľááľ á´áŤáŁááľ ááá á áá°áá.
áᏠáááľ áá˝áá
áĽáŤááá˝
á áŁá áĽá áá á áĽááá°á áááłáá˝ ááľáĽ á á°áá á¨áĄ ááľáĽ ááá¨áľ áŤáá áľ áá¨á áá°á¨á á¨ááŤáľáááá á áŁá áŤáá° áá. áŤá áááľ á áĽáá°áá ááááľ áááł ááľáĽ áĽááá áá áĽáá˛á ááááąá á ááŤá¨áĽ áá°áá á ááá áá, á á˛áľ ááá áááá á ááá á áááá áľ áá, á áľááááá ááἠáĽá፠áĽáť áá áą áĽá á¨áľáŽáá á á¨á´á áááľ áŤáľáá. á áá á á˝á áľ áĽááľá á ááááŠá áľ áá ááŽááŤáá á ááŤá¨áĽ áĽáá°ááŤáľááá ááá˝ ááᢠáá á áŤááľ áĽáá´áľ áá?
áá á áŁá áĽáŠ á ááŤá¨áĽ áĽá á áŁá áĽáŠ áľáŤ áá. pg_repack á¨áá°áŤá áá á áŁá á°ááłáłá ááᣠááłáá፠4 áŁááľ á˛áŤá°áá ááľá¨á áŤááŚáľ áá á áŁá á°ááłáłá ááᢠáĽá ááááá˝ á¨áĽááľ á ááłáľ á ááľ áá á áŤá°áá áá á, áĽá áłá ááš áĽáť áŤá°á áá¸á, áĽá áá° 8 áŁááľ ááá¨á áŤáľáááá¸áá.
áá á°ááŁá á áŁá á¨áŁáľ áá. á á°á¨ááá. áĽá á áŁá áá ááá á ááĽááľ. áááááŤáá˝ ááá° á á áá áĽá¨á°á°áŤ áá. áááľáᣠáá°á áá á áŤááľ á¨pg_repack áá áááľ ááᢠáĽáá°áá á áááľ áá፠áŤáááᢠáĽá á á˝á áłá áááĽá áá° áĽáą ááľáá á¨ááááá á ááľ áááá áááŚá˝ á¨áá¨áłá°á á ááľ áłá á áŤáááᢠá ááłááľ áááŚá˝á áĽááłá áá¨áłá°á á¨ááá˝áá áľ áá´ á áᢠá¨áá áááŽá˝ á áᢠáĽá á¨á፠áááŚá˝á á ááá¨áŁáá ááá¨áŤáᢠáááá á°á áľáááá áá áá áá áá áááᣠá á á ááá áá áá áĽá¨á°á°áŤ ááá˘
á GitHub áá pg_repacká á¨á°ááá¨áąáŁ áĽááá˛áŤááľ ááłáááŤá ᨠint 4 áá° int 8 á¨ááá¨á á°ááŁá á áá á¨á áľ áá pg_repacká á áŤáą á¨áá áá ááłáĽ áá áᢠáá á°áá ááťáá, ááá áá áľáá˝ ááĽáá áá, ááá áá ááá á°áá áá°áŤá. pg_repack á áá ááá áľ ááľá á´ ááľáĽ áŁáá ááĽá°á áĽá፠áĽáá˛á áááľ áľá˝ááá áĄ- "áá á ááἠá ááááá" áááľá á¨ááááááá áĽáť áĽááľá°áááááᢠáĽá á¨á፠áá áĽá ááá¨áŤá áĽá ፠ááá˘
á áá á ááŤá¨áĽ, á ááá á¨á áá á¨áĄ ááá°á á á áĽááááá, ááᥠá áľááľá áá¨á á áá áĽá á áŁá á ááŤáá á˘áá´ááśá˝ á¨á°á°á¨á°áŠá áľ.
áĽáĽá áľ á¨áá, áĽáŠ á ááŤá¨áĽ áá. áá ááá á ááśáá˛áá áááłá á áá¨áŤáá˝ áĽááłá á áááá, áááľá áááá°áá áááľáá áááá á. á¨áá á ááśááľáľ áá ááááá áĽá˝áááᢠá áááá áá á¨á°áťáá áá á áĽáŠ ááá ááá˘
áĽá ᨠMySQL ááá áľáá˝ ááᣠáľááá áááłáἠááŁáᢠáĽá áá á á áŤááľ áĽáá áááá.
áá 90% áŤáá áĽáť ááᢠ5% áŤáá, áĽáąá áá áá á áŁá áĽáŠ á áá°áá.
ááŞáááą áĽááá°áááá! á¨á°áá á¨ááŽáľ á á áááľáŤáľ ááá ááĽáśá˝ á¨áá áááąá ááá áá áá áááľááľ áľáá° ááá ááá ááá á á?
áĽáŠ áĽáŤá. áĽáľáŤááᣠáŁááĽá á´áŤáŁááľ áłáłá¤á ááááľ á˝áááᢠááá áĽááłá áĽá፠áŤáá áááľáá á°ááłáłá áŁáááá ᣠáááłá ᣠá ááľá°á áá á°á¨ áľááľáł ᣠá ááľá°á ááŽá°á°á áĽá á˛áľáŽá˝ á áľááá á°ááłáłá á áá°áá ᣠáá á ááá áĽáá°ááááᢠááá áŚáł á¨áá, áá°áĽ áŤáľáááááłá. áĽáľá¨ áá áľá¨áľ ááľáĽá áľáŁ ááŁá ᣠáĽáááŤááᣠáá áĽáŠ áĽáŤá ááá˘
ááŞáááą áĽááá°áááá! ááááŞáŤ á¨áááŠáľ á áŞá ááľáľááŹáľ áĽááłá ááᣠáĽáąá áĽáá°áá á áááľ áĽá áĽáá°áá áŤá áá°áŚá˝ á ááľáŁ áá áĽáŤá°á ááᢠáĽá áá áá á áľáá áĽá áľáá ááŤáá˝ áá. áá áá á¨áŤáą á¨ááľáľááŹáľ áĽáľááľ áá á¨ááá á áá°ááá ᣠá áá ááľáĽ á ááłááľ DELETE á°á¨ááŤáŽá˝ á ááłáŠá áľ ááá áá ááá áĽáá á á ááłááľ áĽáááł ááááśáťá˝á ááááŁáľ áĽá¨áá¨áá áŤáááá á áá á°á á°á¨á ááŤá á áá áľ?
á á ááľ ááĽááľ ááľáĽ áĽá ááááŚá˝á ááá°á¨á ááá ááááá á SQL áŤááᣠáłá˛áŤ ááľáľááŹáľ áĽáá´áľ áĽá፠ááŤá¨áááá áá˝áá? á áŚááŤá˛áŽáá˝ ááľáĽ á á áŤá ááľá ááᢠá ááá áá¨á á áá áĽáá°ááááá. áĽá á áá áá áĽáááááá, ááá°.
á áá¨á á áááá˝ á°á¨ááááá˘
á°ááłáłáŠ á¨áá°áť ááĽáĽ ááľá°áŤá¨áŤ á áŤáľ-á°á ááá áĽáá°áá˝á ááááľ áĽá˝áááᢠá ááľ áá ááá áá˝ááᢠáŤá áá áĽáŤáá á áľááá á áááŁááá˘
áĽáŤáá áĽáá áĽá áĽá፠á¨áááľ áĽá áĽáá á¨áĽááá° áľáአá¨áá á¨áĽáľááľ áŹáá°á á á áá? áĽáááŤá˘ áĽáľáŤáá á áá°áĄáľá?
á áá áĽá
á áá ááá áľááá˝ááľ ááááá˝ á°ááááŠ. áá áŚáľ á á
áĽá ááá°áť ááĽáĽ ááľá°áŤá¨áŤ áá
áá ááľá¨á áá˝áá-áşá
áááľá°á áĽá á¨á°ááŤáŠ áááľáá ᣠá á°áá ááľáĽ á¨á°ááŤáŠ áááŁá áá˝áá˝ áŤáááľ á¨áá áŚáľ áá áá áá˝ááá˘
áĽáá°áá á á¨ááľá áľá á¨á á ááĽááśá˝ á á°ááááľ á°ááá¨ááᢠáľá¨á á¨áá á ááśáŤááŠá áĽáá°áłáá° á°ááá¨ááᢠáááľ áĽáá´áľ áááłáá? ááááŤáąá á¨á áá áĽá¨á°ááááá áŤááá áŚáłá áľááááá áĽá ááá áá áľáááťá ááᢠáá áá ááľááá?
Autovacuum ááááŁáľ áĽáá áľáá á˝áá áááá áá˝ááᢠáĽá á¨á á ááĽááľ ááá˝ ááĽááśá˝á áááá áľááá˝á, áá ááľá á¨á áá á á°áá áá. áĽáˇ ááľáááá ááłááá áľá˝ááá˝á˘ á¨á°áááá˝, á¨ááŤá á áŁá ááĽá ááá áá˝áá. áĽá á autovacuum - áá á°áá á˝áá áá. á OLTP ááľáĽ á¨á¨á á ááĽááśá˝ áá áááľ á˝ááŽá˝ á áᥠáááááŤáá˝ áĽá á ááśáŤáŠáᢠáĽá áľáŠáľ á¨á°á áŁáŁá ááĽá¨áááľ á áĽááą áá á¨áá á¨ááᣠá ááá á ááłá áá á ááśáŤááŠá áááá፠áá°ááľááłáᣠá¨á áá áááŁáᢠáá á˘áŤááľ áááááŤáá˝ á áááŠá. áĽá loks áááá. áĽá¨á°ááááá áŤááá áľá á¨ááἠáááŚá˝ áá, áľááá áááááŤáá˝ áĽáá á áľááá ááĽáĽ áá¸á. áĽá áá áá áá¨á á áĽá áá¨á á áá á¨áá á¨á፠áĽá áĽá áĽá ááĽááśá˝ á°áááááᢠááá˝á áá°áá áá˝ááᢠáĽá á¨áá ááá˝ ááłáŤá. áá° á ááŁá˘á á ááá á á áᤠáá áᢠáĽá áá á˝áá á¨á ááśáŤáŞáŠá áá áŤáá á˝áá á á áá ááĽááľ ááłáŤá ᣠáá á áá¨áá˝ áĽáť áá˝ááá˘
ááŞáááą áĽááá°áááá! áľá á°áľ áá¨áá á áááľ áŞáááľá á ááá¨ááᢠá°ááłáłá ááłáŞáŤáá˝á ááá°áľ áĽááłááĽá ááłáŁá˝áá áá áá, á¨áá á¨áą áá á á°ááłáłá ááááľ. áááá˘á áá á¨áľ á°áĽá°áá áĽáá áᢠáĽáá áĽáŤááá á áááˇá. áĽá áĽáą á°á á áááľáá. áá áĽáą á ááĽáł á áááľá˝á ᣠáá áááĽáł ᣠáááłá ᣠᨠ60-70% áááľ á áá ᢠáĽá áá á ááľá°áŤá¨áŤ áĽáá ááá, á áŁá áĽáŠ á áá°áŤá.
á áĄáľá ááľáĽ áŁáá፠ááአáĽá á áĽááá°á áłáŤ áááľ áá áĽáá°ááá á¨áá°ááĽáŠ ᨠDBA áŁáááŤáá˝á áá áá á áľááá ááᢠáášá áááŚáťá˝áá áĽáť áľáááł, ááľáá áĽááŤáá. ááá áá á¨á áá á¨áá á ááŤá¨áĽ, áĽáá°áá á°ááłáłá ááá áľáá°áá, ááá áá á á ááŤá˝ááľ á á°áá°á áááľ. á áŁá á áŞá ááᢠáĽáľá¨á፠áľá¨áľ áá°á á ááĽá . áĽáá° áľáá á°á ááᢠáŤááá áĽáť á áá°áá áĽá á á ááĽáśá˝ áĽááłááá á áá°ááᢠáĽáŠ áĽáŤá ááá˘
á áľááľáá á¨ááťáť áááŤá á ááá áŤá áľ áá áĽá áááłá á¨á°á°á¨á áŁáá˛áŤ á áá
á Postgres ááľáĽ á ááśáŤááŠá á áŤáľ-á°á á¨ááŤá°ááá áá ááá˘
áŚá ᣠáŤá°ááá?
á ááśáŤááŠá ááťáť á°áĽáłá˘ ááá˘
áĽááá°áááá!
ááŞáááą áĽááá°áááá! ááá ááťáťáá˝ á¨ááá á á¨á´á á ááľ áŚáł áá° áá áĽáá˛áá˝áš áá˛áŤáá á¨ááἠááłáá á áá¨ááá á¨ááá°á á ááŤá á á?
á áĽááἠá áá¸á.
áłá˛áŤ áĽá á áá ááá á¨ááá áľ á á¨á´á á¨ááá áĽáŤáłá˝áá áá á á ááťáá?
á áĽááἠá áá¸á. áá áĽáá° áśáŽ áĽá áĽáááá áĽáŤá ááᢠááá˝áá áá°ááľ áá áĽáá°ááá áŤáá á, á áĽáááĽ, áááá ááá á áŞá áĽáá°áááá. ááá áá áááą áĽá¨á°ááá áá, á á˛áľ áááśá˝, á á˛áľ áĽáŤááá˝ á á. áĽá á¨á፠- áŚá, áááľááá°á áĽáááááá. áá áá á°áľáá áááł, á á áááľ ááľáĽ áá¨á°áłá, áá áááá á áá°áá. á á á ááá áá áĽáŠ ááłáĽ ááᢠáĽáť ááá¨áĄ áĽá ፠ááá˘
ááá: hab.com