рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдВрдЯреАрдкреИрдЯрд░реНрди

рд╣реЗрд▓реЛ, рд╣реЗрдмреНрд░! рдореИрдВ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рд▓реЗрдЦ "рдбреЗрдЯрд╛рдмреЗрд╕: рдПрдВрдЯреА-рдкреИрдЯрд░реНрди" рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реВрдВ ред

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

рдЫрд╡рд┐
рд╕рд┐рд▓рд┐рдХреЙрди рд╡реИрд▓реА, рд╕реАрдЬрди 2, рдПрдкрд┐рд╕реЛрдб 8 ред

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдХрдИ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЗрд╕ рд╕рд░рд▓ рд╕рддреНрдп рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирд╣реАрдВ рд╕рдордЭрддреЗ рд╣реИрдВред рдореИрдВ рдХрдИ рд╡рд░реНрд╖реЛрдВ рд╕реЗ рдПрдХ рдкреЗрд╢реЗрд╡рд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдирд╣реАрдВ рдерд╛, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрдИ, рдХрдИ рдЧрд▓рддрд┐рдпреЛрдВ рдХреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рджреНрд╡рд╛рд░рд╛ рджреЗрдЦрд╛ рд╣реИред

рдпрд╣рд╛рдБ рд╕рд┐рд░реНрдл рд╡реЗ рд╣реИрдВ рдЬреЛ рддреБрд░рдВрдд рджрд┐рдорд╛рдЧ рдореЗрдВ рдЖрддреЗ рд╣реИрдВред

рдмреИрдХрдЕрдк рдХреА рдХрдореА


рдЫрд╡рд┐

"рдмреИрдХрдЕрдк рдХрд░реЗрдВ" рдЙрди рдирд┐рдпрдореЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ (рдЬреИрд╕реЗ "рд░реВрдЯ рдХреЗ рддрд╣рдд рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ" рдпрд╛ "рдЕрдкрдиреА рд╕реАрдЯ рдмреЗрд▓реНрдЯ рдХреЛ рддреЗрдЬрд╝ рдХрд░реЗрдВ") рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рд╣рдо рдореЗрдВ рд╕реЗ рдХрдИ рд▓реЛрдЧ рд╕рд╣рдордд рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрдирдХрд╛ рдкрд╛рд▓рди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдпрд╣ рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдмреБрд░реА рдЪреАрдЬреЗрдВ рджреВрд╕рд░реЛрдВ рдХреЗ рд╕рд╛рде рд╣реЛрддреА рд╣реИрдВ рдФрд░ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдирд╣реАрдВред

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

NoSQL


рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдкрд╛рд╕ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╡рдпрд╕реНрдХ рд╕рд╛рдордЧреНрд░реА рд╣реИ рдФрд░ рд╡реЗ рдЗрд╕реЗ рдЕрдХреНрд╕рд░ рджреЗрдЦрддреЗ рд╣реИрдВред рдбреЗрдЯрд╛ рдХреА рдорд╛рддреНрд░рд╛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╣реИ рдпрд╛ рд░рд┐рд▓реЗрд╢рдирд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд▓реЛрдб рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╣реИред рдпрд╣ рд╡рд╣ рд╕реНрдерд┐рддрд┐ рд╣реИ рдЬрдм NoSQL рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпрд╛рдВ рдЪрд▓рди рдореЗрдВ рдЖрддреА рд╣реИрдВред Google рдЬреИрд╕реЗ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рджрд┐рдЧреНрдЧрдЬ рдЗрд╕ firsthand рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВред

рд▓реЗрдХрд┐рди рдЖрдк Google рдирд╣реАрдВ рд╣реИрдВ ред рдХреБрдЫ рд╕реМ рдЧреАрдЧрд╛рдмрд╛рдЗрдЯ "рдмрдбрд╝рд╛ рдбреЗрдЯрд╛" рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдкреНрд░рддрд┐ рджрд┐рди 1000 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ "рдЙрдЪреНрдЪ рднрд╛рд░" рдирд╣реАрдВ рд╣реИред рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ PostgreSQL рдЖрдкрдХреЗ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рджреЗрдЦреЗрдВ: рдпрд╣ JSON рдХреЛ рднреА рд╕рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдЗрдВрдбреЗрдХреНрд╕ рдХрд░ рд╕рдХрддрд╛ рд╣реИ ред

рдЪрд▓реЛ, рдХреНрдпрд╛ рдЖрдк рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рдЙрди рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рддреНрдпрд╛рдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬрд┐рдирдХреА рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ - рдХрднреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реЛрдЧреА? рдЖрдк рдирдП Google рдирд╣реАрдВ рдмрдиреЗрдВрдЧреЗ - рдЖрдкрдХреЗ рдкрд╛рд╕ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдПрдХ рдЧрдбрд╝рдмрдбрд╝ рд╣реИред

рдмрд╣реБрдд рдвреАрд▓реА рдпреЛрдЬрдирд╛


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

рдкреНрд░рд╛рдХреГрддрд┐рдХ рдкреНрд░рд╛рдердорд┐рдХ рдХреБрдВрдЬреА


рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рдкрд╛рд╕ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдИ-рдореЗрд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕рдмрд╕реЗ рд╕реНрдкрд╖реНрдЯ рд╕рдорд╛рдзрд╛рди userрдПрдХ рд╕реНрддрдВрдн рдХреЗ рд╕рд╛рде рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рдирд╛ рд╣реИ email, рдЬреЛ рдкреНрд░рд╛рдердорд┐рдХ рдХреБрдВрдЬреА рднреА рд╣реЛрдЧреАред

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдкреНрд░рд╛рдХреГрддрд┐рдХ рдХреБрдВрдЬреА рдкреНрд░рд╛рдердорд┐рдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реЛ рд╕рдХрддреА рд╣реИ рдЬрдм рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ рдмрджрд▓рддреА рд╣реИрдВ (рдФрд░ рд╡реЗ рд▓рдЧрд╛рддрд╛рд░ рдмрджрд▓рддреЗ рд╣реИрдВ)ред рдЖрдЬ рдпрд╣ PRIMARY KEY(email)рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдХрд▓ рд╣рдо рдлреЗрд╕рдмреБрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрдВрдЬреАрдХрд░рдг рдЬреЛрдбрд╝рдиреЗ рдФрд░ рдИ-рдореЗрд▓ рдХреЛ рд╡реИрдХрд▓реНрдкрд┐рдХ рдмрдирд╛рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗрддреЗ рд╣реИрдВред рдЬреЛ рдмреЗрд╣рддрд░ рд╣реИ: рдЕрджреНрд╡рд┐рддреАрдп рдкрддреЗ рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВ рдФрд░ рдПрдХ рдХрд╛рд▓реНрдкрдирд┐рдХ рдИ-рдореЗрд▓ рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рддреЗ рд╣реБрдП рдПрдХ рдзреНрд╡рдЬ рдЬреЛрдбрд╝реЗрдВ, рдпрд╛ рдкреНрд░рд╛рдердорд┐рдХ рдХреБрдВрдЬреА, рд╕рднреА рд╡рд┐рджреЗрд╢реА рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЛ рджреЗрдЦреЗрдВ рдЬреЛ рдХрд┐ user, рдЖрджрд┐, рдЖрджрд┐ рдХреЛ рдмрджрд▓рддреЗ рд╣реИрдВ ? рд╣рдореЗрдВ рдмреБрд░рд╛рдЗрдпреЛрдВ рд╕реЗ рдХрдо рдирд╣реАрдВ рдЪреБрдирдирд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рд╣рдо рдмрд╕ рдПрдХ рд╕рд░реЛрдЧреЗрдЯ рдкреНрд░рд╛рдердорд┐рдХ рдХреБрдВрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

рд▓реЙрдЬрд┐рдХ рдЗрди рд╕реНрдЯреЛрд░реЗрдЬ


рдореБрдЭреЗ рдпрд╣ рджреЛ рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИ:

  1. рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛрдб рдЖрдорддреМрд░ рдкрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реНрдХреАрдорд╛ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред
  2. рдпреЗ рд╕рднреА SQL PLs рдореБрдЭреЗ рдкрд╛рд╕реНрдХрд▓ рдХреА рдпрд╛рдж рджрд┐рд▓рд╛рддреЗ рд╣реИрдВ, рдФрд░ рд╡реЗ рдЙрддрдиреЗ рд╣реА рдмрджрд╕реВрд░рдд рд╣реИрдВред

рдкрд░реНрдпрд╛рд╡рд░рдг-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рд╕реНрдХреНрд░рд┐рдкреНрдЯ


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

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

рдЗрд╕рд▓рд┐рдП, рдЬрдм рдореИрдВ рд▓рд┐рдмрд╛рд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдкрд░реНрдпрд╛рд╡рд░рдг-рд╡рд┐рд╢рд┐рд╖реНрдЯ рд▓реЗрдмрд▓ рджреЗрдЦрддрд╛ рд╣реВрдВ, рддреЛ рдореИрдВ рдорд╛рд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

рд╕рд╣рд┐рд╖реНрдгреБ рдкреНрд░рд╡рд╛рд╕рди рд▓рд┐рдкрд┐рдпреЛрдВ


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

рдЧреИрд░-рдкрд░рдорд╛рдгреБ рдЕрджреНрдпрддрди


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

рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдХрд╣рд╛рдиреА рд╣реИ рдХрд┐ changeset рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП idempotent , рдФрд░ рдЖрдк рд╕рд╣реА рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдХрдИ рдбреЗрд╡рд▓рдкрд░реНрд╕, рдмреЗрдХрд╛рд░рдкрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд░рд╣реЗ рд╣реИрдВ, рдЙрдкрдпреЛрдЧ IF NOT EXISTSрдпрд╛ рдРрд╕рд╛ рдХреБрдЫред рдкрд┐рдЫрд▓реЗ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ, рдореИрдВрдиреЗ рд╕рдордЭрд╛рдпрд╛ рдХрд┐ рдпрд╣ рдмреБрд░рд╛рдИ рдХреНрдпреЛрдВ рд╣реИред

рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдкрд░рд┐рд╡рд░реНрддрдирд╢реАрд▓ рдкрд░рдорд╛рдгреБ рдмрдирд╛рдУ ред рдлрд┐рд░, рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХрд┐рдП рдЧрдП рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рд╡рд╛рдкрд╕ рд░реЛрд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдЖрдкрдХреЛ рдЗрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдмрд╛рдж рдХреЗ рдЖрд╡реЗрджрди рдХреЗ рд╕рд╛рде рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрдЧреАред

рд▓реЗрдХрд┐рди рд▓реЗрдирджреЗрди рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рддреЗ рд╕рдордп рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,MySQL рд▓реЗрдирджреЗрди рдореЗрдВ DDL рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЕрдВрдзреЗрд░рд╛ рдФрд░ рднрдпрд╛рд╡рд╣рддрд╛ рд╕реЗ рднрд░рд╛ рд╣реИ , рдЗрд╕рд▓рд┐рдП рдЬрдм рдореИрдВ MySQL рдХреЗ рд▓рд┐рдП Liquibase рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦрддрд╛ рд╣реВрдВ рддреЛ рдореИрдВ рд╣рдореЗрд╢рд╛ рдкреНрд░рддреНрдпреЗрдХ DDL рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдмрджрд▓рд╛рд╡ рдХрд░рддрд╛ рд╣реВрдВред

рдЖрдкрдиреЗ рдХреМрди-рдХреМрди рд╕реА рдЪреАрдВрдЯрд┐рдпреЛрдВ рдХреЛ рджреЗрдЦрд╛ рд╣реИ?

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


All Articles