ืฉืืื ืืืืื. ืืืืืกืื ืจืืื ืืงืฉืจ. ืืืื ืื ื ืื ืื ืืงืืจืก ืืงืืจืก High Work Architect ื-OTUS ืืื ืืืื ืงืืจืกื ืืจืืืืงืืืจืช ืชืืื ื.
ืื ืืกืฃ ืืืืจืื, ืืคื ืฉืืืื ืฉืืชื ืื, ืื ื ืืืชื ืืืืจ ืืงืืจื ืืืืื OTUS ื-Habrรฉ ืืื ื ืจืืฆื ืืืคืฃ ืขื ืืืืืจ ืฉื ืืืื ืืืงืืื ืืืฉืงืช ืืงืืจืก
ืืืื
ะ
ืืืืื
ืืืืื ืคืืชืจ ืืช ืืขืืืช ืืืืฉื ืื ืชืื ืื ืืกืืืื ืชืืจืืชืืช, ืืืขืฆื ืืกืคืง ืืื ื ืืชื ืื ืืืข. ืืืืคื ืืืืืืื, ืืืืื ืคืืจืืฉื ืกืืจื, ืฉืืื ืชืืื ื ืฉืืืืืื ืฉืืชืืฆืื ืฉื ืืืฆืืข ืขืกืงืืืช ืืืงืืื ืืื ืืืืื ืื ืืื ืืืืฆืขืืช ืืจืฆืฃ. ืืืขืื ืืขืืงืจืืช ืื ืืก ืื ืืื ืฉืงืฉื ืืืื ืืกืคืง ืืืชื ืืืืื ื ืืื ืืช, ืืืชืืฆืื ืืื ืืฉ ืื ืืฉืคืขื ืืฉืืขืืชืืช ืขื ืืืฆืืขื ืืืขืจืืช. ืืื ืืืืืื ื ืืืฉ ืืขืชืื ืงืจืืืืช, ืืงืื ืืช ืืกืืืื ืื ืฉื ืืจืืืืช ืืกืืืืืช, ืืฉืจ ืืืืื ื ืืืื. ืืืคืฉืจืืช ืืืชืจืืฉืืช ืืจืืืืช ืืกืืืืืช ืืืคืืื ืช ืืืืืง ืืช ืจืืช ืืืืื ืืขืกืงืืืช.
ืืืจืืืืช ืืืืืขืืช ืืืืชืจ ืื: ืงืจืืื ืืืืืืืช, ืงืจืืื ืฉืืื ื ื ืืชื ืช ืืืืจื, ืงืจืืืช ืคื ืืื, ืืื ืืืขืฉื ืืฉ ืขืื 5: ืืชืืื ืืืืืืืช, ืขืืืื ืกืื ืฉืืื, ืขืืืื ืฉืืื, ืืืืืช ืงืจืืื, ืืืืืช ืืชืืื.
ืืชืืื ืืืืืืืช
ืืืืืช ืฉื ืืื ืืืืื ืืื ืฉืขืกืงืืืช ืืืืืืช ืืืจืืก ื ืชืื ืื ืื ืืืืืืื.
ืื ืืืืื ืื ืืกืืื ืช ืื ืจืง ืืืื ืฉืื ืชืื ืื ืขืืืืื ืืืชื ืืฉ ืืืืจ ืืืฆืืข ืฉืชื ืืขืกืงืืืช (ืืื ืืชืืื ื), ืืื ืื ืืืื ืฉืืืืืืืืช ืืืคืจืช: ืืืืืื ืฉืื ื ืืืคืฉืจืื ืืืจืืก ื ืชืื ืื ืื ืืืืืืื, ืื ืืจืืจ ืืื ืืืืืืจ ืขืกืงื ืืืช ืืืืืจ ืืืื ืืืฉืคืืข ืขื ืืืจืช .
ื ืืชื ืืืคื ืืืจืืื ืืคืฉืืืช: ืื ื ืืฆืืืืื ืื ืขืื ืืจืฉืืื ืืคื ื ืชืืืืช ืืืงืืื, ืืืืกืจืื ืขื ืขืกืงืืืช ืืืจืืช ืืฉื ืืช ืืช ืืจืฉืืื ืขื ืืืกืจืช ืืื ืขืื.
ืงืจืืื ืืืืืืืช
ืงืจืืื ืืืืืืืช ืคืืจืืฉื ืงืจืืืช ื ืชืื ืื ืื ืืืืืืื.
ืืขืืืช ืืชืขืืจืจืืช ืืืฉืจ ืฆืจืื ืืงืื ืคืขืืืืช ืื ืืืืืืช ืขื ืกืื ืืืืื.
ืืื ืืชืงื ืืช ืืื ืืืืื, ืืชื ืืืื ืืฆืจืฃ ืื ืขืื ืงืจืืื, ืืื ืื ืืฉืคืืข ืืืื ืขื ืืืืฆืืขืื. ืืจืื ืืืชืจ ืคืฉืื ืืืืจ ืฉืขืืืจ ืขืกืงืช ืืืืจื ืืฉ ืืฉืืืจ ืืช ืืืฆื ืืจืืฉืื ื ืฉื ืื ืชืื ืื (ืืคื ื ืชืืืืช ืืืงืืื) ืืืขืจืืช. ืืื ืื ืืงืจืื ืืฉื? ืื ืืื ืืกืคืืง ืฉืจืื ืืกืื ืื ืชืื ืื ืืกืืจืื ืงืจืืื ืืืืืืืช ืืืจืืจืช ืืืื.
ืขืืืื ืืื
ืขืืืื ืืืื ืคืืจืืฉื ืขืืืื ืื ืฉืืืื, ืืืชืจืืื ืืฉืงืฃ ืืฆืืจื ืื ืืืืืงืช ืืช ืืืืช ืืืขืื:
ืืืขืฉื, ืืชืืฆืื ืฉื ืขืกืงื T2 ืืชืืคืื. ืืฆื ืื ื ืืชื ืืชืืงืื ืขื ืืื ื ืขืืืืช ืืชืืื ืืคืืจืฉืืช ืื ืืจืืืืืช. ืืืืืจ, ืื ืฉืื ืื ื ืคืฉืื ืืขืืื ืื ืืช ืืจืฉืืื, ืืื ืืชืจืืฉืช ื ืขืืื ืืจืืืืช, ืื ืฉืื ืื ื ืืืฆืขืื ืืืจ ืืขืืืื, ืื ืฉืืืจื ืื ืขืืืช ืงืจืืื ืืืชืืื. ืฉืืื ืื ืฉื ืืชืื ืืื ืืื ืื ืืกืืื: ืขื ืืงืจืืื ื"ืชืืืื" ืฉืื ื, ืื ื ืืืกืืื ืงืจืืืืช ืืืจืืช. ืืกืื ื ืชืื ืื ืืกืืืืื ืืฆืืขืื ืืืืืื ืืืชืจ ืืืจ ืืฉืืชืืฃ, ืืืืคืฉืจ ืืงืจืื ื ืชืื ืื ืื ืื ืืฉื ืืช.
ืืกืื ืืืื ืขืืืื
ืืฉืืืื ืขืืื ื ืืืชืจ, ืืกืืกืื ืขืฉืืืื ืืืฆืืข ืืืื ืืืจืื, ืืืื ืกืื. ืกืื ืืื ืืื ื ืืืืื ืงืืืฆื ืฉื ืฉืืจืืช ืืืืคืฉืจ ืื ืืืืืจ ืขืืืื. ืืืจืื cursor_name ืขืืืจ select_statement. ืืชืืื ืฉื ืืกืื ืืชืืืจ ืขื ืืื ืืืืจื.
ืืื ืืชื ืฆืจืื ืกืื? ืืขืืืื ืืื ืฉืืกืืกื ื ืชืื ืื ืืกืืืืื ืืฆืืขืื ื ืขืืื ืขื ืื ืืจืฉืืืืช ืฉื ืืืจื ืขื ืืื ืืืืจื (ืืฆืืืืช ืงืจืืื), ืื ืจืง ืขื ืืจืฉืืื ืฉืื ื ืืฆื ืืกืื ืืจืืข (ืืฆืืืืช ืืกืื). ืขื ืืฆืืืืช ืืกืื, ืืืืฉืืช ื ืขืืื ืงืฆืจื, ืืืืคืฉืจืช ืื ื ืืืคืืืช ืืช ืืกืคืจ ืืื ืขืืืื ืื ื ืืืืจ ืขื ืืืื ืืืื ืฉื ื ืชืื ืื. ืืื, ืืจืืืช ืืขืืืื ืืืืื ืืืืืืช ืื ืคืจื ืขืืืจ ืืกืื.
ืงืจืืื ืืืชื ืืืืจืช
ืงืจืืื ืฉืืื ื ื ืืชื ืช ืืืืจื ืืื ืฉืืืืื ืืืฆืืข ืืขืกืงื ืฉืื ื, 2 ืงืจืืืืช ืจืฆืืคืืช ืฉื ืืืชื ืจืฉืืื ืืืืืื ืืชืืฆืืืช ืฉืื ืืช, ืืืืืื ืฉืขืกืงื ื ืืกืคืช ืืชืขืจืื ืืื ืฉื ื ืืงืจืืืืช ืืืื, ืฉืื ืชื ืืช ืื ืชืื ืื ืฉืื ื ืืืชืืฆืขื.
ืืื ืื ืืืื ืืขืื? ืชืืจื ืืขืฆืืื ืฉืืืืจื ืฉื ืขืกืงื T2 ืืชืืื ื ืืื ืืืืืจ ืืช ืื ืืกืืืจืืช ืฉืืืืจื ื ืืื ื-150 ืืืืจ. ืืืฉืื ืืืจ ืขืืื ืืช ืืืืืจ ื-$200. ืืคืืื, ืืืกื ื ืืืืชืงื ืื ืขืื.
ืืจืืืืช ืืื ืืคืกืืงืืช ืืืชืจืืฉ ืืืฉืจ ืืืกืืคืื ื ืขืืืืช ืื-ืคืืืืืช ืื ืืืฉืจ ืืฉืชืืฉืื ืืื ืื ืื MVCC, ืืฉืจ ืืจืฆืื ื ืืืื ืืื ืื ืคืจื.
ืงืจืืืช ืคื ืืื
Phantom ืืื ืงืจืืื ืฉื ื ืชืื ืื ืฉื ืืกืคื ืขื ืืื ืขืกืงื ืืืจืช.
ืืืืืื, ืื ื ืืืืืื ืืจืืืช ืืช ืืืืืจื ืืฉืืืื ืฉื ืืืืฆืจ ืืืื ืืืืชืจ ืืืฉืจ ืื ืืืืื ืื ืืชืจืืฉืช.
ืืืืคืืจ ืืงืจืืืืช ืคื ืืื ืื ืืืจ ืื ืงืฉื. ืืกืืื ืจืืืื ืืื ื ืืกืคืืงื, ืื ืื ืื ื ืื ืืืืืื ืืืกืื ืืฉืื ืฉืขืืืื ืื ืงืืื. ืืขืจืืืช 2PL ืืฉืชืืฉืืช ืื ืขืืื ืืืืื, ืืขืื ืืืขืจืืืช MVCC ืืฉ ืืชืืื ืขืกืงืืืช ืฉืืืืืจ ืขืกืงืืืช ืฉืขืืืืืช ืืืืืช ืืืคืจืขืืช ืขื ืืื ืืืกืคื. ืื ืืื ืื ืื ืืจืืฉืื ืืื ืืฉื ื ืืืืื ืืืื.
ืงืจื ืืืื
ืืืืืช ืงืจืืื ืืชืจืืฉืช ืืืฉืจ ืื ื ืขืืืืื ืขื ืืกืคืจ ืืืืืืช, ืืฉืจ ืชืืื ื ืืืื ืืืฉืชื ืืช ืืืืคื ืขืงืื.
ื ื ืื ืฉืืฉ ืื ื ืืืืืืช ืืืืืฆืืืช ืคืืกืืื ืืืื ืืืืข ืฉืืื:
ืขืกืงื ืืืช ืงืืจืืช ืืืืืืืืช, ืืฉื ืืื ืืฉื ื ืืืชื:
ืืชืืฆืื ืืขืกืงื T1, ืืคืืกื ืืฉ ืืืชืจืช = ืืื, ื-update_by = T2, ืฉืื ืกืื ืฉื ืืืกืจ ืขืงืืืืช.
ืืืขืฉื, ืืืื ืงืจืืื ืฉืืื ื ื ืืชื ืช ืืืืจื, ืืื ืืืืง ืืืกืคืจ ืืืืืืช.
ืืื ืืชืงื ืืืช, T1 ืืืื ืืฉืื ืื ืขืืืื ืขื ืื ืืฉืืจืืช ืฉืืื ืืงืจื, ืื ืฉืืื ืข ืืขืกืงื T2 ืืฉื ืืช ืืช ืืืืืข. ืืืงืจื ืฉื MVCC, ืขืกืงืช T2 ืชืืืื. ืืื ื ืืคื ื ืื ืืืืื ืื ืืืืื ืืืืืช ืืฉืืื ืื ืื ื ืืฉืชืืฉืื ืืกืื ืื.
ืืชืื ืขืืืืช
ืื ืงื ืืืชืจ ืืืกืืืจ ืืช ืืื ืืืืื ืืื ืขื ืืืืื: ื ื ืื ืฉืืืขืจืืช ืฉืื ื ืืคืืืช ืจืืคื ืืื ืฆืจืื ืืืืืช ืชืืจื, ืืื ืฉื ื ืืจืืคืืื ืืืืืื ืืืื ืืช ืืืืชื:
ืืื ืืืืื ืืจืื ืืื ืฉืืฃ ืืื ืืืจืืคืืื ืื ืืืื ืืชืคืงืื. ืืื ืื ืงืจื? ืืืืืื ืฉืืขืกืงื ืืืืงืช ืชื ืื ืฉืขืฉืื ืืืคืจ ืขื ืืื ืขืกืงื ืืืจืช, ืืืคืืช ืืืืื ืื ืจืืื ื ืืช ืืฉืื ืื ืืื.
ืื ืืืชื ืงืจืืื ืฉืืื ื ื ืืชื ืช ืืืืจื. ืืืืืคืื, ื ืืืจืื ืืืืืื ืืืฆืื ืื ืขืืืื ืขื ืจืฉืืืืช ืืื.
ืืืืืช ืืชืืื ืืงืจืืื ืื ืฉืืืืืื ืฉื ืืืจืืืืช ืืงืืืืืช. ืืชื ืืืื ืืฉืงืื ืืชืืื ืืืื, ืฉืืื ืืขืฆื ืงืจืืื ืคื ืืื. ืฉืงืื ืืืื ืืืืืื ืืช ืฉืืืช ืืขืืืืื, ืฉืืจื ืืืคืจืืืงื ืฉืื ืขืืืืื ืขืืื:
ืืชืืฆืื ืืื, ืื ื ืืงืืืื ืืช ืืชืืื ื ืืืื: ืื ืื ืื ืืฉื ืฉืืฉืื ืื ืฉืื ืื ืืืืื ืืืจืื ืืืชืงืฆืื, ืื ืื ืืืฆืขื ืฉืื ืืืื ืคืจืกืื ืืืื ืฉืืื ืืืืืื ืืืจืืืืช ืขืืืืืช.
ืืกืืื ืืืขืื ืืื ืืืืืง ืืื ืฉื ืงืจืืืช ืคื ืืื.
ืืืฆืืื
ืืจืคืืืช ืจืืช ืืืืื ืืขืกืงืืืช ืืืกื ืื ืชืื ืื ืืื ืคืฉืจื ืืื ืืืืื ืืืืฆืืขืื; ืืฉ ืืืฉืช ืืืืืจื ืืจืื ืื ืขื ืกืื ืืกืืืื ืื ืืคืืื ืฆืืืืืื ืืขืกืง ืื ืืชืจืืฉืืช ืืจืืืืช ืืกืืืืืช.
ืืงืืจ: www.habr.com