рднрдВрдбрд╛рд░рдг рд╡рд┐рдлрд▓рддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдирд╛



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



рд╕реНрдЯреЛрд░реЗрдЬ рд░рд┐рд╕реАрдмрд┐рд▓рд┐рдЯреА рд╕реЗ рдХреНрдпреЛрдВ рдкрд░реЗрд╢рд╛рди?


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

рд╣рдо рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдзрд╛рд░ рдХреЗ рдЦрд┐рд▓рд╛рдл рдЖрд░рд╛рдо рдХрд░рддреЗ рд╣реИрдВ


рдпрд╣ рдкрд╣рд▓рд╛ рдкрд░рд┐рджреГрд╢реНрдп рд╣реИред рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ 1 рд╕рд░реНрд╡рд░ рд╣реИ, рдкреНрд░реЛрд╕реЗрд╕рд░ рдпрд╛ рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡ рдкрд░ рд▓реЛрдб 99% рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ:

  • 90% рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдкрдврд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ;
  • 10% рдЕрдиреБрд░реЛрдз рдПрдХ рд░рд┐рдХреЙрд░реНрдб рд╣реИред

рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рдкреНрд░рддрд┐рдХреГрддрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдирд╛ рд╣реИред рдХреНрдпреЛрдВ? рдпрд╣ рд╕рдмрд╕реЗ рд╕рд╕реНрддрд╛ рдФрд░ рдЖрд╕рд╛рди рдЙрдкрд╛рдп рд╣реИред



рдкреНрд░рддрд┐рдХреГрддрд┐ рд╡рд░реНрдЧреАрдХреГрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

1. рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рджреНрд╡рд╛рд░рд╛:

  • рддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ;
  • рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ;
  • semisynchronousред

2. рдкреЛрд░реНрдЯреЗрдмрд▓ рдбреЗрдЯрд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░:

  • рддрд╛рд░реНрдХрд┐рдХ (рдкрдВрдХреНрддрд┐-рдЖрдзрд╛рд░рд┐рдд, рдХрдерди-рдЖрдзрд╛рд░рд┐рдд, рдорд┐рд╢реНрд░рд┐рдд);
  • рд╢рд╛рд░реАрд░рд┐рдХред

3. рдкреНрд░рддрд┐ рд░рд┐рдХреЙрд░реНрдб рдиреЛрдбреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ:

  • рдЧреБрд░реБ / рджрд╛рд╕;
  • рдЧреБрд░реБ / рдЧреБрд░реБред

4. рд╕рд░реНрдЬрдХ рджреНрд╡рд╛рд░рд╛:

  • рдЦреАрдВрдЪ;
  • рдзрдХреНрдХрд╛ред

рдФрд░ рдЕрдм рдХрд╛рд░реНрдп рдПрдХ рдмрд╛рд▓реНрдЯреА рдкрд╛рдиреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ ред рдХрд▓реНрдкрдирд╛ рдХреАрдЬрд┐рдП рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ MySQL рдФрд░ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдорд╛рд╕реНрдЯрд░-рджрд╛рд╕ рдкреНрд░рддрд┐рдХреГрддрд┐ рд╣реИред рдбреАрд╕реА рдореЗрдВ рд╕рдлрд╛рдИ рдЪрд▓ рд░рд╣реА рд╣реИ, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдХреНрд▓реАрдирд░ рдареЛрдХрд░ рдЦрд╛рддрд╛ рд╣реИ рдФрд░ рдорд╛рд╕реНрдЯрд░ рдмреЗрд╕ рдХреЗ рд╕рд╛рде рд╕рд░реНрд╡рд░ рдкрд░ рдПрдХ рдмрд╛рд▓реНрдЯреА рдкрд╛рдиреА рдбрд╛рд▓рддрд╛ рд╣реИред рд╕реНрд╡рдЪрд╛рд▓рди рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдирд╡реАрдирддрдо рд╕реНрд▓реЗрд╡ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рдорд╛рд╕реНрдЯрд░ рдореЛрдб рдореЗрдВ рдмрджрд▓ рджреЗрддрд╛ рд╣реИред рдФрд░ рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддрд╛ рд╣реИред рдкрдХрдбрд╝ рдХрд╣рд╛рдВ рд╣реИ?

рдЙрддреНрддрд░ рд╕рд░рд▓ рд╣реИ - рд╣рдо рдЙрди рд▓реЗрдирджреЗрди рдХреЛ рдЦреЛ рджреЗрддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдордиреЗ рджреЛрд╣рд░рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рдмрдВрдзрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛ред рдирддреАрдЬрддрди, рдПрд╕реАрдЖрдИрдбреА тАЛтАЛрдХреА рд╕рдВрдкрддреНрддрд┐ рдбреА рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЕрдм рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдкреНрд░рддрд┐рдХреГрддрд┐ (MySQL) рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИ:

  1. рднрдВрдбрд╛рд░рдг рдЗрдВрдЬрди (InnoDB) рдореЗрдВ рд▓реЗрдирджреЗрди рд░рд┐рдХреЙрд░реНрдб рдХрд░рдирд╛;
  2. рдмрд╛рдЗрдирд░реА рд▓реЙрдЧ рдореЗрдВ рд▓реЗрдирджреЗрди рд░рд┐рдХреЙрд░реНрдб рдХрд░рдирд╛;
  3. рднрдВрдбрд╛рд░рдг рдЗрдВрдЬрди рдореЗрдВ рд▓реЗрдирджреЗрди рдкреВрд░рд╛ рдХрд░рдирд╛;
  4. рдЧреНрд░рд╛рд╣рдХ рдХреЗ рд▓рд┐рдП рд╡рд╛рдкрд╕реА рдХреА рдкреБрд╖реНрдЯрд┐;
  5. рдкреНрд░рддрд┐рдХреГрддрд┐ рдореЗрдВ рд▓реЙрдЧ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛;
  6. рдПрдХ рдкреНрд░рддрд┐рдХреГрддрд┐ рдкрд░ рд▓реЗрдирджреЗрди рдХрд╛ рдирд┐рд╖реНрдкрд╛рджрди (рдкреГрд╖реНрда 1-3)ред

рдФрд░ рдЕрдм рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реИ рдХрд┐ рдЙрдкрд░реЛрдХреНрдд рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдореЗрдВ рдХреНрдпрд╛ рдмрджрд▓рд╛рд╡ рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рддрд╛рдХрд┐ рд╣рдо рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреЗ рд╕рд╛рде рдХрднреА рдЦрддреНрдо рди рд╣реЛрдВ?

рдФрд░ рдХреЗрд╡рд▓ рджреЛ рдмрд┐рдВрджреБрдУрдВ рдХреЛ рдкрд░рд╕реНрдкрд░ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ: 4 рд╡реЗрдВ рдФрд░ 5 рд╡реЗрдВ рд╕реНрдерд╛рди рдкрд░ ("рд▓реЙрдЧ рдХрд╛ рдкреНрд░рддрд┐рдХреГрддрд┐ рдореЗрдВ рднрд╛рдЧ" рдФрд░ "рдЧреНрд░рд╛рд╣рдХ рдХреЛ рдкреБрд╖реНрдЯрд┐ рдХреА рд╡рд╛рдкрд╕реА")ред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдпрджрд┐ рдорд╛рд╕реНрдЯрд░ рдиреЛрдб рдмрд╛рд╣рд░ рдирд┐рдХрд▓рддрд╛ рд╣реИ, рддреЛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╣рдореЗрд╢рд╛ рдХрд╣реАрдВ рди рдХрд╣реАрдВ рд▓реЗрдирджреЗрди рд▓реЙрдЧ рд╣реЛрдЧрд╛ (рдмрд┐рдВрджреБ 2)ред рдФрд░ рдЕрдЧрд░ рд▓реЗрди-рджреЗрди рдмрд╛рдЗрдирд░реА рд▓реЙрдЧ рдореЗрдВ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рд▓реЗрдирджреЗрди рднреА рдХреБрдЫ рд╕рдордп рдореЗрдВ рд╣реЛрдЧрд╛ред

рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдореЗрдВ рдЕрд░реНрдз-рддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдкреНрд░рддрд┐рдХреГрддрд┐ (MySQL) рдорд┐рд▓рддреА рд╣реИ, рдЬреЛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХрд╛рдо рдХрд░рддреА рд╣реИ:

  1. рднрдВрдбрд╛рд░рдг рдЗрдВрдЬрди (InnoDB) рдореЗрдВ рд▓реЗрдирджреЗрди рд░рд┐рдХреЙрд░реНрдб рдХрд░рдирд╛;
  2. рдмрд╛рдЗрдирд░реА рд▓реЙрдЧ рдореЗрдВ рд▓реЗрдирджреЗрди рд░рд┐рдХреЙрд░реНрдб рдХрд░рдирд╛;
  3. рднрдВрдбрд╛рд░рдг рдЗрдВрдЬрди рдореЗрдВ рд▓реЗрдирджреЗрди рдкреВрд░рд╛ рдХрд░рдирд╛;
  4. рдкреНрд░рддрд┐рдХреГрддрд┐ рдореЗрдВ рд▓реЙрдЧ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛;
  5. рдЧреНрд░рд╛рд╣рдХ рдХреЗ рд▓рд┐рдП рд╡рд╛рдкрд╕реА рдХреА рдкреБрд╖реНрдЯрд┐;
  6. рдПрдХ рдкреНрд░рддрд┐рдХреГрддрд┐ рдкрд░ рд▓реЗрдирджреЗрди рдХрд╛ рдирд┐рд╖реНрдкрд╛рджрди (рдкреГрд╖реНрда 1-3)ред

рд╕реЗрдореА рдмрдирд╛рдо рд╕рд┐рдВрдХ рдФрд░ рдПрд╕рд┐рдВрдХреНрд╕ рдмрдирд╛рдо рд╕реЗрдореА-рд╕рд┐рдВрдХ


рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ, рд░реВрд╕ рдореЗрдВ, рдЕрдзрд┐рдХрд╛рдВрд╢ рд▓реЛрдЧреЛрдВ рдиреЗ рдЕрд░реНрдз-рддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╕реБрдирд╛ рд╣реИред рд╡реИрд╕реЗ, рдпрд╣ PostgreSQL рдореЗрдВ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд▓рд╛рдЧреВ рд╣реИ рдФрд░ MySQL рдореЗрдВ рдмрд╣реБрдд рдирд╣реАрдВ рд╣реИред рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдпрд╣рд╛рдБ рдФрд░ рдЕрдзрд┐рдХ рдкрдврд╝реЗрдВ, рд▓реЗрдХрд┐рди рдереАрд╕рд┐рд╕ рдХреЛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

  • рдЕрд░реНрдз-рд╕рдордХрд╛рд▓рд┐рдХ рдкреНрд░рддрд┐рдХреГрддрд┐ рдЕрднреА рднреА рдкреАрдЫреЗ рд╣реИ (рд▓реЗрдХрд┐рди рдЙрддрдиреА рдирд╣реАрдВ) рдЬрд┐рддрдиреА рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд╣реИ;
  • рд╣рдо рд▓реЗрди-рджреЗрди рдирд╣реАрдВ рдЦреЛрддреЗ рд╣реИрдВ;
  • рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рджрд╛рд╕ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред

рд╡реИрд╕реЗ, рдлреЗрд╕рдмреБрдХ рдкрд░ рдЕрд░реНрдз-рд╕рдордХрд╛рд▓рд┐рдХ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╣рдо рд░рд┐рдХреЙрд░реНрдб рдмреЗрд╕ рдХреЗ рдЦрд┐рд▓рд╛рдл рдЖрд░рд╛рдо рдХрд░рддреЗ рд╣реИрдВ


рдЬрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╡рд┐рд╖рдо рд╕рдорд╕реНрдпрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ:

  • 90% рдЕрдиреБрд░реЛрдз - рд░рд┐рдХреЙрд░реНрдб;
  • рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ 10% рдкрдврд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ;
  • 1 рд╕рд░реНрд╡рд░;
  • рд▓реЛрдб - 99% (рдкреНрд░реЛрд╕реЗрд╕рд░ рдпрд╛ рд╣рд╛рд░реНрдб рдбрд┐рд╕реНрдХ)ред

рдкреНрд░рд╕рд┐рджреНрдз рдмрдЪрд╛рд╡ рдпрд╣рд╛рдБ рдмрдЪрд╛рд╡ рдХреЗ рд▓рд┐рдП рдЖрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЕрдм рдХреБрдЫ рдФрд░ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ:



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

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдорд╛рд╕реНрдЯрд░-рдорд╛рд╕реНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ:

  • рд▓рд┐рдЦрдиреЗ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЧрд▓рддреА рд╕рд╣рд┐рд╖реНрдгреБрддрд╛ (рд╡рд┐рдЪрд╛рд░ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рд╣рдореЗрд╢рд╛ рдХреЗрд╡рд▓ рдПрдХ рдорд╛рд╕реНрдЯрд░ рдХреЛ рд▓рд┐рдЦрддреЗ рд╣реИрдВ)ред рдЖрдк рд╡рд░реНрдЪреБрдЕрд▓ рдЖрдИрдкреА рдкрддреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ;
  • рднреВ-рд╡рд┐рддрд░рд┐рдд рдкреНрд░рдгрд╛рд▓реАред

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдорд╛рд╕реНрдЯрд░-рдорд╛рд╕реНрдЯрд░ рдкреНрд░рддрд┐рдХреГрддрд┐ рд╣рдореЗрд╢рд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрддреА рд╣реИред рдФрд░ рдЕрдХреНрд╕рд░ рдорд╛рд╕реНрдЯрд░-рдорд╛рд╕реНрдЯрд░ рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╕рдорд╕реНрдпрд╛рдПрдВ рд▓рд╛рддрд╛ рд╣реИред

sharding


рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╣реА рд╢рд╛рд░реНрдХрд┐рдВрдЧ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИред рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдПрдХ рд░рд┐рдХреЙрд░реНрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреИрдирд╛рдкрди рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд-рдЖрдЧ рддрд░реАрдХрд╛ рд╣реИред рд╡рд┐рдЪрд╛рд░ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо рдбреЗрдЯрд╛ рдХреЛ рд╕реНрд╡рддрдВрддреНрд░ (рд▓реЗрдХрд┐рди рд╣рдореЗрд╢рд╛ рдирд╣реАрдВ) рд╕рд░реНрд╡рд░реЛрдВ рдореЗрдВ рд╡рд┐рддрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рд╢рд╛рд░реНрдХ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рджреЛрд╣рд░рд╛ рд╕рдХрддреА рд╣реИред

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

рдЗрд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рджреЛ рдорд╛рди рд╣реИрдВ рдЬрд┐рдирдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдореЗрдВ рддреАрди рдорд╛рди рд╣реИрдВ: (1; 2; 3) (0; 0; 500;)ред рдФрд╕рдд рдорд╛рди (1 + 2 + 3 + 500) / 6 = 84.33333 рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрдЧрд╛ред

рдЕрдм рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рджреЛ рд╕реНрд╡рддрдВрддреНрд░ рд╕рд░реНрд╡рд░ рд╣реИрдВред рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рд╢рд╛рд░реНрдХ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ рд╕реЗ рдФрд╕рдд рдореВрд▓реНрдп рдХреЛ рдкреБрдирд░реНрдЧрдгрдирд╛ рдХрд░рддреЗ рд╣реИрдВред рдЙрдирдореЗрдВ рд╕реЗ рдкрд╣рд▓реЗ рдкрд░ рд╣рдореЗрдВ 2 рдорд┐рд▓рддреЗ рд╣реИрдВ, рджреВрд╕рд░реЗ рдкрд░ - 166.66667ред рдФрд░ рдлрд┐рд░ рднреА рдЕрдЧрд░ рд╣рдо рдЗрди рдореВрд▓реНрдпреЛрдВ рдХреЛ рдФрд╕рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдЕрднреА рднреА рдПрдХ рд╕рдВрдЦреНрдпрд╛ рдорд┐рд▓реЗрдЧреА рдЬреЛ рдХрд┐ рд╕рд╣реА рдПрдХ рд╕реЗ рднрд┐рдиреНрди рд╣реЛрдЧреА: (2 + 166.66667) / 2 = 86.33334ред

рдЕрд░реНрдерд╛рддреН, рд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдФрд╕рдд рд╣рд░ рдЪреАрдЬ рдХреЗ рдФрд╕рдд рдХреЗ рдмрд░рд╛рдмрд░ рдирд╣реАрдВ рд╣реИ:

 avg(a, b, c, d) != avg(avg(a, b) + (avg(c, d)) 

рд╕рд░рд▓ рдЧрдгрд┐рдд, рд▓реЗрдХрд┐рди рдпрд╣ рдпрд╛рдж рд░рдЦрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред

рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп


рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╕рд╛рдорд╛рдЬрд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рдПрдХ рд╕рдВрд╡рд╛рдж рдкреНрд░рдгрд╛рд▓реА рд╣реИред рдПрдХ рд╕рдВрд╡рд╛рдж рдореЗрдВ рдХреЗрд╡рд▓ 2 рд▓реЛрдЧ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рд╕рднреА рд╕рдВрджреЗрд╢ рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рд╣реИ:

  • рдореИрд╕реЗрдЬ рдЖрдИ.рдбреА.
  • рдкреНрд░реЗрд╖рдХ рдЖрдИрдбреА
  • рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рдЖрдИрдбреА
  • рд╕рдВрджреЗрд╢ рдкрд╛рда;
  • рд╕рдВрджреЗрд╢ рднреЗрдЬрд╛ рдЧрдпрд╛ рдерд╛;
  • рдХреБрдЫ рдЭрдВрдбреЗред

рдЗрд╕ рддрдереНрдп рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╢рд╛рд░реНрдбрд┐рдВрдЧ рдХреБрдВрдЬреА рдХреЛ рдЪреБрдирд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдкрд╣рд▓рд╛ рд╢рд╛рд░реНрдбрд┐рдВрдЧ рдирд┐рдпрдо рд╣реИ?

рдЗрд╕ рдХреНрд▓рд╛рд╕рд┐рдХ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ:

  • crc32 (id_src // id_dst);
  • crc32 (1 // 2)! = crc32 (2 // 1);
  • crc32 (+ рд╕реЗ)% n;
  • crc32 (рдиреНрдпреВрдирддрдо (рд╕реЗ, рд╕реЗ)ред рдЕрдзрд┐рдХрддрдо (рд╕реЗ, рд╕реЗ))% nред

рдХреЗрд╢реА


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

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

рдХреИрд╢ рд╕рдорд╕реНрдпрд╛рдПрдВ рдереАрд╕рд┐рд╕ рд╣реИрдВ:

  • рдПрдХ рдардВрдбрд╛ рдХреИрд╢ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░реЛ;
  • рдХреИрд╢ рдЕрдорд╛рдиреНрдпрдХрд░рдг рдореБрджреНрджрд╛;
  • рдХреИрд╢ рдХреА рд╕рдВрдЧрддрд┐ред

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



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

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


All Articles