рд╣рд╛рдореА рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рдХреЗ рд░ рдХрд┐рди рдЧрд░реНрдЫреМрдВред Andrey Borodin (Yandex.Cloud)

рд╣рд╛рдореА рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рдХреЗ рд░ рдХрд┐рди рдЧрд░реНрдЫреМрдВред Andrey Borodin (Yandex.Cloud)

рдирд┐рдореНрди рдбреЗрдЯрд╛рдмреЗрд╕рд╣рд░реВрдорд╛ Yandex рдХреЛ рдпреЛрдЧрджрд╛рди рд╕рдореАрдХреНрд╖рд╛ рдЧрд░рд┐рдиреЗрдЫред

  • рдХреНрд▓рд┐рдХрд╣рд╛рдЙрд╕
  • Odyssey
  • рд╕рдордпрдХреЛ рдПрдХ рдмрд┐рдиреНрджреБрдорд╛ рд░рд┐рдХрднрд░реА (WAL-G)
  • PostgreSQL (рд▓рдЧ рддреНрд░реБрдЯрд┐рд╣рд░реВ, Amcheck, heapcheck рд╕рд╣рд┐рдд)
  • рдЧреНрд░реАрдирдкреНрд▓рдо

рднрд┐рдбрд┐рдпреЛ:

рдирдорд╕реНрдХрд╛рд░ рд╕рдВрд╕рд╛рд░! рдореЗрд░реЛ рдирд╛рдо Andrey Borodin рд╣реЛред рд░ рдо Yandex.Cloud рдорд╛ рдХреЗ рдЧрд░реНрдЫреБ рднрдиреЗрдХреЛ Yandex.Cloud рд░ Yandex.Cloud рдЧреНрд░рд╛рд╣рдХрд╣рд░реВрдХреЛ рд╣рд┐рддрдорд╛ рдЦреБрд▓рд╛ рд░рд┐рд▓реЗрд╕рдирд▓ рдбрд╛рдЯрд╛рдмреЗрд╕рд╣рд░реВ рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрдиреБ рд╣реЛред

рд╣рд╛рдореА рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рдХреЗ рд░ рдХрд┐рди рдЧрд░реНрдЫреМрдВред Andrey Borodin (Yandex.Cloud)

рдпрд╕ рд╡рд╛рд░реНрддрд╛рдорд╛, рд╣рд╛рдореА рдЦреБрд▓реНрд▓рд╛ рдбрд╛рдЯрд╛рдмреЗрд╕рд╣рд░реВрдХреЛ рд╕реНрддрд░рдорд╛ рд╕рд╛рдордирд╛ рдЧрд░реНрдиреЗ рдЪреБрдиреМрддреАрд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рдХреБрд░рд╛ рдЧрд░реНрдиреЗрдЫреМрдВред рдпреЛ рдХрд┐рди рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдЫ? рдХрд┐рдирднрдиреЗ рд▓рд╛рдордЦреБрдЯреНрдЯреЗ рдЬрд╕реНрддрд╛ рд╕рд╛рдирд╛рддрд┐рдирд╛ рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рд╣рд╛рддреНрддреА рдмрдиреНрдЫрдиреНред рддрдкрд╛рдИрдВрд╕рдБрдЧ рдзреЗрд░реИ рдХреНрд▓рд╕реНрдЯрд░рд╣рд░реВ рд╣реБрдБрджрд╛ рддрд┐рдиреАрд╣рд░реВ рдареВрд▓реЛ рд╣реБрдиреНрдЫрдиреНред

рддрд░ рддреНрдпреЛ рдореБрдЦреНрдп рдХреБрд░рд╛ рд╣реЛрдЗрдиред рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдЪреАрдЬрд╣рд░реВ рд╣реБрдиреНрдЫрдиреНред рд▓рд╛рдЦреМрдВ рдХреЗрд╕рд╣рд░реВрдорд╛ рдПрдХрдорд╛ рд╣реБрдиреЗ рдХреБрд░рд╛рд╣рд░реВред рд░ рдХреНрд▓рд╛рдЙрдб рд╡рд╛рддрд╛рд╡рд░рдгрдорд╛, рддрдкрд╛рдЗрдБ рддреНрдпрд╕рдХреЛ рд▓рд╛рдЧрд┐ рддрдпрд╛рд░ рд╣реБрдиреБрдкрд░реНрджрдЫ, рдХрд┐рдирдХрд┐ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдЪреАрдЬрд╣рд░реВ рдЕрддреНрдпрдзрд┐рдХ рд╕рдореНрднрд╛рд╡рд┐рдд рд╣реБрдиреНрдЫрдиреН рдЬрдм рдХреЗрд╣рд┐ рдорд╛рддреНрд░рд╛рдорд╛ рдЕрд╡рд╕реНрдерд┐рдд рд╣реБрдиреНрдЫред

рддрд░! рдЦреБрд▓рд╛ рдбрд╛рдЯрд╛рдмреЗрд╕рдХреЛ рдлрд╛рдЗрджрд╛ рдХреЗ рд╣реЛ? рддрдереНрдп рдпреЛ рд╣реЛ рдХрд┐ рддрдкрд╛рдИрд╕рдБрдЧ рдХреБрдиреИ рдкрдирд┐ рд╕рдорд╕реНрдпрд╛рдХреЛ рд╕рд╛рдордирд╛ рдЧрд░реНрдиреЗ рд╕реИрджреНрдзрд╛рдиреНрддрд┐рдХ рдЕрд╡рд╕рд░ рдЫред рддрдкрд╛рдИрдВрд╕рдБрдЧ рд╕реНрд░реЛрдд рдХреЛрдб рдЫ, рддрдкрд╛рдИрдВрд╕рдБрдЧ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рдЬреНрдЮрд╛рди рдЫред рд╣рд╛рдореА рдпрд╕рд▓рд╛рдИ рд╕рдВрдпреЛрдЬрди рдЧрд░реНрдЫреМрдВ рд░ рдпрд╕рд▓реЗ рдХрд╛рдо рдЧрд░реНрдЫред

рд╣рд╛рдореА рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рдХреЗ рд░ рдХрд┐рди рдЧрд░реНрдЫреМрдВред Andrey Borodin (Yandex.Cloud)

рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рд╕рдлреНрдЯрд╡реЗрдпрд░рдорд╛ рдХрд╛рдо рдЧрд░реНрдиреЗ рддрд░рд┐рдХрд╛рд╣рд░реВ рдХреЗ рдХреЗ рдЫрдиреН?

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

рд╣рд╛рдореА рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рдХреЗ рд░ рдХрд┐рди рдЧрд░реНрдЫреМрдВред Andrey Borodin (Yandex.Cloud)

рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рд╕рдлреНрдЯрд╡реЗрдпрд░рдХреЛ рдХреНрд╖реЗрддреНрд░рдорд╛ рд╕рдмреИрднрдиреНрджрд╛ рдкреНрд░рд╕рд┐рджреНрдз Yandex рдкрд░рд┐рдпреЛрдЬрдирд╛рд╣рд░реВ рдордзреНрдпреЗ рдПрдХ рдХреНрд▓рд┐рдХрд╣рд╛рдЙрд╕ рд╣реЛред рдпреЛ рдПрдХ рдбрд╛рдЯрд╛рдмреЗрд╕ рд╣реЛ рдЬреБрди Yandex.Metrica рд╕рд╛рдордирд╛ рдЧрд░реНрдиреЗ рдЪреБрдиреМрддреАрд╣рд░реВрдХреЛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдХреЛ рд░реВрдкрдорд╛ рдЬрдиреНрдорд┐рдПрдХреЛ рдерд┐рдпреЛред

рд░ рдбрд╛рдЯрд╛рдмреЗрд╕рдХреЛ рд░реВрдкрдорд╛, рдпреЛ рдЗрдХреЛрд╕рд┐рд╕реНрдЯрдо рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рд░ рдпрд╕рд▓рд╛рдИ рдЕрдиреНрдп рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВрд╕рдБрдЧ рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрди рдЦреБрд▓рд╛ рд╕реНрд░реЛрддрдорд╛ рдмрдирд╛рдЗрдПрдХреЛ рдерд┐рдпреЛ (рдпрд╛рдиреНрдбреЗрдХреНрд╕ рднрд┐рддреНрд░ рдорд╛рддреНрд░ рд╣реЛрдЗрди)ред рд░ рдЕрдм рдпреЛ рдПрдХ рдареВрд▓реЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реЛ рдЬрд╕рдорд╛ рдзреЗрд░реИ рд╡рд┐рднрд┐рдиреНрди рдХрдореНрдкрдиреАрд╣рд░реВ рд╕рдВрд▓рдЧреНрди рдЫрдиреНред

рд╣рд╛рдореА рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рдХреЗ рд░ рдХрд┐рди рдЧрд░реНрдЫреМрдВред Andrey Borodin (Yandex.Cloud)

Yandex.Cloud рдорд╛, рд╣рд╛рдореАрд▓реЗ Yandex рд╡рд╕реНрддреБ рднрдгреНрдбрд╛рд░рдгрдХреЛ рдорд╛рдерд┐, рдЕрд░реНрдерд╛рддреН рдХреНрд▓рд╛рдЙрдб рднрдгреНрдбрд╛рд░рдгрдХреЛ рд╢реАрд░реНрд╖рдорд╛ ClickHouse рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдпреМрдВред

рд╣рд╛рдореА рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рдХреЗ рд░ рдХрд┐рди рдЧрд░реНрдЫреМрдВред Andrey Borodin (Yandex.Cloud)

рдХреНрд▓рд╛рдЙрдбрдорд╛ рдпреЛ рдХрд┐рди рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдЫ? рдХрд┐рдирднрдиреЗ рдХреБрдиреИ рдкрдирд┐ рдбрд╛рдЯрд╛рдмреЗрд╕рд▓реЗ рдпреЛ рддреНрд░рд┐рдХреЛрдгрдорд╛, рдпреЛ рдкрд┐рд░рд╛рдорд┐рдбрдорд╛, рдореЗрдореЛрд░реА рдкреНрд░рдХрд╛рд░рд╣рд░реВрдХреЛ рдпреЛ рдкрджрд╛рдиреБрдХреНрд░рдордорд╛ рдХрд╛рдо рдЧрд░реНрджрдЫред рддрдкрд╛рдИрдВрд╕рдБрдЧ рдЫрд┐рдЯреЛ рддрд░ рд╕рд╛рдиреЛ рджрд░реНрддрд╛рд╣рд░реВ рд░ рд╕рд╕реНрддреЛ рдареВрд▓рд╛ рддрд░ рдврд┐рд▓реЛ SSDs, рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрднрд╣рд░реВ рд░ рдХреЗрд╣реА рдЕрдиреНрдп рдмреНрд▓рдХ рдЙрдкрдХрд░рдгрд╣рд░реВ рдЫрдиреНред рд░ рдпрджрд┐ рддрдкрд╛рдЗрдБ рдкрд┐рд░рд╛рдорд┐рдбрдХреЛ рд╢реАрд░реНрд╖рдорд╛ рдХреБрд╢рд▓ рд╣реБрдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рддрдкрд╛рдЗрдБрд╕рдБрдЧ рдЫрд┐рдЯреЛ рдбрд╛рдЯрд╛рдмреЗрд╕ рдЫред рдпрджрд┐ рддрдкрд╛рдИрдВ рдпрд╕ рдкрд┐рд░рд╛рдорд┐рдбрдХреЛ рдлреЗрджрдорд╛ рдХреБрд╢рд▓ рд╣реБрдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рддрдкрд╛рдИрдВрд╕рдБрдЧ рд╕реНрдХреЗрд▓ рдЧрд░рд┐рдПрдХреЛ рдбрд╛рдЯрд╛рдмреЗрд╕ рдЫред рд░ рдпрд╕ рд╕рдиреНрджрд░реНрднрдорд╛, рддрд▓рдмрд╛рдЯ рдЕрд░реНрдХреЛ рддрд╣ рдердкреНрдиреБ рднрдиреЗрдХреЛ рдбрд╛рдЯрд╛рдмреЗрд╕рдХреЛ рд╕реНрдХреЗрд▓реЗрдмрд┐рд▓рд┐рдЯреА рдмрдврд╛рдЙрдирдХреЛ рд▓рд╛рдЧрд┐ рддрд╛рд░реНрдХрд┐рдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реЛред

рд╣рд╛рдореА рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рдХреЗ рд░ рдХрд┐рди рдЧрд░реНрдЫреМрдВред Andrey Borodin (Yandex.Cloud)

рдпреЛ рдХрд╕рд░реА рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ? рдпреЛ рдкреНрд░рддрд┐рд╡реЗрджрдирдорд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХреБрд░рд╛ рд╣реЛред

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

рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдкрдорд╛, рд╕рдореНрдкреВрд░реНрдг ClickHouse рдЗрдХреЛрд╕рд┐рд╕реНрдЯрдордорд╛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдЧрд░реНрди рд░ Yandex.Cloud рднрд┐рддреНрд░ рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдп рдЧрд░реНрди рдЪрд╛рд╣рдиреЗ, рд╣рд╛рдореАрд▓реЗ рд╕рдореНрдкреВрд░реНрдг ClickHouse рд╕рдореБрджрд╛рдпрд▓реЗ рдпрд╕рдмрд╛рдЯ рд▓рд╛рднрд╛рдиреНрд╡рд┐рдд рд╣реБрдиреЗ рдХреБрд░рд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдЧрд░реНрдиреЗ рдирд┐рд░реНрдгрдп рдЧрд░реНрдпреМрдВред рд╣рд╛рдореАрд▓реЗ рдХреНрд▓рд┐рдХрд╣рд╛рдЙрд╕рд▓рд╛рдИ S3 рдорд╛ рд▓рд╛рдЧреВ рдЧрд░реНрдпреМрдВ, MDS рдорд╛ рдХреНрд▓рд┐рдХрд╣рд╛рдЙрд╕ рд╣реЛрдЗрдиред рд░ рдпреЛ рдзреЗрд░реИ рдХрд╛рдо рд╣реЛред

рд╣рд╛рдореА рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рдХреЗ рд░ рдХрд┐рди рдЧрд░реНрдЫреМрдВред Andrey Borodin (Yandex.Cloud)

рд╕рдиреНрджрд░реНрднрд╣рд░реВ:

https://github.com/ClickHouse/ClickHouse/pull/7946 "рдлрд╛рдЗрд▓ рдкреНрд░рдгрд╛рд▓реА рдЕрдореВрд░реНрдд рддрд╣"
https://github.com/ClickHouse/ClickHouse/pull/8011 "AWS SDK S3 рдПрдХреАрдХрд░рдг"
https://github.com/ClickHouse/ClickHouse/pull/8649 "S3 рдХреЛ рд▓рд╛рдЧрд┐ IDisk рдЗрдиреНрдЯрд░рдлреЗрд╕ рдХреЛ рдЖрдзрд╛рд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди"
https://github.com/ClickHouse/ClickHouse/pull/8356 "IDisk рдЗрдиреНрдЯрд░рдлреЗрд╕ рд╕рдВрдЧ рд▓рдЧ рднрдгреНрдбрд╛рд░рдг рдЗрдиреНрдЬрд┐рди рдХреЛ рдПрдХреАрдХрд░рдг"
https://github.com/ClickHouse/ClickHouse/pull/8862 "S3 рд░ SeekableReadBuffer рдХреЛ рд▓рд╛рдЧреА рд▓рдЧ рдЗрдиреНрдЬрд┐рди рд╕рдорд░реНрдерди"
https://github.com/ClickHouse/ClickHouse/pull/9128 "рднрдгреНрдбрд╛рд░рдг рд╕реНрдЯреНрд░рд╛рдЗрдк рд▓рдЧ S3 рд╕рдорд░реНрдерди"
https://github.com/ClickHouse/ClickHouse/pull/9415 "S3 рдХреЛ рд▓рд╛рдЧрд┐ рднрдгреНрдбрд╛рд░рдг MergeTree рдкреНрд░рд╛рд░рдореНрднрд┐рдХ рд╕рдорд░реНрдерди"
https://github.com/ClickHouse/ClickHouse/pull/9646 "S3 рдХреЛ рд▓рд╛рдЧрд┐ рдорд░реНрдЬрдЯреНрд░реА рдкреВрд░реНрдг рд╕рдорд░реНрдерди"
https://github.com/ClickHouse/ClickHouse/pull/10126 "S3 рдорд╛ ReplicatedMergeTree рд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрдиреБрд╣реЛрд╕реН"
https://github.com/ClickHouse/ClickHouse/pull/11134 "s3 рднрдгреНрдбрд╛рд░рдгрдХреЛ рд▓рд╛рдЧрд┐ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдкреНрд░рдорд╛рдгрд╣рд░реВ рд░ рдЕрдиреБрдХреВрд▓рди рд╣реЗрдбрд░рд╣рд░реВ рдердкреНрдиреБрд╣реЛрд╕реН"
https://github.com/ClickHouse/ClickHouse/pull/10576 "рдЧрддрд┐рд╢реАрд▓ рдкреНрд░реЛрдХреНрд╕реА рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирдХреЛ рд╕рд╛рде S3"
https://github.com/ClickHouse/ClickHouse/pull/10744 "рдкреНрд░реЛрдХреНрд╕реА рд╕рдорд╛рдзрд╛рдирдХрд░реНрддрд╛ рд╕рдВрдЧ S3"

рдпреЛ ClickHouse рдорд╛ рднрд░реНрдЪреБрдЕрд▓ рдлрд╛рдЗрд▓ рдкреНрд░рдгрд╛рд▓реА рд▓рд╛рдЧреВ рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рд╕реВрдЪреА рд╣реЛред рдпреЛ рдкреБрд▓ рдЕрдиреБрд░реЛрдзрд╣рд░реВрдХреЛ рдареВрд▓реЛ рд╕рдВрдЦреНрдпрд╛ рд╣реЛред

рд╣рд╛рдореА рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рдХреЗ рд░ рдХрд┐рди рдЧрд░реНрдЫреМрдВред Andrey Borodin (Yandex.Cloud)

рд╕рдиреНрджрд░реНрднрд╣рд░реВ:

https://github.com/ClickHouse/ClickHouse/pull/9760 "DiskS3 рд╣рд╛рд░реНрдбрд▓рд┐рдЩреНрдХ рдЗрд╖реНрдЯрддрдо рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди"
https://github.com/ClickHouse/ClickHouse/pull/11522 "S3 HTTP рдХреНрд▓рд╛рдЗрдиреНрдЯ - рдореЗрдореЛрд░реАрдорд╛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕реНрдЯреНрд░рд┐рдо рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдирдЧрд░реНрдиреБрд╣реЛрд╕реН"
https://github.com/ClickHouse/ClickHouse/pull/11561 "S3 HTTP рдорд╛ рдореЗрдореЛрд░реАрдорд╛ рд╕рдореНрдкреВрд░реНрдг рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕реНрдЯреНрд░рд┐рдо рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдЧрд░реНрдирдмрд╛рдЯ рдмрдЪреНрдиреБрд╣реЛрд╕реН
рдЧреНрд░рд╛рд╣рдХ"
https://github.com/ClickHouse/ClickHouse/pull/13076 "S3 рдбрд┐рд╕реНрдХрдХреЛ рд▓рд╛рдЧрд┐ рдХреНрдпрд╛рд╕ рдорд╛рд░реНрдХ рд░ рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдлрд╛рдЗрд▓рд╣рд░реВрдХреЛ рдХреНрд╖рдорддрд╛"
https://github.com/ClickHouse/ClickHouse/pull/13459 "DiskLocal рдмрд╛рдЯ DiskS3 рдорд╛ рд╕рдорд╛рдирд╛рдиреНрддрд░ рднрд╛рдЧрд╣рд░реВ рд╕рд╛рд░реНрдиреБрд╣реЛрд╕реН"

рддрд░ рдХрд╛рдо рддреНрдпрд╣рд╛рдБ рд╕рдорд╛рдкреНрдд рднрдПрдиред рд╕реБрд╡рд┐рдзрд╛ рдмрдирд╛рдЗрдПрдкрдЫрд┐, рдпреЛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЕрдиреБрдХреВрд▓рди рдЧрд░реНрди рдХреЗрд╣реА рдердк рдХрд╛рдо рдЖрд╡рд╢реНрдпрдХ рдерд┐рдпреЛред

рд╣рд╛рдореА рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рдХреЗ рд░ рдХрд┐рди рдЧрд░реНрдЫреМрдВред Andrey Borodin (Yandex.Cloud)

рд╕рдиреНрджрд░реНрднрд╣рд░реВ:

https://github.com/ClickHouse/ClickHouse/pull/12638 "SelectedRows рд░ SelectedBytes рдШрдЯрдирд╛рд╣рд░реВ рдердкреНрдиреБрд╣реЛрд╕реН"
https://github.com/ClickHouse/ClickHouse/pull/12464 "S3 рдЕрдиреБрд░реЛрдзрдмрд╛рдЯ system.events рдорд╛ рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдЩ рдШрдЯрдирд╛рд╣рд░реВ рдердкреНрдиреБрд╣реЛрд╕реН"
https://github.com/ClickHouse/ClickHouse/pull/13028 "QueryTimeMicroseconds, SelectQueryTimeMicroseconds рд░ InsertQueryTimeMicroseconds рдердкреНрдиреБрд╣реЛрд╕реН"

рд░ рддреНрдпрд╕рдкрдЫрд┐ рдпрд╕рд▓рд╛рдИ рдирд┐рджрд╛рди рдпреЛрдЧреНрдп рдмрдирд╛рдЙрди, рдЕрдиреБрдЧрдорди рд╕реЗрдЯ рдЕрдк рд░ рдпрд╕рд▓рд╛рдИ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдмрдирд╛рдЙрди рдЖрд╡рд╢реНрдпрдХ рдерд┐рдпреЛред

рд░ рдпреЛ рд╕рдмреИ рдЧрд░рд┐рдпреЛ рддрд╛рдХрд┐ рд╕рдореНрдкреВрд░реНрдг рд╕рдореБрджрд╛рдп, рд╕рдореНрдкреВрд░реНрдг рдХреНрд▓рд┐рдХрд╣рд╛рдЙрд╕ рдЗрдХреЛрд╕рд┐рд╕реНрдЯрдорд▓реЗ рдпрд╕ рдХрд╛рд░реНрдпрдХреЛ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдпреЛред

рд╣рд╛рдореА рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рдХреЗ рд░ рдХрд┐рди рдЧрд░реНрдЫреМрдВред Andrey Borodin (Yandex.Cloud)

рд▓реЗрдирджреЗрди рдбреЗрдЯрд╛рдмреЗрд╕рд╣рд░реВрдорд╛, OLTP рдбреЗрдЯрд╛рдмреЗрд╕рд╣рд░реВрдорд╛ рдЬрд╛рдиреБрд╣реЛрд╕реН, рдЬреБрди рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдкрдорд╛ рдореЗрд░реЛ рдирдЬрд┐рдХ рдЫред

рд╣рд╛рдореА рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рдХреЗ рд░ рдХрд┐рди рдЧрд░реНрдЫреМрдВред Andrey Borodin (Yandex.Cloud)

рдпреЛ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд DBMS рд╡рд┐рдХрд╛рд╕ рд╡рд┐рднрд╛рдЬрди рд╣реЛред рдпреА рдХреЗрдЯрд╛рд╣рд░реВрд▓реЗ рд▓реЗрдирджреЗрди рдЦреБрд▓рд╛ рдбрд╛рдЯрд╛рдмреЗрд╕рд╣рд░реВ рд╕реБрдзрд╛рд░ рдЧрд░реНрди рд╕рдбрдХ рдЬрд╛рджреВ рдЧрд░рд┐рд░рд╣реЗрдХрд╛ рдЫрдиреНред

рд╣рд╛рдореА рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рдХреЗ рд░ рдХрд┐рди рдЧрд░реНрдЫреМрдВред Andrey Borodin (Yandex.Cloud)

рдПрдЙрдЯрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ, рдЬрд╕рдХреЛ рдЙрджрд╛рд╣рд░рдг рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд╣рд╛рдореА рдХрд╕рд░реА рд░ рдХреЗ рдЧрд░реНрдЫреМрдВ рднрдиреНрдиреЗ рдмрд╛рд░реЗ рдХреБрд░рд╛ рдЧрд░реНрди рд╕рдХреНрдЫреМрдВ, рдкреЛрд╕реНрдЯрдЧреНрд░реЗрд╕рдорд╛ рдЬрдбрд╛рди рдкреВрд▓рд░ рд╣реЛред

Postgres рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдбрд╛рдЯрд╛рдмреЗрд╕ рд╣реЛред рдпрд╕рдХреЛ рдорддрд▓рдм рдпреЛ рд╣реЛ рдХрд┐ рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рд▓реЗрдирджреЗрди рд╣реНрдпрд╛рдиреНрдбрд▓ рдЧрд░реНрдиреЗ рд╕рдХреЗрд╕рдореНрдо рдХрдо рдиреЗрдЯрд╡рд░реНрдХ рдЬрдбрд╛рдирд╣рд░реВ рд╣реБрдиреБрдкрд░реНрдЫред

рдЕрд░реНрдХреЛрддрд░реНрдл, рдХреНрд▓рд╛рдЙрдб рд╡рд╛рддрд╛рд╡рд░рдгрдорд╛, рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдЕрд╡рд╕реНрдерд╛ рд╣реЛ рдЬрдм рд╣рдЬрд╛рд░реМрдВ рдЬрдбрд╛рдирд╣рд░реВ рдПрдХреИ рдкрдЯрдХрдорд╛ рдПрдХ рдХреНрд▓рд╕реНрдЯрд░рдорд╛ рдЖрдЙрдБрдЫрдиреНред рд░ рдЬрдбрд╛рди рдкреВрд▓рд░рдХреЛ рдХрд╛рд░реНрдп рдПрдХ рд╣рдЬрд╛рд░ рдЬрдбрд╛рдирд╣рд░реВ рдереЛрд░реИ рд╕рдВрдЦреНрдпрд╛рдорд╛ рд╕рд░реНрднрд░ рдЬрдбрд╛рдирд╣рд░реВрдорд╛ рдкреНрдпрд╛рдХ рдЧрд░реНрдиреБ рд╣реЛред

рд╣рд╛рдореА рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рдХреЗ рд░ рдХрд┐рди рдЧрд░реНрдЫреМрдВред Andrey Borodin (Yandex.Cloud)

рд╣рд╛рдореА рднрдиреНрди рд╕рдХреНрдЫреМрдВ рдХрд┐ рдЬрдбрд╛рди рдкреВрд▓рд░ рдЯреЗрд▓рд┐рдлреЛрди рдЕрдкрд░реЗрдЯрд░ рд╣реЛ рдЬрд╕рд▓реЗ рдмрд╛рдЗрдЯрд╣рд░реВ рдкреБрди: рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЧрд░реНрджрдЫ рддрд╛рдХрд┐ рддрд┐рдиреАрд╣рд░реВ рдХреБрд╢рд▓рддрд╛рдкреВрд░реНрд╡рдХ рдбреЗрдЯрд╛рдмреЗрд╕рдорд╛ рдкреБрдЧреНрдЫрдиреНред

рджреБрд░реНрднрд╛рдЧреНрдпрд╡рд╢, рдЬрдбрд╛рди рдкреВрд▓рд░ рдХреЛ рд▓рд╛рдЧреА рдХреБрдиреИ рд░рд╛рдореНрд░реЛ рд░реВрд╕реА рд╢рдмреНрдж рдЫреИрдиред рдХрд╣рд┐рд▓реЗрдХрд╛рд╣реАрдБ рдпрд╕рд▓рд╛рдИ рдорд▓реНрдЯрд┐рдкреНрд▓реЗрдХреНрд╕рд░ рдЬрдбрд╛рдирд╣рд░реВ рднрдирд┐рдиреНрдЫред рдпрджрд┐ рддрдкрд╛рдЗрдБ рдЬрд╛рдиреНрдиреБрд╣реБрдиреНрдЫ рдХрд┐ рдЬрдбрд╛рди рдкреВрд▓рд░ рдХреЗ рднрдирд┐рдиреНрдЫ, рддреНрдпрд╕рдкрдЫрд┐ рдорд▓рд╛рдИ рдмрддрд╛рдЙрди рдирд┐рд╢реНрдЪрд┐рдд рд╣реБрдиреБрд╣реЛрд╕реН, рдо рд╕рд╣реА рд░реВрд╕реА рдкреНрд░рд╛рд╡рд┐рдзрд┐рдХ рднрд╛рд╖рд╛ рдмреЛрд▓реНрди рдзреЗрд░реИ рдЦреБрд╕реА рд╣реБрдиреЗрдЫреБред

рд╣рд╛рдореА рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рдХреЗ рд░ рдХрд┐рди рдЧрд░реНрдЫреМрдВред Andrey Borodin (Yandex.Cloud)

https://pgconf.ru/2017/92899

рд╣рд╛рдореАрд▓реЗ рдЬрдбрд╛рди рдкреВрд▓рд░рд╣рд░реВ рдЫрд╛рдиреНрдпреМрдВ рдЬреБрди рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдкреЛрд╕реНрдЯрдЧреНрд░реЗрд╕ рдХреНрд▓рд╕реНрдЯрд░рдХреЛ рд▓рд╛рдЧрд┐ рдЙрдкрдпреБрдХреНрдд рдерд┐рдпреЛред рд░ PgBouncer рд╣рд╛рдореНрд░реЛ рд▓рд╛рдЧрд┐ рдЙрддреНрддрдо рд╡рд┐рдХрд▓реНрдк рдерд┐рдпреЛред рддрд░ рд╣рд╛рдореАрд▓реЗ PgBouncer рд╕рдБрдЧ рдзреЗрд░реИ рд╕рдорд╕реНрдпрд╛рд╣рд░реВрдХреЛ рд╕рд╛рдордирд╛ рдЧрд░реНрдпреМрдВред рдзреЗрд░реИ рд╡рд░реНрд╖ рдкрд╣рд┐рд▓реЗ, Volodya Borodin рд▓реЗ рд░рд┐рдкреЛрд░реНрдЯ рджрд┐рдП рдХрд┐ рд╣рд╛рдореА PgBouncer рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдЫреМрдВ, рд╣рд╛рдореАрд▓рд╛рдИ рд╕рдмреИ рдХреБрд░рд╛ рдордирдкрд░реНрдЫ, рддрд░ рддреНрдпрд╣рд╛рдБ рдмрд╛рд░реАрдХрддрд╛рд╣рд░реВ рдЫрдиреН, рддреНрдпрд╣рд╛рдБ рдХрд╛рдо рдЧрд░реНрди рдХреЗрд╣рд┐ рдЫред

рд╣рд╛рдореА рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рдХреЗ рд░ рдХрд┐рди рдЧрд░реНрдЫреМрдВред Andrey Borodin (Yandex.Cloud)

https://pgconf.ru/media/2017/04/03/20170316H1_V.Borodin.pdf

рд░ рд╣рд╛рдореАрд▓реЗ рдХрд╛рдо рдЧрд░реНрдпреМрдВред рд╣рд╛рдореАрд▓реЗ рд╕рд╛рдордирд╛ рдЧрд░реЗрдХрд╛ рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрдпреМрдВ, рд╣рд╛рдореАрд▓реЗ рдмрд╛рдЙрдиреНрд╕рд░рд▓рд╛рдИ рдкреНрдпрд╛рдЪ рдЧрд░реНрдпреМрдВ, рд░ рдкреБрд▓ рдЕрдиреБрд░реЛрдзрд╣рд░реВрд▓рд╛рдИ рдорд╛рдерд┐рддрд┐рд░ рдзрдХреЗрд▓реНрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрдпреМрдВред рддрд░ рдЖрдзрд╛рд░рднреВрдд рдПрдХрд▓-рдереНрд░реЗрдбрд┐рдЩрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрди рдЧрд╛рд╣реНрд░реЛ рдерд┐рдпреЛред

рд╣рд╛рдореАрд▓реЗ рдкреНрдпрд╛рдЪ рдЧрд░рд┐рдПрдХреЛ рдмрд╛рдЙрдиреНрд╕рд░рд╣рд░реВрдмрд╛рдЯ рдХреНрдпрд╛рд╕реНрдХреЗрдбрд╣рд░реВ рд╕рдЩреНрдХрд▓рди рдЧрд░реНрдиреБрдкрд░реНтАНрдпреЛред рдЬрдм рд╣рд╛рдореАрд╕рдБрдЧ рдзреЗрд░реИ рдПрдХрд▓-рдереНрд░реЗрдбреЗрдб рдмрд╛рдЙрдиреНрд╕рд░рд╣рд░реВ рд╣реБрдиреНрдЫрдиреН, рд╢реАрд░реНрд╖ рддрд╣рдорд╛ рдЬрдбрд╛рдирд╣рд░реВ рдмрд╛рдЙрдиреНрд╕рд░рд╣рд░реВрдХреЛ рднрд┐рддреНрд░реА рддрд╣рдорд╛ рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг рд╣реБрдиреНрдЫрдиреНред рдпреЛ рдПрдХ рдЦрд░рд╛рдм рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдкреНрд░рдгрд╛рд▓реА рд╣реЛ рдЬреБрди рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрди рд░ рдкрдЫрд╛рдбрд┐ рдорд╛рдкрди рдЧрд░реНрди рдЧрд╛рд╣реНрд░реЛ рдЫред

рд╣рд╛рдореА рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рдХреЗ рд░ рдХрд┐рди рдЧрд░реНрдЫреМрдВред Andrey Borodin (Yandex.Cloud)

рд╣рд╛рдореА рдирд┐рд╖реНрдХрд░реНрд╖рдорд╛ рдкреБрдЧреНрдпреМрдВ рдХрд┐ рд╣рд╛рдореАрд▓реЗ рд╣рд╛рдореНрд░реЛ рдЖрдлреНрдиреИ рдЬрдбрд╛рди рдкреВрд▓рд░ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдпреМрдВ, рдЬрд╕рд▓рд╛рдИ рдУрдбрд┐рд╕реА рднрдирд┐рдиреНрдЫред рд╣рд╛рдореАрд▓реЗ рдпрд╕рд▓рд╛рдИ рд╕реНрдХреНрд░реНрдпрд╛рдЪрдмрд╛рдЯ рд▓реЗрдЦреНрдпреМрдВред

рд╣рд╛рдореА рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рдХреЗ рд░ рдХрд┐рди рдЧрд░реНрдЫреМрдВред Andrey Borodin (Yandex.Cloud)

https://www.pgcon.org/2019/schedule/events/1312.en.html

2019 рдорд╛, PgCon рд╕рдореНрдореЗрд▓рдирдорд╛, рдореИрд▓реЗ рдпреЛ рдкреВрд▓рд░ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛ рд╕рдореБрджрд╛рдпрдорд╛ рдкреНрд░рд╕реНрддреБрдд рдЧрд░реЗрдВред рдЕрдм рд╣рд╛рдореАрд╕рдБрдЧ GitHub рдорд╛ 2 рднрдиреНрджрд╛ рдХрдо рддрд╛рд░рд╛рд╣рд░реВ рдЫрдиреН, рдЕрд░реНрдерд╛рддреН рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЬреАрд╡рд┐рдд рдЫ, рдкрд░рд┐рдпреЛрдЬрдирд╛ рд▓реЛрдХрдкреНрд░рд┐рдп рдЫред

рд░ рдпрджрд┐ рддрдкрд╛рдИрдВрд▓реЗ Yandex.Cloud рдорд╛ Postgres рдХреНрд▓рд╕реНрдЯрд░ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреБрднрдпреЛ рднрдиреЗ, рддреНрдпрд╕рдкрдЫрд┐ рдпреЛ рдмрд┐рд▓реНрдЯ-рдЗрди Odyssey рднрдПрдХреЛ рдХреНрд▓рд╕реНрдЯрд░ рд╣реБрдиреЗрдЫ, рдЬреБрди рдХреНрд▓рд╕реНрдЯрд░рд▓рд╛рдИ рдкрдЫрд╛рдбрд┐ рд╡рд╛ рдкрдЫрд╛рдбрд┐ рд╕реНрдХреЗрд▓ рдЧрд░реНрджрд╛ рдкреБрди: рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░рд┐рдиреНрдЫред

рд╣рд╛рдореА рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рдХреЗ рд░ рдХрд┐рди рдЧрд░реНрдЫреМрдВред Andrey Borodin (Yandex.Cloud)

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

PgBouncer рдЫрд┐рдЯреЛ рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрди рдерд╛рд▓реЗред

рд░ рдЕрдм рдЕрдиреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛рд╣рд░реВ рджреЗрдЦрд╛ рдкрд░реЗрдХрд╛ рдЫрдиреНред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, pgagroal, рдЬреБрди Red Hat рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВрджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд рдЧрд░рд┐рдПрдХреЛ рд╣реЛред рддрд┐рдиреАрд╣рд░реВ рд╕рдорд╛рди рд▓рдХреНрд╖реНрдпрд╣рд░реВ рдкрдЫреНрдпрд╛рдЙрдБрдЫрдиреН рд░ рд╕рдорд╛рди рд╡рд┐рдЪрд╛рд░рд╣рд░реВ рд▓рд╛рдЧреВ рдЧрд░реНрдЫрдиреН, рддрд░ рдирд┐рд╕реНрд╕рдиреНрджреЗрд╣, рддрд┐рдиреАрд╣рд░реВрдХреЛ рдЖрдлреНрдиреИ рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛рд╣рд░реВрд╕рдБрдЧ, рдЬреБрди pgagroal рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВрдХреЛ рдирдЬрд┐рдХ рдЫред

рд╣рд╛рдореА рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рдХреЗ рд░ рдХрд┐рди рдЧрд░реНрдЫреМрдВред Andrey Borodin (Yandex.Cloud)

рдкреЛрд╕реНрдЯрдЧреНрд░реЗрд╕ рд╕рдореБрджрд╛рдпрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрдиреЗ рдЕрд░реНрдХреЛ рдХреЗрд╕ рд╕рдордпрдХреЛ рдПрдХ рдмрд┐рдиреНрджреБрдорд╛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рд╣реБрдБрджреИрдЫред рдпреЛ рдЕрд╕рдлрд▓рддрд╛ рдкрдЫрд┐ рд░рд┐рдХрднрд░реА рд╣реЛ, рдпреЛ рдмреНрдпрд╛рдХрдЕрдкрдмрд╛рдЯ рд░рд┐рдХрднрд░реА рд╣реЛред

рд╣рд╛рдореА рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рдХреЗ рд░ рдХрд┐рди рдЧрд░реНрдЫреМрдВред Andrey Borodin (Yandex.Cloud)

рддреНрдпрд╣рд╛рдБ рдзреЗрд░реИ рдмреНрдпрд╛рдХрдЕрдкрд╣рд░реВ рдЫрдиреН рд░ рддрд┐рдиреАрд╣рд░реВ рд╕рдмреИ рдлрд░рдХ рдЫрдиреНред рд▓рдЧрднрдЧ рд╣рд░реЗрдХ Postgres рд╡рд┐рдХреНрд░реЗрддрд╛рдХреЛ рдЖрдлреНрдиреИ рдмреНрдпрд╛рдХрдЕрдк рд╕рдорд╛рдзрд╛рди рдЫред

рдпрджрд┐ рддрдкрд╛рдЗрдБ рд╕рдмреИ рдмреНрдпрд╛рдХрдЕрдк рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВ рд▓рд┐рдиреБрднрдпреЛ рднрдиреЗ, рдПрдХ рд╕реБрд╡рд┐рдзрд╛ рдореНрдпрд╛рдЯреНрд░рд┐рдХреНрд╕ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН рд░ рдордЬрд╛рдХ рдЧрд░реНрджреИ рдпреЛ рдореНрдпрд╛рдЯреНрд░рд┐рдХреНрд╕рдорд╛ рдирд┐рд░реНрдзрд╛рд░рдХ рдЧрдгрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН, рдпреЛ рд╢реВрдиреНрдп рд╣реБрдиреЗрдЫред рдпрд╕рдХреЛ рдорддрд▓рдм рдХреЗ рд╣реЛ? рдпрджрд┐ рддрдкрд╛рдЗрдБ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдмреНрдпрд╛рдХрдЕрдк рдлрд╛рдЗрд▓ рд▓рд┐рдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рддреНрдпрд╕рдкрдЫрд┐ рдпреЛ рд╕рдмреИ рдЕрдиреНрдп рдХреЛ рдЯреБрдХреНрд░рд╛рд╣рд░реБ рдмрд╛рдЯ рднреЗрд▓рд╛ рдЧрд░реНрди рд╕рдХрд┐рджреИрдиред рдпреЛ рдпрд╕рдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдорд╛ рдЕрджреНрд╡рд┐рддреАрдп рдЫ, рдпреЛ рдпрд╕рдХреЛ рдЙрджреНрджреЗрд╢реНрдпрдорд╛ рдЕрджреНрд╡рд┐рддреАрдп рдЫ, рдпреЛ рдпрд╕рдорд╛ рд╕рдореНрдорд┐рд▓рд┐рдд рд╡рд┐рдЪрд╛рд░рд╣рд░реВрдорд╛ рдЕрджреНрд╡рд┐рддреАрдп рдЫред рд░ рддрд┐рдиреАрд╣рд░реВ рд╕рдмреИ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЫрдиреНред

рд╣рд╛рдореА рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рдХреЗ рд░ рдХрд┐рди рдЧрд░реНрдЫреМрдВред Andrey Borodin (Yandex.Cloud)

https://www.citusdata.com/blog/2017/08/18/introducing-wal-g-faster-restores-for-postgres/

рд╣рд╛рдореАрд▓реЗ рдпрд╕ рдореБрджреНрджрд╛рдорд╛ рдХрд╛рдо рдЧрд░рд┐рд░рд╣реЗрдХреЛ рдмреЗрд▓рд╛, CitusData рд▓реЗ WAL-G рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реБрд░реБ рдЧрд░реНтАНрдпреЛред рдпреЛ рдПрдХ рдмреНрдпрд╛рдХрдЕрдк рдкреНрд░рдгрд╛рд▓реА рд╣реЛ рдЬреБрди рдХреНрд▓рд╛рдЙрдб рд╡рд╛рддрд╛рд╡рд░рдгрдорд╛ рдЖрдБрдЦрд╛ рд░рд╛рдЦреЗрд░ рдмрдирд╛рдЗрдПрдХреЛ рдерд┐рдпреЛред рдЕрдм CitusData рдкрд╣рд┐рд▓реЗ рдиреИ Microsoft рдХреЛ рднрд╛рдЧ рд╣реЛред рд░ рддреНрдпреЛ рдХреНрд╖рдгрдорд╛, рд╣рд╛рдореАрд▓реЗ WAL-G рдХреЛ рдкреНрд░рд╛рд░рдореНрднрд┐рдХ рд░рд┐рд▓реАрдЬрд╣рд░реВрдорд╛ рд░рд╛рдЦрд┐рдПрдХрд╛ рд╡рд┐рдЪрд╛рд░рд╣рд░реВ рдорди рдкрд░рд╛рдПрдХрд╛ рдерд┐рдпреМрдВред рд░ рд╣рд╛рдореАрд▓реЗ рдпреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛рдорд╛ тАЛтАЛрдпреЛрдЧрджрд╛рди рдЧрд░реНрди рдерд╛рд▓реНрдпреМрдВред

рд╣рд╛рдореА рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рдХреЗ рд░ рдХрд┐рди рдЧрд░реНрдЫреМрдВред Andrey Borodin (Yandex.Cloud)

https://github.com/wal-g/wal-g/graphs/contributors

рдЕрдм рдпрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛рдорд╛ тАЛтАЛрдзреЗрд░реИ рджрд░реНрдЬрди рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВ рдЫрдиреН, рддрд░ WAL-G рдорд╛ рд╢реАрд░реНрд╖ 10 рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛рд╣рд░реВ 6 Yandexoids рд╕рдорд╛рд╡реЗрд╢ рдЫрдиреНред рд╣рд╛рдореАрд▓реЗ рд╣рд╛рдореНрд░рд╛ рдзреЗрд░реИ рд╡рд┐рдЪрд╛рд░рд╣рд░реВ рддреНрдпрд╣рд╛рдБ рд▓реНрдпрд╛рдПрдХрд╛ рдЫреМрдВред рд░, рдирд┐рд╕реНрд╕рдиреНрджреЗрд╣, рд╣рд╛рдореАрд▓реЗ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдЖрдлреИрдВ рд▓рд╛рдЧреВ рдЧрд░реНрдпреМрдВ, рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдЖрдлреИрдВрд▓реЗ рдкрд░реАрдХреНрд╖рдг рдЧрд░реНтАНрдпреМрдВ, рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдЙрддреНрдкрд╛рджрдирдорд╛ рдЖрдлреИрдВ рд░реЛрд▓ рдЖрдЙрдЯ рдЧрд░реНрдпреМрдВ, рд╣рд╛рдореА рдЖрдлреИрдВ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдЫреМрдВ, рд╣рд╛рдореА рдЖрдлреИрдВрд▓реЗ рдареВрд▓реЛ WAL-G рд╕рдореБрджрд╛рдпрд╕рдБрдЧ рдЕрдиреНрддрд░реНрдХреНрд░рд┐рдпрд╛ рдЧрд░реНрджрд╛, рдЕрд░реНрдХреЛ рдард╛рдЙрдБрдорд╛ рдЬрд╛рдиреЗ рднрдиреЗрд░ рдкрддреНрддрд╛ рд▓рдЧрд╛рдЙрдБрдЫреМрдВред

рд╣рд╛рдореА рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рдХреЗ рд░ рдХрд┐рди рдЧрд░реНрдЫреМрдВред Andrey Borodin (Yandex.Cloud)

рд░ рд╣рд╛рдореНрд░реЛ рджреГрд╖реНрдЯрд┐рдХреЛрдгрдмрд╛рдЯ, рдЕрдм рдпреЛ рдмреНрдпрд╛рдХрдЕрдк рдкреНрд░рдгрд╛рд▓реА, рд╣рд╛рдореНрд░рд╛ рдкреНрд░рдпрд╛рд╕рд╣рд░реВрд▓рд╛рдИ рдзреНрдпрд╛рдирдорд╛ рд░рд╛рдЦреНрджреИ, рдХреНрд▓рд╛рдЙрдб рд╡рд╛рддрд╛рд╡рд░рдгрдХреЛ рд▓рд╛рдЧрд┐ рдЗрд╖реНрдЯрддрдо рднрдПрдХреЛ рдЫред рдпреЛ рдХреНрд▓рд╛рдЙрдбрдорд╛ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрд╕ рдмреНрдпрд╛рдХрдЕрдк рдЧрд░реНрдиреЗ рдЙрддреНрддрдо рд▓рд╛рдЧрдд рд╣реЛред

рдпрд╕рдХреЛ рдорддрд▓рдм рдХреЗ рд╣реЛ? рд╣рд╛рдореАрд▓реЗ рдПрдХрджрдореИ рдареВрд▓реЛ рд╡рд┐рдЪрд╛рд░рд▓рд╛рдИ рдкреНрд░рд╡рд░реНрджреНрдзрди рдЧрд░рд┐рд░рд╣реЗрдХрд╛ рдерд┐рдпреМрдВ: рдмреНрдпрд╛рдХрдЕрдк рд╕реБрд░рдХреНрд╖рд┐рдд, рд╕рдЮреНрдЪрд╛рд▓рди рдЧрд░реНрди рд╕рд╕реНрддреЛ рд░ рдкреБрдирд░реНрд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрди рд╕рдХреЗрд╕рдореНрдо рдЫрд┐рдЯреЛ рд╣реБрдиреБрдкрд░реНрдЫред

рдХрд┐рди рд╕рдЮреНрдЪрд╛рд▓рди рдЧрд░реНрди рд╕рд╕реНрддреЛ рд╣реБрдиреБрдкрд░реНрдЫ? рдЬрдм рдХреЗрд╣рд┐ рдмрд┐рдЧреНрд░рд┐рдПрдХреЛ рдЫреИрди, рддрдкрд╛рдИрд▓рд╛рдИ рдерд╛рд╣рд╛ рдЫреИрди рдХрд┐ рддрдкрд╛рдИрд╕рдБрдЧ рдмреНрдпрд╛рдХрдЕрдк рдЫред рд╕рдмреИ рдХреБрд░рд╛ рд░рд╛рдореНрд░рд░реА рдХрд╛рдо рдЧрд░реНрджрдЫ, рддрдкрд╛рдИрдВрд▓реЗ рд╕рдХреЗрд╕рдореНрдо рдереЛрд░реИ CPU рдЦреЗрд░ рдлрд╛рд▓реНрдиреБрд╣реБрдиреНрдЫ, рддрдкрд╛рдИрдВрд▓реЗ рд╕рдХреЗрд╕рдореНрдо рдЖрдлреНрдиреЛ рдбрд┐рд╕реНрдХ рд╕реНрд░реЛрддрд╣рд░реВрдХреЛ рдереЛрд░реИ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реБрдиреНрдЫ, рд░ рддрдкрд╛рдИрдВрд▓реЗ рд╕рдореНрднрд╡ рднрдПрд╕рдореНрдо рдиреЗрдЯрд╡рд░реНрдХрдорд╛ рдереЛрд░реИ рдмрд╛рдЗрдЯрд╣рд░реВ рдкрдард╛рдЙрдиреБрд╣реБрдиреНрдЫ рддрд╛рдХрд┐ рддрдкрд╛рдИрдВрдХреЛ рдмрд╣реБрдореВрд▓реНрдп рд╕реЗрд╡рд╛рд╣рд░реВрдХреЛ рдкреЗрд▓реЛрдбрдорд╛ рд╣рд╕реНрддрдХреНрд╖реЗрдк рдирдЧрд░реНрдиреБрд╣реЛрд╕реНред

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

рд░ рд╣рд╛рдореАрд▓реЗ рдпреЛ рд╕рд░рд▓ рд╡рд┐рдЪрд╛рд░рд▓рд╛рдИ рдмрдврд╛рд╡рд╛ рджрд┐рдпреМрдВред рд░, рдпреЛ рд╣рд╛рдореАрд▓рд╛рдИ рд▓рд╛рдЧреНрджрдЫ, рд╣рд╛рдореАрд▓реЗ рдпрд╕рд▓рд╛рдИ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрди рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЧрд░реНрдпреМрдВред

рд╣рд╛рдореА рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рдХреЗ рд░ рдХрд┐рди рдЧрд░реНрдЫреМрдВред Andrey Borodin (Yandex.Cloud)

рддрд░ рдпрддрд┐ рдорд╛рддреНрд░ рд╣реЛрдЗрдиред рд╣рд╛рдореАрд▓реЗ рдЕрд░реНрдХреЛ рдПрдЙрдЯрд╛ рд╕рд╛рдиреЛ рдХреБрд░рд╛ рдЪрд╛рд╣рд┐рдпреЛред рд╣рд╛рдореАрд▓реЗ рдзреЗрд░реИ рдлрд░рдХ рдбрд╛рдЯрд╛рдмреЗрд╕ рдЪрд╛рд╣рдиреНрдереНрдпреМрдВред рд╣рд╛рдореНрд░рд╛ рд╕рдмреИ рдЧреНрд░рд╛рд╣рдХрд╣рд░реВрд▓реЗ Postgres рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИрдирдиреНред рдХреЗрд╣реА рдорд╛рдирд┐рд╕рд╣рд░реВ MySQL, MongoDB рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдЫрдиреНред рд╕рдореБрджрд╛рдпрдорд╛, рдЕрдиреНрдп рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВрд▓реЗ FoundationDB рд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реЗрдХрд╛ рдЫрдиреНред рд░ рдпреЛ рд╕реВрдЪреА рд▓рдЧрд╛рддрд╛рд░ рд╡рд┐рд╕реНрддрд╛рд░ рднрдЗрд░рд╣реЗрдХреЛ рдЫред

рд╕рдореБрджрд╛рдпрд▓реЗ рдХреНрд▓рд╛рдЙрдбрдорд╛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рд╡рд╛рддрд╛рд╡рд░рдгрдорд╛ рдбрд╛рдЯрд╛рдмреЗрд╕ рдЪрд▓рд╛рдЙрдиреЗ рд╡рд┐рдЪрд╛рд░ рдорди рдкрд░рд╛рдЙрдБрдЫред рд░ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВрд▓реЗ рдЙрдиреАрд╣рд░реВрдХреЛ рдбрд╛рдЯрд╛рдмреЗрд╕рд╣рд░реВ рдХрд╛рдпрдо рд░рд╛рдЦреНрдЫрдиреН, рдЬреБрди рд╣рд╛рдореНрд░реЛ рдмреНрдпрд╛рдХрдЕрдк рдкреНрд░рдгрд╛рд▓реАрдХреЛ рд╕рд╛рде Postgres рд╕рдБрдЧ рд╕рдорд╛рди рд░реВрдкрдорд╛ рдмреНрдпрд╛рдХрдЕрдк рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред

рд╣рд╛рдореА рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рдХреЗ рд░ рдХрд┐рди рдЧрд░реНрдЫреМрдВред Andrey Borodin (Yandex.Cloud)

рдпреЛ рдХрдерд╛рдмрд╛рдЯ рд╣рд╛рдореАрд▓реЗ рдХреЗ рд╕рд┐рдХреНрдпреМрдВ? рд╣рд╛рдореНрд░реЛ рдЙрддреНрдкрд╛рджрди, рд╡рд┐рдХрд╛рд╕ рд╡рд┐рднрд╛рдЬрдирдХреЛ рд░реВрдкрдорд╛, рдХреЛрдбрдХреЛ рд▓рд╛рдЗрдирд╣рд░реВ рд╣реЛрдЗрди, рдпреЛ рдХрдердирд╣рд░реВ рд╣реЛрдЗрди, рдпреЛ рдлрд╛рдЗрд▓рд╣рд░реВ рд╣реЛрдЗрдиред рд╣рд╛рдореНрд░реЛ рдЙрддреНрдкрд╛рджрди рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдЫреИрдиред рдпреА рд╡рд┐рдЪрд╛рд░рд╣рд░реВ рд╣реБрдиреН рдЬреБрди рд╣рд╛рдореАрд▓реЗ рд╕рдореБрджрд╛рдпрд▓рд╛рдИ рдмреБрдЭрд╛рдЙрдБрдЫреМрдВред рдпреЛ рдкреНрд░рд╛рд╡рд┐рдзрд┐рдХ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮрддрд╛ рд░ рдХреНрд▓рд╛рдЙрдб рд╡рд╛рддрд╛рд╡рд░рдг рддрд┐рд░ рдЯреЗрдХреНрдиреЛрд▓реЛрдЬреАрдХреЛ рдЖрдиреНрджреЛрд▓рди рд╣реЛред

рд╣рд╛рдореА рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рдХреЗ рд░ рдХрд┐рди рдЧрд░реНрдЫреМрдВред Andrey Borodin (Yandex.Cloud)

Postgres рдХреЛ рд░реВрдкрдорд╛ рдпрд╕реНрддреЛ рдбрд╛рдЯрд╛рдмреЗрд╕ рдЫред рдорд▓рд╛рдИ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрд╕ рдХреЛрд░ рд╕рдмреИрднрдиреНрджрд╛ рдордирдкрд░реНрдЫред рдо рд╕рдореБрджрд╛рдпрд╕рдБрдЧ Postgres рдХреЛрд░ рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрди рдзреЗрд░реИ рд╕рдордп рдЦрд░реНрдЪ рдЧрд░реНрдЫреБред

рд╣рд╛рдореА рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рдХреЗ рд░ рдХрд┐рди рдЧрд░реНрдЫреМрдВред Andrey Borodin (Yandex.Cloud)

рддрд░ рдпрд╣рд╛рдБ рдпреЛ рднрдиреНрдиреБ рдкрд░реНрдЫ рдХрд┐ Yandex.Cloud рдорд╛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдЖрдиреНрддрд░рд┐рдХ рд╕реНрдерд╛рдкрдирд╛ рдЫред рд░ рдпреЛ Yandex.Mail рдорд╛ рд▓рд╛рдореЛ рд╕рдордп рдкрд╣рд┐рд▓реЗ рд╕реБрд░реБ рднрдпреЛред рд╡рд┐рд╢реЗрд╖рдЬреНрдЮрддрд╛ рдЬрд╕рд▓реЗ рдЕрдм рдкреЛрд╕реНрдЯрдЧреНрд░реЗрд╕рд▓рд╛рдИ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЧрд░реНрди рдиреЗрддреГрддреНрд╡ рдЧрд░реЗрдХреЛ рдЫ рдЬрдм рдореЗрд▓ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрд╕рдорд╛ рд╕рд╛рд░реНрди рдЪрд╛рд╣рдиреНрдереЗред

рдореЗрд▓ рдХреНрд▓рд╛рдЙрдбрдорд╛ рдзреЗрд░реИ рд╕рдорд╛рди рдЖрд╡рд╢реНрдпрдХрддрд╛рд╣рд░реВ рдЫрдиреНред рдпрд╕рдХреЛ рд▓рд╛рдЧрд┐ рддрдкрд╛рдЗрдБ рддрдкрд╛рдЗрдБрдХреЛ рдбреЗрдЯрд╛рдХреЛ рдХреБрдиреИ рдкрдирд┐ рдмрд┐рдиреНрджреБрдорд╛ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдШрд╛рддреАрдп рд╡реГрджреНрдзрд┐ рдорд╛рдкрди рдЧрд░реНрди рд╕рдХреНрд╖рдо рд╣реБрди рдЖрд╡рд╢реНрдпрдХ рдЫред рд░ рдореЗрд▓рдорд╛ рдкрд╣рд┐рд▓реЗ рдиреИ рдзреЗрд░реИ рд╕рдВрдЦреНрдпрд╛рдорд╛ рдзреЗрд░реИ рдЕрдиреБрд░реЛрдз рдЧрд░реНрдиреЗ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрдХреЛ рдХреЗрд╣рд┐ рд╕рдпреМрдВ рд▓рд╛рдЦреМрдВ рдореЗрд▓рдмрдХреНрд╕рд╣рд░реВрд╕рдБрдЧ рд▓реЛрдб рдерд┐рдпреЛред

рд░ рдпреЛ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрд╕рдХреЛ рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрдиреЗ рдЯреЛрд▓реАрдХреЛ рд▓рд╛рдЧрд┐ рдПрдХрджрдо рдЧрдореНрднреАрд░ рдЪреБрдиреМрддреА рдерд┐рдпреЛред рддреНрдпрд╕рдмреЗрд▓рд╛, рд╣рд╛рдореАрд▓реЗ рд╕рд╛рдордирд╛ рдЧрд░реЗрдХреЛ рдХреБрдиреИ рдкрдирд┐ рд╕рдорд╕реНрдпрд╛ рд╕рдореБрджрд╛рдпрдорд╛ рд░рд┐рдкреЛрд░реНрдЯ рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛред рд░ рдпреА рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рд╕рдЪреНрдпрд╛рдЗрдПрдХреЛ рдерд┐рдпреЛ, рд░ рдХреЗрд╣реА рдард╛рдЙрдБрд╣рд░реВрдорд╛ рд╕рдореБрджрд╛рдпрджреНрд╡рд╛рд░рд╛ рд╕рдЪреНрдпрд╛рдЗрдпреЛ рдкрдирд┐ рдХреЗрд╣реА рдЕрдиреНрдп рдбрд╛рдЯрд╛рдмреЗрд╕рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рднреБрдХреНрддрд╛рди рд╕рдорд░реНрдердирдХреЛ рд╕реНрддрд░рдорд╛ рд░ рдЕрдЭ рд░рд╛рдореНрд░реЛред рддреНрдпреЛ рд╣реЛ, рддрдкрд╛рдЗрдБ PgSQL рд╣реНрдпрд╛рдХрд░рд▓рд╛рдИ рдкрддреНрд░ рдкрдард╛рдЙрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рд░ 40 рдорд┐рдиреЗрдЯ рднрд┐рддреНрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рдХреЗрд╣реА рдбрд╛рдЯрд╛рдмреЗрд╕рд╣рд░реВрдорд╛ рд╕рд╢реБрд▓реНрдХ рд╕рдорд░реНрдердирд▓реЗ рд╕реЛрдЪреНрди рд╕рдХреНрдЫ рдХрд┐ рддрдкрд╛рдИрдВрдХреЛ рдмрдЧ рднрдиреНрджрд╛ рдмрдвреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдХрд╛ рдЪреАрдЬрд╣рд░реВ рдЫрдиреНред

рдЕрдм Postgres рдХреЛ рдЖрдиреНрддрд░рд┐рдХ рд╕реНрдерд╛рдкрдирд╛ рдбрд╛рдЯрд╛ рдХреЛ рдХреЗрд╣рд┐ petabytes рдЫред рдпреА рдкреНрд░рддрд┐ рд╕реЗрдХреЗрдиреНрдб рдХреЗрд╣реА рд▓рд╛рдЦ рдЕрдиреБрд░реЛрдзрд╣рд░реВ рд╣реБрдиреНред рдпреА рд╣рдЬрд╛рд░реМрдВ рдХреНрд▓рд╕реНрдЯрд░рд╣рд░реВ рдЫрдиреНред рдпреЛ рдзреЗрд░реИ рдареВрд▓реЛ рдорд╛рддреНрд░рд╛рдорд╛ рдЫред

рддрд░ рддреНрдпрд╣рд╛рдБ рдПрдХ nuance рдЫред рдпреЛ рдлреИрдВрд╕реА рдиреЗрдЯрд╡рд░реНрдХ рдбреНрд░рд╛рдЗрднрд╣рд░реВрдорд╛ рд╣реЛрдЗрди, рддрд░ рдПрдХрджрдо рд╕рд░рд▓ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░рдорд╛ рд░рд╣рдиреНрдЫред рд░ рддреНрдпрд╣рд╛рдБ рдЪрд╛рдЦрд▓рд╛рдЧреНрджреЛ рдирдпрд╛рдБ рдЪреАрдЬрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╡рд┐рд╢реЗрд╖ рд░реВрдкрдорд╛ рдкрд░реАрдХреНрд╖рдг рд╡рд╛рддрд╛рд╡рд░рдг рдЫред

рд╣рд╛рдореА рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рдХреЗ рд░ рдХрд┐рди рдЧрд░реНрдЫреМрдВред Andrey Borodin (Yandex.Cloud)

рд░ рдкрд░реАрдХреНрд╖рдг рд╡рд╛рддрд╛рд╡рд░рдгрдорд╛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдХреНрд╖рдгрдорд╛ рд╣рд╛рдореАрд▓реЗ рдбрд╛рдЯрд╛рдмреЗрд╕ рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛рд╣рд░реВрдХреЛ рдЖрдиреНрддрд░рд┐рдХ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдпрд╣рд░реВ рдЙрд▓реНрд▓рдЩреНрдШрди рднрдПрдХреЛ рд╕рдВрдХреЗрдд рдЧрд░реНрдиреЗ рд╕рдиреНрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНтАНрдпреМрдВред

рдПрдХ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдПрдХ рдкреНрд░рдХрд╛рд░рдХреЛ рд╕рдореНрдмрдиреНрдз рд╣реЛ рдЬреБрди рд╣рд╛рдореАрд▓реЗ рд╕рдзреИрдВ рд░рд╛рдЦреНрдиреЗ рдЖрд╢рд╛ рдЧрд░реНрджрдЫреМрдВред

рд╣рд╛рдореНрд░реЛ рд▓рд╛рдЧрд┐ рдПрдХрджрдореИ рдирд╛рдЬреБрдХ рдЕрд╡рд╕реНрдерд╛ред рдпрд╕рд▓реЗ рд╕рдВрдХреЗрдд рдЧрд░реНрдЫ рдХрд┐ рдХреЗрд╣рд┐ рдбрд╛рдЯрд╛ рд╣рд░рд╛рдПрдХреЛ рд╣реБрди рд╕рдХреНрдЫред рд░ рдбрд╛рдЯрд╛ рд╣рд░рд╛рдЙрдиреБ рднрдиреЗрдХреЛ рдПрдХрджрдо рд╡рд┐рдирд╛рд╢рдХрд╛рд░реА рдХреБрд░рд╛ рд╣реЛред

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

рд░ рдпрд╣рд╛рдБ рдПрдХ рдЕрд╡рд╕реНрдерд╛ рдЙрддреНрдкрдиреНрди рд╣реБрдиреНрдЫ рдЬрд╕рд▓реЗ рд╕реБрдЭрд╛рд╡ рджрд┐рдиреНрдЫ рдХрд┐ рддреНрдпрд╣рд╛рдБ рдПрдХ рдкрд░рд┐рд╕реНрдерд┐рддрд┐ рд╣реБрди рд╕рдХреНрдЫ рдЬрд╕рдХреЛ рд▓рд╛рдЧрд┐ рд╣рд╛рдореА рддрдпрд╛рд░ рдирд╣реБрди рд╕рдХреНрдЫреМрдВред рд░ рд╣рд╛рдореАрд▓реЗ рдпреЛ рдЕрд╡рд╕реНрдерд╛рдХреЛ рд▓рд╛рдЧрд┐ рддрдпрд╛рд░реА рдЧрд░реНрди рдерд╛рд▓реНрдпреМрдВред

рд╣рд╛рдореА рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рдХреЗ рд░ рдХрд┐рди рдЧрд░реНрдЫреМрдВред Andrey Borodin (Yandex.Cloud)

https://commitfest.postgresql.org/23/2171/

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

рдпреЛ рдкреНрдпрд╛рдЪ рдзреЗрд░реИ рдЫрд▓рдлрд▓ рдмрд┐рдирд╛ рд╕рдореБрджрд╛рдп рджреНрд╡рд╛рд░рд╛ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдкрдорд╛ рд╕реНрд╡реАрдХрд╛рд░ рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ, рдХрд┐рдирднрдиреЗ рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдорд╛рдорд▓рд╛ рдорд╛ рдпреЛ рд╕реНрдкрд╖реНрдЯ рдерд┐рдпреЛ рдХрд┐ рдХреЗрд╣рд┐ рдЦрд░рд╛рдм рднрдПрдХреЛ рдерд┐рдпреЛ рд░ рд▓рдЧ рдорд╛ рд░рд┐рдкреЛрд░реНрдЯ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдерд┐рдпреЛред

рд╣рд╛рдореА рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рдХреЗ рд░ рдХрд┐рди рдЧрд░реНрдЫреМрдВред Andrey Borodin (Yandex.Cloud)

рдпрд╕ рдкрдЫрд┐, рд╣рд╛рдореА рдмрд┐рдиреНрджреБрдорд╛ рдкреБрдЧреНрдпреМрдВ рдХрд┐ рд╣рд╛рдореАрд▓реЗ рд▓рдЧрд╣рд░реВ рд╕реНрдХреНрдпрд╛рди рдЧрд░реНрдиреЗ рдирд┐рдЧрд░рд╛рдиреА рдЧрд░рд┐рд░рд╣реЗрдХрд╛ рдЫреМрдВред рд░ рд╢рдВрдХрд╛рд╕реНрдкрдж рд╕рдиреНрджреЗрд╢рд╣рд░реВрдХреЛ рдорд╛рдорд▓рд╛рдорд╛, рдЙрд╕рд▓реЗ рдбреНрдпреБрдЯреА рдЕрдлрд┐рд╕рд░рд▓рд╛рдИ рдЬрдЧрд╛рдЙрдБрдЫ, рд░ рдбреНрдпреВрдЯреА рдЕрдлрд┐рд╕рд░рд▓реЗ рдпрд╕рд▓рд╛рдИ рдорд░реНрдордд рдЧрд░реНрджрдЫред

рддрд░! рд╕реНрдХреНрдпрд╛рдирд┐рдЩ рд▓рдЧрд╣рд░реВ рдПрдХ рдХреНрд▓рд╕реНрдЯрд░рдорд╛ рд╕рд╕реНрддреЛ рдЕрдкрд░реЗрд╢рди рд╣реЛ рд░ рд╣рдЬрд╛рд░реМрдВ рдХреНрд▓рд╕реНрдЯрд░рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╡рд┐рдирд╛рд╢рдХрд╛рд░реА рд░реВрдкрдорд╛ рдорд╣рдБрдЧреЛред

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

рдпреЛ рд╡рд┐рд╕реНрддрд╛рд░ рдЕрдкрдирд╛рдПрдХреЛ рдЫ, рдЙрджрд╛рд╣рд░рдг рдХреЛ рд▓рд╛рдЧреА, рдХреЛ рд▓рд╛рдЧрд┐ рднрдгреНрдбрд╛рд░ рдорд╛ CentOSред рдпрджрд┐ рддрдкрд╛рдЗрдБ рдпрд╕рд▓рд╛рдИ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдЪрд╛рд╣рдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рддрдкрд╛рдЗрдБ рдпрд╕рд▓рд╛рдИ рдЖрдлреИрдВ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рдЕрд╡рд╢реНрдп рдкрдирд┐ рдпреЛ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рд╣реЛред

рд╣рд╛рдореА рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рдХреЗ рд░ рдХрд┐рди рдЧрд░реНрдЫреМрдВред Andrey Borodin (Yandex.Cloud)

https://www.postgresql.org/message-id/flat/[рдИрдореЗрд▓ рд╕реБрд░рдХреНрд╖рд┐рдд]

рддрд░ рдпрддрд┐ рдорд╛рддреНрд░ рд╣реЛрдЗрдиред рд╣рд╛рдореАрд▓реЗ рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛рдорд╛ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдЙрд▓реНрд▓рдЩреНрдШрдирд╣рд░реВ рдлреЗрд▓рд╛ рдкрд╛рд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рд╕рдореБрджрд╛рдп-рдирд┐рд░реНрдорд┐рдд рд╡рд┐рд╕реНрддрд╛рд░, Amcheck рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдерд╛рд▓реНрдпреМрдВред

рд░ рд╣рд╛рдореАрд▓реЗ рдкрддреНрддрд╛ рд▓рдЧрд╛рдпреМрдВ рдХрд┐ рдпрджрд┐ рддрдкрд╛рдИрдВрд▓реЗ рдпрд╕рд▓рд╛рдИ рд╕реНрдХреЗрд▓рдорд╛ рд╕рдЮреНрдЪрд╛рд▓рди рдЧрд░реНрдиреБрднрдпреЛ рднрдиреЗ, рддреНрдпрд╣рд╛рдБ рдмрдЧрд╣рд░реВ рдЫрдиреНред рд╣рд╛рдореАрд▓реЗ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдорд┐рд▓рд╛рдЙрди рдерд╛рд▓реНрдпреМрдВред рд╣рд╛рдореНрд░рд╛ рд╕реБрдзрд╛рд░рд╣рд░реВ рд╕реНрд╡реАрдХрд╛рд░ рдЧрд░рд┐рдПрдХреЛ рдЫред

рд╣рд╛рдореА рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рдХреЗ рд░ рдХрд┐рди рдЧрд░реНрдЫреМрдВред Andrey Borodin (Yandex.Cloud)

https://www.postgresql.org/message-id/flat/[рдИрдореЗрд▓ рд╕реБрд░рдХреНрд╖рд┐рдд]

рд╣рд╛рдореАрд▓реЗ рдкрддреНрддрд╛ рд▓рдЧрд╛рдпреМрдВ рдХрд┐ рдпреЛ рд╡рд┐рд╕реНрддрд╛рд░рд▓реЗ GiST рд░ GIT рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛рд╣рд░реВ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЧрд░реНрди рд╕рдХреНрджреИрдиред рд╣рд╛рдореАрд▓реЗ рдЙрдиреАрд╣рд░реБрд▓рд╛рдИ рд╕рдкреЛрд░реНрдЯ рдЧрд░реНрдпреМрдВ ред рддрд░ рдпреЛ рд╕рдорд░реНрдерди рдЕрдЭреИ рдкрдирд┐ рд╕рдореБрджрд╛рдп рджреНрд╡рд╛рд░рд╛ рдЫрд▓рдлрд▓ рднрдЗрд░рд╣реЗрдХреЛ рдЫ, рдХрд┐рдирднрдиреЗ рдпреЛ рдПрдХ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдирдпрд╛рдБ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╣реЛ рд░ рддреНрдпрд╣рд╛рдБ рдзреЗрд░реИ рд╡рд┐рд╡рд░рдгрд╣рд░реВ рдЫрдиреНред

рд╣рд╛рдореА рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рдХреЗ рд░ рдХрд┐рди рдЧрд░реНрдЫреМрдВред Andrey Borodin (Yandex.Cloud)

https://commitfest.postgresql.org/29/2667/

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

рд╣рд╛рдореАрд▓реЗ рдХреЛрдб рд▓реЗрдЦреНрдпреМрдВ рдЬреБрди рд╕рдмреИ рдЧрд░реНрди рд╕рдХреНрдЫ ... рдкреНрд░реЛрдЯреЛрдХрд▓рд╣рд░реВ рдкрд╛рд▓рдирд╛ рдЧрд░реНрдиреБрдкрд░реНрдЫред рд╣рд╛рдореАрд▓реЗ рдпрд╕ рдкреНрдпрд╛рдЪрд▓рд╛рдИ рдХреНрд░рдиреНрдЪреА рдбрд╛рдЯрд╛рдмрд╛рдЯ рдкрд┐рдЯрд░ рдЧрдЧрдирд╕рдБрдЧ рдХреЗрд╣реА рд╕рдордпрдХреЛ рд▓рд╛рдЧрд┐ рдЫрд▓рдлрд▓ рдЧрд░реНрдпреМрдВред рдпреЛ рдкреНрдпрд╛рдЪ рд╕реНрд╡реАрдХрд╛рд░ рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдЙрд╕рд▓реЗ рдкреЛрд╖реНрдЯрдЧреНрд░реЗрд╕рдорд╛ рдЕрд╡рд╕реНрдерд┐рдд рдмреА-рдЯреНрд░реАрд▓рд╛рдИ рдереЛрд░реИ рдкрд░рд┐рдорд╛рд░реНрдЬрди рдЧрд░реНрдиреБрдкрд░реНтАНрдпреЛред рдЙрд╣рд╛рдБрд▓рд╛рдИ рд╕реНрд╡реАрдХрд╛рд░ рдЧрд░рд┐рдпреЛред рд░ рдЕрдм рд╣рд╛рдореАрд▓реЗ рд╕рд╛рдордирд╛ рдЧрд░реЗрдХрд╛ рдЙрд▓реНрд▓рдЩреНрдШрдирд╣рд░реВ рдкрддреНрддрд╛ рд▓рдЧрд╛рдЙрди рдкреНрд░рддрд┐рдХреГрддрд┐рд╣рд░реВрдорд╛ рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛рд╣рд░реВ рдЬрд╛рдБрдЪ рдЧрд░реНрди рдкрдирд┐ рдкрд░реНрдпрд╛рдкреНрдд рдкреНрд░рднрд╛рд╡рдХрд╛рд░реА рднрдПрдХреЛ рдЫред рддреНрдпреЛ рд╣реЛ, рдпреА рдЙрд▓реНрд▓рдЩреНрдШрдирд╣рд░реВ рд╣реБрдиреН рдЬреБрди рдбрд┐рд╕реНрдХ рдлрд░реНрдорд╡реЗрдпрд░рдорд╛ рддреНрд░реБрдЯрд┐рд╣рд░реВ, рдкреЛрд╕реНрдЯрдЧреНрд░реЗрд╕рдорд╛ рдмрдЧрд╣рд░реВ, рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓рдорд╛ рдмрдЧрд╣рд░реВ, рд░ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╕рдорд╕реНрдпрд╛рд╣рд░реВрдХрд╛ рдХрд╛рд░рдг рд╣реБрди рд╕рдХреНрдЫрдиреНред рд╕рдорд╕реНрдпрд╛рд╣рд░реВрдХреЛ рд╕реНрд░реЛрддрд╣рд░реВрдХреЛ рдПрдХрджрдо рд╡рд┐рд╕реНрддреГрдд рд╕реВрдЪреА рдЬрд╕рдХреЛ рд▓рд╛рдЧрд┐ рд╣рд╛рдореАрд▓реЗ рддрдпрд╛рд░реА рдЧрд░рд┐рд░рд╣реЗрдХрд╛ рдерд┐рдпреМрдВред

рд╣рд╛рдореА рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рдХреЗ рд░ рдХрд┐рди рдЧрд░реНрдЫреМрдВред Andrey Borodin (Yandex.Cloud)

https://www.postgresql.org/message-id/flat/38AF687F-8F6B-48B4-AB9E-A60CFD6CC261%40enterprisedb.com#0e86a12c01d967bac04a9bf83cd337cb

рддрд░ рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдмрд╛рд╣реЗрдХ, рддреНрдпрд╣рд╛рдБ рд╣рд┐рдк рдЬрд╕реНрддреИ рдПрдХ рднрд╛рдЧ рдЫ, рдЕрд░реНрдерд╛рддреН рдбрд╛рдЯрд╛ рднрдгреНрдбрд╛рд░рдг рдЧрд░рд┐рдПрдХреЛ рдард╛рдЙрдБред рд░ рддреНрдпрд╣рд╛рдБ рдзреЗрд░реИ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдпрд╣рд░реВ рдЫреИрдирдиреН рдЬреБрди рдЬрд╛рдБрдЪ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред

рд╣рд╛рдореАрд╕рдБрдЧ Heapcheck рднрдирд┐рдиреЗ рд╡рд┐рд╕реНрддрд╛рд░ рдЫред рд╣рд╛рдореАрд▓реЗ рдпрд╕рд▓рд╛рдИ рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрди рдерд╛рд▓реНрдпреМрдВред рд░ рд╕рдорд╛рдирд╛рдиреНрддрд░рдорд╛, рд╣рд╛рдореАрд╕рдБрдЧреИ, EnterpriseDB рдХрдореНрдкрдиреАрд▓реЗ рдкрдирд┐ рдореЛрдбреНрдпреБрд▓ рд▓реЗрдЦреНрди рдерд╛рд▓реНрдпреЛ, рдЬрд╕рд▓рд╛рдИ рддрд┐рдиреАрд╣рд░реВрд▓реЗ Heapcheck рднрдирд┐рдиреНрдЫред рдХреЗрд╡рд▓ рд╣рд╛рдореАрд▓реЗ рдпрд╕рд▓рд╛рдИ PgHeapcheck рднрдиреНрдпреМрдВ, рд░ рддрд┐рдиреАрд╣рд░реВрд▓реЗ рдпрд╕рд▓рд╛рдИ Heapcheck рднрдиреЗред рддрд┐рдиреАрд╣рд░реВрд╕рдБрдЧ рд╕рдорд╛рди рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВ рдЫрдиреН, рдЕрд▓рд┐рдХрддрд┐ рдлрд░рдХ рд╣рд╕реНрддрд╛рдХреНрд╖рд░, рддрд░ рдПрдЙрдЯреИ рд╡рд┐рдЪрд╛рд░рд╣рд░реВрд╕рдБрдЧред рддрд┐рдиреАрд╣рд░реВрд▓реЗ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдХреЗрд╣реА рдард╛рдЙрдБрд╣рд░реВрдорд╛ рдЕрд▓рд┐ рд░рд╛рдореНрд░реЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реЗред рд░ рддрд┐рдиреАрд╣рд░реВрд▓реЗ рдпрд╕рд▓рд╛рдИ рдкрд╣рд┐рд▓реЗ рдЦреБрд▓рд╛ рд╕реНрд░реЛрддрдорд╛ рдкреЛрд╕реНрдЯ рдЧрд░реЗред

рд░ рдЕрдм рд╣рд╛рдореА рддрд┐рдиреАрд╣рд░реВрдХреЛ рд╡рд┐рд╕реНрддрд╛рд░рдХреЛ рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрджреИрдЫреМрдВ, рдХрд┐рдирднрдиреЗ рдпреЛ рдЕрдм рддрд┐рдиреАрд╣рд░реВрдХреЛ рд╡рд┐рд╕реНрддрд╛рд░ рд╣реЛрдЗрди, рддрд░ рд╕рдореБрджрд╛рдпрдХреЛ рд╡рд┐рд╕реНрддрд╛рд░ рд╣реЛред рд░ рднрд╡рд┐рд╖реНрдпрдорд╛, рдпреЛ рдХрд░реНрдиреЗрд▓рдХреЛ рдЕрдВрд╢ рд╣реЛ рдЬреБрди рд╕рдмреИрд▓рд╛рдИ рдЖрдкреВрд░реНрддрд┐ рдЧрд░рд┐рдиреЗрдЫ рддрд╛рдХрд┐ рдЙрдиреАрд╣рд░реВрд▓реЗ рднрд╡рд┐рд╖реНрдпрдХрд╛ рд╕рдорд╕реНрдпрд╛рд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рдЕрдЧреНрд░рд┐рдо рдерд╛рд╣рд╛ рдкрд╛рдЙрди рд╕рдХреВрдиреНред

рд╣рд╛рдореА рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рдХреЗ рд░ рдХрд┐рди рдЧрд░реНрдЫреМрдВред Andrey Borodin (Yandex.Cloud)

https://www.postgresql.org/message-id/flat/fe9b3722df94f7bdb08768f50ee8fe59%40postgrespro.ru

рдХрддрд┐рдкрдп рдард╛рдЙрдБрдорд╛, рд╣рд╛рдореА рд╣рд╛рдореНрд░реЛ рдЕрдиреБрдЧрдорди рдкреНрд░рдгрд╛рд▓реАрдорд╛ рдЧрд▓рдд рд╕рдХрд╛рд░рд╛рддреНрдордХрддрд╛рд╣рд░реВ рдЫрдиреН рднрдиреНрдиреЗ рдирд┐рд╖реНрдХрд░реНрд╖рдорд╛ рдкрдирд┐ рдкреБрдЧреНрдпреМрдВред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, 1C рдкреНрд░рдгрд╛рд▓реАред рдбрд╛рдЯрд╛рдмреЗрд╕ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрд╛, Postgres рд▓реЗ рдХрд╣рд┐рд▓реЗрдХрд╛рд╣реАрдБ рдпрд╕рдорд╛ рдбрд╛рдЯрд╛ рд▓реЗрдЦреНрдЫ рдХрд┐ рдпрд╕рд▓реЗ рдкрдвреНрди рд╕рдХреНрдЫ, рддрд░ pg_dump рдкрдвреНрди рд╕рдХреНрджреИрдиред

рдпреЛ рдЕрд╡рд╕реНрдерд╛ рд╣рд╛рдореНрд░реЛ рд╕рдорд╕реНрдпрд╛ рдкрддреНрддрд╛ рд▓рдЧрд╛рдЙрдиреЗ рдкреНрд░рдгрд╛рд▓реАрдорд╛ рднреНрд░рд╖реНрдЯрд╛рдЪрд╛рд░ рдЬрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдереНрдпреЛред рдбреНрдпреБрдЯреА рдЕрдлрд┐рд╕рд░ рдмреНрдпреВрдБрдЭрд┐рдпреЛ ред рдбреНрдпреБрдЯреА рдЕрдлрд┐рд╕рд░рд▓реЗ рдХреЗ рднрдЗрд░рд╣реЗрдХреЛ рдерд┐рдпреЛ рд╣реЗрд░реЗред рдХреЗрд╣реА рд╕рдордпрдкрдЫрд┐ рдПрдХрдЬрдирд╛ рдЧреНрд░рд╛рд╣рдХ рдЖрдПрд░ рдорд▓рд╛рдИ рд╕рдорд╕реНрдпрд╛ рднрдПрдХреЛ рдмрддрд╛рдП ред рдкрд░рд┐рдЪрд╛рд░рдХрд▓реЗ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╣реЛ рднрдиреЗрд░ рдмрддрд╛рдПред рддрд░ рд╕рдорд╕реНрдпрд╛ Postgres рдХреЛрд░ рдорд╛ рдЫред

рдореИрд▓реЗ рдпреЛ рд╕реБрд╡рд┐рдзрд╛рдХреЛ рдмрд╛рд░реЗрдорд╛ рдЫрд▓рдлрд▓ рднреЗрдЯреНрдЯрд╛рдПрдБред рд░ рдЙрдирд▓реЗ рд▓реЗрдЦреЗ рдХрд┐ рд╣рд╛рдореАрд▓реЗ рдпреЛ рд╕реБрд╡рд┐рдзрд╛рдХреЛ рд╕рд╛рдордирд╛ рдЧрд░реНрдпреМрдВ рд░ рдпреЛ рдЕрдкреНрд░рд┐рдп рдерд┐рдпреЛ, рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдпреЛ рдХреЗ рд╣реЛ рднрдиреЗрд░ рдкрддреНрддрд╛ рд▓рдЧрд╛рдЙрди рд░рд╛рддреА рдЙрдареНрдпреЛред

рд╣рд╛рдореА рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рдХреЗ рд░ рдХрд┐рди рдЧрд░реНрдЫреМрдВред Andrey Borodin (Yandex.Cloud)

https://www.postgresql.org/message-id/flat/fe9b3722df94f7bdb08768f50ee8fe59%40postgrespro.ru

рд╕рдореБрджрд╛рдпрд▓реЗ рдЬрд╡рд╛рдл рджрд┐рдпреЛ, "рдУрд╣, рд╣рд╛рдореАрд▓реЗ рд╡рд╛рд╕реНрддрд╡рдореИ рдпрд╕рд▓рд╛рдИ рдареАрдХ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред"

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

рд╣рд╛рдореА рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рдХреЗ рд░ рдХрд┐рди рдЧрд░реНрдЫреМрдВред Andrey Borodin (Yandex.Cloud)

рд╣рд╛рдореАрд▓реЗ рдпрд╣рд╛рдБ рдХреЗ рд╕рд┐рдХреЗрдХрд╛ рдЫреМрдВ? рд╣рд╛рдореАрд▓реЗ рдПрдЙрдЯрд╛ рд╕рд╛рдзрд╛рд░рдг рдХреБрд░рд╛ рд╕рд┐рдХреНрдпреМрдВ: рд╕рдмреИрднрдиреНрджрд╛ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдХреБрд░рд╛ рднрдиреЗрдХреЛ рд╕рдореБрджрд╛рдпрд▓рд╛рдИ рд╕рдорд╕реНрдпрд╛ рдЫ рднрдиреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдЧрд░реНрдиреБ рд╣реЛред рдпрджрд┐ рд╕рдореБрджрд╛рдпрд▓реЗ рд╕рдорд╕реНрдпрд╛рд▓рд╛рдИ рдмреБрдЭреЗрдХреЛ рдЫ рднрдиреЗ, рд╕рдорд╕реНрдпрд╛ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрди рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛ рдЙрддреНрдкрдиреНрди рд╣реБрдиреНрдЫред рдХрд┐рдирдХрд┐ рд╕рдмреИрдЬрдирд╛ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рд╕рдорд╕реНрдпрд╛ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрди рдЪрд╛рд╣рдиреНрдЫрдиреНред рд╕рдмреИ рд╡рд┐рдХреНрд░реЗрддрд╛рд╣рд░реВ, рд╕рдмреИ рд╣реНрдпрд╛рдХрд░рд╣рд░реВрд▓реЗ рдмреБрдЭреНрдЫрдиреН рдХрд┐ рддрд┐рдиреАрд╣рд░реВ рдЖрдлреИрд▓реЗ рдпрд╕ рд░реЗрдХрдорд╛ рдХрджрдо рдЪрд╛рд▓реНрди рд╕рдХреНрдЫрдиреН, рддреНрдпрд╕реИрд▓реЗ рддрд┐рдиреАрд╣рд░реВ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рд╣рдЯрд╛рдЙрди рдЪрд╛рд╣рдиреНрдЫрдиреНред

рдпрджрд┐ рддрдкрд╛рдЗрдБ рд╕рдорд╕реНрдпрд╛рдорд╛ рдХрд╛рдо рдЧрд░реНрджреИ рд╣реБрдиреБрд╣реБрдиреНрдЫ, рддрд░ рдпрд╕рд▓реЗ рддрдкрд╛рдЗрдБ рдмрд╛рд╣реЗрдХ рдХрд╕реИрд▓рд╛рдИ рдкрд░реЗрд╢рд╛рди рдЧрд░реНрджреИрди, рддрд░ рддрдкрд╛рдЗрдБ рдпрд╕рд▓рд╛рдИ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рд░реВрдкрдорд╛ рдХрд╛рдо рдЧрд░реНрдиреБрд╣реБрдиреНрдЫ рд░ рдпрд╕рд▓рд╛рдИ рдЕрдиреНрддрддрдГ рд╕рдорд╕реНрдпрд╛ рдорд╛рдирд┐рдиреНрдЫ, рддрдм рддрдкрд╛рдЗрдБрдХреЛ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдкрдорд╛ рд╕реНрд╡реАрдХрд╛рд░ рдЧрд░рд┐рдиреЗрдЫред рддрдкрд╛рдИрдВрдХреЛ рдкреНрдпрд╛рдЪ рд╕реНрд╡реАрдХрд╛рд░ рдЧрд░рд┐рдиреЗрдЫ, рддрдкрд╛рдИрдВрдХрд╛ рд╕реБрдзрд╛рд░рд╣рд░реВ рд╡рд╛ рд╕реБрдзрд╛рд░рдХрд╛ рд▓рд╛рдЧрд┐ рдЕрдиреБрд░реЛрдзрд╣рд░реВ рд╕рдореБрджрд╛рдпрджреНрд╡рд╛рд░рд╛ рд╕рдореАрдХреНрд╖рд╛ рдЧрд░рд┐рдиреЗрдЫред рджрд┐рдирдХреЛ рдЕрдиреНрддреНрдпрдорд╛, рд╣рд╛рдореА рдПрдХ рдЕрд░реНрдХрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдбрд╛рдЯрд╛рдмреЗрд╕ рд░рд╛рдореНрд░реЛ рдмрдирд╛рдЙрдБрдЫреМрдВред

рд╣рд╛рдореА рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рдХреЗ рд░ рдХрд┐рди рдЧрд░реНрдЫреМрдВред Andrey Borodin (Yandex.Cloud)

рдПрдЙрдЯрд╛ рд░реЛрдЪрдХ рдбрд╛рдЯрд╛рдмреЗрд╕ рдЧреНрд░реАрдирдкреНрд▓рдо рд╣реЛред рдпреЛ Postgres codebase рдорд╛ рдЖрдзрд╛рд░рд┐рдд рдПрдХ рдЙрдЪреНрдЪ рд╕рдорд╛рдирд╛рдВрддрд░ рдбрд╛рдЯрд╛рдмреЗрд╕ рд╣реЛ, рдЬреБрди рдо рдзреЗрд░реИ рдкрд░рд┐рдЪрд┐рдд рдЫреБред

рд╣рд╛рдореА рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рдХреЗ рд░ рдХрд┐рди рдЧрд░реНрдЫреМрдВред Andrey Borodin (Yandex.Cloud)

https://greenplum.org/greenplum-database-tables-compression/

рд░ рдЧреНрд░реАрдирдкреНрд▓рдорд╕рдБрдЧ рд░реЛрдЪрдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЫ - рдЕрдиреБрдХреВрд▓рд┐рдд рддрд╛рд▓рд┐рдХрд╛рд╣рд░реВ рд╕рдВрд▓рдЧреНрди рдЧрд░реНрдиреБрд╣реЛрд╕реНред рдпреА рддрд╛рд▓рд┐рдХрд╛рд╣рд░реВ рдЫрдиреН рдЬреБрди рддрдкрд╛рдИрдВ рдЫрд┐рдЯреНрдЯреИ рдердкреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рддрд┐рдиреАрд╣рд░реВ рдпрд╛ рдд рд╕реНрддрдореНрдн рд╡рд╛ рдкрдЩреНрдХреНрддрд┐ рд╣реБрди рд╕рдХреНрдЫрдиреНред

рддрд░ рддреНрдпрд╣рд╛рдБ рдХреБрдиреИ рдХреНрд▓рд╕реНрдЯрд░рд┐рдЩ рдерд┐рдПрди, рдЕрд░реНрдерд╛рддреН рддреНрдпрд╣рд╛рдБ рдХреБрдиреИ рдкреНрд░рдХрд╛рд░реНрдпрддрд╛ рдерд┐рдПрди рдЬрд╣рд╛рдБ рддрдкрд╛рдЗрдБ рддрд╛рд▓рд┐рдХрд╛рдорд╛ рд░рд╣реЗрдХреЛ рдбреЗрдЯрд╛рд▓рд╛рдИ рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛рд╣рд░реВ рдордзреНрдпреЗ рдПрдХрдорд╛ рд░рд╣реЗрдХреЛ рдХреНрд░рдо рдЕрдиреБрд╕рд╛рд░ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред

рдЯреНрдпрд╛рдХреНрд╕реАрдХрд╛ рдХреЗрдЯрд╛рд╣рд░реВ рдордХрд╣рд╛рдБ рдЖрдП рд░ рднрдиреЗ: "рдПрдиреНрдбреНрд░реЗ, рддрдкрд╛рдИрд▓рд╛рдИ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрд╕ рдерд╛рд╣рд╛ рдЫред рд░ рдпрд╣рд╛рдБ рдпреЛ рд▓рдЧрднрдЧ рд╕рдорд╛рди рдЫред 20 рдорд┐рдиреЗрдЯрдорд╛ рд╕реНрд╡рд┐рдЪ рдЧрд░реНрдиреБрд╣реЛрд╕реНред рддрдкрд╛рдИрдВ рдпрд╕рд▓рд╛рдИ рд▓рд┐рдиреБрд╣реЛрд╕реН рд░ рдпреЛ рдЧрд░реНрдиреБрд╣реЛрд╕реНред" рдореИрд▓реЗ рд╕реЛрдЪреЗ рдХрд┐ рд╣реЛ, рдорд▓рд╛рдИ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрд╕ рдерд╛рд╣рд╛ рдЫ, реиреж рдорд┐рдиреЗрдЯрдХреЛ рд▓рд╛рдЧрд┐ рд╕реНрд╡рд┐рдЪ рдЧрд░реНрджреИ - рдорд▓рд╛рдИ рдпреЛ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред

рд╣рд╛рдореА рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рдХреЗ рд░ рдХрд┐рди рдЧрд░реНрдЫреМрдВред Andrey Borodin (Yandex.Cloud)

https://github.com/greenplum-db/gpdb/commit/179feb77a034c2547021d675082aae0911be40f7

рддрд░ рд╣реЛрдЗрди, рдпреЛ реиреж рдорд┐рдиреЗрдЯ рдерд┐рдПрди, рдореИрд▓реЗ рдпрд╕рд▓рд╛рдИ рдорд╣рд┐рдиреМрдВрдорд╛ рд▓реЗрдЦреЗрдВред PgConf.Russia рд╕рдореНрдореЗрд▓рдирдорд╛, рдореИрд▓реЗ Pivotal рдмрд╛рдЯ Heikki Linakangas рд▓рд╛рдИ рд╕рдореНрдкрд░реНрдХ рдЧрд░реЗрдВ рд░ рд╕реЛрдзреЗрдВ: "рдпрд╕рдорд╛ рдХреБрдиреИ рд╕рдорд╕реНрдпрд╛ рдЫ? рдХрд┐рди рддреНрдпрд╣рд╛рдБ рдХреБрдиреИ рдЕрдкреНрдЯрд┐рдорд╛рдЗрдЬ рдЧрд░рд┐рдПрдХреЛ рддрд╛рд▓рд┐рдХрд╛ рдХреНрд▓рд╕реНрдЯрд░рд┐рдЩ рдЫреИрди?" рдЙрд╣рд╛рдБ рднрдиреНрдиреБрд╣реБрдиреНрдЫ: "рддрдкрд╛рдИрд▓реЗ рдбрд╛рдЯрд╛ рд▓рд┐рдиреБрд╣реЛрд╕реНред рддрдкрд╛рдЗрдБ рдХреНрд░рдордмрджреНрдз рдЧрд░реНрдиреБрд╣реЛрд╕реН, рддрдкрд╛рдЗрдБ рдкреБрди: рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЧрд░реНрдиреБрд╣реЛрд╕реНред рдпреЛ рдд рдПрдЙрдЯрд╛ рдХрд╛рдо рдорд╛рддреНрд░ рд╣реЛред" рдо: "рдУрд╣, рд╣реЛ, рддрдкрд╛рдИрд▓реЗ рдпрд╕рд▓рд╛рдИ рд▓рд┐рдиреБ рдкрд░реНрдЫ рд░ рдпреЛ рдЧрд░реНрдиреБ рдкрд░реНрдЫред" рдЙрдиреА рднрдиреНрдЫрдиреН: "рд╣реЛ, рд╣рд╛рдореАрд▓рд╛рдИ рдпреЛ рдЧрд░реНрди рд╕реНрд╡рддрдиреНрддреНрд░ рд╣рд╛рдд рдЪрд╛рд╣рд┐рдиреНрдЫред" рдореИрд▓реЗ рдпреЛ рдкрдХреНрдХреИ рдЧрд░реНрдиреБрдкрд░реНрдЫ рднрдиреНрдиреЗ рд╕реЛрдЪреЗрдХреЛ рдерд┐рдПрдБред

рд░ рдХреЗрд╣рд┐ рдорд╣рд┐рдирд╛ рдкрдЫрд┐ рдореИрд▓реЗ рдпреЛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд▓рд╛рдЧреВ рдЧрд░реНрдиреЗ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдкреЗрд╢ рдЧрд░реЗрдВред рдпреЛ рдкреБрд▓ рдЕрдиреБрд░реЛрдзрд▓рд╛рдИ Pivotal рд▓реЗ рд╕рдореБрджрд╛рдпрд╕рдБрдЧ рдорд┐рд▓реЗрд░ рд╕рдореАрдХреНрд╖рд╛ рдЧрд░реЗрдХреЛ рдерд┐рдпреЛред рдЕрд╡рд╢реНрдп рдкрдирд┐, рдмрдЧрд╣рд░реВ рдерд┐рдПред

рд╣рд╛рдореА рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рдХреЗ рд░ рдХрд┐рди рдЧрд░реНрдЫреМрдВред Andrey Borodin (Yandex.Cloud)

https://github.com/greenplum-db/gpdb/issues/10150

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

рд╣рд╛рдореА рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рдХреЗ рд░ рдХрд┐рди рдЧрд░реНрдЫреМрдВред Andrey Borodin (Yandex.Cloud)

https://github.com/greenplum-db/gpdb/pull/10290

рдореИрд▓реЗ рдпреЛ рдмрдЧ рдлрд┐рдХреНрд╕ рдЧрд░реЗрдВред рдлрд┐рдХреНрд╕рд░рд╣рд░реВрд▓рд╛рдИ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдкрдард╛рдЗрдпреЛред рдЙрдирдХреЛ рд╣рддреНрдпрд╛ рднрдПрдХреЛ рдерд┐рдпреЛ ред

рд╣рд╛рдореА рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рдХреЗ рд░ рдХрд┐рди рдЧрд░реНрдЫреМрдВред Andrey Borodin (Yandex.Cloud)

https://github.com/greenplum-db/gpdb-postgres-merge/pull/53

рдЬрд╕ рдкрдЫрд┐ рдпреЛ рдкрддреНрддрд╛ рд▓рд╛рдЧреНрдпреЛ рдХрд┐ рдпреЛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ PostgreSQL 12 рдХреЛ рд▓рд╛рдЧрд┐ Greenplum рд╕рдВрд╕реНрдХрд░рдгрдорд╛ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред рддреНрдпреЛ рд╣реЛ, 20-рдорд┐рдиреЗрдЯ рд╕рд╛рд╣рд╕рд┐рдХ рдирдпрд╛рдБ рд░реЛрдЪрдХ рд╕рд╛рд╣рд╕рд┐рдХ рд╕рдВрдЧ рдЬрд╛рд░реА рдЫред рд╣рд╛рд▓рдХреЛ рд╡рд┐рдХрд╛рд╕рд▓рд╛рдИ рдЫреБрдиреБ рд░реЛрдЪрдХ рдерд┐рдпреЛ, рдЬрд╣рд╛рдБ рд╕рдореБрджрд╛рдпрд▓реЗ рдирдпрд╛рдБ рд░ рд╕рдмреИрднрдиреНрджрд╛ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВ рдХрд╛рдЯрд┐рд░рд╣реЗрдХреЛ рдЫред рдпреЛ рдЬрдореЗрдХреЛ рдЫред

рд╣рд╛рдореА рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рдХреЗ рд░ рдХрд┐рди рдЧрд░реНрдЫреМрдВред Andrey Borodin (Yandex.Cloud)

https://github.com/greenplum-db/gpdb/pull/10565

рддрд░ рдпреЛ рддреНрдпрд╣рд╛рдБ рд╕рдорд╛рдкреНрдд рднрдПрдиред рд╕рдмреИ рдХреБрд░рд╛ рдкрдЫрд┐, рдпреЛ рдмрд╛рд╣рд┐рд░ рднрдпреЛ рдХрд┐ рд╣рд╛рдореАрд▓реЗ рдпреА рд╕рдмреИрдХреЛ рд▓рд╛рдЧрд┐ рдХрд╛рдЧрдЬрд╛рдд рд▓реЗрдЦреНрди рдЖрд╡рд╢реНрдпрдХ рдЫред

рдореИрд▓реЗ рдХрд╛рдЧрдЬрд╛рдд рд▓реЗрдЦреНрди рдерд╛рд▓реЗрдВред рд╕реМрднрд╛рдЧреНрдп рджреЗрдЦрд┐, Pivotal рдмрд╛рдЯ рд╡реГрддреНрддрдЪрд┐рддреНрд░рдХрд╛рд░рд╣рд░реВ рд╕рд╛рде рдЖрдПред рдЕрдВрдЧреНрд░реЗрдЬреА рдЙрдиреАрд╣рд░реВрдХреЛ рдорд╛рддреГрднрд╛рд╖рд╛ рд╣реЛред рддрд┐рдиреАрд╣рд░реВрд▓реЗ рдорд▓рд╛рдИ рдХрд╛рдЧрдЬрд╛рддрдХреЛ рд╕рд╛рде рдорджреНрджрдд рдЧрд░реЗред рд╡рд╛рд╕реНрддрд╡рдорд╛, рддрд┐рдиреАрд╣рд░реВ рдЖрдлреИрд▓реЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЕрдВрдЧреНрд░реЗрдЬреАрдорд╛ рдореИрд▓реЗ рдкреНрд░рд╕реНрддрд╛рд╡ рдЧрд░реЗрдХреЛ рдХреБрд░рд╛ рдкреБрди: рд▓реЗрдЦреЗред

рд░ рдпрд╣рд╛рдБ, рдпрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫ, рд╕рд╛рд╣рд╕рд┐рдХ рд╕рдорд╛рдкреНрдд рднрдпреЛред рдЕрдирд┐ рддреНрдпрд╕рдкрдЫрд┐ рдХреЗ рднрдпреЛ рдерд╛рд╣рд╛ рдЫ ? рдЯреНрдпрд╛рдХреНрд╕реАрдХрд╛ рдХреЗрдЯрд╛рд╣рд░реВ рдорд╕рдБрдЧ рдЖрдП рд░ рднрдиреЗ: "рдЕрдЭреИ рджреБрдИрд╡рдЯрд╛ рд╕рд╛рд╣рд╕рд┐рдХ рдХрд╛рд░реНрдпрд╣рд░реВ рдЫрдиреН, рдкреНрд░рддреНрдпреЗрдХ резреж рдорд┐рдиреЗрдЯрдХреЛ рд▓рд╛рдЧрд┐ред" рд░ рдореИрд▓реЗ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдХреЗ рднрдиреНрдиреБ рдкрд░реНрдЫ? рдореИрд▓реЗ рднрдиреЗ рдХрд┐ рдЕрдм рдо рд╕реНрдХреЗрд▓рдорд╛ рд░рд┐рдкреЛрд░реНрдЯ рджрд┐рдиреНрдЫреБ, рддреНрдпрд╕рдкрдЫрд┐ рд╣рд╛рдореА рддрдкрд╛рдИрдВрдХреЛ рд╕рд╛рд╣рд╕рд┐рдХ рдХрд╛рд░реНрдпрд╣рд░реВ рд╣реЗрд░реНрдиреЗрдЫреМрдВ, рдХрд┐рдирдХрд┐ рдпреЛ рдПрдХ рд░реЛрдЪрдХ рдХрд╛рдо рд╣реЛред

рд╣рд╛рдореА рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рдХреЗ рд░ рдХрд┐рди рдЧрд░реНрдЫреМрдВред Andrey Borodin (Yandex.Cloud)

рдпреЛ рдШрдЯрдирд╛рдмрд╛рдЯ рд╣рд╛рдореАрд▓реЗ рдХреЗ рд╕рд┐рдХреНрдпреМрдВ? рдХрд┐рдирднрдиреЗ рдЦреБрд▓рд╛ рд╕реНрд░реЛрддрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрдиреБ рднрдиреЗрдХреЛ рд╕рдзреИрдВ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡реНрдпрдХреНрддрд┐рд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрдиреБ рд╣реЛ, рдпрд╕рд▓реЗ рд╕рдзреИрдВ рд╕рдореБрджрд╛рдпрд╕рдБрдЧ рдХрд╛рдо рдЧрд░рд┐рд░рд╣реЗрдХреЛ рд╣реБрдиреНрдЫред рдХрд┐рдирднрдиреЗ рд╣рд░реЗрдХ рдЪрд░рдгрдорд╛ рдореИрд▓реЗ рдХреЗрд╣реА рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛, рдХреЗрд╣реА рдкрд░реАрдХреНрд╖рдХ, рдХреЗрд╣реА рд╣реНрдпрд╛рдХрд░, рдХреЗрд╣реА рд╡реГрддреНрддрдЪрд┐рддреНрд░рдХрд╛рд░, рдХреЗрд╣реА рд╡рд╛рд╕реНрддреБрдХрд╛рд░рд╕рдБрдЧ рдХрд╛рдо рдЧрд░реЗрдВред рдореИрд▓реЗ рдЧреНрд░реАрдирдкреНрд▓рдорд╕рдБрдЧ рдХрд╛рдо рдЧрд░реЗрди, рдореИрд▓реЗ рдЧреНрд░реАрдирдкреНрд▓рдо рд╡рд░рдкрд░рдХрд╛ рдорд╛рдирд┐рд╕рд╣рд░реВрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реЗрдВред

рддрд░! рддреНрдпрд╣рд╛рдБ рдЕрд░реНрдХреЛ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдмрд┐рдиреНрджреБ рдЫ - рдпреЛ рдХреЗрд╡рд▓ рдХрд╛рдо рд╣реЛред рддреНрдпреЛ рд╣реЛ, рддрдкрд╛рдИрдВ рдЖрдЙрдиреБрд╣реЛрд╕реН, рдХрдлреА рдкрд┐рдЙрдиреБрд╣реЛрд╕реН, рдХреЛрдб рд▓реЗрдЦреНрдиреБрд╣реЛрд╕реНред рд╕рдмреИ рдкреНрд░рдХрд╛рд░рдХрд╛ рд╕рд╛рдзрд╛рд░рдг рдЗрдиреНрднреЗрд░рд┐рдПрдиреНрдЯрд╣рд░реВ рдХрд╛рдо рдЧрд░реНрдЫрдиреНред рдпрд╕рд▓рд╛рдИ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдкрдорд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН - рдпреЛ рд░рд╛рдореНрд░реЛ рд╣реБрдиреЗрдЫ! рд░ рдпреЛ рдПрдХрджрдо рд░реЛрдЪрдХ рдХрд╛рдо рд╣реЛред Yandex.Cloud рдХреНрд▓рд╛рдЗрдиреНрдЯрд╣рд░реВ, Yandex рднрд┐рддреНрд░ рд░ рдмрд╛рд╣рд┐рд░ рд╣рд╛рдореНрд░рд╛ рдХреНрд▓рд╕реНрдЯрд░рд╣рд░реВрдХрд╛ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрдмрд╛рдЯ рдпреЛ рдХрд╛рдордХреЛ рд▓рд╛рдЧрд┐ рдЕрдиреБрд░реЛрдз рдЫред рд░ рдорд▓рд╛рдИ рд▓рд╛рдЧреНрдЫ рдХрд┐ рд╣рд╛рдореА рд╕рд╣рднрд╛рдЧреА рд╣реБрдиреЗ рдкрд░рд┐рдпреЛрдЬрдирд╛рд╣рд░реВрдХреЛ рд╕рдВрдЦреНрдпрд╛ рдмрдвреНрдиреЗрдЫ рд░ рд╣рд╛рдореНрд░реЛ рд╕рдВрд▓рдЧреНрдирддрд╛рдХреЛ рдЧрд╣рд┐рд░рд╛рдЗ рдкрдирд┐ рдмрдвреНрдиреЗрдЫред

рдпрддрд┐ рдиреИред рдкреНрд░рд╢реНрдирд╣рд░реВрдорд╛ рдЬрд╛рдФрдВред

рд╣рд╛рдореА рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рдХреЗ рд░ рдХрд┐рди рдЧрд░реНрдЫреМрдВред Andrey Borodin (Yandex.Cloud)

рдкреНрд░рд╢реНрди рд╕рддреНрд░

рдирдорд╕реНрддреЗ! рд╣рд╛рдореАрд╕рдБрдЧ рдЕрд░реНрдХреЛ рдкреНрд░рд╢реНрди рд░ рдЙрддреНрддрд░ рд╕рддреНрд░ рдЫред рд░ рд╕реНрдЯреВрдбрд┐рдпреЛ Andrei Borodin рдорд╛ред рдпреЛ рддреНрдпреЛ рд╡реНрдпрдХреНрддрд┐ рд╣реЛ рдЬрд╕рд▓реЗ рднрд░реНрдЦрд░реИ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдЦреБрд▓рд╛ рд╕реНрд░реЛрддрдорд╛ Yandex.Cloud рд░ Yandex рдХреЛ рдпреЛрдЧрджрд╛рдирдХреЛ рдмрд╛рд░реЗрдорд╛ рдмрддрд╛рдПрдХреЛ рдЫред рд╣рд╛рдореНрд░реЛ рд░рд┐рдкреЛрд░реНрдЯ рдЕрдм рдХреНрд▓рд╛рдЙрдбрдХреЛ рдмрд╛рд░реЗрдорд╛ рдкреВрд░реНрдг рд░реВрдкрдорд╛ рд╣реЛрдЗрди, рддрд░ рдПрдХреИ рд╕рдордпрдорд╛ рд╣рд╛рдореА рддреНрдпрд╕реНрддрд╛ рдкреНрд░рд╡рд┐рдзрд┐рд╣рд░реВрдорд╛ рдЖрдзрд╛рд░рд┐рдд рдЫреМрдВред рддрдкрд╛рдИрдВрд▓реЗ Yandex рднрд┐рддреНрд░ рдХреЗ рдЧрд░реНрдиреБрднрдпреЛ рдмрд┐рдирд╛, Yandex.Cloud рдорд╛ рдХреБрдиреИ рд╕реЗрд╡рд╛ рд╣реБрдиреЗрдЫреИрди, рддреНрдпрд╕реИрд▓реЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдкрдорд╛ рдореЗрд░реЛ рддрд░реНрдлрдмрд╛рдЯ рдзрдиреНрдпрд╡рд╛рджред рд░ рдкреНрд░рд╕рд╛рд░рдгрдмрд╛рдЯ рдкрд╣рд┐рд▓реЛ рдкреНрд░рд╢реНрди: "рддрдкрд╛рдИрд▓реЗ рдЙрд▓реНрд▓реЗрдЦ рдЧрд░реНрдиреБрднрдПрдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╣реЛ?"

WAL-G рдорд╛ рдмреНрдпрд╛рдХрдЕрдк рдкреНрд░рдгрд╛рд▓реА Go рдорд╛ рд▓реЗрдЦрд┐рдПрдХреЛ рдЫред рдпреЛ рд╣рд╛рдореАрд▓реЗ рдХрд╛рдо рдЧрд░реЗрдХрд╛ рдирдпрд╛рдБ рдкрд░рд┐рдпреЛрдЬрдирд╛рд╣рд░реВ рдордзреНрдпреЗ рдПрдХ рд╣реЛред рдЙрд╣рд╛рдБ рд╢рд╛рдмреНрджрд┐рдХ рд░реВрдкрдорд╛ рдорд╛рддреНрд░ 3 рд╡рд░реНрд╖рдХреЛ рд╣реБрдиреБрд╣реБрдиреНрдЫред рд░ рдбрд╛рдЯрд╛рдмреЗрд╕ рдЕрдХреНрд╕рд░ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдХреЛ рдмрд╛рд░реЗ рдорд╛ рдЫред рд░ рдпрд╕рдХреЛ рдорддрд▓рдм рдпреЛ рд╣реЛ рдХрд┐ рдбрд╛рдЯрд╛рдмреЗрд╕рд╣рд░реВ рдзреЗрд░реИ рдкреБрд░рд╛рдиреЛ рдЫрдиреН рд░ рддрд┐рдиреАрд╣рд░реВ рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛ C рдорд╛ рд▓реЗрдЦрд┐рдПрдХрд╛ рдЫрдиреНред Postgres рдкрд░рд┐рдпреЛрдЬрдирд╛ рд▓рдЧрднрдЧ 30 рд╡рд░реНрд╖ рдкрд╣рд┐рд▓реЗ рд╕реБрд░реБ рднрдпреЛред рддреНрдпрд╕рдкрдЫрд┐ C89 рд╕рд╣реА рд╡рд┐рдХрд▓реНрдк рдерд┐рдпреЛред рд░ рдпрд╕рдорд╛ Postgres рд▓реЗрдЦрд┐рдПрдХреЛ рдЫред рдХреНрд▓рд┐рдХрд╣рд╛рдЙрд╕ рдЬрд╕реНрддрд╛ рдердк рдЖрдзреБрдирд┐рдХ рдбрд╛рдЯрд╛рдмреЗрд╕рд╣рд░реВ рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛ C++ рдорд╛ рд▓реЗрдЦрд┐рдиреНрдЫрдиреНред рд╕рдмреИ рдкреНрд░рдгрд╛рд▓реА рд╡рд┐рдХрд╛рд╕ C рд░ C++ рд╡рд░рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдЫред

рд╣рд╛рдореНрд░реЛ рд╡рд┐рддреНрддреАрдп рдкреНрд░рдмрдиреНрдзрдХрдмрд╛рдЯ рдПрдЙрдЯрд╛ рдкреНрд░рд╢реНрди, рдЬреЛ рдХреНрд▓рд╛рдЙрдбрдорд╛ рдЦрд░реНрдЪрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдЬрд┐рдореНрдореЗрд╡рд╛рд░ рдЫ: "рдХреНрд▓рд╛рдЙрдбрд▓реЗ рдЦреБрд▓рд╛ рд╕реНрд░реЛрддрд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрди рдХрд┐рди рдкреИрд╕рд╛ рдЦрд░реНрдЪ рдЧрд░реНрдЫ?"

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

рдЕрд░реНрдХреЛ рдкреНрд░рд╢реНрди: "рдХреЗ Yandex.Cloud рдорд╛ рдмрд╕реНрдиреЗ рдмрд╛рд╣реНрдп рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛рд╣рд░реВ рдЖрдиреНрддрд░рд┐рдХ рдХреНрд▓рд╛рдЙрдбрдорд╛ рдмрд╕реНрдиреЗ рдЖрдиреНрддрд░рд┐рдХ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВ рднрдиреНрджрд╛ рдлрд░рдХ рдЫрдиреН?"

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

рдЕрд░реНрдХреЛ рдкреНрд░рд╢реНрди: "рддрдкрд╛рдИрд▓реЗ рдХреЗ рдЧрд░реНрдиреЗ рдзреЗрд░реИрдЬрд╕реЛ рдЕрдиреНрдп рдХреНрд▓рд╛рдЙрдбрд╣рд░реВ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ рднрдиреНрдиреЗ рддрдереНрдпрдХреЛ рдмрд╛рд░реЗрдорд╛ рддрдкрд╛рдИрд▓рд╛рдИ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдкрдорд╛ рдХрд╕реНрддреЛ рд▓рд╛рдЧреНрдЫ?" рд╣рд╛рдореА рд╡рд┐рд╢реЗрд╖ рдирд╛рдорд╣рд░реВ рджрд┐рдиреЗрдЫреИрдиреМрдВ, рддрд░ Yandex.Cloud рдорд╛ рдЧрд░рд┐рдПрдХрд╛ рдзреЗрд░реИ рдкрд░рд┐рдпреЛрдЬрдирд╛рд╣рд░реВ рдЕрдиреНрдп рд╡реНрдпрдХреНрддрд┐рдХреЛ рдХреНрд▓рд╛рдЙрдбрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред

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

рддрдкрд╛рдИрдВрд▓реЗ рдореНрдпрд╛рд░рд╛рдердирдХреЛ рдмрд╛рд░реЗрдорд╛ рдзреЗрд░реИ рдХреБрд░рд╛ рдЧрд░реНрдиреБрднрдпреЛред рдорд▓рд╛рдИ рдерд╛рд╣рд╛ рдЫ рддрдкрд╛рдИрдВрд▓реЗ рдорд╕реНрдХреЛрдорд╛ рдореНрдпрд╛рд░рд╛рдерди рджреМрдбрд┐рдиреБрднрдпреЛред рдлрд▓рд╕реНрд╡рд░реВрдк? PostgreSQL рдмрд╛рдЯ рдХреЗрдЯрд╛рд╣рд░реВрд▓рд╛рдИ рдУрднрд░рдЯреЗрдХ?

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

рдХреЗ рддрдкрд╛рдИрдВ рдХреНрд▓рд┐рдХрд╣рд╛рдЙрд╕рдорд╛ рдХреБрдиреИ рдзрд╛рд╡рдХрд╣рд░реВ рдЫреИрдирдиреН рднрдиреА рднрдиреНрдиреБрд╣реБрдиреНрдЫ?

рдорд▓рд╛рдИ рдерд╛рд╣рд╛ рдЫ рдХрд┐ рддрд┐рдиреАрд╣рд░реВ рддреНрдпрд╣рд╛рдБ рдЫрдиреНред ClickHouse рдкрдирд┐ рдПрдХ рдбрд╛рдЯрд╛рдмреЗрд╕ рд╣реЛред рд╡реИрд╕реЗ, рдУрд▓реЗрдЧ рдЕрдм рдорд▓рд╛рдИ рд▓реЗрдЦреНрджреИ рдЫ: "рдХреЗ рд╣рд╛рдореА рд░рд┐рдкреЛрд░реНрдЯ рдкрдЫрд┐ рджреМрдбрди рдЬрд╛рдиреНрдЫреМрдВ?" рдпреЛ рдПрдХ рдорд╣рд╛рди рд╡рд┐рдЪрд╛рд░ рд╣реЛред

рдирд┐рдХрд┐рддрд╛рдмрд╛рдЯ рдкреНрд░рд╕рд╛рд░рдгрдмрд╛рдЯ рдЕрд░реНрдХреЛ рдкреНрд░рд╢реНрди: "рдХрд┐рди рддрдкрд╛рдИрдВрд▓реЗ рдЧреНрд░реАрдирдкреНрд▓рдордорд╛ рдмрдЧ рдЖрдлреИрдВ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрдиреБрднрдпреЛ рд░ рдЬреБрдирд┐рдпрд░рд╣рд░реВрд▓рд╛рдИ рджрд┐рдиреБрднрдПрди?" рд╕рд╛рдБрдЪреЛ, рдмрдЧ рдХреЗ рд╣реЛ рд░ рдХреБрди рд╕реЗрд╡рд╛рдорд╛ рдпреЛ рдзреЗрд░реИ рд╕реНрдкрд╖реНрдЯ рдЫреИрди, рддрд░ рдпрд╕рдХреЛ рдЕрд░реНрде рд╕рд╛рдпрдж рддрдкрд╛рдИрдВрд▓реЗ рдХреБрд░рд╛ рдЧрд░реНрдиреБ рднрдПрдХреЛ рд╣реЛред

рд╣реЛ, рд╕рд┐рджреНрдзрд╛рдиреНрддрдорд╛, рдпреЛ рдХрд╕реИрд▓рд╛рдИ рджрд┐рди рд╕рдХрд┐рдиреНрдЫред рдореИрд▓реЗ рднрд░реНрдЦрд░реИ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реЗрдХреЛ рдХреЛрдб рдорд╛рддреНрд░реИ рдерд┐рдпреЛред рд░ рдпрд╕рд▓рд╛рдИ рддреБрд░реБрдиреНрддреИ рдЬрд╛рд░реА рд░рд╛рдЦреНрдиреБ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рдерд┐рдпреЛред рд╕рд┐рджреНрдзрд╛рдиреНрддрдорд╛, рдЯреЛрд▓реАрд╕рдБрдЧ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮрддрд╛ рд╕рд╛рдЭреЗрджрд╛рд░реА рдЧрд░реНрдиреЗ рд╡рд┐рдЪрд╛рд░ рд░рд╛рдореНрд░реЛ рд╡рд┐рдЪрд╛рд░ рд╣реЛред рд╣рд╛рдореА рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдкрдорд╛ рд╣рд╛рдореНрд░реЛ рдбрд┐рднрд┐рдЬрдирдХрд╛ рд╕рдмреИ рд╕рджрд╕реНрдпрд╣рд░реВ рдмреАрдЪ рдЧреНрд░реАрдирдкреНрд▓рдо рдХрд╛рд░реНрдпрд╣рд░реВ рд╕рд╛рдЭрд╛ рдЧрд░реНрдиреЗрдЫреМрдВред

рд╣рд╛рдореА рдЬреБрдирд┐рдпрд░рд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рдХреБрд░рд╛ рдЧрд░реНрджреИрдЫреМрдВ, рдпрд╣рд╛рдБ рдПрдЙрдЯрд╛ рдкреНрд░рд╢реНрди рдЫред рд╡реНрдпрдХреНрддрд┐рд▓реЗ Postgres рдорд╛ рдкрд╣рд┐рд▓реЛ рдХрдорд┐рдЯ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреЗ рдирд┐рд░реНрдгрдп рдЧрд░реНрдпреЛред рдЙрд╕рд▓реЗ рдкрд╣рд┐рд▓реЛ рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛ рдЧрд░реНрди рдХреЗ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ?

рдпреЛ рдПрдЙрдЯрд╛ рд░реЛрдЪрдХ рдкреНрд░рд╢реНрди рд╣реЛ: "рдХрд╣рд╛рдБ рд╕реБрд░реБ рдЧрд░реНрдиреЗ?" рдпреЛ рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛ рдХрд░реНрдиреЗрд▓ рдорд╛ рдХреЗрд╣рд┐ рд╕рдВрдЧ рд╕реБрд░реБ рдЧрд░реНрди рдзреЗрд░реИ рдЧрд╛рд╣реНрд░реЛ рдЫред Postgres рдорд╛, рдЙрджрд╛рд╣рд░рдг рдХреЛ рд▓рд╛рдЧреА, рддреНрдпрд╣рд╛рдБ рдЧрд░реНрди рдХреЛ рд▓рд╛рдЧреА рд╕реВрдЪреА рдЫред рддрд░ рд╡рд╛рд╕реНрддрд╡рдорд╛, рдпреЛ рддрд┐рдиреАрд╣рд░реВрд▓реЗ рдЧрд░реНрди рдЦреЛрдЬреЗрдХреЛ рдкрд╛рдирд╛ рд╣реЛ, рддрд░ рд╕рдлрд▓ рднрдПрдирдиреНред рдпреА рдЬрдЯрд┐рд▓ рдХреБрд░рд╛рд╣рд░реВ рд╣реБрдиреНред рд░ рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛ рддрдкрд╛рдИрд▓реЗ рдЗрдХреЛрд╕рд┐рд╕реНрдЯрдордорд╛ рдХреЗрд╣рд┐ рдЙрдкрдпреЛрдЧрд┐рддрд╛рд╣рд░реВ рдлреЗрд▓рд╛ рдкрд╛рд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рдХреЗрд╣рд┐ рд╡рд┐рд╕реНрддрд╛рд░рд╣рд░реВ рдЬреБрди рд╕реБрдзрд╛рд░ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ, рдЬрд╕рд▓реЗ рдХрд░реНрдиреЗрд▓ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВрдмрд╛рдЯ рдХрдо рдзреНрдпрд╛рди рдЖрдХрд░реНрд╖рд┐рдд рдЧрд░реНрджрдЫред рд░, рддрджрдиреБрд╕рд╛рд░, рддреНрдпрд╣рд╛рдБ рд╡реГрджреНрдзрд┐рдХреЛ рд▓рд╛рдЧрд┐ рдердк рдмрд┐рдиреНрджреБрд╣рд░реВ рдЫрдиреНред рдЧреБрдЧрд▓ рд╕рдорд░ рдЕрдл рдХреЛрдб рдкреНрд░реЛрдЧреНрд░рд╛рдордорд╛, рд╣рд░реЗрдХ рд╡рд░реНрд╖ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрд╕ рд╕рдореБрджрд╛рдпрд▓реЗ рд╕рдореНрдмреЛрдзрди рдЧрд░реНрди рд╕рдХрд┐рдиреЗ рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рд╖рдпрд╣рд░реВ рдЕрдЧрд╛рдбрд┐ рд░рд╛рдЦреНрдЫред рдпрд╕ рд╡рд░реНрд╖ рд╣рд╛рдореАрд╕рдБрдЧ рддреАрдирдЬрдирд╛ рд╡рд┐рджреНрдпрд╛рд░реНрдереА рдерд┐рдПред рдПрдХрд▓реЗ WAL-G рдорд╛ Yandex рдХреЛ рд▓рд╛рдЧрд┐ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рд╡рд┐рд╖рдпрд╣рд░реВрдорд╛ рдкрдирд┐ рд▓реЗрдЦреЗред рдЧреНрд░реАрдирдкреНрд▓рдордорд╛, рдкреЛрд╕реНрдЯрдЧреНрд░реЗрд╕ рд╕рдореБрджрд╛рдпрдХреЛ рддреБрд▓рдирд╛рдорд╛ рд╕рдмреИ рдХреБрд░рд╛ рд╕рд░рд▓ рдЫ, рдХрд┐рдирдХрд┐ рдЧреНрд░реАрдирдкреНрд▓рдо рд╣реНрдпрд╛рдХрд░рд╣рд░реВрд▓реЗ рдкреБрд▓ рдЕрдиреБрд░реЛрдзрд╣рд░реВрд▓рд╛рдИ рд░рд╛рдореНрд░реЛрд╕рдБрдЧ рд╡реНрдпрд╡рд╣рд╛рд░ рдЧрд░реНрдЫрдиреН рд░ рддреБрд░реБрдиреНрддреИ рд╕рдореАрдХреНрд╖рд╛ рдЧрд░реНрди рдерд╛рд▓реНрдЫрдиреНред Postgres рдорд╛ рдкреНрдпрд╛рдЪ рдкрдард╛рдЙрдиреБ рдорд╣рд┐рдирд╛рдХреЛ рдХреБрд░рд╛ рд╣реЛ, рддрд░ Greenplum рдПрдХ рджрд┐рдирдорд╛ рдЖрдЙрдиреЗрдЫ рд░ рддрдкрд╛рдИрдВрд▓реЗ рдХреЗ рдЧрд░реНрдиреБрднрдпреЛ рд╣реЗрд░реНрдиреБрд╣реЛрд╕реНред рдЕрд░реНрдХреЛ рдХреБрд░рд╛ рдЧреНрд░реАрдирдкреНрд▓рдорд▓реЗ рд╡рд░реНрддрдорд╛рди рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред рдЧреНрд░реАрдирдкреНрд▓рдо рд╡реНрдпрд╛рдкрдХ рд░реВрдкрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХреЛ рдЫреИрди, рддреНрдпрд╕реИрд▓реЗ рддрдкрд╛рдИрдВрдХреЛ рд╕рдорд╕реНрдпрд╛ рдкрддреНрддрд╛ рд▓рдЧрд╛рдЙрди рдзреЗрд░реИ рдЧрд╛рд╣реНрд░реЛ рдЫред рд░ рд╕рдмреИ рднрдиреНрджрд╛ рдкрд╣рд┐рд▓реЗ, рд╣рд╛рдореАрд▓реЗ рдкрдХреНрдХреИ рдкрдирд┐ рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред

рд╕реНрд░реЛрдд: www.habr.com