рд╡реАрд╢рд░реНрдб - рдЯрд╛рд░реЗрдВрдЯреВрд▓ рдореЗрдВ рдХреНрд╖реИрддрд┐рдЬ рд╕реНрдХреЗрд▓рд┐рдВрдЧ



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

рдкрд╣рд▓рд╛, рдереЛрдбрд╝рд╛ рд╕рд┐рджреНрдзрд╛рдВрддред

рд╕реНрдХреЗрд▓рд┐рдВрдЧ рджреЛ рдкреНрд░рдХрд╛рд░ рдХреА рд╣реЛрддреА рд╣реИ: рдХреНрд╖реИрддрд┐рдЬ рдФрд░ рдКрд░реНрдзреНрд╡рд╛рдзрд░ред рдХреНрд╖реИрддрд┐рдЬ рдХреЛ рджреЛ рдкреНрд░рдХрд╛рд░реЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: рдкреНрд░рддрд┐рдХреГрддрд┐ рдФрд░ рддреЗрдЬред рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдХреЛ рд╕реНрдХреЗрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдХреГрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдбреЗрдЯрд╛ рдХреЛ рд╕реНрдХреЗрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╢рд╛рд░реНрдХрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╢реЗрдпрд░рд┐рдВрдЧ рдХреЛ рджреЛ рдкреНрд░рдХрд╛рд░реЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: рдкрд░реНрд╡рддрдорд╛рд▓рд╛ рджреНрд╡рд╛рд░рд╛ рдкреИрдирд╛рдкрди рдФрд░ рд╣реИрд╢ рджреНрд╡рд╛рд░рд╛ рд╢рд╛рд░реНрдХрд┐рдВрдЧред

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

рд╣реИрд╢ рдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рд╕рд░рд▓ рд╣реИ: рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рд░рд┐рдХреЙрд░реНрдб рд╕реЗ рд╣рдо рдПрдХ рд╣реИрд╢ рдлрд╝рдВрдХреНрд╢рди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ, рд╣рдо рдПрдХ рднреМрддрд┐рдХ рдиреЛрдб рдХреЗ рд▓рд┐рдП рд╣реИрд╢ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рдорд╛рди рдорд╛рди рдХреЗ рд╕рд╛рде рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдБ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред

рдореИрдВ рд╣реИрд╢ рд╢реЗрд░рд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреНрд╖реИрддрд┐рдЬ рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛ред

рдкрд┐рдЫрд▓рд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди


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

function shard_function(primary_key) return guava(crc32(primary_key), shard_count) end 

рд▓реЗрдХрд┐рди рдлрд┐рд░ рдПрдХ рдХрд╛рд░реНрдп рдпрд╣ рд╣реБрдЖ рдХрд┐ рдЯрд╛рд░рдирдЯреБрд▓ рд╢рд╛рд░реНрдб рддреАрди рдореВрд▓рднреВрдд рдХрд╛рд░рдгреЛрдВ рд╕реЗ рд╕рдВрднрд╛рд▓ рдирд╣реАрдВ рдкрд╛ рд░рд╣рд╛ рдерд╛ред

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

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

 format = {{'id', 'unsigned'}, {'email', 'string'}} box.schema.create_space('customer', {format = format}) format = {{'id', 'unsigned'}, {'customer_id', 'unsigned'}, {'balance', 'number'}} box.schema.create_space('account', {format = format}) 

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

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

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

рдирдпрд╛ рд╕рдорд╛рдзрд╛рди


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



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

 format = {{'id', 'unsigned'}, {'email', 'string'}, {'bucket_id', 'unsigned'}} box.schema.create_space('customer', {format = format}) format = {{'id', 'unsigned'}, {'customer_id', 'unsigned'}, {'balance', 'number'}, {'bucket_id', 'unsigned'}} box.schema.create_space('account', {format = format}) 

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

bucket id рджреНрд╡рд╛рд░рд╛ рдмрд╛рд▓реНрдЯреАрдо рдФрд░ рдЗрд▓рд╛рдХреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж bucket id рд╣рдо рд╣рдореЗрд╢рд╛ рдХреНрд▓рд╕реНрдЯрд░ рдЕрдиреБрд░реЛрдз рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ рдПрдХ рдЕрдиреБрд░реЛрдз рдореЗрдВ рдПрдХ рдиреЛрдб рд╕реЗ рдбреЗрдЯрд╛ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред



рдЖрдкрдХреЛ bucket id рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рд╕реНрд╡рдпрдВ рд╕рдорд╛рди рдорд╛рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВред рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП, рдпрд╣ рдПрдХ рдлрд╛рдпрджрд╛ рд╣реИ, рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдиреБрдХрд╕рд╛рди рд╣реИред рдореИрдВ рдЗрд╕реЗ рдПрдХ рдлрд╛рдпрджрд╛ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рдЦреБрдж bucket id рдЧрдгрдирд╛ рдХреЗ рд▓рд┐рдП рдлрд╝рдВрдХреНрд╢рди рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВред

рдмрд╛рд▓реНрдЯреА рдХреЗ рд╕рд╛рде рдХреНрд▓рд╛рд╕рд┐рдХ рд╢рд╛рд░реНрдХрд┐рдВрдЧ рдФрд░ рд╡рд░реНрдЪреБрдЕрд▓ рд╢рд╛рд░реНрдХрд┐рдВрдЧ рдХреЗ рдмреАрдЪ рдореБрдЦреНрдп рдЕрдВрддрд░ рдХреНрдпрд╛ рд╣реИ?

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

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

рдХреЗ рдЙрдкрдпреЛрдЧ


рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдордиреЗ bucket id рд▓рд┐рдП рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдЪреБрдирд╛ рдФрд░ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдЗрддрдирд╛ рдбреЗрдЯрд╛ рдбрд╛рд▓рд╛ рдХрд┐ рдХреЛрдИ рдФрд░ рдЬрдЧрд╣ рдирд╣реАрдВ рдереАред рдЕрдм рд╣рдо рдиреЛрдбреНрд╕ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдХрд┐ рдбреЗрдЯрд╛ рд╕реНрд╡рдпрдВ рдЙрдирдХреЗ рдкрд╛рд╕ рдЪрд▓реЗ рдЧрдПред VShard рдореЗрдВ, рдпрд╣ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЙрди рдкрд░ рдирдП рдиреЛрдбреНрд╕ рдФрд░ рдЯрд╛рд░рдирдЯреВрд▓ рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ, рдФрд░ рдлрд┐рд░ VShard рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВред рдпрд╣ рд╕рднреА рдХреНрд▓рд╕реНрдЯрд░ рд╕рджрд╕реНрдпреЛрдВ, рд╕рднреА рдкреНрд░рддрд┐рдХреГрддрд┐рдпреЛрдВ, рдкреНрд░рддрд┐рдХреГрддрд┐ рд╕реЗрдЯреЛрдВ, рдорд╛рд╕реНрдЯрд░реНрд╕, рдЕрд╕рд╛рдЗрди рдХрд┐рдП рдЧрдП рдпреВрдЖрд░рдЖрдИ рдФрд░ рдмрд╣реБрдд рдХреБрдЫ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред рд╣рдо рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдирдП рдиреЛрдбреНрд╕ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рдФрд░ VShard.storage.cfg рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ VShard.storage.cfg , VShard.storage.cfg рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд╕рднреА рдиреЛрдбреНрд╕ рдкрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

 function create_user(email) local customer_id = next_id() local bucket_id = crc32(customer_id) box.space.customer:insert(customer_id, email, bucket_id) end function add_account(customer_id) local id = next_id() local bucket_id = crc32(customer_id) box.space.account:insert(id, customer_id, 0, bucket_id) end 

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



рдЪреВрдВрдХрд┐ рд╡рд░реНрдЪреБрдЕрд▓ рд╕реНрдЯреЛрд░реЗрдЬ рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ - рдФрд░ рд╢рд╛рд░реНрдк рдлрд╝рдВрдХреНрд╢рди рдХреЗрд╡рд▓ рдЗрд╕ рдорд╛рди рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ - рд╣рдо рд╢рд╛рд░реНрдб рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдкреБрди: рд╕рдВрдпреЛрдЬрд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рдХрдИ рднреМрддрд┐рдХ рд╕реНрдЯреЛрд░реЗрдЬ рдХреЛ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред

рдХреИрд╕реЗ рдмреБрдХреЗ рдХреЛ рднреМрддрд┐рдХ рджреБрдХрд╛рдиреЛрдВ рдХреЗ рдмреАрдЪ рдореЗрдВ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ? рдЬрдм VShard.storage.cfg рдХреЛ рдиреЛрдбреНрд╕ рдореЗрдВ рд╕реЗ рдПрдХ рдкрд░ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдкреБрдирд░реНрд╕рдВрддреБрд▓рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЬрд╛рдЧ рдЬрд╛рддреА рд╣реИред рдпрд╣ рдПрдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рддреНрдордХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИ рдЬреЛ рдПрдХ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рд╕рд╣реА рд╕рдВрддреБрд▓рди рдХреА рдЧрдгрдирд╛ рдХрд░рддреА рд╣реИред рд╡рд╣ рд╕рднреА рднреМрддрд┐рдХ рдиреЛрдбреНрд╕ рдореЗрдВ рдЬрд╛рддрд╛ рд╣реИ, рдкреВрдЫрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕рдХреЗ рдкрд╛рд╕ рдХрд┐рддрдиреА рдмрд╛рд▓реНрдЯреА рд╣реИ, рдФрд░ рд╡рд┐рддрд░рдг рдХреЛ рдФрд╕рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдЖрдВрджреЛрд▓рди рдХреЗ рд▓рд┐рдП рдорд╛рд░реНрдЧ рдмрдирд╛рддрд╛ рд╣реИред рд░рд┐рдмреЗрд▓рд░ рднреАрдбрд╝-рднрд╛рдбрд╝ рд╡рд╛рд▓реЗ рдорд╛рд░реНрдЧреЛрдВ рдкрд░ рдорд╛рд░реНрдЧ рднреЗрдЬрддрд╛ рд╣реИ, рдФрд░ рд╡реЗ рдмрд╛рд▓реНрдЯреА рднреЗрдЬрдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рдХреБрдЫ рд╕рдордп рдмрд╛рдж, рдХреНрд▓рд╕реНрдЯрд░ рд╕рдВрддреБрд▓рд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

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

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



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

рдПрдЯреЙрдорд┐рдХ рдмрдХреЗрдЯ рдЯреНрд░рд╛рдВрд╕рдлрд░


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

рдкреНрд░рддреНрдпреЗрдХ рдмрд╛рд▓реНрдЯреА рдореЗрдЯрд╛рдбреЗрдЯрд╛ рд╕реЗ рдЬреБрдбрд╝реА рд╣реЛрддреА рд╣реИ рдЬреЛ рднреМрддрд┐рдХ рд░реВрдк рд╕реЗ рдбрд┐рд╕реНрдХ рдкрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реЛрддреА рд╣реИред рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рдЪрд░рдг рдбрд┐рд╕реНрдХ рдореЗрдВ рд╕рд╣реЗрдЬреЗ рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рдмрд╛рд▓реНрдЯреА рдХреА рд╕реНрдерд┐рддрд┐ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдмрд╣рд╛рд▓ рд╣реЛ рдЬрд╛рдПрдЧреАред

рдЖрдкрдХреЗ рдкреНрд░рд╢реНрди рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ:

  • рдЙрди рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдЗрд╕реЗ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рд▓реНрдЯреА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд┐рдпрд╛ рдерд╛?

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

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

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

    рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреБрдЫ рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рд╕реБрд╡рд┐рдзрд╛рдПрдБ рд╣реИрдВ, рддреЛ VShard рдХреЗ рдкрд╛рд╕ рдирд┐рдореНрди-рд╕реНрддрд░ рдХреА рдмрдХреЗрдЯ_ref API рд╣реИред рдпрджрд┐ рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕реНрд╡рдпрдВ рдХреБрдЫ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдмрд╕ рдЗрд╕ рдПрдкреАрдЖрдИ рдХреЛ рдХреЛрдб рд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд░реЗрдВред
  • рдХреНрдпрд╛ рд░рд┐рдХреЙрд░реНрдбреНрд╕ рдХреЛ рдмреНрд▓реЙрдХ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ?

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



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


VShard.router


VShard рдореЗрдВ рджреЛ рд╕рдмрдореЙрдбреНрдпреВрд▓ рд╣реЛрддреЗ рд╣реИрдВ: VShard.storage рдФрд░ VShard.routerред рдЙрдиреНрд╣реЗрдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдмрдирд╛рдпрд╛ рдФрд░ рдмрдврд╝рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдХреНрд▓рд╕реНрдЯрд░ рдХреЛ рдПрдХреНрд╕реЗрд╕ рдХрд░рддреЗ рд╕рдордп, рд╣рдо рдпрд╣ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рдХрд┐ рдмрд╛рд▓реНрдЯреА рдХрд╣рд╛рдБ рд╣реИ, рдФрд░ VShard.router рд╣рдорд╛рд░реЗ рд▓рд┐рдП bucket id рджреНрд╡рд╛рд░рд╛ рдЗрд╕реЗ рдЦреЛрдЬреЗрдЧрд╛ред

рдЖрдЗрдП рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ рдХрд┐ рдпрд╣ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред рд╣рдо рдмреИрдВрдХрд┐рдВрдЧ рдХреНрд▓рд╕реНрдЯрд░ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдЦрд╛рддреЛрдВ рдореЗрдВ рд▓реМрдЯрддреЗ рд╣реИрдВред рдореИрдВ рдХреНрд▓рд╕реНрдЯрд░ рд╕реЗ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд╕рднреА рдЦрд╛рддреЛрдВ рдХреЛ рдЦреАрдВрдЪрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рд╕реНрдерд╛рдиреАрдп рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦрддрд╛ рд╣реВрдВ:



рд╡рд╣ рдЕрдкрдиреА рдЖрдИрдбреА рджреНрд╡рд╛рд░рд╛ рд╕рднреА рдЧреНрд░рд╛рд╣рдХ рдЦрд╛рддреЛрдВ рдХреА рдЦреЛрдЬ рдХрд░рддрд╛ рд╣реИред рдЕрдм рдореБрдЭреЗ рдпрд╣ рддрдп рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреМрди рд╕реЗ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЕрдкрдиреЗ рдЕрдиреБрд░реЛрдз рдореЗрдВ рдХреНрд▓рд╛рдЗрдВрдЯ bucket id рд╕реЗ bucket id рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ VShard.router рд╕реЗ рдореБрдЭреЗ рд╕реНрдЯреЛрд░реЗрдЬ рдореЗрдВ рдРрд╕реЗ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдмрд╛рд▓реНрдЯреА рдкрд░рд┐рдгрд╛рдореА bucket id рд╕рд╛рде рд░рд╣рддреА рд╣реИред рд╕рдмрдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдПрдХ рд░рд╛рдЙрдЯрд┐рдВрдЧ рдЯреЗрдмрд▓ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдкреНрд░рддрд┐рдХреГрддрд┐ рд╕реЗрдЯ рдореЗрдВ рдмрд╛рд▓реНрдЯреА рдХрд╛ рд╕реНрдерд╛рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реИред рдФрд░ VShard.router рдореЗрд░реЗ рдЕрдиреБрд░реЛрдз рдХреЛ рд╕рдореАрдк рдХрд░рддрд╛ рд╣реИред

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

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

рдЕрд╕реНрдерд┐рд░рддрд╛ рдкрдврд╝реЗрдВ


рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рд╢реБрд░реВ рдореЗрдВ рд╣рдореЗрдВ рдХреМрди рд╕реА рд╕рдорд╕реНрдпрд╛рдПрдБ рдереАрдВ:

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

рдкрд┐рдЫрд▓реА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реАрдб рдлрд╝реЗрд▓рдУрд╡рд░ рд╕рдмрд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ VShard.router рджреНрд╡рд╛рд░рд╛ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

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



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

рдпрд╣ рд╡рд┐рдиреНрдпрд╛рд╕ рдореЗрдВ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ:



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

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

рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдЕрд╕реНрдерд┐рд░рддрд╛


рдЬрдм рд╕реЗ рд╣рдо рд░реАрдб рдлреЗрд▓рдУрд╡рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд╡рд┐рдЬрд╝рд╛рд░реНрдб рдмрджрд▓рддреЗ рд╕рдордп рдлреЗрд▓рдУрд╡рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рд▓рд┐рдЦреЗрдВ? рдпрд╣рд╛рдВ, рд╡реАрдПрд╕рдПрдЪрдЖрд░рдбреА рдЗрддрдиреА рд░рд╕реАрд▓реА рдирд╣реАрдВ рд╣реИ: рдПрдХ рдирдП рдорд╛рд╕реНрдЯрд░ рдХрд╛ рдЪреБрдирд╛рд╡ рдЗрд╕рдореЗрдВ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдЖрдкрдХреЛ рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЬрдм рд╣рдордиреЗ рдХрд┐рд╕реА рддрд░рд╣ рдЗрд╕реЗ рдЪреБрдирд╛, рддреЛ рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдпрд╣ рдЙрджрд╛рд╣рд░рдг рдЕрдм рдорд╛рд╕реНрдЯрд░ рдХреЗ рдЕрдзрд┐рдХрд╛рд░ рдХреЛ рд╕рдВрднрд╛рд▓ рд▓реЗред рд╣рдо master = false рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рддреЗ рд╣реИрдВ master = false рдкреБрд░рд╛рдиреЗ рдорд╛рд╕реНрдЯрд░ рдХреЗ рд▓рд┐рдП master = false , рдФрд░ рдирдП рдХреЗ рд▓рд┐рдП master = true , рдЗрд╕реЗ VShard.storage.cfg рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓рд╛рдЧреВ рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рд╕реНрдЯреЛрд░реЗрдЬ рдореЗрдВ рд░реЛрд▓ рдХрд░реЗрдВред рдлрд┐рд░ рд╕рдм рдХреБрдЫ рдЕрдкрдиреЗ рдЖрдк рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдкреБрд░рд╛рдирд╛ рдорд╛рд╕реНрдЯрд░ рд▓рд┐рдЦрдирд╛ рдЕрдиреБрд░реЛрдз рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИ рдФрд░ рдирдП рдХреЗ рд╕рд╛рде рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдРрд╕реЗ рдбреЗрдЯрд╛ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдкреБрд░рд╛рдиреЗ рдорд╛рд╕реНрдЯрд░ рдкрд░ рдкрд╣рд▓реЗ рд╣реА рд▓рд╛рдЧреВ рд╣реЛ рдЪреБрдХреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдирдпрд╛ рдЕрднреА рддрдХ рдирд╣реАрдВ рдЖрдпрд╛ рд╣реИред рдЙрд╕рдХреЗ рдмрд╛рдж, рдирдпрд╛ рдорд╛рд╕реНрдЯрд░ рднреВрдорд┐рдХрд╛ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЕрдиреБрд░реЛрдз рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИ, рдФрд░ рдкреБрд░рд╛рдиреЗ рдорд╛рд╕реНрдЯрд░ рдПрдХ рдкреНрд░рддрд┐рдХреГрддрд┐ рдмрди рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рд╣реИ рдХрд┐ рдХреИрд╕реЗ рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдЕрд╕рдлрд▓рддрд╛ VShard рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

 replicas = new_cfg.sharding[uud].replicas replicas[old_master_uuid].master = false replicas[new_master_uuid].master = true vshard.storage.cfg(new_cfg) 

рдЕрдм рдЗрди рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреА рдШрдЯрдирд╛рдУрдВ рдХрд╛ рдкрд╛рд▓рди рдХреИрд╕реЗ рдХрд░реЗрдВ?


рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рджреЛ рд╣реИрдВрдбрд▓ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИрдВ - VShard.storage.info рдФрд░ VShard.router.info ред

VShard.storage.info рдХрдИ рдЦрдВрдбреЛрдВ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред

 vshard.storage.info() --- - replicasets: <replicaset_2>: uuid: <replicaset_2> master: uri: storage@127.0.0.1:3303 <replicaset_1>: uuid: <replicaset_1> master: missing bucket: receiving: 0 active: 0 total: 0 garbage: 0 pinned: 0 sending: 0 status: 2 replication: status: slave Alerts: - ['MISSING_MASTER', 'Master is not configured for ''replicaset <replicaset_1>'] 

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

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

рдЕрд▓рд░реНрдЯ рдЦрдВрдб рдЙрди рд╕рднреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдПрдХ рдРрд╕рд╛ рдХреЗрдВрджреНрд░ рд╣реИ рдЬреЛ рд╡реАрдПрд╕рдПрдЪрдЖрд░ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛: рдорд╛рд╕реНрдЯрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЕрддрд┐рд░реЗрдХ рд╕реНрддрд░ рдЕрдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рдорд╛рд╕реНрдЯрд░ рд╡рд╣рд╛рдВ рд╣реИ, рдФрд░ рд╕рднреА рдкреНрд░рддрд┐рдХреГрддрд┐рдпрд╛рдВ рд╡рд┐рдлрд▓ рд╣реЛ рдЧрдИ рд╣реИрдВ, рдЖрджрд┐ред

рдФрд░ рдЕрдВрддрд┐рдо рдЦрдВрдб рдПрдХ рдкреНрд░рдХрд╛рд╢ рд╣реИ рдЬреЛ рд▓рд╛рд▓ рд░рдВрдЧ рдХреА рд░реЛрд╢рдиреА рдХрд░рддрд╛ рд╣реИ рдЬрдм рдЪреАрдЬреЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЦрд░рд╛рдм рд╣реЛ рдЬрд╛рддреА рд╣реИрдВред рдпрд╣ рд╢реВрдиреНрдп рд╕реЗ рддреАрди рддрдХ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реИ, рдЬрд┐рддрдирд╛ рдЕрдзрд┐рдХ рдЦрд░рд╛рдм рд╣реИред

VShard.router.info рдореЗрдВ рд╕рдорд╛рди рдЕрдиреБрднрд╛рдЧ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрдирдХрд╛ рдорддрд▓рдм рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рд╣реИред

 vshard.router.info() --- - replicasets: <replicaset_2>: replica: &0 status: available uri: storage@127.0.0.1:3303 uuid: 1e02ae8a-afc0-4e91-ba34-843a356b8ed7 bucket: available_rw: 500 uuid: <replicaset_2> master: *0 <replicaset_1>: replica: &1 status: available uri: storage@127.0.0.1:3301 uuid: 8a274925-a26d-47fc-9e1b-af88ce939412 bucket: available_rw: 400 uuid: <replicaset_1> master: *1 bucket: unreachable: 0 available_ro: 800 unknown: 200 available_rw: 700 status: 1 alerts: - ['UNKNOWN_BUCKETS', '200 buckets are not discovered'] 

рдкрд╣рд▓рд╛ рдЦрдВрдб рдкреНрд░рддрд┐рдХреГрддрд┐ рд╣реИред , : , replica set' , , , replica set' bucket' , .

Bucket bucket', ; bucket' ; , replica set'.

Alert, , , failover, bucket'.

, .

VShard?


тАФ bucket'. int32_max ? bucket' тАФ 30 16 . bucket', . bucket', bucket'. , .

тАФ - bucket id . , - , bucket тАФ . , bucket' , VShard bucket'. -, bucket' bucket, -. .

рд╕рд╛рд░рд╛рдВрд╢


Vshard :

  • ;
  • ;
  • ;
  • read failover;
  • bucket'.

VShard . - . тАФ . , . .

тАФ lock-free bucket' . , bucket' . , .

тАФ . : - , , ? .

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


All Articles