рдХрд╛рд░реНрд░рд╡рд╛рдИ рдореЗрдВ MongoDb - рдСрдирд▓рд╛рдЗрди рд╕реНрдЯреЛрд░

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

рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдореИрдВ рдпрд╣ рдХрд╣реВрдВрдЧрд╛: MS SQL рдХреЗ рд╕рд╛рде MongoDB рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рдПрд╕рдХреНрдпреВрдПрд▓ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдЖрдк рдЕрдзрд┐рдХ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдХреИрд╕реЗ рдХреА рдЬрд╛рддреА рд╣реИ рдФрд░ рдмреЗрд╣рддрд░ рдирд┐рдпрдВрддреНрд░рдг рдХреНрдпрд╛ рдзреАрдорд╛ рд╣реЛрдЧрд╛ рдФрд░ рдХреНрдпрд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

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


рд╕рдВрдкреВрд░реНрдг рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдирд╛ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдХреНрдпреЛрдВ рд╣реИ, рдФрд░ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдирд╣реАрдВ?


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

рдРрд╕реА рдХрд┐рд╕реА рднреА рд▓рд┐рдкрд┐ рдХрд╛ C # рдореЗрдВ рд╡рд░реНрдгрди рдХрд░рдирд╛ рд╕реАрдзрд╛ рд╣реИ; рд▓реЗрдХрд┐рди рдПрдХ рдкреНрд░рднрд╛рд╡реА рдбреЗрдЯрд╛ рд▓реЗрдпрд░ рдмрдирд╛рдирд╛ рдЬреЛ рд╕реИрдХрдбрд╝реЛрдВ рд╣рдЬрд╛рд░реЛрдВ рд░рд┐рдХреЙрд░реНрдб рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрдЧрд╛ред

рдЙрд╕реА рд╕рдордп, MongoDB рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдПрдХ рд╕рд┐рдВрдЧрд▓ рдХреЙрд▓ рдХреЗ рд╕рд╛рде рдЗрд╕ рддрд░рд╣ рдХреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдмрдЪрд╛ рд╕рдХрддреЗ рд╣реИрдВ:
DocumentCollection.Save<T>(document); 

рд╕рднреА рдиреЗрд╕реНрдЯреЗрдб рд╡рд░реНрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рднреА рдкреНрд░рд╛рдердорд┐рдХ рд╣реИ:
 DocumentCollection.FindOneById(id); 

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд┐рд╕реА рдЙрддреНрдкрд╛рдж рдХреА рдкреНрд░рд╕реНрддреБрддрд┐ рдХреЛ рджреЗрдЦреЗрдВ ред рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдХрд▓ рдХреЙрд▓ рдХреЗ рд▓рд┐рдП - рд╢реНрд░реЗрдгреА рдЖрдИрдбреА рдФрд░ SeoFreindlyUrl, рдЬреЛ 0.0012s (!) рд▓реЗрддрд╛ рд╣реИ, рджреНрд╡рд╛рд░рд╛ рдЦреЛрдЬреЗрдВред
- рдЙрдЪрд┐рдд рдЙрддреНрдкрд╛рдж рдЧреБрдг
- рдЗрд╕рдХреЗ рдкреИрд░рд╛рдореАрдЯрд░ (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХреЗрд╡рд▓ рджреЛ, рд▓реЗрдХрд┐рди рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░ рдЙрдирдХреА рд╕рдВрдЦреНрдпрд╛ рдФрд░ рдкреНрд░рдХрд╛рд░ рдордирдорд╛рдиреА рд╣реИрдВ)
- рдЪрд┐рддреНрд░ (рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдореЗрдВ рдкреБрди: рдЙрдкрдпреЛрдЧ; 2 рдЯреБрдХрдбрд╝реЗ, рдкреНрд░рддреНрдпреЗрдХ рдореЗрдВ url + рдЖрдХрд╛рд░ рд╣реИрдВ)
- рд╡реАрдбрд┐рдпреЛ (рдЕрдЧрд░ рд╡рд╣рд╛рдБ рдереЗ)
- рд╕рдВрдмрдВрдзрд┐рдд рдЙрддреНрдкрд╛рдж (рд▓рд┐рдВрдХ)
- рдмрд┐рдХреНрд░реА рдХреА рд╢рд░реНрддреЗрдВ (рдпрд╣ рдСрдмреНрдЬреЗрдХреНрдЯ рд╡рд╛рд░рдВрдЯреА рдЕрд╡рдзрд┐ рдХреЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдФрд░ рд╕рд┐рд╕реНрдЯрдо рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╡рд╛рдкрд╕реА рдХреА рд╕рдВрднрд╛рд╡рдирд╛)
- рдирд┐рд░реНрдорд╛рддрд╛
- рдПрд╕рдИрдУ рд▓рд╛рдЗрдиреЛрдВ (рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╢реАрд░реНрд╖рдХ, рдореЗрдЯрд╛ рдЯреИрдЧ, рдПрд╕рдИрдУ рдкрд╛рда)

рдФрд░ рдореИрдВ рддреБрд░рдВрдд рдкреНрд░рддрд┐рдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝ рд╕рдХрддрд╛ рд╣реВрдВред

рдЖрдВрдХрдбрд╝реЛрдВ рдХреЗ рд▓рд┐рдП: рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЙрддреНрдкрд╛рдж рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ 154 рд╣рдЬрд╛рд░ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдВ рд╣реИрдВ; рдФрд╕рддрди, рдПрдХ рд░рд┐рдХреЙрд░реНрдб рдореЗрдВ 22KB рд▓рдЧрддрд╛ рд╣реИ; рдФрд░ рдЯреЗрдмрд▓ рдХрд╛ рдЖрдХрд╛рд░ 4GB рд╣реИред

рдРрд╕реА рдЬрдЯрд┐рд▓ рд╡рд╕реНрддреБ рдХреЛ рдкрдврд╝рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛, рдЕрдЧрд░ рд╣рдо SQL рд╕рд░реНрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рдереЗ, рддреЛ xml рдореЗрдВ рд╕рднреА рдЧреБрдгреЛрдВ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЕрдиреБрдХреНрд░рдорд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред MongoDB рдпрд╣ рд╕рдм рдмрд┐рдирд╛ рдХрд┐рд╕реА рдкреНрд░рдпрд╛рд╕ рдХреЗ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред

рд╣рдорд╛рд░реА рдкреВрд░реА рдкреНрд░рдгрд╛рд▓реА рддреАрди рд╡рд░реНрдЧреЛрдВ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ:
- рдмреЗрд╕рдореЛрдВрдЧреЛрдХреНрд▓рд╛рд╕ (рдЖрдИрдбреА, рд╢реАрд░реНрд╖рдХ, рдЕрдВрддрд┐рдо рдкрд░рд┐рд╡рд░реНрддрди)
- EntityRef (рд▓рд┐рдВрдХ, рдЖрдИрдбреА рдФрд░ рд╢реАрд░реНрд╖рдХ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдФрд░ рдЕрдзрд┐рдХ рдкрд░рд┐рд╖реНрдХреГрдд рд╡рд╛рд░рд┐рд╕ рд╣реИрдВ)
- рдмреЗрд╕рд░реЗрдкреЛрд╕рд┐рдЯрд░реА, рдЬреЛ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рддрд░реАрдХреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рд╣рдордиреЗ GetById, Get (рдХреНрд╡реЗрд░реА), FirstOrDefault, GetAll, GetByIds (рдЖрдИрдбреА рд╕реВрдЪреА рджреНрд╡рд╛рд░рд╛), GetByEntityRefs (EntityRef рд╕реВрдЪреА рджреНрд╡рд╛рд░рд╛), рд╕рд╣реЗрдЬреЗрдВ, DeleteById, DeleteByQuery рдХреЛ рдЪреБрдирд╛ред

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

MongoDB рд╕рдмрд╕реЗ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЖрдзрд╛рд░ рд╣реИ рдЬрдм рдЖрдкрдХреЛ рдкрджрд╛рдиреБрдХреНрд░рдорд┐рдд рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдмрдЪрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рджреБрдирд┐рдпрд╛ рдРрд╕реА рд╣реИ рдХрд┐ рдлреНрд▓реИрдЯ рдбреЗрдЯрд╛ рдмрд╣реБрдд рдЫреЛрдЯрд╛ рд╣реИред

рдкреБрдирд╢реНрдЪ: рдмреБрдирд┐рдпрд╛рджреА рдХрдХреНрд╖рд╛рдУрдВ рдФрд░ рднрдВрдбрд╛рд░ рдХреА рд╕реВрдЪреА рдпрд╣рд╛рдВ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ ред

рд╕рдВрдмрдВрдзреЛрдВ рд╕реЗ рдХреИрд╕реЗ рдирд┐рдкрдЯреЗрдВ?



рдмреЗрд╢рдХ, рдореЛрдВрдЧреЛ рдореЗрдВ рдХреЛрдИ рд╕рдВрдмрдВрдз рдирд╣реАрдВ рд╣реИрдВред Abo.ua рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ , рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ:

рдПрдХ рдЙрддреНрдкрд╛рдж рдореЗрдВ рдПрдХ рд╢реНрд░реЗрдгреА рд╣реЛ рд╕рдХрддреА рд╣реИ (рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрдзрд┐рдХ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕реЗ рдереЛрдбрд╝рд╛ рд╕рд░рд▓ рдХрд░рддрд╛ рд╣реВрдВ)ред рд╕реНрд╡рдпрдВ рдЙрддреНрдкрд╛рдж рдХреЗ рдкреНрд░рдХрд╛рд░ рдореЗрдВ, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╢рд╛рдмреНрджрд┐рдХ рд░реВрдк рд╕реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ:
 public EntityRef Category { get; set; } [BsonIgnore] // ,      public Category CategoryValue { get { if (Category == null || Category .IsEmpty()) return null; return AppRequestContext.Factory.BuildCategoryRepository().GetById(Category.Id); } } 

рдЬрдм рд╣рдо рд╢реНрд░реЗрдгреА рдмрджрд▓рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рд╢реНрд░реЗрдгреА рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдЬрдм рд╣рдореЗрдВ рдХрд┐рд╕реА рд╢реНрд░реЗрдгреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдФрд░ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рддрд░реАрдХреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рд╣рдо рд╢реНрд░реЗрдгреАрд╡реИрд▓реНрдпреВ рдХреА рдУрд░ рдореБрдбрд╝рддреЗ рд╣реИрдВред

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

рдЖрдк рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдореЗрдореЛрд░реА рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдкреНрд░рдпреЛрдЧреЛрдВ рд╕реЗ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдореМрд▓рд┐рдХ рд░реВрдк рд╕реЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреА рд╕реНрдореГрддрд┐ рд╕реЗ рдзреАрдореА рд╣реИред

рдПрдХ рдФрд░ рд╕рдВрдмрдВрдзрдкрд░рдХ рдореБрджреНрджрд╛ рд╕рдВрдмрдВрдзрд┐рдд рд╡рд╕реНрддреБрдУрдВ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдЕрджреНрдпрддрди рдХрд░ рд░рд╣рд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╢реНрд░реЗрдгреА рдмрджрд▓ рджреА рдЧрдИ / рд╣рдЯрд╛ рджреА рдЧрдИ, рд▓реЗрдХрд┐рди рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЙрддреНрдкрд╛рдж рдореЗрдВ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рд╣реЛ:
1. рд╣рдореЗрд╢рд╛ рдЧреИрд░-рд╕рдордЧреНрд░ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд░рд╣реЗрдВред рдКрдкрд░ рджрд┐рдП рдЧрдП рдХреЛрдб рд╕реЗ, рдпрджрд┐ рдХреЛрдИ рдРрд╕реА рд╢реНрд░реЗрдгреА рдирд╣реАрдВ рд╣реИ рддреЛ рд╢реНрд░реЗрдгреАрд╡реИрд▓реНрдпреВ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдПрдЧреА; рдФрд░ рд╡реЗрдмрд╕рд╛рдЗрдЯ 404 рдХреЛрдб рд╡рд╛рдкрд╕ рдХрд░ рджреЗрдЧреАред рдпрд╣ рдПрдХ рдФрд░ рд╕рд░рд▓ рдкрд░рд┐рджреГрд╢реНрдп рд╣реИред рдЬрдм рд╣рдо рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдШрдЯрд╛рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдЧреБрдгреЛрдВ рдХреА рддреБрд▓рдирд╛ рдорд╛рд▓ рдХреЗ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рд╕реЗ рдХрд░рддреЗ рд╣реИрдВ: рдХреНрдпрд╛ рдХреБрдЫ рд╕рдВрдкрддреНрддрд┐ рдирд╖реНрдЯ рдХрд░ рджреА рдЧрдИ рд╣реИ? рдХреНрдпрд╛ рдЖрдкрдиреЗ рдЗрд╕рдореЗрдВ рдЕрдиреБрдордд рдореВрд▓реНрдпреЛрдВ рдХреА рд╕реВрдЪреА рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛ рд╣реИ? рдПрдХ рдкреНрд░рдХрд╛рд░ рдореЗрдВ рдЬреЛрдбрд╝реЗ рдЧрдП рдЧреБрдгреЛрдВ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рдХреНрдпрд╛ рд╣реИ? рдпрд╣ рдЬрдЯрд┐рд▓ рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЬрдм рд╕рднреА рдбреЗрдЯрд╛ рд╣рд╛рде рдореЗрдВ рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рд╣рдо 0.1 рдПрд╕ рдХреЗ рднреАрддрд░ 1000 рдЙрддреНрдкрд╛рджреЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдХрд╛рдлреА рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред
2. рдЬрдм рдЖрдкрдиреЗ рдХреЛрдб рдХреЛ рдбреЗрдЯрд╛ рдХреА рдЕрдЦрдВрдбрддрд╛ рдХреЛ "рдареАрдХ" рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд┐рдЦрд╛рдпрд╛ рд╣реИ, рддреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдбреЗрдЯрд╛ рдХреЛ рд╕рд╣реА рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХреЛрдб рдХреЛ рд▓рд┐рдЦрдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
 var products = prodRepo.GetAll().OrderBy(p => p.Id).Skip(start).Take(portionSize).ToArray(); prodRepo.JoinPropertyTypes(products); //       products.AsParallel().ForAll(p => prodRepo.Save(p)); 

рдЬреЛ рдХреБрдЫ рдмрдЪрддрд╛ рд╣реИ рд╡рд╣ рд╕рднреА рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд▓рд┐рдП рдРрд╕реЗ рдХреЛрдб (рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ) рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИред

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рднрд╛рдЧреЛрдВ рдореЗрдВ


рдореИрдВ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛:

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


All Articles