HighLoad ++ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ
рдЖрд╕рдкрд╛рд╕ рд╣реИ , рдФрд░ рд╣рдо рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ PostgreSQL рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдЕрднреА рднреА рдорд╣реАрдиреЗ рд╕реЗ рдорд╣реАрдиреЗ рддрдХ, рд╡рд░реНрд╖ рд╕реЗ рд╡рд░реНрд╖ рддрдХ рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВред рдЬрдм рд░рд╛рдЬреНрдп рдореЗрдВ рдбреАрдмреАрдП рдХреЗ рдмрд┐рдирд╛ рдЫреЛрдЯреА рдХрдВрдкрдирд┐рдпреЛрдВ рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реЛрддреА рд╣реИрдВ, рддреЛ рдпрд╣ рдЖрд╢реНрдЪрд░реНрдп рдХреА рдмрд╛рдд рдирд╣реАрдВ рд╣реИред рдмрдбрд╝реА рдХрдВрдкрдирд┐рдпреЛрдВ рдХреЛ рднреА рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдбреАрдмрдЧ рдХреА рдЧрдИ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд╕рд╛рде, рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдЕрднреА рднреА рд╣реЛрддреА рд╣реИрдВ рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдЧрд┐рд░ рдЬрд╛рддреЗ рд╣реИрдВред рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рдХрдВрдкрдиреА рдХрд┐рд╕ рдЖрдХрд╛рд░ рдХреА рд╣реИ - рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдЕрднреА рднреА рд╣реЛрддреА рд╣реИрдВ, рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рдордп-рд╕рдордп рдкрд░ рдХреНрд░реИрд╢, рдХреНрд░реИрд╢ред

рдмреЗрд╢рдХ, рдпрд╣ рдЖрдкрдХреЗ рд╕рд╛рде рдХрднреА рдирд╣реАрдВ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдЪреЗрдХрд▓рд┐рд╕реНрдЯ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИ, рдФрд░ рднрд╡рд┐рд╖реНрдп рдХреА рдирд╕реЛрдВ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рднреНрдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдмрд┐рд▓реНрд▓реА рдХреЗ рдиреАрдЪреЗ, рд╣рдо рдЙрди рд╢реАрд░реНрд╖ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЧрд▓рддрд┐рдпреЛрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░реЗрдВрдЧреЗ, рдЬрд┐рдиреНрд╣реЗрдВ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрд╕реАрдХреНрдпреВрдПрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдХрд░рддреЗ рд╣реИрдВ, рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдореЗрдВ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдпрд╣ рдкрддрд╛ рдХрд░реЗрдВ рдХрд┐ рдХреИрд╕реЗред
рд╕реНрдкреАрдХрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ: рдПрд▓реЗрдХреНрд╕реА рд▓реЗрд╕реЛрд╡рд╕реНрдХреА рдиреЗ рд▓рд┐рдирдХреНрд╕ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рд╢рд╛рд╕рдХ рдХреЗ рд░реВрдк рдореЗрдВ рд╢реБрд░реБрдЖрдд рдХреАред рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреЗрд╢рди рдФрд░ рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рд╕реЗ рдзреАрд░реЗ-рдзреАрд░реЗ PostgreSQL рдореЗрдВ рдЖрдпрд╛ред рдЕрдм
рдбреЗрдЯрд╛ рдПрдЧреНрд░реЗрдЯ рдореЗрдВ PostgreSQL DBA, рдПрдХ рдкрд░рд╛рдорд░реНрд╢ рдХрдВрдкрдиреА рд╣реИ рдЬреЛ рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреА рд╣реИ рдФрд░ рдЖрд╡рд░реНрддреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдХрдИ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦрддреА рд╣реИред рдпрд╣ HighLoad ++ 2018 рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХреА рдкреНрд░рд╕реНрддреБрддрд┐ рдХреА рдПрдХ
рдХрдбрд╝реА рд╣реИред
рд╕рдорд╕реНрдпрд╛рдПрдВ рдХрд╣рд╛рдВ рд╕реЗ рдЖрддреА рд╣реИрдВ
рд╡рд╛рд░реНрдо рдЕрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдХрд╣рд╛рдирд┐рдпрд╛рдБред
рдЗрддрд┐рд╣рд╛рд╕ 1. рд╕реБрд╡рд┐рдзрд╛рдПрдБ
рд╕рдорд╕реНрдпрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╡рд╣ рд╣реИ рдЬреЛ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдПрд╕рдХреНрдпреВрдПрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдХрдВрдкрдиреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИред рдпрд╣ рд╕рдм рд╕рд░рд▓ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ: PostgreSQL, рдбреЗрдЯрд╛рд╕реЗрдЯ, JOIN рдХреЗ рд╕рд╛рде рд╕рд░рд▓ рдкреНрд░рд╢реНрдиред рд╣рдо рдбреЗрдЯрд╛ рд▓реЗрддреЗ рд╣реИрдВ, рд╕реЗрд▓реЗрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВ - рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реИред
рдлрд┐рд░ рд╣рдо PostgreSQL рдХреА рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рдирдП рдлрд╝рдВрдХреНрд╢рди, рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рд╕реБрд╡рд┐рдзрд╛ рдмрдбрд╝реА рд╣реЛ рд░рд╣реА рд╣реИред рд╣рдо рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдкреНрд░рддрд┐рдХреГрддрд┐, рд╢рд╛рд░реНрдХрд┐рдВрдЧ рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рд╡рд┐рднрд┐рдиреНрди рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдФрд░ рдмреЙрдбреА рдХрд┐рдЯ рдХреЗ рдЖрд╕рдкрд╛рд╕ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИрдВ - рдкрдЧрдмреЙрдиреНрд╕рд░, рдкрдЧрдкреВрд▓, рдкреЗрдЯреНрд░реЛрдиреАред рдХреБрдЫ рдЗрд╕ рддрд░рд╣ред

рдкреНрд░рддреНрдпреЗрдХ рдХреАрд╡рд░реНрдб рдкреНрд░рдХрдЯ рд╣реЛрдиреЗ рдореЗрдВ рддреНрд░реБрдЯрд┐ рдХрд╛ рдХрд╛рд░рдг рд╣реИред
рдЗрддрд┐рд╣рд╛рд╕ 2. рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣рдг
рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рд╣рдо рдбреЗрдЯрд╛ рд╕реНрдЯреЛрд░ рдХрд░рддреЗ рд╣реИрдВ рд╡рд╣ рднреА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдПрдХ рд╕реНрд░реЛрдд рд╣реИред
рдЬрдм рдкрд╣рд▓реА рдмрд╛рд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рджрд┐рдЦрд╛рдИ рджреА, рддреЛ рдЗрд╕рдореЗрдВ рдХрд╛рдлреА рдХреБрдЫ рдбреЗрдЯрд╛ рдФрд░ рдЯреЗрдмрд▓ рдереЗред рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ рд░рд┐рдХреЙрд░реНрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░рд▓ рдХреНрд╡реЗрд░реА рдкрд░реНрдпрд╛рдкреНрдд рд╣реИрдВред рд▓реЗрдХрд┐рди рдлрд┐рд░ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рдЯреЗрдмрд▓ рд╣реИрдВред рдбреЗрдЯрд╛ рдХреЛ рд╡рд┐рднрд┐рдиреНрди рд╕реНрдерд╛рдиреЛрдВ рд╕реЗ рдЪреБрдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛрдЗрди рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВред рдкреНрд░рд╢реНрди рдЬрдЯрд┐рд▓ рд╣реИрдВ рдФрд░ рдЗрд╕рдореЗрдВ CTE рдирд┐рд░реНрдорд╛рдг, SUBQUERY, IN рд╕реВрдЪрд┐рдпрд╛рдБ, LATERAL рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдПрдХ рдЧрд▓рддреА рдХрд░рдирд╛ рдФрд░ рдПрдХ рд╡рдХреНрд░ рдХреНрд╡реЗрд░реА рд▓рд┐рдЦрдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рдФрд░ рдпрд╣ рд╕рд┐рд░реНрдл рд╣рд┐рдорд╢реИрд▓ рдХреА рдиреЛрдХ рд╣реИ - рдХрд╣реАрдВ рдУрд░ рдПрдХ рдФрд░ 400 рддрд╛рд▓рд┐рдХрд╛рдУрдВ, рд╡рд┐рднрд╛рдЬрди рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рдбреЗрдЯрд╛ рднреА рдХрднреА-рдХрднреА рдкрдврд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЗрддрд┐рд╣рд╛рд╕ 3. рдЬреАрд╡рди рдЪрдХреНрд░
рдЙрддреНрдкрд╛рдж рдХрд╛ рдкрд╛рд▓рди рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЗрд╕рдХреА рдХрд╣рд╛рдиреАред рдбреЗрдЯрд╛ рдХреЛ рд╣рдореЗрд╢рд╛ рдХрд╣реАрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрд╢рд╛ рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рд╣реЛрддрд╛ рд╣реИред рдЬрдм рдХреЛрдИ рдЙрддреНрдкрд╛рдж рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрддрд╛ рд╣реИ рддреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреИрд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрддрд╛ рд╣реИ?
рдПрдХ рдУрд░, рдРрд╕реЗ
рдбреЗрд╡рд▓рдкрд░ рд╣реИрдВ рдЬреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╡реНрдпрд╕реНрдд рд╣реИрдВред рд╡реЗ рдЕрдкрдиреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдФрд░ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдХреМрд╢рд▓ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рд╕реЗрд╡рд╛рдУрдВ рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВред рдЕрдХреНрд╕рд░ рд╡реЗ рдЗрд╕ рдмрд╛рдд рдореЗрдВ рд░реБрдЪрд┐ рдирд╣реАрдВ рд░рдЦрддреЗ рд╣реИрдВ рдХрд┐ рдХрд╛рдлреНрдХрд╛ рдпрд╛ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдХреНрдпреВрдПрд▓ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ - рд╡реЗ рдЕрдкрдиреЗ рдЖрд╡реЗрджрди рдореЗрдВ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рд╡рд┐рдХрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рд╡реЗ рдмрд╛рдХреА рдХреА рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред

рджреВрд╕рд░реА рдУрд░
, рдПрдбрдорд┐рдиред рд╡реЗ рдирдВрдЧреЗ-рдзрд╛рддреБ рдкрд░ рдирдП рдЕрдореЗрдЬрд╝рд┐рдВрдЧ рдЙрджрд╛рд╣рд░рдг рдЙрдард╛рддреЗ рд╣реИрдВ рдФрд░ рд╕реНрд╡рдЪрд╛рд▓рди рдХреЗ рд╕рд╛рде рд╡реНрдпрд╕реНрдд рд╣реИрдВ: рд╡реЗ рд▓реЗрдЖрдЙрдЯ рдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдирд╛рддреА рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рд╕реЗрд╡рд╛рдПрдВ рдПрдХ-рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдмрд╛рддрдЪреАрдд рдХрд░реЗрдВред

рдРрд╕реА рд╕реНрдерд┐рддрд┐ рд╣реЛрддреА рд╣реИ рдЬрдм рдШрдЯрдХреЛрдВ рдХреЗ рдкрддрд▓реЗ рдЯреНрдпреВрдирд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕рдордп рдпрд╛ рдЗрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рднреАред рдбреЗрдЯрд╛рдмреЗрд╕ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рд╡реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреВрд▓ рдЬрд╛рддреЗ рд╣реИрдВ - "рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЗрд╕реЗ рд╕реНрдкрд░реНрд╢ рди рдХрд░реЗрдВ"ред
рдирддреАрдЬрддрди, рд░реЗрдХ рд╡рд┐рднрд┐рдиреНрди рд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ рдмрд┐рдЦрд░реЗ рд╣реБрдП рд╣реИрдВ, рдЬреЛ рдЕрдм рдФрд░ рдлрд┐рд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдорд╛рдереЗ рдореЗрдВ рдЙрдбрд╝рддреЗ рд╣реИрдВред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рдЗрди рд╕рднреА рд░реЗрдХ рдХреЛ рдПрдХ рд╢реЗрдб рдореЗрдВ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВрдЧреЗ рддрд╛рдХрд┐ рдЖрдк рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рди рд╕рдХреЗрдВ рдФрд░ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдХреНрдпреВрдПрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдЙрди рдкрд░ рдХрджрдо рди рд░рдЦреЗрдВред
рдпреЛрдЬрдирд╛ рдФрд░ рдирд┐рдЧрд░рд╛рдиреА
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдирдИ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реИ - рдпрд╣ рд╣рдореЗрд╢рд╛ рдПрдХ рд╕рдХреНрд░рд┐рдп рд╡рд┐рдХрд╛рд╕, рдкрд░рд┐рдХрд▓реНрдкрдирд╛ рдкрд░реАрдХреНрд╖рдг рдФрд░ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИред рдЙрд╕ рд╕рдордп рдЬрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗрд╡рд▓ рдкреНрд░рдХрдЯ рд╣реБрдЖ рд╣реИ рдФрд░ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдЗрд╕рдореЗрдВ рдмрд╣реБрдд рдХрдо рдЯреНрд░реИрдлрд╝рд┐рдХ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдФрд░ рдЧреНрд░рд╛рд╣рдХ рд╣реИрдВ, рдФрд░ рд╡реЗ рд╕рднреА рдЫреЛрдЯреА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдбреЗрдЯрд╛ рдЙрддреНрдкрдиреНрди рдХрд░рддреЗ рд╣реИрдВред рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕рд░рд▓ рдкреНрд░рд╢реНрди рд╣реИрдВ рдЬреЛ рдЬрд▓реНрджреА рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рд╣реЛрддреЗ рд╣реИрдВред рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдбреЗрдЯрд╛ рдХреЛ рдЦреАрдВрдЪрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред
рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реИрдВ, рдЯреНрд░реИрдлрд╝рд┐рдХ рдЖрддрд╛ рд╣реИ: рдирдпрд╛ рдбреЗрдЯрд╛ рдкреНрд░рдХрдЯ рд╣реЛрддрд╛ рд╣реИ, рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдврд╝рддреЗ рд╣реИрдВ рдФрд░ рдкреБрд░рд╛рдиреЗ рдкреНрд░рд╢реНрди рдХрд╛рдо рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреЗрддреЗ рд╣реИрдВред рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдХреЛ рдкреВрд░рд╛ рдХрд░рдирд╛, рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рдФрд░ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдореБрджреНрджреЗ рд╣реИрдВред рдпрд╣ рд╕рдм рд╕реБрдмрд╣ 4 рдмрдЬреЗ рдЕрд▓рд░реНрдЯ рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ, рдкреНрд░рд╡реЗрд╢ рдФрд░ рдкреНрд░рдмрдВрдзрди рдХреЗ рдЕрд╕рдВрддреЛрд╖ рдХреЗ рд▓рд┐рдП рддрдирд╛рд╡ред
рдХреНрдпрд╛ рдЧрд▓рдд рд╣реИ?
рдореЗрд░реЗ рдЕрдиреБрднрд╡ рдореЗрдВ, рдЬреНрдпрд╛рджрд╛рддрд░ рдЕрдХреНрд╕рд░ рдкрд░реНрдпрд╛рдкреНрдд рдбрд┐рд╕реНрдХ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред
рдкрд╣рд▓рд╛ рдЙрджрд╛рд╣рд░рдг ред рд╣рдо рдбрд┐рд╕реНрдХ рдЙрдкрдпреЛрдЧ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХреЗ рд▓рд┐рдП рдЕрдиреБрд╕реВрдЪреА рдЦреЛрд▓рддреЗ рд╣реИрдВ, рдФрд░ рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐
рдбрд┐рд╕реНрдХ рдкрд░ рдЦрд╛рд▓реА рд╕реНрдерд╛рди рдмрд╛рд╣рд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИ ред

рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдХрд┐рддрдирд╛ рд╕реНрдерд╛рди рдФрд░ рдХреНрдпрд╛ рдЦрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдПрдХ pg_xlog рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╣реИ:
$ du -csh -t 100M /pgdb/9.6/main/* 15G /pgdb/9.6/main/base 58G /pgdb/9.6/main/pg_xlog 72G
рдбреЗрдЯрд╛рдмреЗрд╕ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдЖрдорддреМрд░ рдкрд░ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреНрдпрд╛ рд╣реИ, рдФрд░ рд╡реЗ рдЗрд╕реЗ рд╕реНрдкрд░реНрд╢ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ - рдпрд╣ рдореМрдЬреВрдж рд╣реИ рдФрд░ рдореМрдЬреВрдж рд╣реИред рд▓реЗрдХрд┐рди рдбреЗрд╡рд▓рдкрд░, рдЦрд╛рд╕рдХрд░ рдЕрдЧрд░ рд╡рд╣ рдордВрдЪрди рдХреЛ рджреЗрдЦрддрд╛ рд╣реИ, рддреЛ рдЕрдкрдиреЗ рд╕рд┐рд░ рдХреЛ рдЦрд░реЛрдВрдЪрддрд╛ рд╣реИ рдФрд░ рд╕реЛрдЪрддрд╛ рд╣реИ:
- рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓реЙрдЧ ... рдЪрд▓реЛ pg_xlog рд╣рдЯрд╛рдПрдВ!рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рд╣рдЯрд╛рддрд╛ рд╣реИ, рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛рдо рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИ ред рд▓реЗрди-рджреЗрди рд▓реЙрдЧ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рдмрд╛рдж рддреБрд░рдВрдд рдЖрдкрдХреЛ Google рдХреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдХреИрд╕реЗ рдЙрдард╛рдирд╛ рд╣реИ, рдпрд╣ рдмрддрд╛рдирд╛ рд╣реЛрдЧрд╛ред
рджреВрд╕рд░рд╛ рдЙрджрд╛рд╣рд░рдг ред рдлрд┐рд░ рд╕реЗ, рд╣рдо рдирд┐рдЧрд░рд╛рдиреА рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдкрд░реНрдпрд╛рдкреНрдд рдЬрдЧрд╣ рдирд╣реАрдВ рд╣реИред рдЗрд╕ рдмрд╛рд░ рдЬрдЧрд╣ рдкрд░ рдХрд┐рд╕реА рддрд░рд╣ рдХреЗ рдЖрдзрд╛рд░ рдХрд╛ рдХрдмреНрдЬрд╛ рд╣реИред
$ du -csh -t 100M /pgdb/9.6/main/* 70G /pgdb/9.6/main/base 2G /pgdb/9.6/main/pg_xlog 72G
рд╣рдо рдЗрд╕ рдмрд╛рдд рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдХреМрди рд╕рд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕реНрдерд╛рди рд▓реЗрддрд╛ рд╣реИ, рдХреМрди рд╕реЗ рдЯреЗрдмрд▓ рдФрд░ рдЗрдВрдбреЗрдХреНрд╕ред

рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рд▓реЙрдЧ рдХреЗ рд╕рд╛рде рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рд╣реИред рд╣рдореЗрдВ рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рд▓реЙрдЧ рдХреА рдХрднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рдереАред рд╡реЗ рд╕рд┐рд░реНрдл рдорд╛рдорд▓реЗ рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рд╣реИрдВ, рдФрд░ рдЕрдЧрд░ рдпрд╣ рдЬрдЧрд╣ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдереЗ, рддреЛ рдХреЛрдИ рднреА рджреВрд╕рд░реЗ рдЖрдиреЗ рддрдХ рдЙрдиреНрд╣реЗрдВ рдирд╣реАрдВ рджреЗрдЦреЗрдЧрд╛:
- рдЪрд▓реЛ рд╕рдм рдХреБрдЫ рд╣реИ рдХрд┐ рдорд┐рдореА ... рдкреБрд░рд╛рдиреЗ рдЕрдХреНрдЯреВрдмрд░ рд╕реЗ рд╕рд╛рдл!рдЕрдкрдбреЗрдЯ рдЕрдиреБрд░реЛрдз рдХрд░реЗрдВ, рдЗрд╕реЗ рдЪрд▓рд╛рдПрдВ, рдпрд╣ рдХрд╛рдо рдХрд░реЗрдЧрд╛ рдФрд░ рдХреБрдЫ рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рд╣рдЯрд╛ рджреЗрдЧрд╛ред
=# DELETE FROM history_log -# WHERE created_at < ┬л2018-10-01┬╗; DELETE 165517399 Time: 585478.451 ms
рдХреНрд╡реЗрд░реА 10 рдорд┐рдирдЯ рдХреЗ рд▓рд┐рдП рдЪрд▓рддреА рд╣реИ, рд▓реЗрдХрд┐рди рддрд╛рд▓рд┐рдХрд╛ рдЕрднреА рднреА рдЙрддрдиреА рд╣реА рдЬрдЧрд╣ рд▓реЗрддреА рд╣реИред
PostgreSQL рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рд╣рдЯрд╛рддрд╛ рд╣реИ - рд╕рдм рдХреБрдЫ рд╕рд╣реА рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдЬрдЧрд╣ рдирд╣реАрдВ рд▓реМрдЯрд╛рддрд╛ рд╣реИред PostgreSQL рдХрд╛ рдпрд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдЕрдЬреНрдЮрд╛рдд рд╣реИ рдФрд░ рдпрд╣ рдмрд╣реБрдд рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рддреАрд╕рд░рд╛ рдЙрджрд╛рд╣рд░рдг ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, ORM рдиреЗ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ред рдЖрдорддреМрд░ рдкрд░ рд╣рд░ рдХреЛрдИ ORM рдХреЛ "рдЦрд░рд╛рдм" рдкреНрд░рд╢реНрди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛрд╖реА рдард╣рд░рд╛рддрд╛ рд╣реИ рдЬреЛ рдХреБрдЫ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЛ рдкрдврд╝рддрд╛ рд╣реИред
рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдХрдИ рд╕рдВрдпреБрдХреНрдд рдЕрднрд┐рдпрд╛рди рд╣реИрдВ рдЬреЛ рдХрдИ рдереНрд░реЗрдбреНрд╕ рдореЗрдВ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЛ рдкрдврд╝рддреЗ рд╣реИрдВред PostgreSQL рдбреЗрдЯрд╛ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рд╕рдорд╛рдирд╛рдВрддрд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдХрдИ рдереНрд░реЗрдбреНрд╕ рдореЗрдВ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЛ рдкрдврд╝ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди, рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХрдИ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд░реНрд╡рд░ рд╣реИрдВ, рдпрд╣ рдХреНрд╡реЗрд░реА рд╕рднреА рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЛ рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рдХрдИ рд╣рдЬрд╛рд░ рдмрд╛рд░ рдкрдврд╝рддреА рд╣реИред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рд░реНрд╡рд░ рдЕрддрд┐рднрд╛рд░рд┐рдд рд╣реИ, рдбрд┐рд╕реНрдХ рд╕рд╛рдордирд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рд╕рдм рдмреИрдХрдПрдВрдб рд╕реЗ
502 рдЦрд░рд╛рдм рдЧреЗрдЯрд╡реЗ рддреНрд░реБрдЯрд┐ рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ - рдбреЗрдЯрд╛рдмреЗрд╕ рдЕрдиреБрдкрд▓рдмреНрдз рд╣реИред
рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдм рдирд╣реАрдВ рд╣реИред рдЖрдк PostgerSQL рдХреА рдЕрдиреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдпрд╛рдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
- DBMS рдкреГрд╖реНрдарднреВрдорд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдмреНрд░реЗрдХ - PostgreSQL рдореЗрдВ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреА рдЪреМрдХрд┐рдпреЛрдВ, рд╡реИрдХреНрдпреВрдо рдФрд░ рдкреНрд░рддрд┐рдХреГрддрд┐ рд╣реИрдВред
- рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреЗрд╢рди рдУрд╡рд░рд╣реЗрдб ред рдЬрдм рдбреЗрдЯрд╛рдмреЗрд╕ рдПрдХ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдкрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд▓реЛрд╣реЗ рдХреЗ рдПрдХ рд╣реА рдЯреБрдХрдбрд╝реЗ рдкрд░ рд╕рд╛рдЗрдб рдореЗрдВ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рднреА рд╣реЛрддреА рд╣реИрдВ, рдФрд░ рд╡реЗ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдкрд░ рдЯрдХрд░рд╛рд╡ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
- рднрдВрдбрд╛рд░рдг рдЪреАрдиреА рдирд┐рд░реНрдорд╛рддрд╛ рдиреЛрдиреЗрдо рд╕реЗ рд╣реИ , рдЬрд┐рд╕рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдордХрд░ рд░рд╛рд╢рд┐ рдореЗрдВ рдЪрдВрджреНрд░рдорд╛ рдпрд╛ рд╢рдирд┐ рдХреА рд╕реНрдерд┐рддрд┐ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХреНрдпреЛрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЖрдзрд╛рд░ рдкреАрдбрд╝рд┐рдд рд╣реИред
- рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди ред рдпрд╣ рдореЗрд░рд╛ рдкрд╕рдВрджреАрджрд╛ рд╡рд┐рд╖рдп рд╣реИ: рдЧреНрд░рд╛рд╣рдХ рдХрд╛ рдХрд╣рдирд╛ рд╣реИ рдХрд┐ рдЙрд╕рдХрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдзреАрдорд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ - рдЖрдк рджреЗрдЦреЛ, рдФрд░ рдЙрд╕рдХреЗ рдкрд╛рд╕ рдПрдХ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╣реИред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ PostgreSQL рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рд╕рдмрд╕реЗ рдХрдордЬреЛрд░ рдЪрд╛рдпрджрд╛рдиреА рдкрд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЖрдзрд╛рд░ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдордзреНрдп-рд╕реНрддрд░ рдХреЗ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ, рдЗрд╕реЗ рдЯреНрдпреВрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░, PostgreSQL рдореЗрдВ рдбрд┐рд╕реНрдХ рд╕реНрдерд╛рди рдпрд╛ рдбрд┐рд╕реНрдХ рдкреНрд░рджрд░реНрд╢рди рдХреА рдХрдореА рд╣реЛрддреА рд╣реИред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдкреНрд░реЛрд╕реЗрд╕рд░, рдореЗрдореЛрд░реА рдФрд░ рдПрдХ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд╕рд╛рде, рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рд╕рдм рдХреБрдЫ рдХрдореЛрдмреЗрд╢ рдХреНрд░рдо рдореЗрдВ рд╣реИред
рдХреИрд╕реЗ рд╣реЛ? рдирд┐рдЧрд░рд╛рдиреА рдФрд░ рдпреЛрдЬрдирд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ! рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ, рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдХреЛрдИ рднреА рдПрдХ рдЖрдзрд╛рд░ рдХреА рдпреЛрдЬрдирд╛ рдирд╣реАрдВ рдмрдирд╛рддрд╛ рд╣реИ, рдФрд░ рдирд┐рдЧрд░рд╛рдиреА рдЙрди рд╕рднреА рдХреЛ рдХрд╡рд░ рдирд╣реАрдВ рдХрд░рддреА рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрд╕реАрдХреНрдпреВрдПрд▓ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рджреМрд░рд╛рди рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд╕реНрдкрд╖реНрдЯ рдирд┐рдпрдореЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рд╕рдм рдХреБрдЫ рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░реЗрдЧрд╛, рдФрд░ "рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдкрд░" рдирд╣реАрдВред
рдЖрдпреЛрдЬрди
рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╣рд┐рдЪрдХрд┐рдЪрд╛рд╣рдЯ рдХреЗ SSD рдкрд░ рд╣реЛрд╕реНрдЯ рдХрд░реЗрдВ ред рдПрд╕рдПрд╕рдбреА рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп, рд╕реНрдерд┐рд░ рдФрд░ рдЙрддреНрдкрд╛рджрдХ рдмрди рдЧрдП рд╣реИрдВред рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬ рдПрд╕рдПрд╕рдбреА рдореЙрдбрд▓ рд▓рдЧрднрдЧ рд╡рд░реНрд╖реЛрдВ рд╕реЗ рд╣реИрдВред
рд╣рдореЗрд╢рд╛ рдПрдХ рдбреЗрдЯрд╛ рд╕реНрдХреАрдорд╛ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рдПрдВ ред рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдордд рд▓рд┐рдЦреЗрдВ рдХрд┐ рдЖрдкрдХреЛ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ - рдЧрд╛рд░рдВрдЯреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рд╣рдорд╛рд░реЗ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреА рдереЛрдбрд╝рд╛ рд╕рдВрд╢реЛрдзрд┐рдд рддрд╛рд▓рд┐рдХрд╛ рд╣реИред

рдпрд╣ рдПрдХ рд▓реЙрдЧ рдЯреЗрдмрд▓ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЯрд╛рдЗрдк рдЬрд╕рди рдХрд╛ рдбреЗрдЯрд╛ рдХреЙрд▓рдо рд╣реЛрддрд╛ рд╣реИред рд╕рд╛рдкреЗрдХреНрд╖ рд░реВрдк рд╕реЗ, рдЖрдк рдЗрд╕ рдХреЙрд▓рдо рдореЗрдВ рдХреБрдЫ рднреА рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рдЕрдВрддрд┐рдо рд░рд┐рдХреЙрд░реНрдб рд╕реЗ рдпрд╣ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд▓реЙрдЧ 8 рдПрдордмреА рдкрд░ рд╣реИрдВред PostgreSQL рдХреЛ рдЗрд╕ рд▓рдВрдмрд╛рдИ рдХреЗ рд░рд┐рдХреЙрд░реНрдб рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдореЗрдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред PostgreSQL рдореЗрдВ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╕реНрдЯреЛрд░реЗрдЬ рд╣реИ рдЬреЛ рдЗрд╕ рддрд░рд╣ рдХреЗ рд░рд┐рдХреЙрд░реНрдб рдХреЛ рдЪрдмрд╛рддрд╛ рд╣реИред
рд▓реЗрдХрд┐рди рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЬрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд░реНрд╡рд░ рдЗрд╕ рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рдбреЗрдЯрд╛ рдкрдврд╝рддреЗ рд╣реИрдВ, рддреЛ рд╡реЗ рдЖрд╕рд╛рдиреА рд╕реЗ рдкреВрд░реЗ рдиреЗрдЯрд╡рд░реНрдХ рдмреИрдВрдбрд╡рд┐рдбреНрде рдХреЛ рд░реЛрдХ рджреЗрдВрдЧреЗ, рдФрд░ рдЕрдиреНрдп рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рднреБрдЧрддрдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣ рдбреЗрдЯрд╛ рд╕реНрдХреАрдорд╛ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рд╣реИред
рдХрд╣рд╛рдиреА рдХреЗ рдХрд┐рд╕реА рднреА рд╕рдВрдХреЗрдд рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд╛рдЬрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдЬрд┐рд╕реЗ рджреЛ рд╕реЗ рдЕрдзрд┐рдХ рд╡рд░реНрд╖реЛрдВ рддрдХ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ ред рд╡рд┐рднрд╛рдЬрди рдХрднреА-рдХрднреА рдЬрдЯрд┐рд▓ рд▓рдЧрддрд╛ рд╣реИ - рдЖрдкрдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХреЗ рд╕рд╛рде рдкрд░реЗрд╢рд╛рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдРрд╕реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдЬреЛ рд╡рд┐рднрд╛рдЬрди рдмрдирд╛рдПрдВрдЧреЗред PostgreSQL рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ, рд╕реНрдерд┐рддрд┐ рдмреЗрд╣рддрд░ рд╣реИ рдФрд░ рдЕрдм рд╡рд┐рднрд╛рдЬрди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ - рдПрдХ рдмрд╛рд░ рдХрд┐рдпрд╛, рдФрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
10 рдорд┐рдирдЯ рдореЗрдВ рдбреЗрдЯрд╛ рд╣рдЯрд╛рдиреЗ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ,
DELETE
рдХреЛ
DROP TABLE
рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - рдРрд╕реА рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рдСрдкрд░реЗрд╢рди рдореЗрдВ рдХреЗрд╡рд▓ рдХреБрдЫ рдорд┐рд▓реАрд╕реЗрдХрдВрдб рд▓рдЧреЗрдЧрд╛ред
рдЬрдм рдбреЗрдЯрд╛ рдХреЛ рд╡рд┐рднрд╛рдЬрди рджреНрд╡рд╛рд░рд╛ рд╕реЙрд░реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╡рд┐рднрд╛рдЬрди рдХреЛ рдХреБрдЫ рдорд┐рд▓реАрд╕реЗрдХреЗрдВрдб рдореЗрдВ рд╢рд╛рдмреНрджрд┐рдХ рд░реВрдк рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдУрдПрд╕ рддреБрд░рдВрдд рдЦрддреНрдо рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рдбреЗрдЯрд╛ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдирд╛ рдЖрд╕рд╛рди, рдЖрд╕рд╛рди рдФрд░ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИред
рдирд┐рдЧрд░рд╛рдиреА
рдирд┐рдЧрд░рд╛рдиреА рдПрдХ рдЕрд▓рдЧ рд╡рд┐рд╖рдп рд╣реИ, рд▓реЗрдХрд┐рди рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдРрд╕реА рд╕рд┐рдлрд╛рд░рд┐рд╢реЗрдВ рд╣реИрдВ рдЬреЛ рд▓реЗрдЦ рдХреЗ рдПрдХ рдЦрдВрдб рдореЗрдВ рдлрд┐рдЯ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдХрдИ рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░реЛрд╕реЗрд╕рд░, рдореЗрдореЛрд░реА, рдиреЗрдЯрд╡рд░реНрдХ, рдбрд┐рд╕реНрдХ рд╕реНрдерд╛рди рдХреА рдирд┐рдЧрд░рд╛рдиреА рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди, рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ,
рдбрд┐рд╕реНрдХ рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдХреЛрдИ рдирд┐рдкрдЯрд╛рди рдирд╣реАрдВ рд╣реИ ред рдбрд┐рд╕реНрдХреНрд╕ рдХреЛ рдХреИрд╕реЗ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХрд┐ рдбрд┐рд╕реНрдХ рдкрд░ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХреНрдпрд╛ рдмреИрдВрдбрд╡рд┐рдбреНрде рд╣реИ рдФрд░ рд╡рд┐рд▓рдВрдмрддрд╛ рдорд╛рди рд╣рдореЗрд╢рд╛ рдирд┐рдЧрд░рд╛рдиреА рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдЖрдкрдХреЛ рдЬрд▓реНрджреА рд╕реЗ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ рдХрд┐ рдбреНрд░рд╛рдЗрд╡ рдХреИрд╕реЗ рд▓реЛрдб рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред
рдмрд╣реБрдд рд╕рд╛рд░реЗ PostgreSQL рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ, рд╣рд░ рд╕реНрд╡рд╛рдж рдХреЗ рд▓рд┐рдП рд╣реИрдВред рдпрд╣рд╛рдВ рдХреБрдЫ рдмрд┐рдВрджреБ рджрд┐рдП рдЧрдП рд╣реИрдВ рдЬреЛ рдореМрдЬреВрдж рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред
- рдЬреБрдбрд╝реЗ рд╣реБрдП рдЧреНрд░рд╛рд╣рдХ ред рдпрд╣ рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рд╡реЗ рдХрд┐рд╕ рд╕реНрдерд┐рддрд┐ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдЬрд▓реНрджреА рд╕реЗ "рд╣рд╛рдирд┐рдХрд╛рд░рдХ" рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рдвреВрдВрдврддреЗ рд╣реИрдВ рдЬреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдиреБрдХрд╕рд╛рди рдкрд╣реБрдВрдЪрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдЙрдиреНрд╣реЗрдВ рдмрдВрдж рдХрд░ рджреЗрддреЗ рд╣реИрдВред
- рддреНрд░реБрдЯрд┐ред рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд┐рддрдиреА рдЕрдЪреНрдЫреА рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХреЗ рд▓рд┐рдП рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ: рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ - рдорд╣рд╛рди, рддреНрд░реБрдЯрд┐рдпрд╛рдВ рджрд┐рдЦрд╛рдИ рджреАрдВ - рд▓реЙрдЧ рдХреЛ рджреЗрдЦрдиреЗ рдФрд░ рдЧрд▓рдд рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╛рд░рдгред
- рдЕрдиреБрд░реЛрдз (рдмрдпрд╛рди) ред рд╣рдо рдореЛрдЯреЗ рддреМрд░ рдкрд░ рдпрд╣ рдЖрдХрд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рдорд╛рддреНрд░рд╛рддреНрдордХ рдФрд░ рдЧреБрдгрд╛рддреНрдордХ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдзреАрдореЗ, рд▓рдВрдмреЗ рдпрд╛ рд╕рдВрд╕рд╛рдзрди-рдЧрд╣рди рдЕрдиреБрд░реЛрдз рд╣реИрдВред
рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП, Highgad ++ рд╕рд╛рдЗрдмреЗрд░рд┐рдпрд╛ рдФрд░ PostgreSQL рд╡рд┐рдХреА рдореЗрдВ
рдирд┐рдЧрд░рд╛рдиреА рдкреГрд╖реНрда рдХреЗ рд╕рд╛рде
"рдкреЛрд╕реНрдЯрдЧреНрд░реЗрд╕реАрдХреНрдпреВ рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рдмреЗрд╕рд┐рдХреНрд╕" рд░рд┐рдкреЛрд░реНрдЯ рджреЗрдЦреЗрдВред
рдЬрдм рд╣рдордиреЗ рд╕рдм рдХреБрдЫ рдпреЛрдЬрдирд╛рдмрджреНрдз рдХрд┐рдпрд╛ рдФрд░ рдирд┐рдЧрд░рд╛рдиреА рдХреЗ рд╕рд╛рде "рдЦреБрдж рдХреЛ рдХрд╡рд░ рдХрд┐рдпрд╛", рддрдм рднреА рд╣рдо рдХреБрдЫ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╕реНрдХреЗрд▓рд┐рдВрдЧ
рдЖрдорддреМрд░ рдкрд░, рдбреЗрд╡рд▓рдкрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рд▓рд╛рдЗрди рджреЗрдЦрддрд╛ рд╣реИред рд╡рд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЗрд╕ рдмрд╛рдд рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рдирд╣реАрдВ рд░рдЦрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ рдХреИрд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдЪреЗрдХрдкреЙрдЗрдВрдЯ, рдкреНрд░рддрд┐рдХреГрддрд┐, рд╢реЗрдбреНрдпреВрд▓рд░ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдбреЗрд╡рд▓рдкрд░ рдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреБрдЫ рд╣реИ - рдЯреВрдбреВ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реА рджрд┐рд▓рдЪрд╕реНрдк рдЪреАрдЬреЗрдВ рд╣реИрдВ рдЬреЛ рд╡рд╣ рдХреЛрд╢рд┐рд╢ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИред
"рдореБрдЭреЗ рдЖрдзрд╛рд░ рдХрд╛ рдкрддрд╛ рджреЗрдВ, рдлрд┐рд░ рдореИрдВ рдЦреБрджред" ┬й рдмреЗрдирд╛рдореА рдбреЗрд╡рд▓рдкрд░ред
рдЬрдм рдбреЗрд╡рд▓рдкрд░ рдЗрд╕ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рд▓рд┐рдЦрдирд╛ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╡рд┐рд╖рдп рдХреА рдЕрдЬреНрдЮрд╛рдирддрд╛ рдХрд╛рдлреА рджрд┐рд▓рдЪрд╕реНрдк рдкрд░рд┐рдгрд╛рдо рджреЗрддреА рд╣реИред рд╡рд┐рд▓реЛрдо рдЬрдм рдкреНрд░рд╢реНрди рд▓рд┐рдЦрддреЗ рд╣реИрдВ рддреЛ рдХрднреА-рдХрднреА рддреЗрдЬрд╕реНрд╡реА рдкреНрд░рднрд╛рд╡ рджреЗрддреЗ рд╣реИрдВред
рд▓реЗрдирджреЗрди рджреЛ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╣реЛрддреЗ рд╣реИрдВред
рдУрдПрд▓рдЯреАрдкреА рд▓реЗрдирджреЗрди рддреЗрдЬ, рдХрдо, рд╣рд▓реНрдХреЗ рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рдПрдХ рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдХреЗ рдЕрдВрд╢ рд▓реЗрддреЗ рд╣реИрдВред рд╡реЗ рдмрд╣реБрдд рдЬрд▓реНрджреА рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╣реИрдВред
OLAP - рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рддреНрдордХ рдкреНрд░рд╢реНрди - рдзреАрдореЗ, рд▓рдВрдмреЗ, рднрд╛рд░реА, рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рдмрдбрд╝реЗ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЛ рдкрдврд╝реЗрдВ рдФрд░ рдЖрдВрдХрдбрд╝реЗ рдкрдврд╝реЗрдВред
рдкрд┐рдЫрд▓реЗ 2-3 рд╡рд░реНрд╖реЛрдВ рдореЗрдВ, рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд░реВрдк рд╕реЗ
HTAP рдЕрдХреНрд╕рд░ рд▓рдЧрддрд╛ рд╣реИ - рд╣рд╛рдЗрдмреНрд░рд┐рдб рд▓реЗрдирджреЗрди / рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рддреНрдордХ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдпрд╛
рд╣рд╛рдЗрдмреНрд░рд┐рдб рд▓реЗрди-рджреЗрди-рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рддреНрдордХ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг ред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ OLAP рдФрд░ OLTP рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╕реНрдХреЗрд▓ рдХрд░рдиреЗ рдФрд░ рд╡рд┐рд╡рд┐рдзрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдиреЗ рдХрд╛ рд╕рдордп рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдк рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ: "рд╣рдорд╛рд░реЗ рдкрд╛рд╕ HTAP!" рд▓реЗрдХрд┐рди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдЕрдиреБрднрд╡ рдФрд░ рджрд░реНрдж рдмрддрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдЦрд┐рд░рдХрд╛рд░, рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдПрдХ-рджреВрд╕рд░реЗ рд╕реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рд▓рдВрдмреЗ рд╕рдордп рддрдХ OLAP рдЕрдиреБрд░реЛрдз рд▓рд╛рдЗрдЯ OLTP рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдЕрд╡рд░реБрджреНрдз рдХрд░рддреЗ рд╣реИрдВред
рдЗрд╕рд▓рд┐рдП рд╣рдо рдЗрд╕ рд╕рд╡рд╛рд▓ рдкрд░ рдЖрддреЗ рд╣реИрдВ рдХрд┐ рдХреИрд╕реЗ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдХреНрдпреВрдПрд▓ рдХреЛ рд╕реНрдХреЗрд▓ рдХрд┐рдпрд╛ рдЬрд╛рдП рддрд╛рдХрд┐ рд▓реЛрдб рдХреЛ рдлреИрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХреЗ, рдФрд░ рд╣рд░ рдХреЛрдИ рд╕рдВрддреБрд╖реНрдЯ рдерд╛ред
рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдкреНрд░рддрд┐рдХреГрддрд┐ ред рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рд╡рд┐рдХрд▓реНрдк
рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреА
рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рд╣реИ ред рдЬрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╣рдо рдЗрд╕ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдХрдИ рдкреНрд░рддрд┐рдХреГрддрд┐рдпрд╛рдВ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рдФрд░ рд▓реЛрдб рд╡рд┐рддрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдЕрднреА рднреА рдорд╛рд╕реНрдЯрд░ рдмреЗрд╕ рдкрд░ рдЬрд╛рддреА рд╣реИ, рдФрд░ рдкреНрд░рддрд┐рдХреГрддрд┐рдпреЛрдВ рдХреЛ рдкрдврд╝рдирд╛ред рдпрд╣ рд╡рд┐рдзрд┐ рдЖрдкрдХреЛ рдмрд╣реБрдд рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рд╕реНрдХреЗрд▓ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред
рд╕рд╛рде рд╣реА, рдЖрдк рдЕрдзрд┐рдХ рдкреНрд░рддрд┐рдХреГрддрд┐рдпреЛрдВ рдХреЛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкреНрд░рддрд┐рдХреГрддрд┐рдпреЛрдВ рд╕реЗ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░
рдХреИрд╕реНрдХреЗрдб рдкреНрд░рддрд┐рдХреГрддрд┐ рдкреНрд░рд╛рдкреНрдд
рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рдореВрд╣ рдпрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди, рдЬреЛ рдПрдирд╛рд▓рд┐рдЯрд┐рдХреНрд╕ рдкрдврд╝рддреЗ рд╣реИрдВ, рдХреЛ рдПрдХ рдЕрд▓рдЧ рдкреНрд░рддрд┐рдХреГрддрд┐ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рддрд╛рд░реНрдХрд┐рдХ рдкреНрд░рдХрд╛рд╢рди, рд╕рджрд╕реНрдпрддрд╛ - рддрд╛рд░реНрдХрд┐рдХ рдкреНрд░рдХрд╛рд╢рди рдФрд░ рд╕рджрд╕реНрдпрддрд╛ рдХреЗ рддрдВрддреНрд░ рдХрд╛ рдЕрд░реНрде рд╣реИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдбреЗрдЯрд╛рдмреЗрд╕ рдФрд░ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдХрдИ рд╕реНрд╡рддрдВрддреНрд░ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдХреНрдпреВрдПрд▓-рд╕рд░реНрд╡рд░ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ред рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рдЗрди рд╕реЗрдЯреЛрдВ рдХреЛ рдкрдбрд╝реЛрд╕реА рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд╡реЗ рдЙрди рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреЗ рдЬреЛ рдЙрдиреНрд╣реЗрдВ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣реА рд╣реИ, рд╕реНрд░реЛрдд рдореЗрдВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрди рдЧрдВрддрд╡реНрдп рдмреЗрд╕ рдкрд░ рджреЛрд╣рд░рд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рд╡рд╣рд╛рдВ рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВред PostgreSQL 10 рдХреЗ рд╕рд╛рде рдмрдврд╝рд┐рдпрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рд╡рд┐рджреЗрд╢реА рддрд╛рд▓рд┐рдХрд╛рдУрдВ, рдШреЛрд╖рдгрд╛ рд╡рд┐рднрд╛рдЬрди - рдШреЛрд╖рдгрд╛рддреНрдордХ рд╡рд┐рднрд╛рдЬрди рдФрд░ рдмрд╛рд╣рд░реА рддрд╛рд▓рд┐рдХрд╛рдУрдВ ред рдЖрдк рдХрдИ PostgreSQL рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╡рд╣рд╛рдВ рдЯреЗрдмрд▓ рдХреЗ рдХрдИ рд╕реЗрдЯ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рд╡рд╛рдВрдЫрд┐рдд рдбреЗрдЯрд╛ рдкрд░реНрд╡рддрдорд╛рд▓рд╛ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░реЗрдВрдЧреЗред рдпрд╣ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд░реНрд╖ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдХрд┐рд╕реА рднреА рд╕реАрдорд╛ рд╕реЗ рдЕрдзрд┐рдХ рдбреЗрдЯрд╛ рдПрдХрддреНрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдмрд╛рд╣рд░реА рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рддрдВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдЗрди рд╕рднреА рдбреЗрдЯрд╛рдмреЗрд╕реЛрдВ рдХреЛ рдПрдХ рдЕрд▓рдЧ PostgreSQL рдореЗрдВ рд╡рд┐рднрд╛рдЬрди рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕ рд╡рд┐рднрд╛рдЬрди рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рджреВрд░рд╕реНрде рд╡рд┐рднрд╛рдЬрди рдХреЗ рдбреЗрдЯрд╛ рдХреЛ рдкрдврд╝реЗрдЧрд╛ред рдЬрдм рдбреЗрдЯрд╛ рд╡реЙрд▓реНрдпреВрдо рдПрдХрд▓ рд╕рд░реНрд╡рд░ рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рддреЗрдЬреА рд╕реЗ рдмрдврд╝ рд░рд╣рд╛ рд╣реИред

рдпрд╣ рд╕рдм рдЕрд▓рдЧ-рдЕрд▓рдЧ PostgreSQL рдкреНрд░рддрд┐рдХреГрддрд┐ рдЯреЛрдкреЛрд▓реЙрдЬреА рдХреЗ рд╕рд╛рде рдЖрдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕реЗ рдлреИрд▓рд╛рдиреЗ рд╡рд╛рд▓реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдХреИрд╕реЗ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП рдпрд╣ рдПрдХ рдЕрд▓рдЧ рд░рд┐рдкреЛрд░реНрдЯ рдХрд╛ рд╡рд┐рд╖рдп рд╣реИред
рдХрд╣рд╛рдБ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ?
рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рд╡рд┐рдХрд▓реНрдк
рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреЗ рд╕рд╛рде рд╣реИ ред рдкрд╣рд▓рд╛ рдХрджрдо рдкрдврд╝рдиреЗ рдФрд░ рд▓рд┐рдЦрдиреЗ рдкрд░ рднрд╛рд░ рдлреИрд▓рд╛рдирд╛ рд╣реИред рдпрд╣реА рд╣реИ, рдЧреБрд░реБ рдХреЛ рд▓рд┐рдЦреЗрдВ, рдФрд░ рдкреНрд░рддрд┐рдХреГрддрд┐рдпреЛрдВ рд╕реЗ рдкрдврд╝реЗрдВред рдЗрд╕рд▓рд┐рдП рд╣рдо рд▓реЛрдб рдХреЛ рдорд╛рдкрддреЗ рд╣реИрдВ рдФрд░ рд╡рд┐рдЬрд╝рд╛рд░реНрдб рд╕реЗ рд░реАрдбрд┐рдВрдЧ рд▓реЗрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡рд┐рд╢реНрд▓реЗрд╖рдХреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдордд рднреВрд▓рдирд╛ред рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рддреНрдордХ рдкреНрд░рд╢реНрди рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рдЕрд▓рдЧ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рддрд╛рдХрд┐ рд▓рдВрдмреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рддреНрдордХ рдкреНрд░рд╢реНрди рдмрд╛рдХреА рдХреЗ рд╕рд╛рде рд╣рд╕реНрддрдХреНрд╖реЗрдк рди рдХрд░ рд╕рдХреЗрдВред
рдЕрдЧрд▓рд╛ рдХрджрдо
рд╕рдВрддреБрд▓рди рд╣реИ ред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрднреА рднреА рдПрдХ рд╣реА рд▓рд╛рдЗрди рд╣реИ рдЬреЛ рдХрд┐ рдбрд┐рдлреЙрд▓реНрдЯ рдореЗрдВ рд╣реИ, рдЬрд┐рд╕реЗ рдбреЗрд╡рд▓рдкрд░ рдСрдкрд░реЗрдЯ рдХрд░рддрд╛ рд╣реИред рдЙрд╕реЗ рдРрд╕реА рдЬрдЧрд╣ рдЪрд╛рд╣рд┐рдП, рдЬрд╣рд╛рдВ рд╡рд╣ рд▓рд┐рдЦрдХрд░ рдкрдврд╝реЗрдЧрд╛ред рдпрд╣рд╛рдВ рдХрдИ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВред
рдЖрджрд░реНрд╢
рдЖрд╡реЗрджрди рд╕реНрддрд░ рдкрд░ рд╕рдВрддреБрд▓рди рдХреЛ рд▓рд╛рдЧреВ
рдХрд░рдирд╛ рд╣реИ , рдЬрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЦреБрдж рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛ рдХреЛ рдХрд╣рд╛рдВ рд╕реЗ рдкрдврд╝рдирд╛ рд╣реИ, рдФрд░ рдкрддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреИрд╕реЗ рдЪреБрдирдиреА рд╣реИред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдХрд┐рд╕реА рдЦрд╛рддреЗ рдХреА рд╢реЗрд╖ рд░рд╛рд╢рд┐ рдХреА рд╣рдореЗрд╢рд╛ рдЕрдк-рдЯреВ-рдбреЗрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдФрд░ рдЙрд╕реЗ рдорд╛рд╕реНрдЯрд░ рд╕реЗ рдкрдврд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдФрд░ рдЙрддреНрдкрд╛рдж рдХреА рддрд╕реНрд╡реАрд░ рдпрд╛ рдЙрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдХреБрдЫ рджреЗрд░реА рд╕реЗ рдкрдврд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдкреНрд░рддрд┐рдХреГрддрд┐ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
- DNS рд░рд╛рдЙрдВрдб рд░реЙрдмрд┐рди , рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдПрдХ рдмрд╣реБрдд рд╣реА рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдХрднреА-рдХрднреА рдпрд╣ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╡рд┐рдлрд▓рддрд╛ рдХреЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╕рд░реНрд╡рд░ рдХреЗ рдмреАрдЪ рд╡рд┐рдЬрд╝рд╛рд░реНрдб рднреВрдорд┐рдХрд╛рдУрдВ рдХреЛ рдмрджрд▓рддреЗ рд╕рдордп рдЖрд╡рд╢реНрдпрдХ рд╕рдордп рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред
- рдПрдХ рдФрд░ рдЕрдзрд┐рдХ рджрд┐рд▓рдЪрд╕реНрдк рд╡рд┐рдХрд▓реНрдк Keepalived рдФрд░ HAProxy рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ ред рдорд╛рд╕реНрдЯрд░ рдХреЗ рд▓рд┐рдП рд╡рд░реНрдЪреБрдЕрд▓ рдкрддреЗ рдФрд░ рдкреНрд░рддрд┐рдХреГрддрд┐рдпреЛрдВ рдХреЗ рд╕реЗрдЯ рдХреЛ HAProxy рд╕рд░реНрд╡рд░ рдХреЗ рдмреАрдЪ рдлреЗрдВрдХ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ HAProxy рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рд╕рдВрддреБрд▓рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИред
- Patroni, DCS рдЬреИрд╕реЗ рдХреБрдЫ рдХреЗ рд╕рд╛рде рд╕рдВрдпреЛрдЬрди рдХреЗ рд░реВрдк рдореЗрдВ ZooKeeper, etcd, Consul - рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рд╡рд┐рдХрд▓реНрдк, рдореЗрд░реА рд░рд╛рдп рдореЗрдВред рдпрд╣реА рд╣реИ, рд╕реЗрд╡рд╛ рдХреА рдЦреЛрдЬ рдЙрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ рдЬреЛ рдЕрдм рдорд╛рд╕реНрдЯрд░ рд╣реИ рдФрд░ рдЬреЛ рдкреНрд░рддрд┐рдХреГрддрд┐ рд╣реИред Patroni PostgreSQL рдХрд╛ рдПрдХ рдХреНрд▓рд╕реНрдЯрд░ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рддрд╛ рд╣реИ, рд╕реНрд╡рд┐рдЪрд┐рдВрдЧ рдХрд░рддрд╛ рд╣реИ - рдпрджрд┐ рдЯреЛрдкреЛрд▓реЙрдЬреА рдмрджрд▓ рдЧрдИ рд╣реИ, рддреЛ рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рд╕реЗрд╡рд╛ рдЦреЛрдЬ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдЧреА, рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЬрд▓реНрджреА рд╕реЗ рд╡рд░реНрддрдорд╛рди рдЯреЛрдкреЛрд▓реЙрдЬреА рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдФрд░ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреЗ рд╕рд╛рде рдмрд╛рд░реАрдХрд┐рдпрд╛рдВ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рд╕рдмрд╕реЗ рдЖрдо
рдкреНрд░рддрд┐рдХреГрддрд┐ рд▓реИрдЧ рд╣реИ ред рдЖрдк рдЗрд╕реЗ GitLab рдХреА рддрд░рд╣ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЬрдм рдЕрдВрддрд░рд╛рд▓ рдЬрдо рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдмрд╕ рдЖрдзрд╛рд░ рдХреЛ рдЫреЛрдбрд╝ рджреЗрдВред рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╡реНрдпрд╛рдкрдХ рдирд┐рдЧрд░рд╛рдиреА рд╣реИ - рд╣рдо рдЗрд╕реЗ рджреЗрдЦрддреЗ рд╣реИрдВ рдФрд░ рд▓рдВрдмреЗ рд▓реЗрдирджреЗрди рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВред

рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдФрд░ DBMS рд▓реЗрдирджреЗрди
рд╕рд╛рдорд╛рдиреНрдп, рдзреАрдореА рдФрд░ рдирд┐рд╖реНрдХреНрд░рд┐рдп рд▓реЗрди-рджреЗрди рдореЗрдВ рдкрд░рд┐рдгрд╛рдо:
- рдЙрддреНрдкрд╛рджрдХрддрд╛ рдореЗрдВ рдХрдореА - рдПрдХ рддреЗрдЬ рд╕реНрдкрд╕реНрдореЛрдбрд┐рдХ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ, рд▓реЗрдХрд┐рди рдЪрд┐рдХрдиреА;
- рддрд╛рд▓реЗ рдФрд░ рдЧрддрд┐рд░реЛрдз , рдХреНрдпреЛрдВрдХрд┐ рд▓рдВрдмреЗ рд▓реЗрдирджреЗрди рдкрдВрдХреНрддрд┐рдпреЛрдВ рдкрд░ рддрд╛рд▓реЗ рд░рдЦрддреЗ рд╣реИрдВ рдФрд░ рдЕрдиреНрдп рд▓реЗрдирджреЗрди рдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрддреЗ рд╣реИрдВ;
- 50 * рдмреИрдХрдПрдВрдб , рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдпрд╛ рдХрд╣реАрдВ рдФрд░ рдкрд░ HTTP рддреНрд░реБрдЯрд┐рдпрд╛рдВ ред
рдЖрдЗрдП рдереЛрдбрд╝рд╛ рд╕рд┐рджреНрдзрд╛рдВрдд рджреЗрдЦреЗрдВ рдХрд┐ рдпреЗ рд╕рдорд╕реНрдпрд╛рдПрдВ рдХреИрд╕реЗ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИрдВ, рдФрд░ рд▓рдВрдмреА рдФрд░ рдирд┐рд╖реНрдХреНрд░рд┐рдп рд▓реЗрдирджреЗрди рдХрд╛ рддрдВрддреНрд░ рд╣рд╛рдирд┐рдХрд╛рд░рдХ рдХреНрдпреЛрдВ рд╣реИред
PostgreSQL рдореЗрдВ MVCC рд╣реИ - рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдмреЛрд▓рдиреЗ рд╡рд╛рд▓рд╛, рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдЗрдВрдЬрдиред рдпрд╣ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХрд┐рдП рдмрд┐рдирд╛ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ: рдкрд╛рдардХ рдкрд╛рдардХреЛрдВ рдХреЗ рд╕рд╛рде рд╣рд╕реНрддрдХреНрд╖реЗрдк рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рд▓реЗрдЦрдХ рд▓реЗрдЦрдХреЛрдВ рдХреЗ рд╕рд╛рде рд╣рд╕реНрддрдХреНрд╖реЗрдк рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдмреЗрд╢рдХ, рдХреБрдЫ рдЕрдкрд╡рд╛рдж рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╡реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИрдВред
рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдПрдХ рдкрдВрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рд▓реЗрдирджреЗрди рдХреЗ рд▓рд┐рдП рдХрдИ рд╕рдВрд╕реНрдХрд░рдг рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдЧреНрд░рд╛рд╣рдХ рдХрдиреЗрдХреНрдЯ рд╣реЛрддреЗ рд╣реИрдВ, рдбреЗрдЯрд╛рдмреЗрд╕ рдЙрдиреНрд╣реЗрдВ рдбреЗрдЯрд╛ рдХрд╛ рд╕реНрдиреИрдкрд╢реЙрдЯ рджреЗрддрд╛ рд╣реИ, рдФрд░ рдЗрди рд╕реНрдиреИрдкрд╢реЙрдЯ рдХреЗ рднреАрддрд░ рдПрдХ рд╣реА рдкрдВрдХреНрддрд┐ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрд╕реНрдХрд░рдг рдореМрдЬреВрдж рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рддрджрдиреБрд╕рд╛рд░, рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдЬреАрд╡рди рдЪрдХреНрд░ рдореЗрдВ, рд▓реЗрдирджреЗрди рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдПрдХ-рджреВрд╕рд░реЗ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ рдЬреЛ рдХрд┐рд╕реА рдХреЛ рднреА рдирд╣реАрдВ рдЪрд╛рд╣рд┐рдПред
рддреЛ
рдПрдХ рдХрдЪрд░рд╛ рдХрд▓реЗрдХреНрдЯрд░ - рдСрдЯреЛ рд╡реИрдХреНрдпреВрдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ ред рд▓рдВрдмреЗ рд▓реЗрди-рджреЗрди рдореМрдЬреВрдж рд╣реИрдВ рдФрд░ рдСрдЯреЛ рд╡реИрдХреНрдпреВрдо рдХреЛ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдкрдВрдХреНрддрд┐ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рд╕рд╛рдл рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрддреЗ рд╣реИрдВред рдпрд╣ рдЬрдВрдХ рдбреЗрдЯрд╛ рдбрд┐рд╕реНрдХ рд╕реЗ рдореЗрдореЛрд░реА рддрдХ, рдбрд┐рд╕реНрдХ рд╕реЗ рдореЗрдореЛрд░реА рддрдХ рднрдЯрдХрдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИред рдЗрд╕ рдХрдЪрд░реЗ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реАрдкреАрдпреВ рдФрд░ рдореЗрдореЛрд░реА рд░рд┐рд╕реЛрд░реНрд╕реЗрд╕ рдмрд░реНрдмрд╛рдж рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред
рдЬрд┐рддрдирд╛ рд▓рдВрдмрд╛ рд▓реЗрди-рджреЗрди, рдЙрддрдирд╛ рдЕрдзрд┐рдХ рд░рджреНрджреА рдФрд░ рдХрдо рдкреНрд░рджрд░реНрд╢рдиред
"рдХрд┐рд╕реЗ рджреЛрд╖ рджреЗрдирд╛ рд╣реИ?" рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рдРрдк рд▓рдВрдмреЗ рд▓реЗрдирджреЗрди рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП рджреЛрд╖реА рд╣реИред рдпрджрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рдЕрдкрдиреЗ рдЖрдк рд╣реА рдореМрдЬреВрдж рд░рд╣реЗрдЧрд╛, рддреЛ рдХрд╣реАрдВ рд╕реЗ рднреА рд▓рдВрдмреА, рдХреБрдЫ рднреА рд▓реЗрди-рджреЗрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдирд┐рд╖реНрдХреНрд░рд┐рдп рд▓реЗрдирджреЗрди рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рдХрд▓реНрдк рд╣реИрдВред
"рдЪрд▓реЛ рдПрдХ рдмрд╛рд╣рд░реА рд╕реНрд░реЛрдд рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ ред
" рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЗрди-рджреЗрди рдХреЛ рдЦреЛрд▓рддрд╛ рд╣реИ, рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдХреБрдЫ рдХрд░рддрд╛ рд╣реИ, рдлрд┐рд░ рдПрдХ рдмрд╛рд╣рд░реА рд╕реНрд░реЛрдд рдХреА рдУрд░ рдореБрдбрд╝рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд░рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореЗрдореНрдХреЗрдб рдпрд╛ рд░реЗрдбрд┐рд╕, рдЗрд╕ рдЙрдореНрдореАрдж рдореЗрдВ рдХрд┐ рдпрд╣ рддрдм рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдПрдЧрд╛, рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдЧрд╛ рдФрд░ рд▓реЗрдирджреЗрди рдХреЛ рдмрдВрдж рдХрд░ рджреЗрдЧрд╛ред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдмрд╛рд╣рд░реА рд╕реНрд░реЛрдд рдореЗрдВ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рд╣реЛрддреА рд╣реИ, рддреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд▓реЗрдирджреЗрди рддрдм рддрдХ рдмрдВрдж рд░рд╣рддрд╛ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдХреЛрдИ рдЗрд╕реЗ рдиреЛрдЯрд┐рд╕ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдорд╛рд░рддрд╛ рд╣реИред
рдХреЛрдИ рддреНрд░реБрдЯрд┐ рд╕реЗ рдирд┐рдкрдЯрдиреЗ ред рджреВрд╕рд░реА рдУрд░, рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред рдЬрдм, рдлрд┐рд░ рд╕реЗ, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдиреЗ рдПрдХ рд▓реЗрди-рджреЗрди рдЦреЛрд▓рд╛, рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдХреБрдЫ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛, рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрди рдкрд░ рд▓реМрдЯрд╛, рд▓реЗрдирджреЗрди рдореЗрдВ рдХрд╛рдо рдЬрд╛рд░реА рд░рдЦрдиреЗ рдФрд░ рдЗрд╕реЗ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдлрд╝рдВрдХреНрд╢рди рдФрд░ рдЧрдгрдирд╛ рдХреАред рдЬрдм рдЗрди рдЧрдгрдирд╛рдУрдВ рдкрд░ рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рдЖрд╡реЗрджрди рд╕рдВрдЪрд╛рд▓рди рдмрд╛рдзрд┐рдд рд╣реБрдЖ, рддреЛ рдХреЛрдб рдЪрдХреНрд░ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╡рд╛рдкрд╕ рдЖ рдЧрдпрд╛, рдФрд░ рд▓реЗрди-рджреЗрди рдлрд┐рд░ рд╕реЗ рдЕрд╕реНрдкрд╖реНрдЯ рд░рд╣рд╛ред
рдорд╛рдирд╡реАрдп рдХрд╛рд░рдХ ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ, рдбреЗрд╡рд▓рдкрд░, рд╡рд┐рд╢реНрд▓реЗрд╖рдХ, рдХреБрдЫ pgAdmin рдпрд╛ DBeaver рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ - рдПрдХ рд▓реЗрдирджреЗрди рдЦреЛрд▓рд╛, рдЗрд╕рдореЗрдВ рдХреБрдЫ рдХрд░рддрд╛ рд╣реИред рддрдм рд╡реНрдпрдХреНрддрд┐ рд╡рд┐рдЪрд▓рд┐рдд рд╣реЛ рдЧрдпрд╛ рдерд╛, рд╡рд╣ рджреВрд╕рд░реЗ рдХрд╛рдо рдкрд░ рдЪрд▓рд╛ рдЧрдпрд╛, рдлрд┐рд░ рддреАрд╕рд░реЗ рдХреЛ, рд▓реЗрдирджреЗрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреВрд▓ рдЧрдпрд╛, рд╕рдкреНрддрд╛рд╣рд╛рдВрдд рдХреЗ рд▓рд┐рдП рдЫреЛрдбрд╝ рджрд┐рдпрд╛, рдФрд░ рд▓реЗрдирджреЗрди рд▓рдЯрдХрд╛ рд╣реБрдЖ рд╣реИред рдмреЗрд╕ рдкреНрд░рджрд░реНрд╢рди рдЧреНрд░рд╕реНрдд рд╣реИред
рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдЗрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИред
- рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдирд┐рдЧрд░рд╛рдиреА рд╣реИ, рддрджрдиреБрд╕рд╛рд░, рд╣рдореЗрдВ рдирд┐рдЧрд░рд╛рдиреА рдореЗрдВ рдЕрд▓рд░реНрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдХреЛрдИ рднреА рд▓реЗрди-рджреЗрди рдЬреЛ рдПрдХ рдШрдВрдЯреЗ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рддрдХ рд▓рдЯрдХрд╛ рд░рд╣рддрд╛ рд╣реИ рдФрд░ рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рджреЗрдЦрдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╣рд╛рдВ рд╕реЗ рдЖрдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рд╕рдордЭрдирд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЧрд▓рдд рд╣реИред
- рдЕрдЧрд▓рд╛ рдХрджрдо рддрд╛рдЬ рдореЗрдВ рдХрд╛рд░реНрдп (pg_terminate_backend (pid)) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдРрд╕реЗ рд▓реЗрдирджреЗрди рдХреЛ рд╢реВрдЯ рдХрд░рдирд╛ рд╣реИ рдпрд╛ PostgreSQL рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рд╣реИред 10-30 рдорд┐рдирдЯ рдХреЗ рдереНрд░реЗрд╕рд╣реЛрд▓реНрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рд▓реЗрдирджреЗрди рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреВрд░рд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
- рдЖрд╡реЗрджрди рдХреЛ рдлрд┐рд░ рд╕реЗ рднрд░рдирд╛ ред рдмреЗрд╢рдХ, рдЖрдкрдХреЛ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдирд┐рд╖реНрдХреНрд░рд┐рдп рд▓реЗрдирджреЗрди рдХрд╣рд╛рдБ рд╕реЗ рдЖрддреЗ рд╣реИрдВ, рд╡реЗ рдХреНрдпреЛрдВ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдРрд╕реЗ рд╕реНрдерд╛рдиреЛрдВ рдХреЛ рдЦрддреНрдо рдХрд░рддреЗ рд╣реИрдВред
рд╣рд░ рдХреАрдордд рдкрд░ рд▓рдВрдмреЗ рд▓реЗрдирджреЗрди рд╕реЗ рдмрдЪреЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдмрд╣реБрдд рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреЗ рд╣реИрдВред
рд▓рдВрдмрд┐рдд рдХрд╛рд░реНрдп рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рдкрд░ рд╕рдм рдХреБрдЫ рдФрд░ рднреА рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЗрдХрд╛рдЗрдпреЛрдВ рдХреА рд╕рд╛рд╡рдзрд╛рдиреАрдкреВрд░реНрд╡рдХ рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдФрд░ рд╣рдо рд╕рд╛рдЗрдХрд┐рд▓ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдореБрджреНрджреЗ рдкрд░ рдЖрддреЗ рд╣реИрдВред
рд╕рд╛рдЗрдХрд┐рд▓ рдирд┐рд░реНрдорд╛рдг
рд╡рд┐рд╖рдп рд╡рд┐рд╖рдпред рдЖрд╡реЗрджрди рдкрдХреНрд╖ рдкрд░ рд╡реНрдпрд╛рдкрд╛рд░ рдШрдЯрдирд╛рдУрдВ рдХреА рдкреГрд╖реНрдарднреВрдорд┐ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреБрд▓рд┐рдпреЛрдВ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП: рдиреНрдпреВрдирддрдо, рдЕрдзрд┐рдХрддрдо, рдФрд╕рдд рдореВрд▓реНрдп, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╕реВрдЪрдирд╛рдПрдВ рднреЗрдЬреЗрдВ, рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рдЪрд╛рд▓рд╛рди рдЬрд╛рд░реА рдХрд░реЗрдВ, рдкрдВрдЬреАрдХрд░рдг рдХреЗ рдмрд╛рдж рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рдЦрд╛рддрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ рдпрд╛ рдкрдбрд╝реЛрд╕реА рд╕реЗрд╡рд╛рдУрдВ рдореЗрдВ рдкрдВрдЬреАрдХрд░рдг рдХрд░реЗрдВ - рд╡рд┐рд▓рдВрдмрд┐рдд рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХрд░реЗрдВред
рдРрд╕реЗ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рд╕рд╛рд░ рдПрдХ рд╣реА рд╣реИ - рдЙрдиреНрд╣реЗрдВ рдмрд╛рдж рдХреЗ рд▓рд┐рдП рд╕реНрдердЧрд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдбреЗрдЯрд╛рдмреЗрд╕ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ рдЬреЛ рд╕рд┐рд░реНрдл рдХрддрд╛рд░реЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВред

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

рдЗрди рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ - рд╕рднреА рд▓реЗрдХрд┐рди рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдмреАрд╕ рд╕реЗрдХрдВрдб рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рддрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдЗрди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, PostgreSQL рдХреЗ рд▓рд┐рдП рдПрдХ рдХрддрд╛рд░ рдкреНрд░рдмрдВрдзрдХ,
Skytools PgQ , рдХрд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдмрд╣реБрдд рдкрд╣рд▓реЗ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЕрдкрдиреА рдмрд╛рдЗрдХ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рди рдХрд░реЗрдВ - PgQ рд▓реЗрдВ, рдЗрд╕реЗ рдПрдХ рдмрд╛рд░ рд╕реЗрдЯ рдХрд░реЗрдВ рдФрд░ рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреВрд▓ рдЬрд╛рдПрдВред
рд╕рдЪ рд╣реИ, рдЙрд╕рдХреЗ рдкрд╛рд╕ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рднреА рд╣реИрдВред Skytools PgQ рдХреЗ рдкрд╛рд╕
рдмрд╣реБрдд рдХрдо рджрд╕реНрддрд╛рд╡реЗрдЬ рд╣реИрдВ ред рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдкреГрд╖реНрда рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж, рдХрд┐рд╕реА рдХреЛ рдпрд╣ рдорд╣рд╕реВрд╕ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдЙрд╕реЗ рдХреБрдЫ рднреА рд╕рдордЭ рдирд╣реАрдВ рдЖрдпрд╛ред рдЬрдм рдЖрдк рдХреБрдЫ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рднрд╛рд╡рдирд╛ рдмрдврд╝рддреА рд╣реИред рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди
рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ ред рдХрд┐рд╕реА рддрд░рд╣ рдХрд╛ рдЬреЗрдбреА рдореИрдЬрд┐рдХред рд▓реЗрдХрд┐рди
рдореЗрд▓рд┐рдВрдЧ-рд╕реВрдЪрд┐рдпреЛрдВ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реА рдЬрд╛рдирдХрд╛рд░реА рдорд┐рд▓ рд╕рдХрддреА рд╣реИред рдпрд╣ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдкреНрд░рд╛рд░реВрдк рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдмрд╣реБрдд рд╕рд╛рд░реА рджрд┐рд▓рдЪрд╕реНрдк рдЪреАрдЬреЗрдВ рд╣реИрдВ рдФрд░ рдЖрдкрдХреЛ рдЗрди рдЪрд╛рджрд░реЛрдВ рдХреЛ рдкрдврд╝рдирд╛ рд╣реЛрдЧрд╛ред
рд╡рд┐рдкрдХреНрд╖ рдХреЗ рдмрд╛рд╡рдЬреВрдж, рд╕реНрдХрд╛рдИрдЯрд▓реНрд╕ рдкреАрдЬреАрдХреНрдпреВ "рд╕реЗрдЯ рдЕрдк рдПрдВрдб рднреВрд▓" рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред , , , . PgQ , . PgQ , .
, - тАФ , . .
PgQ. , PostgreSQL, , , PgQ . , .
, . , , , - , , , . , , , alter.
auto-failover тАФ PostgreSQL - , , . , auto-failover.
Split-brain . PostgreSQL , , тАФ . , . PostgreSQL fencing, Kubernets . - , . Split-brain.

. GitHub Split-brain, .
Cascade failover . , . , .

, . , .

тАФ failover.
auto-failover, .
Bash тАФ , . , , . - , , . .
Ansible playbooks тАФ bash- . , , .
Patroni тАФ , , auto-failover, , service discovery.
PAF тАФ
Pacemaker . auto-failover PostgreSQL, Pacemaker.
Stolon . Kubernetes, . Stolon Patroni, .
Docker Kubernetes . , .

, .
┬л Kubernetes...┬╗ .
тАФ stateful , - . рдХрд╣рд╛рдБ? . Open Source: CEPH, GlusterFS, LinStor DRBD. , , , .
тАФ
. , Kubernetes, CEPH. тАФ . , .
- , .
- latency . latency тАФ .
- . Kubernetes , - . , shared storage Kubernetes, . - .
, Kubernetes Docker staging dev- . , , Kubernetes .

,
local volumes тАФ ,
streaming replication тАФ ,
PostgreSQL- , тАФ , . :
Zalando Crunchy .
, . issues pull requests. , , .
рдкрд░рд┐рдгрд╛рдо
SSD тАФ , .
. JSON 8 тАФ , .
, . PostgreSQL, .
тАФ Postgres is ready . . PostgreSQL , . :
streaming replication; publications, subscriptions; foreign Tables; declarative partitioning .
. , .
-, , тАФ
. . , Skytools PgQ!
Kubernetes, local volumes, streaming replication PostgreSQL . - , , .
. , 24 25 HighLoad++ Siberia , , . 38 тАФ !