рдбреАрдмреАрдПрдордПрд╕ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрддред MVCC

рд╣рдо рдореЗрдВ рд╕реЗ рдХрдИ рд▓реЛрдЧ рд╣рдорд╛рд░реЗ рдХрд╛рдо рдореЗрдВ DBMS рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рдЪреБрдХреЗ рд╣реИрдВред рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рдПрдХ рд░реВрдк рдореЗрдВ рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рд╣рдореЗрдВ рд╣рд░ рдЬрдЧрд╣ рдШреЗрд░рддреЗ рд╣реИрдВ, рдореЛрдмрд╛рдЗрд▓ рдлреЛрди рд╕реЗ рд▓реЗрдХрд░ рд╕реЛрд╢рд▓ рдиреЗрдЯрд╡рд░реНрдХ рддрдХ, рдЬрд┐рд╕рдореЗрдВ рд╣рдорд╛рд░рд╛ рдкрд╕рдВрджреАрджрд╛ рд╣рдм рд╢рд╛рдорд┐рд▓ рд╣реИред рд╕рдВрдмрдВрдзрдкрд░рдХ DBMS, DBMS рдкрд░рд┐рд╡рд╛рд░ рдХреЗ рд╕рдмрд╕реЗ рдЖрдо рд╕рджрд╕реНрдп рд╣реИрдВ, рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рд▓реЗрди-рджреЗрди рд╡рд╛рд▓реЗ рд╣реИрдВред
рд╕рдВрд╕реНрдерд╛рди рдореЗрдВ, рд╣рдореЗрдВ ACID рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдФрд░ рдЗрд╕рдХреЗ рдкреАрдЫреЗ рдХреА рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдХреЛ рдпрд╛рдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдЗрд╕ рдкреНрд░рддрд┐рдорд╛рди рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЛ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ MVCC рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдХреЗ рдЗрд╕ рдЕрдВрддрд░ рдХреЛ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рднрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ DBMSs рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреИрд╕реЗ Oracle, Postgres, MySQL рдЗрддреНрдпрд╛рджрд┐ред рдФрд░ рдмрд╣реБрдд рд╕рд░рд▓ рдФрд░ рд╕рд╣рдЬ рд╣реИред

рддреЛ, рдпрд╣ ACID рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрдиреЗ рд▓рд╛рдпрдХ рд╣реИ:

рдЗрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдЖрд╡рд╢реНрдпрдХрддрд╛ рддрд░реНрдХрд╕рдВрдЧрдд рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛрдЧреА, рдЦрд╛рд╕рдХрд░ рдЕрдЧрд░ рдпрд╣ рдмреИрдВрдХрд┐рдВрдЧ рдФрд░ рдЕрдиреНрдп рдореБрджреНрд░рд╛ рд▓реЗрдирджреЗрди рдЬреИрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ: рдЖрдк рдЗрд╕ рдмрд╛рдд рд╕реЗ рд╕рд╣рдордд рд╣реЛрдВрдЧреЗ рдХрд┐ рдпрджрд┐ рдЖрдкрдХреЗ рдЦрд╛рддреЗ рд╕реЗ рдкреИрд╕рд╛ рдбреЗрдмрд┐рдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдпрд╣ рдмрд╣реБрдд рдЕрдкреНрд░рд┐рдп рд╣реЛрдЧрд╛ рдФрд░ рд╡реЗ рджреБрдХрд╛рди рдХреЗ рдЦрд╛рддреЗ рдореЗрдВ рдирд╣реАрдВ рдЖрддреЗ рд╣реИрдВ ("рдкрд░рдорд╛рдгреБ" рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди) ┬╗), рдпрд╛ рдПрдмреАрдПрд╕ рд╡рд┐рдлрд▓рддрд╛ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдЬрд╛рдирдХрд╛рд░реА рдЦреЛ рдЬрд╛рдПрдЧреА рдХрд┐ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдЦрд╛рддреЗ рдореЗрдВ рдЬрдорд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (" рд╕реНрдерд╛рдпрд┐рддреНрд╡ "рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди)ред

рдпрджрд┐ рдЖрдк рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдХреИрд╕реЗ рдбреАрдмреАрдПрдордПрд╕ рдЬреЛ рдПрд╕реАрдЖрдИрдбреА тАЛтАЛрд▓реЗрдирджреЗрди рдХреЗ рдХрд╛рдо рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЕрд▓рдЧрд╛рд╡ рдХреА рд╕рдВрдкрддреНрддрд┐ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рд╡рд╛рд▓ рдЙрдард╛рдПрдЧреА: рдЖрдзреБрдирд┐рдХ рдбреАрдмреАрдПрдордПрд╕ рд╕реИрдХрдбрд╝реЛрдВ рдФрд░ рд╣рдЬрд╛рд░реЛрдВ рдПрдХ рд╕рд╛рде рд▓реЗрдирджреЗрди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рд╡реЗ рд╕рднреА рдПрдХ рд╣реА рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдХреИрд╕реЗ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рд╡реЗ рдПрдХ-рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рд╣рд╕реНрддрдХреНрд╖реЗрдк рди рдХрд░реЗрдВ? рдпрд╣рд╛рдБ MVCC (рдорд▓реНрдЯреАрд╡рд░реНрдЬрди рдХрдВрд╕реАрд▓рд░ рдХрдВрдЯреНрд░реЛрд▓) рдмрдЪрд╛рд╡ рдХреЗ рд▓рд┐рдП рдЖрддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдкрд░рд╕реНрдкрд░ рдбреЗрдЯрд╛ рдХреЗ рдХрдИ "рд╕рдВрд╕реНрдХрд░рдгреЛрдВ" рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреЗрдЯрд╛ рддрдХ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА рдкрд╣реБрдВрдЪ рдХрд╛ рдирд┐рдпрдВрддреНрд░рдг рд╣реИред рдПрдХ рд╕рд░рд▓реАрдХреГрдд рд░реВрдк рдореЗрдВ, рдЗрд╕ рддрдВрддреНрд░ рдХреЛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: рд╕рднреА рдбреЗрдЯрд╛ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рд░реАрдбреНрд╕ (рдЪрдпрди), рдЗрдВрд╕рд░реНрдЯ (рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░реЗрдВ), рдбрд┐рд▓реАрдЯ (рдбрд┐рд▓реАрдЯ), рдЕрдкрдбреЗрдЯ (рдЕрдкрдбреЗрдЯ) рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрди рдСрдкрд░реЗрд╢рдиреЛрдВ рдХреЗ рджреМрд░рд╛рди рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ:
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рд╡реИрдз рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдзреНрд╡рдЬ is_valid = 1 рдХреЗ рд╕рд╛рде рд╕рд┐рд░реНрдл рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдмрд┐рдЯ рдХреЗ рд╕рд╛рде рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЕрдорд╛рдиреНрдп рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП 0ред рд▓реЗрдХрд┐рди рдорд▓реНрдЯреАрдереНрд░реЗрдбрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ: рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде, рдХреЗрд╡рд▓ рдбреЗрдЯрд╛ рддрдХ рдЕрдиреБрдХреНрд░рдорд┐рдХ рдкрд╣реБрдВрдЪ рд╕рдВрднрд╡ рд╣реЛрдЧреА (рд▓реЗрдЦрдХ рдкрд╛рдардХреЛрдВ рдФрд░ рдЕрдиреНрдп рд▓реЗрдЦрдХреЛрдВ рджреЛрдиреЛрдВ рдХреЛ рдЕрд╡рд░реБрджреНрдз рдХрд░реЗрдЧрд╛)ред

рдорд╛рди рд▓реЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдирд┐рдореНрди рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде "рддрд╛рд▓рд┐рдХрд╛ рдП" рд╣реИ:


рдФрд░ рджреЛ рд▓реЗрдирджреЗрди рдЬреЛ рдбреЗрдЯрд╛ рдХреЛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ:

рдпрджрд┐ рд╣рдо рд╕рдорд╛рди рдбреЗрдЯрд╛ рдкрд░ рдЙрдирдХреЗ рд╕рдорд╛рдирд╛рдВрддрд░ рд╕рдВрдЪрд╛рд▓рди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ, рддреЛ рдирд┐рдореНрди рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдкрд░рд┐рдгрд╛рдо рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реИ:


рдФрд░ рдпрд╣рд╛рдБ рдЙрдирдХреЗ рдЕрдиреБрдХреНрд░рдорд┐рдХ рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реИ:


рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдЕрд▓рдЧрд╛рд╡ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: рд╕рдорд╡рд░реНрддреА рд▓реЗрдирджреЗрди рдиреЗ рдПрдХ рджреВрд╕рд░реЗ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд┐рдпрд╛ рд╣реИред рдЗрд╕реА рддрд░рд╣ рдХреА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд╕рд╢рд░реНрдд рд░реВрдк рд╕реЗ рдбрд░реНрдЯреА рд░реАрдбреНрд╕, рдиреЙрди-рд░рд┐рдкреАрдЯреЗрдмрд▓ рд░реАрдбреНрд╕ рдФрд░ рдлреИрдВрдЯрдо рд░реАрдбреНрд╕ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдо рдпрд╣ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ:

рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдпрд╣ Postgres рдореЗрдВ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:
  1. рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╕рднреА рд▓реЗрдирджреЗрди рдЕрдиреБрдХреНрд░рдорд┐рдХ рд╕рдВрдЦреНрдпрд╛рдПрдВ рд╣реИрдВ (рд╕рд╢рд░реНрдд рд░реВрдк рд╕реЗ, рдкреНрд░рддреНрдпреЗрдХ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд▓рд┐рдП рд▓реЗрдирджреЗрди рд╕рдВрдЦреНрдпрд╛ рдЕрд▓рдЧ рд╣реИ рдФрд░, рд╡реИрдХреНрдпреВрдо рдХреЗ рднреАрддрд░, рдпрд╣ 4-рдмрд╛рдЗрдЯ рдкреВрд░реНрдгрд╛рдВрдХ рдХреЗ рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд░реАрд╕реЗрдЯ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд▓реЗрдирджреЗрди рдЖрдИрдбреА рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ);
  2. рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рд▓реЗрдирджреЗрди рд░рдЬрд┐рд╕реНрдЯреНрд░реА рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╣реИ рдХрд┐ рдХреМрди рд╕реЗ рд▓реЗрдирджреЗрди рдкреНрд░рдЧрддрд┐ рдкрд░ рд╣реИрдВ рдФрд░ рдЬрд┐рдиреНрд╣реЗрдВ рд╡рд╛рдкрд╕ рд▓реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ;
  3. рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рд░рд┐рдХреЙрд░реНрдб рдХреЗ рд▓рд┐рдП, рддрдХрдиреАрдХреА рдХреНрд╖реЗрддреНрд░ рдПрдХреНрд╕рдорд┐рди рдФрд░ рдПрдХреНрд╕рдореИрдХреНрд╕ рд╣реИрдВ рдЬреЛ рдЗрд╕ рд░рд┐рдХреЙрд░реНрдб рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд▓реЗрдирджреЗрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддреЗ рд╣реИрдВред рдПрдХреНрд╕рдорд┐рди рд▓реЗрдирджреЗрди рдХрд╛ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рд╣реИ рдЬрд┐рд╕рдиреЗ рд░рд┐рдХреЙрд░реНрдб рдХреЛ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдЬреЛрдбрд╝рд╛ред рдПрдХреНрд╕рдореИрдХреНрд╕ - рд▓реЗрдирджреЗрди рдХрд╛ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдЬрд┐рд╕рдиреЗ рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рд░рд┐рдХреЙрд░реНрдб рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛;
  4. рдкреНрд░рддреНрдпреЗрдХ рддрд╛рд▓рд┐рдХрд╛ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХреЗ рд▓рд┐рдП, рддрдХрдиреАрдХреА рдХреНрд╖реЗрддреНрд░ Cmin рдФрд░ Cmax рд╣реИрдВ, рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдИ рдЖрджреЗрд╢реЛрдВ рдореЗрдВ рд▓реЗрдирджреЗрди рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдПрдХ рд▓реЗрди-рджреЗрди рдкрд╣рд▓реЗ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдПрдХ рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рдлрд┐рд░ рдЙрд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░рддрд╛ рд╣реИ, рдлрд┐рд░ рдЙрд╕реЗ рд╣рдЯрд╛рддрд╛ рд╣реИред Xmin рдФрд░ Xmax рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдЬрдм рддрдХ рд▓реЗрдирджреЗрди рдкреНрд░рддрд┐рдмрджреНрдз рдирд╣реАрдВ рд╣реИ, рддрдм рддрдХ рдпреЗ рд╕рднреА рдСрдкрд░реЗрд╢рди рдмрд╛рд╣рд░реА рд▓реЗрдирджреЗрди рдХреЗ рд▓рд┐рдП рдЕрджреГрд╢реНрдп рд╣реЛрдВрдЧреЗред рд▓реЗрдХрд┐рди рдЙрд╕ рд▓реЗрди-рджреЗрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛, рдЬреЛ рдЕрдкрдиреЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдП, рднрд▓реЗ рд╣реА рд╡реЗ рдПрдХ-рджреВрд╕рд░реЗ рдХреЗ рд╡рд┐рдкрд░реАрдд рд╣реЛрдВ (рдкрд╣рд▓реЗ рдЙрдиреНрд╣реЛрдВрдиреЗ рд░рд┐рдХреЙрд░реНрдб рдЬреЛрдбрд╝рд╛, рдлрд┐рд░ рд╣рдЯрд╛ рджрд┐рдпрд╛)? рдЗрд╕рдХреЗ рд▓рд┐рдП, Cmin рдФрд░ Cmax рдмрдирд╛рдП рдЧрдП, Xmin рдФрд░ Xmax рдХреЗ рд╕рдорд╛рди рд╣реА рдХрд╛рдо рдХрд░рддреЗ рд╣реБрдП, рд▓реЗрдХрд┐рди рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд▓реЗрдирджреЗрди рдХреЗ рдврд╛рдВрдЪреЗ рдХреЗ рднреАрддрд░ред

рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЗ рдЗрд╕ рд╕реЗрдЯ рдХреЗ рд╕рд╛рде, рд╣рдо рдПрд╕реАрдЖрдИрдбреА тАЛтАЛрдХреЛ рдПрдХ рд╡реИрдзрддрд╛ рдзреНрд╡рдЬ рдХреЗ рд╕рд╛рде рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рдмрд╣реБрдд рдХрд░реАрдм рд╣реИрдВред рдЕрдм MVCC рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдЙрдкрд░реЛрдХреНрдд рдХрд╛рд░реНрдпреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:

рд▓реЗрди-рджреЗрди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдпрд╣ рдореЙрдбрд▓ рд╕рд░рд▓ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рд▓реЙрдХрд┐рдВрдЧ рддрдВрддреНрд░ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИ, рд╕рд╛рде рд╣реА рд╡рд┐рддрд░рд┐рдд рд▓реЗрдирджреЗрди рдХреЗ рдорд╛рдорд▓реЗ рднреА рд╣реИрдВред рдлрд┐рд░ рднреА, рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрдИ рдЖрдзреБрдирд┐рдХ рдбреАрдмреАрдПрдордПрд╕ рдХреЗ рд▓рд┐рдП рдЖрдо рд╣реИ рдФрд░ рдЗрд╕рдХреА рд╕рдордЭ рд╕реЗ рдбреАрдмреАрдПрдордПрд╕ рдЗрдВрдЬрди рдХреЗ рдЕрдВрджрд░ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдЗрд╕реЗ рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рд╕рдордЭрдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓реЗрдЧреАред

Postgres рдХреЗ рд▓рд┐рдП рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХрд╛ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдпрд╣рд╛рдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

Source: https://habr.com/ru/post/In208400/


All Articles