áŞáááą á¨ááá áą á ááłááľ á ááŤá¨áŚá˝á áŤáááŁá á áá á áááŽá á¨ááá አá˛áአá¨SQL áá ááá˝á á ááťá¸á áááŁá áŠáŁ áĽá á ááśáá˝ á¨ááá አááĽáĽá á¨áá°á¨ááŁá¸á ᨠPostgreSQL á ááááŽá˝ á áá˘
áá á áááľ á´áááŤá áááľááá˝ áĽáá°áá á áááľ á¨áá¨á áá á á áĽááľ áĽááľáá°áŤ áŤáľá˝ááá áĽá áĽáá´áľ áá°áŤ ááᢠá áááľá ááá áŤá°ááááá˘
ááááľ áŤáá áá áá á¨á°áá°á á˝ááŽá˝ áĽá á¨á°ááŤáŠ á¨áááťá¸áľ áá´áá˝ áľáá°á á PostgreSQL ááľáĽ á¨SQL áĽáŤááá˝ áĽá á¨á°ááṠᨠDBA á°ááŁáŤáľá áááłáľ - áĽááľáá áá˝ááá˘
áľá áŞáŞá áŚáŽáŞáŽá áĽáŁááá, áĽá áĽááááá
áᏠá áĽáŤá áááťá¸áľ áá áĽáá´áľ áĽáá°á°á°á፠áĽáááááłáá, á¨á ááľ áá á áĽáŤáá á áááá "áááłáľ" á áááááá áľ áá, ááá áá á˝ááŠá á á áá áááą. á áááŽáá˝ á¨ááá አáĽáŤááá˝ á˛áአáĽá á ááłááľ ááááľ áŤáľáááááłá á¨áááłáľ á ááŤá¨áŚá˝ áá áľáá á˝áá.
á á á ááá "Tensor" áá ááľ áááŽá á°áá ááťá˝á áá
ááá á áá°á áááľ áĽáá˛á°áŠ áĽá áĽáá˛áá á áá á ááŞáą 10 á¨áááľ ááá¨ááľ á áá ᣠáĽááą á¨á áá á áá¸á ᢠ1000 ááá˘áá˝.
ᨠ2008 ááᎠᨠPostgreSQL áá áĽá¨á áŤá áá á áĽá áĽá á¨ááá°áŤáá áĽá áá á á á¨áá˝á°áá - áĽááá á¨á°áá á ááἠᣠáľáłá˛áľá˛áŤá ᣠáľáá°áá ᣠá¨áá á¨áá¨á áľáááśá˝ áá¨á áá¸á - ᨠ400TB á áá. "á áááľ" ááľáĽ áĽáť áá° 250 á¨áá á á ááááŽá˝ áŤááľ á˛áá á á á ááá áĽá á¨ááááŁá áŤá¸á áá° 1000 á¨áá á á¨áá¨á ááľ á ááááŽá˝ á áá˘
SQL ááá ááá ááᢠá ááľ ááá "áĽáá´áľ" áĽáá°áá°áŤ áłááá "áá" ááááľ áĽáá°áááá ááááťáᢠá˛á˘á¤áá¤áľ áááááá áĽáá´áľ áĽáá°áá°áŤ á á°áťá áŤááá - á á¨á´ááá˝áá áĽáá´áľ áááááľ áĽáá°ááťá ᣠáá áááłáá˝á ááŤá áĽááłááĽá ᣠá áá¨á á ááá ááľáĽ áá áĽáá°ááŤáá ᣠáá áĽáá°ááŤá°áá ...
á ááłááľ á˛á˘á¤áá¤áľ áááŽá˝á ááá áááĄ- âá áᣠáĽááá á áááľ á á¨á´ááá˝ á áĽáá°áá á áááľ áĽá áĽáá°áá áŁá áá¨á áááááâᣠáá PostgreSQL áĽáá´áľ áĽáá°áá á áŤáá áᢠáá á¨á᪠ááá˘áá˝ ááá° á áá á áá ááᥠ"ááá˘áá˝ á ááłááľ á áááľ áááŽá˝á áĽáá˛á áá á¨ááááľ á¨áá áá á ááťá˝áá áá¨á¨áľ ááťááá˘"
ááá áá PostgreSQL "áá" áĽáŤáąá áĽáá˛áŤáľá°áłáľá áŁááá áľá, á áľááá ááá áłá ááľáĽ áá áĽá¨á°á¨ááá áĽááłá áááá¨áąáĽáŤááá á˛áŤááą áĽá á¨áľ á˝ááŽá˝ áĽááłáá áľá˘
á á á áááᣠááᢠ[áá° DBA] áĽááá áá á á¨áľááš á¨á°áááą á˝ááŽá˝ áá á¨áááŁá? âáĽáá
áĽáŤááá á ááá°ááᣠáĽá áĽá áááá°áá˝ áá, ááá ááá á°áá ááĽáá, á¨áá ááá áĽá¨á°áá ᨠáá ... á ááľ ááááľ á˝áá!
ááááŤáśáš áá áá á°ááłáłá áá¸á-
- áá¤áłá áŤááá á¨áá áá
áľáá° ááá
ááá˘ááĄ- âá áá á JOIN á áŠá ááĽáą 10 á á¨á´ááá˝ á SQL ááľáĽ á ááâŚâ - áĽá á¨áĽáą áááł á á°á ááŤá áááł âáááłâ áĽá áá áĽáá áĽá áááá ááá á ááĽááľ áŤáááᢠááá áá á°á ááŤáśá˝ á áá¨á°áąá, áĽá áĽáá°áá á áááľ á°ááááááľ áŤáá ááááá áľáááľ (10 á°áá á¨áŚá˝ á á ááľ FROM) áááá á ááľ ááááľ áľá á°áľá áá°áŁá. [á˝áá ] - áá áŤááá áľ áľáłá˛áľá˛ááľ
ááá á á°áá á PostgreSQL á áŁá á áá ááᣠá ááľ áľáá á¨ááἠáľáĽáľáĽ á á áááአáá âáŤááąâ ᣠáĽáŤá áŤá áᥠ- áĽá á á ááŁáá áá âáá˛áĽ áááľáťáâᢠááááŤáąá áľáááľá 10 ááááŚá˝á ááá, áĽá áᏠ10 áááŽá á á, ááá áá PostgreSQL áĽáľáŤáá áľá¨áľ áá á á áááá, áĽá áľááá ááłá áááłáłáľ á áá áľ. [á˝áá ] - á ááĽá¨áśá˝ ááľáĽ "áá°áŤáľ".
á á á˛áľáᣠáá á°á¨ áľááľáł ááá á¨á áááŁáŁáŞá á ááťá¸á á ááá á°áŤá á áááá áá áľáá áĽá á¨áŁáľ á¨á°áŤá áłáłá¤á á ááŤááᢠáĽá ፠áĽáť áá ... á¨áá áŚáł á¨á áááá áŁáŞáŤ á á ᣠá¨á፠á áá áááá á áá˝ááᢠ- áááľ
á áľá¸á᪠ááᣠááá áá áĽááą áá°ááŤáŠ á¨ááťáťáŤ áá ááá˝ (INSERTᣠUPDATEᣠDELETE) á áŁá á°ááá áá¸á - áá á¨á°áᨠáľáá áááľ ááá˘
áĽá áľ á ááĄ
⌠áĽá áááá ááá áĽá áĽá áľ áŤáľááááá! á á áááአááľáĽ áá áĽá¨á°áŤáá° áĽááłá áá¨áľ á ááĽáá˘
á PostgreSQL á¨áĽáŤá ááľáá¸á፠áĽá
áľ á á˝áá áááá ááľáĽ á¨áĽáŤá ááľáá¸á፠áľáá°-ááá áá ááᢠá áľááá á áĽá
áľ á ááŞá áľááłá á¨á°ááł á áŁá áá¤áłá áĽáá°áá áĽáá
á á¨á°á°á á á áááŞááá˘
áĽáŤááłááą á¨áá ááľááá ááááľ áŚááŹá˝á ááᥠáá¨áá á¨á áá á¨áĽ ááá áá¨á áááŁáľáŁ á˘áľáá ááááŁáľáŁ áááľ á á¨á´ááá˝á áááááᣠáááááᣠáááŤá¨áĽ ááá áááŤáá˝á áłáŤáŤáľáľá˘ áĽáŤáá ááľáá¸á á áá áá ááśá˝ ááľáĽ á áĽáá áááľ ááá˘
á¨áĽáŤá áá
áąá áááááľ ááá ááááľ ááááŤáá ááá¸á ááᢠEXPLAIN
. á¨ááá áĽááá°á áŁá
áŞáŤáľ áá áááááľáŁ áááľá á áĽáááą á áá á¨áą áá - áĽáŤáá áŤáľáá˝á EXPLAIN (ANALYZE, BUFFERS) SELECT ...
.
ááĽáá ááĽáĽ: á˛áá˝ááľ "áĽáá áĽá á áá" áá¨á°áłá, áľááá áá áŤáŁá˘ áá¨á áĽáť á°áľáá áá. á á ááŤáŤ á¨ááἠáá°áľ áľá áŤá á ááłááľ á áŁá á¨á°áŤá á áááá ááľá°á áŤá¨á ᥠâáá! áĽáá ááľ á ááľ á á¨áááááXia áĽáŤá." á¨ááá˝ á°ááľ á ááľ á¨á ááľ á°ááľ á ááľ - áĽá¨áŽáĄ áłá áĽá áá á áĽáŤá á¨áááἠááľáłááťáá˝ áĽáŤáá, áá° á áááአááááľ ááááą, á á ááá á¨ááἠáľáĽáľáĽá áĽá áľáłá˛áľá˛ááľá á°ááá áá. ááá¨á áŤááąáľ - áĽá á ááĽááľ áá°áŤá! áĽá "ááá", ááá áĽáá°áá áá¨áłáľ á áá˝áá áá á á ááľáłá˘
áĽáŤáá á á áááአáá á ááááá áľ áá
áľ á áľááá áá áĽáá°áá ᨠááá¨áłáľ áĽáἠá°áá˝ á˝ááá
á ááłááľ áĽáŤá á¨áááá¨á áá°áĽ á áá áĽá¨áá° áááá á¨á°á¨áłáŁ áŤá°ááá á¨áá á áĽáŤá áĽá áľ "á á˝á á°-ááś" áĽá áá° áá á ááľ áá áá˝áá¸áá.
á áá ááá ááá áĽáŠ áááľááᣠáá° áá áá°á áĽá፠áĽááŤáá ... [á¨á˝áá á¨ááá ááĽáľ]ᢠáá áľááą ááá áááľ á áá˝áá, áá
á áŁá áĽáŠ áĽá
áľ á¨ááá áĽáááł á áľá°áá, ááááŤáąá ááá ááá
11ms ááľáˇá.
ááá ááá áĽáŠ áááľáá - ááá áá á áĽáááą áá áĽáá°á°áá ᨠááá˝ á¨áá ááá á¨áá. á¨á á ááá á°ááą á á°á¨á᪠ááá á¨á°áᨠááá á áááᢠááááŤáąá áĽáá˛á ááááąá "áĽáŤáľ" ááá˝ á˝áá áááá¨áľ á á á ááá ááŤáŞ áá.
áá ááá˝ áŁáááá, á¨áááá˝ á˘ááá, á°á¨á᪠áá°á¨áłá á˝ááŽá˝ á á.
- ááľááá ááááľ áŤááááłá á á á ááá á¨áááľ áá ááĽáśá˝ áá áľáá á áĽáą áľá. áŤá áááľ áĽáá á á°áá á áá á¨áá¨á á áá á ááľ áá áá áŤá á áá áĽááłá á áááá á ááá á¨áááťá áá - á áĽáą áľá á ááłááľ áááá˝ áŤá á¨áááťá ááᢠá ááľáŁá˝á âááá˝â áĽá áááłá á°ááááŽá˝ áĽááłá á á°áááá áááł áá¨áľ á ááĽáᣠCTE - áĽá áá á áá âá á áĽááŽâ áááľá˘
- ááá°áá ááĽáĽ: á ááľááá ááááľ áá á¨á°á ááá áá áá á¨ááľááá ááááľ á¨ááľáá¸á፠áá. áá ááľááá ááááľ áĽá áá á¨á°ááá, áááłá, á á áá á¨áĽ ááááŚá˝ ááľáĽ áá°áľ, á¨ááŤá áĽá áą á¨áááľ áĽááľ áá¨ááŤá - á¨áá ááľááá áá°áśá˝. ááá áá á¨á áśáá ááľáá¸á፠áá áĽáŤáą á áĽá áą ááľáĽ áĽááłá áááŤá. áŤá áááľ áá ááľááá ááááľ á á á ááá áá áŤá á áĽáá°á°á¨ááá ááá¨áłáľ á ááľ á°á á ááąá á ááá ááŁááľ á áá áľ - áĽáá°áá "á á áĽáᎠááľáĽ".
á áĽáá°áá ááááľ áááłáá˝ ááľáĽ "á áŁá á°áŤáá ááá?" á á°ááŁá á¨áĽáááłá á¨áŤáᢠáľááá , ááá˘ááš áĽáŤáłá¸á á "áááŞáŤá" ááľáĽ áĽááłá áá˝áá "áĽá áąá áá¨áłáą ááá áŤáá áľ áĽá áĽáŁ áááľ áá...".
áá 1000 ááá˘áá˝ á áá, áĽá áá á°ááᎠááĽáŤááłááłá¸á áá°ááá á áá˝áá. áĽáᣠá áá°áŁ áĽáą - áŤáááᣠáá áĽá፠áŤá á ááľ á°á - á¨áĽááá˛á á¨ááᢠááááŁáľ áááŤáᣠááá áááá áá˝ááᣠáá á áá ááľáŤáľ áŤáľááááá - áĽá áá á áááľ á¨á¨áľ ááŤááá áá˝ááá˘
á¨áá áľ áĽááł
áľááá
, áĽááá
á á˝ááŽá˝ ááááá, áĽá áĽáá°ááŤáľáááá á°ááááĽá á¨áĽá
áąá áĽáŠ áĽááł.
á ááááŞáŤ âá áá ፠ááâ ááľá - á á á ááá áá áĽáá°ááá á áááá¨áĽá áĽááá˘
áá á á ááťáŤá áááł á˛áłá áĽá ááá áŁáá° á¨á°ááᥠá á ááťáŤá âááĽáłâ áááľááá˝ á áŁá áĽááľ áá¸á - á áĽáŹá á ááľ ááá
- á¨áĽáŤáą á¨ááľááá ááááľ áá°áľ áá
- á á á ááá á¨áááľ áá áá á á áá áá
- á¨á°áááľ áĽá á áľáłá˛áľá˛ááľ á¨áá á á ááááŚá˝ áĽááľ
- ááľááá á áŤá áŤáą
áĽáá˛ááᣠáá á áááááľ á¨á áááá˝á áá á°á á¨áááŤáľ á˝ááł á ááᢠáĽá áľá á áĽá፠áá¨áá¨á áĽá "áá, áŤáľáŤ, ááĽááľá á ááá áá, áĽá፠á¨áá á˝áá á á."
áá áľááá˝ á˝ááŽá˝á á á.
á ááááŞáŤ ᣠá¨áá°á áá á áŤáá âáŽá-ááĽáâᢠá¨áááἠááľáłááťáá á ááľ ááŤá ááľá°á áĽá፠ááľáĽ á áľááá á, áĽá áĽáá°áá áĽá áĽáá°áá.
ááá°á, á¨á°áá á á á¨ááἠáá á ááá áľááłá á¨áá - á¨ááŤááĄáľ á°ááłáłá ááľ EXPLAIN (ANALYZE, BUFFERS)
ᣠáĽáá
á áá¨ááᢠá ááá áĽáá´áľ áá áłá°áᣠáá¨áłáľ áĽá á¨áĽááą áá ááľáŤáľ áĽááłáá áľ á áŤáá
áᢠáĽá ááἠá ááŤááĄá áľ áá áĽá á á˛áľá áĽá ááľá -áá
á°á¨ áľááľáł áá¸á፠áá á áľááá áĽá¨á á°á á°ááľ áĽááłááá á˛áááᥠáá
áá¨á á áŁá á áľááá áá.
áŚáľá°áá á ááłá ááĽáĽ á¨áá ááŽáááľ á áŁá á°áŤá áááľ áá. áľáááą á áŁá áľáá˝ ááᣠá á¨áľáľáľáľ áአá ááľ áá á¨áá áĽáŠ ááᣠáĽá áŽáą á ááá ááá˘
áá áĽááá
áá "ááĽá" áá¸á, á ááľ á°á á áá ááááľ á¨áá
áá ááá áá˝áá, ááá áá á¨áá
á áááááľ áĽááľááá
áŤá°á¨áá á ááľ ááá á á. áĽááá
á¨á°áááą á¨á á¨á´á á áááá˝ (CTE) á¨áá°áá°á áľá
á°áśá˝ áĽá áĽáá° InitPlan/SubPlan áŤá á°áááá á áááá˝ áá¸áá˘
áá áá áľáá áŤáááľ ááĽáŤáá á á ááá á¨á áááá áá á áá ááĽáŤááłááą ááá°áĽ ááľááá ááááľ á á ááá á¨ááľáá¸á፠áá á ááᢠááá ááá ááá áá - á¨áá á CTE á¨áľáááľ áá á¨CTE Scan node á áááá°áá˘. áľááá , áľáááááá áááľ á¨á áá á áá á ááá á, ᨠCTE á ááľ áĽáŤáą ááá áŤá á áá áĽáá°áá°á°.
á¨ááŤá á¨áŤáłá˝áá áááťá ááá áĽáá°á°á¨á° á°ááááĽá - ááŤá! áĽáŤááłááą ááᢠâá áá á¨áŤáłá˝áá áĽáá˝áááᣠá áŁá ááá áááá!â áááá˘
ááľá á áááááśá˝ á¨á°ááá° ááá ááľá°ááᥠááá á Node.js + Expressᣠá Bootstrap áĽá D3.js áá áááá áĽááá ááááŤáá˝ á°áľáŚ áá áᢠáĽá á¨ááá áĽáá ááá áá á áá áľááá áá á - á 2 áłáááłáľ ááľáĽ á¨ááááŞáŤáá ááłá á ááá°áá-
- áĽá áá
áľ á°ááłá
áŤá áááľ á áá áááááá áĽá áľ á PostgreSQL á¨á°áá áŠáľ á á á ááá áá°áá°á áĽáá˝áááᢠ- á°áááá á áááá˝ áľáááá áľááłá - CTE áľáŤáᣠInitPlanᣠSubPlan
- á¨áá áŁá ááŤáá˝ áľáááľ áľáá°á - á¨ááἠáážá˝ á¨áá á°á¨ áľááľáł ᣠá¨á áŤáŁá˘á áá¸á፠ᣠá¨á˛áľá á¨ááá áĄá áľ
- áłáááľ á áááˇá
á áááἠááľáłááťá ááľáĽ áááá ááá "ááááá" áłááá "á áŁá á°áŤá á ááá" áá˛áŤáá á áĽáá áá ááá¨áľ.
áĽáá°áá
á áááľ ááľá á ááá°áá - áá˛áŤáá á á ááŁáĽ ááľáá
ᢠáá á áĽáááá áá á¨áĽá ááá˘áá˝ á¨áá
áą áá áááá áá áĽá¨á°áŠ á áá°ááᣠááá áá á áá á áá ááá áĽá¨á°áŠ ááᢠá¨ááá á áá, áááá ááĽáŽá˝ á áľááľáá áá° á፠áĽá áá áŁááá¸á, áĽá á ááá áá á¨ááááŞáŤáá ááľáá áĽáť áľá°áá, áá á áááľ ááľááá ááááľ áá: CTE Scan, CTE áľáááľ ááá á´á áľáŤá á á ááłááľ áłá
á áá°á¨áľ.
áá áĽá á¨ááá áŤá á á á˝áŽá° áá ááᢠáĽá áľ á áĽááľ.
áá áá ááš áááá? á¨á á
ááá áá ááľáĽ á¨áľáá áľááť áá¨áľáá ááľááá ááááľ áĽáá°á°á¨ááá ááá¨áľ ááš áááá - áĽá á ááá áá° áá âá áŁáĽááâ á ááŁáť áá áł.
ááľááá ááááľ áá áĽáá áááá áĽá áĽááŤáá - á´á áľáŤá á¨á á
ááá áá á¨áŠáĽ áŤáá° á¨áá°á° á˛áá ááŞá 3/4 á CTE Scan á°ááľáˇáᢠá áľááŞ! áá
áľá CTE Scan "á¨áĽáłáľ áá á" áľáá˝ ááľáłááť ááᣠá áĽáŤááá˝á ááľáĽ á áááľ á¨á°á áááŁá¸áᢠá áŁá ááŁá á áá°áá - á á°ááá°á á¨á á¨á´á á
ááľ áĽááłá áŤáŁá.
áá áĽááá áá áĽáá°áá áŤá áĽááá ááááŤáá˝ á¨á áá á áľá°áłá˝ ᣠááľáĽáľáĽ áá¸á ᣠáá˛áŤáá áá° á ááľ ááá áľáá áá ᣠáĽá áááłá ᣠá ááłááľ á´á áľáŤá á¨ááá˝ áá á áá âáĽáá°á áâ áĽááŤááᢠá á°á¨ááŞá ᣠá ááľáĄ á ááľ ááááľ ááŁáŞáŤ áá ᨠᣠáĽá ááááŚá˝ á áአáá á°áĽááá ... áá áá ááľá á ááĽáł áááá˘á ááŁá áĽá âVasya ᣠáĽáá ááá ááá ááĽá áá! ááá ᣠáááá¨áą - á¨áá á˝áá á á!
á á°ááĽáŽ, áŤá "áá°á
á°ááŤ" ááľá¨á á ááťáá.
"á¨á¨ááĄá áľ" á¨ááááŞáŤá ááá á¨áá áááľ á˝áá áá áᢠá áĽá áą ááľáĽ áŤáá á¨áĽáŤááłááą á áá ááľááá áá á 1 Âľs áľááááááľ á°á áááᢠáĽá á¨ááľááá áá°áśá˝ áĽááľ á˛á¨áá ᣠáááłá ᣠ1000 - á¨á°ááá á áá ᣠPostgreSQL âáĽáľá¨â á°á¨ááá ᣠá¨á፠áá° áá áľáá°á á á ááááá áá âá 0.95ms áĽá 1.05ms ááŤá¨áâ áĽááááá ᢠáá áŤá áá° áááᎠá°á¨ááľ á˛ááľ, á ááá ááá á áá°áá, ááá áá ááľááá áá° [áá] á´áŽááśá˝ á˛á°ááľ, "áá á¨áá áá áŤá á áĽáá°á á" á áĽá áą á áááá˝ áá°á¨áľ "áłááłá á" áá áá áá¨á áááľ ááľáĽ ááľááŁáľ á ááĽááľ.
ááá°áá ááĽáĽ ᣠá¨á áá á¨á°ááłá°á ᣠá á°áááá á áááá˝ ááŤá¨á á¨ááĽáśá˝ áľáááľ (áĽáá፠ááśá˝) ááᢠáááááŞáŤááš 2 áłáááłáľ áááŽáśáłáá áá 4 áłáááłáľ á áľá¨ááááá˘
áĽáá°áá á áááľ á˝áá ááááľ á áŁá ááá áá - áĽá CTE áĽáá°áááá áĽá á ááľáĄ á¨áá ááá áĽáááŁáá. á áĽáááąáŁ PostgreSQL âáĽááĽâ áá áĽá ááá ááá á ááĽáł áĽá፠á áŤááĽáᢠá¨ááŤá á¨ááááŞáŤáá áááἠá¨áĽáą áĽáááľáłáá, áĽá á ááľ ááś áĽá ááááŞáŤ á¨á°ááłáłá CTE áá° áĽáą áĽáááľáłáá.
áĽá
áąá á°áááá°áá áĽá á°á¨áľá°áá - á áááá áááł 3 ááśá˝ (á¨ááἠááá˝) á á´á áľáŤá "á¨á°á á"ᣠ1 á°á¨á᪠á CTE Scan áĽá 2 á°á¨á᪠á ááá°áá á¨CTE áľáŤá áá á¨áᢠáŤá áááľ áááá ááá á ááá áŤá áááá, 6 áĽááááá, ááá áá á¨áĄáŁáá áá 3 áĽáť áĽáááŁáá! CTE Scan á¨á¨áľááá áŚáł ááá á áŤááĽá, ááá áá á ááĽáł á¨áá°áą áá
á°á¨ áľááľáł áá áá°áŤá. áľááá
á¨áá ááá áĽáá
á ááá˝ áľá
á°áľ áá!
áĽáá°áá á¨á´á áľáŤá á¨á°á á¨ááľ áĽáá፠3 ááá˝ áłáł á ááááŞáŤ 1 1á CTE Scan á á¨á áĽá 2á°áá áĽá 2 á°á¨á᪠á°áá á áá¸áá˘áá á á áľáአ3 ááᢠáážá˝ á¨á°áá áĄáľ ááἠáĽáá 6 á áá°ááá˘
áĽá áá
áĽáá á¨áá
áą á áááá áá á ááááá áĽááľááááἠá áľáááá ᣠáá á ááľ ááááľ á á˛ááŤá ááŤá áĽáť ááᢠáĽáá "á ááľ ááá á¨á¨áľ áĽáá°ááŁ" áĽááľáá¨áł áĽáá°áá
á áááľ ááľá á ááá°áá. áááľáᣠáĽáá
CTE á¨pg_class ááĽá¨ááᣠáĽá áááľ áá á á¨á
ááᣠáĽá áááá°á áá áľáá áá
á
áááŤáá ááá á¨áá°á°áĽá áá áá áááľ ááᢠᨠ2 ááá ááá˘áŤ ááá ἠá¨á á¨á´áá 101 á áĽáť áłááá á áŁá ááľ áĽáá°áá ááá˝ áá.
ááĽááľ áá áľááá˝ ááľá°áá. âá ááᣠááŽáŁ áŠáá áá áłáááá
! á áá á¨áĽá á°ááᎠá áĽááľá á፠áá˝ áá ááᢠá áá áá ááá áľ áá˝áá."
á¨áááἠááľáłááť áá áá¨áŞáŤ
á¨áĽá 1000 ááá˘áá˝ áĽáááł á°áááąá˘ áĽá áá á ááśáá˝ á¨ááá አâáááŤâ á ááááŽá˝ áĽáť áĽááłáá á°á¨áľá°ááᣠáĽá áá áá á ááá˘áá˝ áá áŤáá âáŽá-ááá áâ á ááŤá˝ ááš á áá°ááᢠáĽá áŤáłá˝á áá°áĽá°áĽ áĽááłááĽá á°ááááĽá.
á á á ááá, áľáłá˛áľá˛ááľá áá°á áľáĽ á¨áá˝á áá°á á ááá á á, ááá áá, á áááአááľáĽ ááááľ áŤáľááááá - áá
á ááááŞáŤáŁ á á°ááłáłáŠ á¨ááἠááł ááľáĽ á á°ááŤáŠ áááááĽáŽá˝ áá°ááłáłá áá ááá˝ áááľáŁá á¨á°ááŤáŠ QueryIDs. ááááŞáŤ áŤá°á¨ááľ áááľ ááᢠSET search_path = '01'; SELECT * FROM user LIMIT 1;
áĽá á¨á፠á áá SET search_path = '02';
áĽá á°ááłáłá áá áá
ᣠá¨á፠á áá
ááá áľáłá˛áľá˛ááľ ááľáĽ á¨á°ááŤáŠ áá¤áśá˝ áááŤá ᣠáĽá áĽá
áśá˝á á¨áááľ ááľáĽ áłáŤáľáᣠá á ááá áľáłá˛áľá˛ááľá á á°áá á áá
á¨áĽáŤá ááá፠á ááľ ááľáĽ áá°áĽá°áĽ á áá˝ááá˘
áĽááłáá ááá áľ á¨á¨áá¨áá ááá°áá ááĽáĽáĄ- áá áśá˝ áĽáĽá¨áľ. áŤá áááľ ááá áĽá áľ á¨áá, áĽáŤáá áŤáą áĽáť á á. á¨áááááľá áĽááŤáá áá ááá áĽáá°áá á áááŁááᢠáĽá áĽáá á ááĽááľ áá° á°áááá á¨ááἠáľáĽáľáĽ á˝áá áĽááááłáá.
áĽá á¨áá¨á¨áťá áá - "áĽáááłáá˝" áĽáĽá¨áľ. áááľáᣠá¨á°áá°á á¨áĽáŤá ááľáá¸á፠ááłáá ááááá á áá˝áá - á¨ááᣠá¨á°ááá° áľáłá˛áľá˛ááľ áĽáť á áᢠááá áĽááłá á¨áá áá ááľáŤáľ á˘áťáá, á áŁá á¨áŁáľ áĽáť áá.
áľááᥠâáŽá-ááá áâá áááááľ áá°áá áĽá ááťá ááááᢠá°áĽáłá˘áá˝.
á°áĽáłá˘á á á¤áľá¤áľá¤á˝ á áŠá áááááᣠá°áá°ááŹáľ á áá áá á¨á áááአáá á°á
áááą á¨á°á á á áááááľ á¨áá¨á ááą áá "áááľáłá" áĽá tail -F
á áááἠáááἠáá "ááŁá áá". áľááá
á áá
ááá áá ááľáĽ áááá á¨áááἠááľáłááť ááá áá "ááľáłááľ" áĽáááááá á áááአá¨ááᨠááᢠá á°ááłáłá áá á á áááአáá áŤáá á¸áá á áŁá á ááł áá, ááááŤáąá áĽá፠ááá ááá áľáááá°áá°á, áľáŤááá áĽáť áĽááá¸áŁáááá.
á áááá˝á á Node.js ááľáĽ ááá áľááááá á°áĽáłá˘áá á áĽáą áá ááá áá ááᢠáĽá áá á´áááá áĽáŤáąá á á áľáá, ááááŤáąá á፠áľááŞááľá ááá áá ááá á áá á áá¸áľ á¨á°á°áŤ á¨á˝áá ááἠáá áááľáŤáľ á áŁá ááš áá, áá á áá áá. áĽá ᨠNode.js áá á¨á° áááľ áĽáŤáą áĽáá° á¨ááᣠááľá¨á á¨á ááłá¨ áá¨áĽ áááááśá˝ áá áááľáŤáľ ááá áĽá ááš áŤá°áááá, áĽá á áĽááἠá¨á ááłááľ á¨ááἠáĽá¨áśá˝ áá.
á áá áá á¨áľ áááľ áááááśá˝á "áĽáá¨áá" á¨ááááŞáŤá, áá áĽáŤáąá "áááłááĽ" áĽá áá° áĽáŤáłá˝á áĽáááľáłáá, áĽá ááá°áá, áá°á¨áąá á á¨ááá ááá á¨á . áá á áááἠááľáłááťá ááľáĽ áŚááľ 123 áŤáá áłáĽááą áłááś áá á ᣠáá áá áááá˘á ááá áááľ á áá°áá ᣠáĽá áá°á¨áąá âOID = 123 áááľáá?â áĽá áá á¨á áĽáŠ áá áᢠáĽá áľááá áĽá áĽáľáŤáá á¨áááááá áá°á¨áąá á á¨ááá áĽáá ááááá˘
á ááľ ááá áĽáť áľá°ááľ á¨ááąáľ ááá á¨áááľá á¨áἠáááŤáá˝ á á! .. áá
áá áľáááľ ááłá á á¨ááááá 10 á ááááŽá˝á ááá¨áłá°á áľáááá ááᢠá áá¨áłáłá˝á ááľáĽ á áŁá ááłá á¨áááᣠááááἠá áľá¸á᪠á¨áá á ááłááľ á˝ááŽá˝ á¨á°áá áŠá áľá˘ áá á ááááŞáŤá áŠáĽ áááľ ááľáĽ áááľáľá á ááľ ááś á°ááĽááá - ááááŤáąá áľáááą "ááĽáˇá", ááá á°á ááááłá, áááá á°á ááš áá.
áá
áá áá¨áá á áá áľ, á¨ááἠáá°áą áľáá
áá, áá áá. áĽáá° áĽáááą á¨áá á¨ááááŁá á¨ááᣠáĽáá´áľ áááá áĽááłááĽá á¨áááááá áĽáá ááááᢠPostgreSQLáá áĽáá° á¨ááἠáá¨ááť áĽáá ááááᢠáĽá á¨áŚááŹá°áŠ á¨á áá áá¨áá áá° áĽáą "áááá°áľ" ááá ááŁá á áá°ááᢠCOPY
áá áá.
áá á ááá áá¨áá "ááá°áľ" á áľááá á¨áĽá á´áááá á áá°áá. ááááŤáąá á ááś á ááááŽá˝ áá á á°á¨ááľ 50k áĽáŤááá˝ áŤáááľ áá á áá á¨100-150áᢠá¨áááἠááľáłááťáá˝á áŤáááŤáᢠáľááá , áá°á¨áąá á áĽááá "ááá¨áĽ" áá á¨áĽá.
á ááááŞáŤ áĽá á á°á¨áá á áá áá¨ááá, ááááŤáąá á á á ááá, ááá á áááľ ááŤá¨á áŤááá áááááľ ááá ááááľ á¨ááá. áᏠááł á á˛áľ á¨áá°áá áŞáŤáá áľáŞáľ á¨ááá áĽá ááľáááá á ááłááľ á á˛áľ áľáłá˛áľá˛ááľá˘
á ááá°á á°á¨á, á°áá¨áá (á°áá°áą) áá áááťá á áŁá ááŁá COPY
. áĽáť áłááá áááľ ááᢠCOPY
ááááŤáąá ááŁá áá INSERT
, áĽá áĽáá˛áŤáá ááŁá.
áŚáľá°áá áá - ááľá¨á áá á¨áĽá ááľá
á´áá˝á áĽáá°á
á°á á°á¨á°áá¸á áĽá á¨áá áááá˝ áĽáᢠáááľ. áááľáᥠá¨ááŁááť áłááááľ á áášá á¨áááᢠááááŤáąá á áአáá áĽááľ FK áŤáá á á¨á´á áŤáá
áĽá á áá¨á ááą ááá
á ááľáĽ "á FK á¨á°á áá° á¨áááἠááľáłááť áĽáá
á á áááłá á¨ááá˘áŤ áĄáľá" áľáľá áľáłáľáᣠPostgreSQL áĽáá´áľ ááá°áľ áĽá á áłááááľ áááá áĽááłáá áľ áĽáá ááá áłááá¨á áááŤá SELECT 1 FROM master_fk1_table WHERE ...
áááľááŁáľ áĽá¨áá¨áŠáľ áŁáá á᪠- áá
áá¤áľ áĽá፠áĽááłá áááá°á˝ áĽáť áá
á á¨áá ááá á ááľááŁáľá âáĽáá°ááá°áĽáŠáľâá˘
á áááá á áá á¨áĽ áĽá á˘áá´ááśáš ááľáĽ á¨á ááľ áááἠááá áĽá áĽáą á¨áá á áłá¸á á°áá á¨áŚá˝ áá áĽáááŁááᢠáĽá á ááŤá˝ á áŤáľááááá - á¨áĽá á°ááŁá á á°áťá áá á áĽá á á°áťá ááĽááľ á áľááš áááľ ááááἠááᢠáľááá FK - á¨áĽáą áá!
á¨áááĽáá ááĽáĽ áá°áá áĽá ááşáá ááᢠááááŞáŤ áá á áá¨á ááą ááľáĽ áĽáá°ááĽáŤá¸ááá - á¨ááá á áá ᣠáá˛áŤáá ᣠáááᥠá˛áᣠᣠá á ááľ ááááľ áĄáŁá ááľáĽ áááľáŤáľ ááš áá ᢠ"á ááľ á˛á°áá" á áľááá ááľá á´ ááľáĽ. áĽáŠ ᣠáᚠᣠáá ááĽá á á°ááłáłá ááááľ - á ááľ áááἠáŤáľááŁá ᣠáá á¨áá á á¨á´á áá áá ááá áááá ἠáĽá áááá ááá°áłáᢠá¨áá á á áá áááá ἠáĽá áááťá áĽáť áłááá - ááááá áááľá¨á.
á áá á á ááľ á¨á°áá°á á áľá°ááá
ááľáĽ áŤáá á¨áĽáŤááá˝ áĽááľ á¨áááĽáŠá áľ á á¨á´á áĽááłáá
á áľáĽá˘ +1, +1, +1, ..., +1
. áĽá áĽááľá, á ááá
á°á¨á, á áŤáľááááľá - ááá ááťáá á á á°áŁáłá˘á áá áľááľáł ááľáĽ áľáá áĽá á á ááľ áá áá° áá°á¨áą ááአ+10
.
á áá ᣠá ááľ ááááľ áĽáá˝áľ á áá¨á°áľá áľ áá á ááááŽá á áłááááľá âááááľâ áá˝áá ᣠáá áá á¨áĽáááłá á¨áŤá ááłá áá - áá°á á á áááá áľááᾠᣠá áááŁá áŞáŤá ááľáĽ áŁáľáŞ á áá ᣠá¨ááĽááľ áááἠááľáłááť á ááᾠᣠá ááá áľáááą áá áᣠ... á á á ááá ᣠáá áá á¨áááᢠáááŤááĄáľ á᪠á áááľááľ/FKs á¨ááŤáááľ á¨á ááťá¸á áŞáłáŤ áá á¨áááá˘
ááá˝áá á°ááłáłá áá. á ááľ á¨á°áá°á áĽáŤá áá° áĽááľá áá ááŤá, á áá¨á ááą ááľáĽ á¨áĽáą á¨á°áá°á áá፠áŤá°áá, áá° áłáłá¤á ááťá áĽá á¨á፠áááá ááááŠáľ. á áááłá áľ áá ááá ááá áĽáŠ áá ᣠáĽáą áŤáą áá áłáľ á¨áááá ááá°á á°á áá° áĽááľá áĽáľáŞáᣠáľá¨áľ - áĽá áĽááł á ááᾠᣠáĽá áá ááľááá ááĽá ááᢠáľááá , á¨á ááłááľ ááłáááŤáá˝á áááá¨áľ áá°áá áá (á¨áá á¨áą á ááťá) ááľá°ááá á¨áťá, áá á ááľá¨á á¨á°áťá áá.
á¤áᲠ5á á¨á˝áá áá ááá˝á áĽáť áášá áá á - áĽáŤá ᣠáĽá ᾠᣠá áĽáᾠᣠ... á á á°áŁáłá˘á á áŠá áĽáá°ááá áĽá ááá á¨áá ááłáá፠áá° áłáłá¤á ááľáĽ âá ááľáąâᢠá¨MD5 ááááľ áĽá áááłá áááá ááá አáľááá˝á áááśá˝ á áá¨áá á˘
ááá áá áá
á áá á ááĽááľ ááááááĽ, á¨áá
áłáľ áá°áąá á áŤáą ááľá°áŤá¨á áŤáľááááá.
á áĽáááá áá ááἠáĽáá´áľ áááá? á ááľ ááááľ áłáł áľáĽáľáĽ á áá ᣠáá° áĽá á°áá á¨áŚá˝ áĽáá áľáŁáá ᣠáĽá á¨á፠COPY - ááááŞáŤ áá° ááááŞáŤá ᣠá¨á፠áá° ááá°áá ᣠáá° áŚáľá°áá ... á¨áááá˝ áá ᣠááááŤáąá á ááľ á¨ááἠáĽá¨áľ á á á°á á°á¨á°á á áŚáľáľ á°á¨ááá˝ á¨ááá˝áá áľááááľá ááᢠ. á°áľ á¨ááá. á ááĽááľ áá¨ááá áá˝áá? áá˝áá!
áá áá áááľá¨á, áĽááá á áá°áśá˝ áĽááľ á ááľ á áľáአáá áľá áľ áĽáť á á áá. áľá á°áśá˝, áĽáŤááá˝, á áĽááśá˝, á á°áᨠááŽá˝ ááľáĽ á¨áá አáááááŤáá˝, ... - áĽá áááá á áľáአáĽáá˝ááá. ááá á á ááᢠááĽáŤááłááą á¨ááá°áĽ ááá á áá á¨áĽ á ááááľ áááľ á¨áá COPY áťáá áŤááŠ.
á°áĽáłá˘á áááľ ááᢠáá áá á
á¨áľ á áá˘áĽá á¨ááŤáľááááá ááἠááťá á¨áá˝áá áľá˘ ááá áá á¨ááἠááłá áá
áá ááἠáĽáá˛áŤá áĽá á ááľ á°á á áááá፠ááľáĽ áĽááłáá°áá ᣠáá
ááἠáĽáá˛áá á˛á áĽá
ᣠCOPY á á°áá°á ááá°áśá˝ ááá¨áĽ á áá áľá˘. ááĽá ᣠáá° 100 á.á á¨ááá áá á áŁá áá¤áłá áá á°áááˇá - áĽáááááá áĽá áá˛áŤáá áá° á°ááłáłá á á¨á´á áĽáá¨áá°áááᢠáĽá á á ááłááľ á¨ááłáá˝ áá á ááľ áĽá¨áľ á á á¨ááá áĽáľá¨ á¨á°áá°á áá°áĽ áľá¨áľ áá°áĽá°áĽá áĽáá°ááááá˘
á á°á¨ááŞá ᣠááĽáá°áá
ááááą áááľ ááá፠ᣠááááá áľáá ᣠááááŚá˝ á ááŹáśá˝ ááľáĽ á áá°á á°áĄá áľ áá ᣠââááĽá áááá á áááá ᢠááá˛á áááľ ááᢠINSERT ... VALUES
áĽá á°á¨á᪠1000 ááááŚá˝. ááááŤáąá á ááŤá áá á áááá áĽááá áá á¨ááá á¨áá°á á°á¨á á áááľ, áĽá áá á°á á á˛áľá áá á¨áá ááá áááťá á¨áááá áá áá áĽáá.
áĽáá°áá áŤá áŤáá°áááą áááŽá˝á áááľááᾠᣠááá ááá á áŤá ááá ᣠá ááŤá˝ á áłáľáááĄ. áĽá á á˛áľá áá ááá¨áĄ á¨á°á¨á°á° (á á ááľááááľáŁ á Node.js ááľáĽ áŤáá á¨áĽá¨áľ á¤áá á áĽáá˛áŤáá áŤáľá˝áááłá) - áá á áááááľ ááá áá áŤáľá°áááᢠáŤá áá á ááľ ááľá°áľ áĽáá°áá ááť áá áá° á áá° á˛áᣠ- á¨á°á áŤááá áá¨á áááááľá˘ áĽáľá¨ááŤá áľá¨áľ áľáŤ á ááśá áłá - á¨áááĽááá áá á¨áááłá ááá°áąáľ áĽá áááá áľá˘
áá¨áá áááťá áá á á ááŤá¨áĽ á¨áá°áá አá ááľ, áá° 4K á¨ááťá áŚááľ áá áŠá, áĽá á áá ááááľ áááąá á 4 áĽáĽá áááˇá. á áá á á á˛áľ ááľáľá á¨áá°á¨ááŁá¸á á¨ááἠááłáá˝ ááááŤáľ áá 6 áá á áľááá - áĽáľá¨ 100 áᣠ/ á°. áĽá á áá ááááľ 3 ááŤáľ áááἠááľáłááťáá˝á á¨10-15 á´áŁ áá á áĽáá¨ááťáá ᣠááááá ááᢠá áŚáľáľ áá ááľáĽ áááááá á˝áá áááł áá˝áá áĽáá á°áľá áĽáá°ááááá˘
á˝ááŽášá áĽáá¨áłáá
áá á ááá áĽááá á áá áá¨ááá˝ áá°áĽá°áĽ áĽáŠ, á áá, á°áᢠáá, áá á á á áá°áá - áá¨áąáľ áááŁá. ááááŤáąá áĽááá á á¨áá á áááŽáá˝ á¨ááá አá¨á°ááŤáŠ áĽá áśá˝ áá¸á.
ááá áá áááŽáá˝ á¨ááĽáĽá áá áá¸á, ááááŞáŤ "áľáá˝" ááľá¨á á ááĽááľ. áĽá á ááááŞáŤ á°á¨á, áá
áá "áľáášá" áĽáá´áľ áĽáá°ááŤá°áŤá ááá°á áŤáľáááááłá.
ááŤáłá˝á áŚáľáľ ááá ááĽáŚá˝á ááá°ááá˘
- áá áá
á áĽáŤá ááłáá˘
áŤá áááľ á¨á¨áľáá áá°áá áŞáŤ áá "á¨á°á¨á°á"ᥠá¨áľá á áááá˝áŁ á¨áá áááᣠá¨áá፠áľáááľ ááá áá áááᢠ- á¨áľ á°á¨á°á°
á áá á¨á°áᨠá áááá ááᢠááááŤáąá á á ááľ áá°áá áŞáŤ áľá áĽá á°áá¨áŽá˝ áŤáááľ áĽá á áľáááľ á ááľ âá¨á°á ááâ (âá˛áľá áľáá á°á á°â ᣠâááľáłááť áá°á°â ᣠáá á˝áá áŤá) á¨á፠á á°áá á ááááŠá ááááá áŤáľáááááłáᢠ- áĽáá´áľ á˝áአáĽáŤáąá á á ááľ ááá á áá ááááľ á°ááá
áĽáŤáá "áá" áĽáá°áá¨áá ááá¨áłáľ áá°á á ááŁáŞáŤá áĽáá áááá - á¨ááá-áá á°áááá áááááľáĄ SET application_name = '{bl-host}:{bl-method}';
- áĽáŤáá á¨ááŁá áľá á¨áááľ áĽáŤ á áááᎠá áľá°ááá
áľá áĽá á¨ááá¨áá áá´ ááá áá°áá áŞáŤ áľá áĽáááŤááá˘
á¨áĽáŤááá "ááľá°á" áŤááá á áá, á áááἠááľáłááťá ááľáĽ ááłá¨áľ á áá áľ - ááá
á á°áááááá áĽááá
áŤáá. log_line_prefix = ' %m [%p:%v] [%d] %r %a'
. áá áŤáľáŁá ááááŁáľ
- вŃоПŃ
- á¨áá°áľ áĽá á¨ááĽááľ ááłáááŤáá˝
- á¨áá á¨áľ áľá
- áá á áĽáŤá á¨áá¨á á°á á áá
- áĽá áá´ áľá
á á°á¨ááŞáᣠá á°ááŤáŠ á ááááŽá˝ ááŤá¨á áŤááá á¨á ááľ áĽáŤá áááááľ áááá¨áľ á áŁá á áľá°áłá˝ áĽááłááá á°ááááĽáᢠá áá á ááᣠáĽáá
áĽá áĽá፠á ááľ áá°áá áŞáŤ áĽáŠá á¨áá âááťáťâ áŤáá
á áľ áááł áłáááá
ᢠáá á°ááłáłá á˘ááá - á¨áĽááá
á ááááŽá˝ ááľáĽ á ááąá áááá¨áą.
áľááá , ááá¨áĄ "á ááľ á áááá - á ááľ áá" áááááá áľááłá á á áá á ááá°áá.
á¨ááááŞáŤá á¨áľááłá ááá á°ááłáłá áá "ááá" - á¨áá áą á ááŤá¨áĽ á á á˝áŽá° ááᣠá¨ááá á¨ááĽá á áááŤážá˝ á¸áľáˇáᢠááá°áá ááá¨áĽ á á°ááŁá á ááá áá´ áá, áĽá áśáľá°áá á˝áá áŤááŁáĽá áአá¨ááá ááľááá ááááľ áá.
á¨á°á¨áŁá ááłááá˝ áá° á áĽááľ áľáá¸ááá á á ááľ áá áááľ áĽá áá˝á á ááá°ááá˘
- ááá°áá°á á¨áááŽá˝ áĽááľ áĽá ááááľ
á˝ááŠá áá°áá°á áŤááĽá á áşáá˝ á ááá አáĽáŤááá˝ ááá áĽá áśá˝ áłááá á á°ááá á ááá አá áŚá˝ ááᢠ- á¨áá ááľáá
áŤá áááľ á á ááľ á¨á°áá°á ááá ááľáĽ áŤááľá "áĽáááłáá˝" á áá ááá á ááľ á°á á áá ááľáĽ áááŤá¸áá ááłá¨áľ áá˝áá. áĽá áĽáá áĽááľá á¨áá¨á°áąáľ á ááłááľ áľááá°-áĽááľ áŤááᾠᣠáááłá ᣠá á°ááľ á ááľ áá ᣠââáá - á áá á ááľ áá ᣠââáá áĽáá°á°áá ᨠáá°áĽ áĽááłááĽá - á áá áĽá ááá áĽáá°á°á ፠ᣠááááŁáľ áĽáá ááá áĽááłáá áľ áá¨áłáľ áá˝áá ᢠá áááŁáᢠáá áá á ááá áŤáááᣠáá á áá á¨ááłá á¨áá°áá°á ááááľ ááá˘
á¨á°ááŠáľ áá´áá˝ á¨áĽá
áą ááľáĽ á ááááŁá¸á á áááŤážá˝ áá á¨á°áá°á¨áą áá¸á-áĽáá˛á
ááááą ááľá áľááľ áá áĽáá°á°á¨á°á° ᣠá á ááá áĽá á ááŤá áá ᣠââá¨á˛áľá áá áŤá
á ááἠáĽáá°á°áá á áĽá á¨áá
á°á¨ áľááľáł áá áŤá
á ...
ááááŤáąá, áááłá, áá° á áľá°ááá áľááłá áá˝ áááŁá, áááá¨áą - á¨áá ááá á á˛áľá áá á áŁá ááá ἠááááŤá. á á áááአáá áŤáá á˛áľá áááá á áá˝áá - áĽá á¨áą áá áŤááĽá áá?
áĽá á ááááá á ááľ áá°áá°á áĽá á áá áá áĽáá°áááĽá ááá°á áá˝áá - á á áááŁáŁáŞá áá áŁáá áááľ ááá á á˛áľá áá ᣠááá á á á ááá á¨áĽáŤááá˝ áĽááľ ... á°á°ááľáŻá ᣠâá¨ááâ áŤááľá á ááś á áľá°áŤááá ᢠ- á¨áá°áá áŞáŤáá á á˛áľ áľáŞáľ á°ááááˇáá˘
áĽá áá˛áŤáá á¨á°ááłáłá á áĽááľ áá á¨áááą á¨á°ááŤáŠ á áááŹá˝áá˝á á¨ááłá°ááľ áĽáŤá áá¨áľ áá˝ááᢠSELECT * FROM users WHERE login = 'Vasya'
. Frontendᣠbackendᣠprocessing...áĽá ááá ááŽá°á˛áá á°á ááá á¨áĽáą áá áŤáá°ááá ááá ἠáĽááłáá áľ áŤáľáŁáá˘
á¨á°ááá˘áŚá˝ ááááą áá áĽáá°áá°áŤ áá˛áŤáá ááá¨áľ á¨áá°áá áŞáŤá ááᢠáááłá, á¨ááľ áááŁá áá , áá , áá áĽá áá á á°ááľ á ááľ áá áá (ááá áĽáť áá¨áłá). áĽá áĽáŤáá áá˛áŤáá áááłá - á á°ááľ á ááľ áá á ááľ ááá áááľá¨á á¨ááľ áááŁá áááľ á áá°áá áááľáá ...
á¨á°áá°á áá á áá, á¨á°á ááá ááá áĽáá°ááá á°ááááĽá áľáłá˛áľá˛ááľ á áĽá
áľ á áááá˝. á¨áá
áśáš á¨á°áááá á á áá á¨áĄ áá¨á á ááľ ááá á¨áá áŠáľá á áááá˝ áĽáť áá (á áá¨á á áá áŤááĽáĄ ááá á ááťá)ᢠá áĽááṠᣠá¨ááłáá áľáá á ááá ᣠá ááľ áá˝áł áĽáť á°á¨ááŻá - áá
ááľááá ááááľ áľááľ ááááĽáľ á ááŁááá˘áŁ áĽá áá áŤá
á áĽáá°á°áŁá (á¨áľáá˝ á ááŁáŞáŤ á°ááá°áá)á˘
á á ááŁáá áá á°áľáá á˘áá´ááľ á¨áááľáᣠáĽáŤá áŤá ááĄááľáŁ áá¨á á áááá á áááᣠá á´á áľáŤá ááľáĽ áááľáá ... á¨á ááľ á áľá°áá áááá ááááŚá˝ á áŁáŤá˘ áĽá ááá á áá 100M á¨á°áŁáŠ ááááŚá˝á áŤáľáááááłá, áá¨á á áááá ááá¨áŁáá á¨á°áťá á áá°áá?
áááá áĽá
áśá˝ á ááľááá ááááľ á¨áá¨ááá ᣠá áĽá
áśáš ááľáĽ á áŁá á á áŤáŁáŞ á¨áááľá á ááłááľ á¨á°áááą á ááááŽá˝ áĽááłá á°ááááĽáᢠáĽá áááá˘á áááá áĽáŠ áá-âáá°á ᣠáĽáá
ááááŞáŤ á áá¨á á áá áŤááĽáĄ ᣠá¨á፠á°ááľá áĽá á¨á፠ááá¨áĄâ - áĽáá° á ááľ á°áἠá ááľ áá¤áľ á áá˘
áĽáŤáá á¨áá áá ááááŁáľ áĽáá˛á ááááľ ááľá á ááĽáááľ áááááĄ- âááŤáľáŤ ââá¨áá¨á¨áťáá áľáĽáá áľá áᣠááᢠá áľááá áĽáá˛á áŁáá "áá°á á°ááŤ" áá .
áá áá âáá°á á°ááŤâ áĽáá°áá áĽááááá - áłá˛áŤ ááá áá ááľá¨á áĽááłáá áľ áá˛áŤáá áááá˘á á ááááŠáᢠá áá áá á¨áľ á áá áĽá áąá á˛á¨ááľ á¨áĽá ááᢠáá˛áŤáá ááá áŤáá ááá ááľá á ááˇá ᣠáá˛áŤáá âáĽáá áĽá áĽá፠á˝ááŽá˝ á ááĽáᾠᣠáá á áá áĽá á áá ááááľ á°ááľá°ááâ á°áŁáá˘
á áá ááááŤáľ ááááŞáŤ áá á˝ááŽá˝á ááááłáľ á¨ááŤáľáááá áááľ áĽá á áá á á¨áá°á á°á¨á áááˇáᢠáĽáá áĽáá°áá á áááľ ááłáŞáŤ á áá.
ááá: hab.com