рдореЙрд╕реНрдХреЛ рдореЗрдВ рдХреБрдЫ рджрд┐рдиреЛрдВ рдкрд╣рд▓реЗ "
рд╣рд╛рдИ рд▓реЛрдбреЗрдб рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХрд╛ рдПрдХ рд╕рдореНрдореЗрд▓рди"
рд╣рд╛рдИрд▓рд╛рдб ++ рдерд╛ , рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рдореИрдВ рдПрдХ рдкреНрд░рддрд┐рднрд╛рдЧреА рдмрдирдиреЗ рдХреЗ рд▓рд┐рдП рднрд╛рдЧреНрдпрд╢рд╛рд▓реА рдерд╛ред рдиреАрдЪреЗ рдореИрдВ рдЙрди рд░рд┐рдкреЛрд░реНрдЯреЛрдВ рдкрд░ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдЬрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЬреЛ рдореИрдВрдиреЗ рд╕рдореНрдореЗрд▓рди рдХреЗ рджреМрд░рд╛рди рджреЗрдЦреАрдВ, рдЙрдирдореЗрдВ рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдк рдмрд┐рдВрджреБрдУрдВ рдкрд░ рдкреНрд░рдХрд╛рд╢ рдбрд╛рд▓рд╛ред
рдореИрдВ рддреБрд░рдВрдд рдЖрдкрдХреЛ рдЪреЗрддрд╛рд╡рдиреА рджреВрдВрдЧрд╛ рдХрд┐ рдореИрдВ рдХреБрдЫ рдЪреАрдЬреЛрдВ рдХреЛ рдЧрд▓рдд рд╕рдордЭ рд╕рдХрддрд╛ рд╣реВрдВ, рдХреБрдЫ рдХреЛ рдЧрд▓рдд рд╕рдордЭ рд╕рдХрддрд╛ рд╣реВрдВред рдпрджрд┐ рдпрд╣ рдЖрдкрдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ - рдЗрд╕ рдкреЛрд╕реНрдЯ рдХреЛ рди рдкрдврд╝реЗрдВ, рд▓реЗрдХрд┐рди рд╡реНрдпрдХреНрддрд┐ рдореЗрдВ рдЕрдЧрд▓реЗ рд╕рдореНрдореЗрд▓рди рдореЗрдВ рдЖрдПрдВ!
рджрд┐рди 1
рднрдВрдбрд╛рд░рдг рдФрд░ VKontakte рд╕рд╛рдордЧреНрд░реА рдХрд╛ рд╡рд┐рддрд░рдг
рд░рд┐рдкреЛрд░реНрдЯ рджреЛ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдПрдХ рдХрд╣рд╛рдиреА рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реБрдИ рдЬрдм рдореИрдВрдиреЗ рдкрд╛рд╢рд╛ рдбреНрдпреВрд░реЛрд╡ рд╕реЗ рдкреВрдЫрд╛ рдХрд┐ VKontakte рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдбреЗрдЯрд╛ рдХреИрд╕реЗ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ? рдЙрд╕ рджрд┐рди, рдкрд╛рд╢рд╛ рдиреЗ "рдбрд┐рд╕реНрдХ рдкрд░" рдЙрддреНрддрд░ рджрд┐рдпрд╛ред рддрдм рд╕реЗ, рдореИрдВ рдЙрд╕реЗ рдкрд╕рдВрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реВрдВ :) рдЗрд╕ рдмрд╛рд░ рдУрд▓реЗрдЧ (рд╕реНрдкреАрдХрд░) рдиреЗ рдЗрд╕ рд╕рд╡рд╛рд▓ рдХрд╛ рдЬрд╡рд╛рдм рдкреВрд░реА рддрд░рд╣ рд╕реЗ рджреЗрдиреЗ рдХрд╛ рд╡рд╛рджрд╛ рдХрд┐рдпрд╛, рдЙрд╕реЗ рдкреВрд░реА рд░рд┐рдкреЛрд░реНрдЯ рд╕рдорд░реНрдкрд┐рдд рдХреАред
рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рд╕рднреА рдлрд╝рд╛рдЗрд▓реЛрдВ (рдлрд╝реЛрдЯреЛ) рдХреЛ рдЕрдкрд▓реЛрдб рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдХреЛрдб рдХреЗ рд╕рдорд╛рди рд╕рд░реНрд╡рд░ рдкрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕рд░рд▓ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреА рджреЛ рдЦрд╛рдорд┐рдпрд╛рдВ рд╣реИрдВ: рд╕реБрд░рдХреНрд╖рд╛ (рдХреЛрдб рдЗрдВрдЬреЗрдХреНрд╢рди, XSS) рдФрд░ рд╕реНрдХреЗрд▓реЗрдмрд┐рд▓рд┐рдЯреАред
рддрдм рд▓реЛрдЧреЛрдВ рдХреЛ рд╕реНрдХреЗрд▓реЗрдмрд┐рд▓рд┐рдЯреА рд╕реЗ рд╣реИрд░рд╛рди рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдпреЛрдЬрдирд╛ рдХрд╛ рдЖрдпреЛрдЬрди: рдлрд╛рдЗрд▓реЗрдВ рдореБрдЦреНрдп рд╕рд░реНрд╡рд░ рдкрд░ рдЕрдкрд▓реЛрдб рдХреА рдЬрд╛рддреА рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рд╕рд╣рд╛рдпрдХ рдХреЛ рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИрдВ (рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХреА рдЧрдИ)ред
рдкреНрд░рддреНрдпреЗрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣рдореЗрд╢рд╛ рдПрдХ рд╣реА рд╕рд╣рд╛рдпрдХ рд╕рд░реНрд╡рд░ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдпреВрдЬрд░ рдЖрдИрдбреА рджреНрд╡рд╛рд░рд╛ рдкрд╣рдЪрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдореЗрдВ рдПрдХ рдмреЛрддрд▓ рдЧрд░реНрджрди рд╣реИ - рдореБрдЦреНрдп рд╕рд░реНрд╡рд░ред
рдЗрд╕рд▓рд┐рдП, рдЕрдЧрд▓рд╛ рдХрджрдо рдореБрдЦреНрдп рд╕рд░реНрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рд╕рд╛рдордЧреНрд░реА рд╕рд░реНрд╡рд░ рдкрд░ рд╕реАрдзреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЕрдкрд▓реЛрдб рдХрд░рдирд╛ рдерд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреНрд░рд╢реНрди рдХрд╛ рдЙрддреНрддрд░ рджреЗрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ: рдлреЛрдЯреЛ рдХреЛ рдХрд┐рд╕ рд╕рд░реНрд╡рд░ рдкрд░ рдЕрдкрд▓реЛрдб рдХрд░рдирд╛ рд╣реИ?
- рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдЬреЛрдбрд╝реЗ рдЧрдП рдЕрдВрддрд┐рдо рд╕рд░реНрд╡рд░ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ (рдлрд┐рдЯ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕рд░реНрд╡рд░ рдЬрд▓реНрджреА рд╕реЗ рдЕрдВрддрд░рд┐рдХреНрд╖ рд╕реЗ рдмрд╛рд╣рд░ рдЪрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ);
- рд╕рдмрд╕реЗ рдореБрдХреНрдд рд╕рд░реНрд╡рд░ (рдлрд┐рдЯ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕рднреА рдЯреНрд░реИрдлрд╝рд┐рдХ рд╕рд░реНрд╡рд░ рдкрд░ рдбрдВрдк рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ);
- рдмреЗрддрд░рддреАрдм рдврдВрдЧ рд╕реЗ рдореБрдХреНрдд рд╕рд░реНрд╡рд░ (рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛);
рдмрд╛рдзрд╛рдУрдВ рдХреЛ рдЦреЛрдЬреЗрдВ рдФрд░ рд╕рдорд╛рдкреНрдд рдХрд░реЗрдВред рдЖрдорддреМрд░ рдкрд░ рдЯреЛрдВрдЯреА рдПрдХ рд╣реИ - рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдмрд╛рдХреА рдиреЛрдбреНрд╕ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдпрд╣ рдмрд╣реБрдд рдмреЗрд╣рддрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдмреЛрддрд▓ рдЧрд░реНрджрди рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдбреЗрдЯрд╛ рдХреА рдПрдХ рдмрдбрд╝реА рд░рд╛рд╢рд┐ рдХрд╛ рднрдВрдбрд╛рд░рдг рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:
- рдбреЗрдЯрд╛ рдмреИрдХрдЕрдк (RAID рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрджрд┐ 2 рдбрд┐рд╕реНрдХ рдХрд╛ рдкреВрд░рд╛ рд╕рд░рдгреА рдЬрд▓рддрд╛ рд╣реИ - рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдлрд╝рд╛рдЗрд▓реЗрдВ рд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рдЦреЛ рдЬрд╛рддреА рд╣реИрдВ);
- рдХреИрд╢рд┐рдВрдЧ (рд╕рд╛рдордЧреНрд░реА рдХрд╛ 60% рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рдХреИрд╢ рд╕реЗ рдЖрддрд╛ рд╣реИ);
- рдпрд╛рддрд╛рдпрд╛рдд (рд╕рдорд╛рдзрд╛рди CDN рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╡реАрдбрд┐рдпреЛ рдХреЗ рд▓рд┐рдП: рдореЙрд╕реНрдХреЛ рдореЗрдВ VKontakte рдореЗрдВ рд╕рд░реНрд╡рд░ рд╣реИрдВ рдЬреЛ рд╕реЗрдВрдЯ рдкреАрдЯрд░реНрд╕рдмрд░реНрдЧ рдореЗрдВ рдПрдХ рдбреЗрдЯрд╛ рд╕реЗрдВрдЯрд░ рд╕реЗ рд╡реАрдбрд┐рдпреЛ рдХреИрд╢ рдХрд░рддреЗ рд╣реИрдВ);
рдЙрдкрдпреЛрдЧ рдХреА рдЧрдИ рдлрд╝рд╛рдЗрд▓ рдкреНрд░рдгрд╛рд▓реА XFS рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдмрдбрд╝реА рдлрд╝рд╛рдЗрд▓ рдореЗрдВред рдлрд╝рд╛рдЗрд▓ рд╣рдореЗрд╢рд╛ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреБрд▓реА рд╣реЛрддреА рд╣реИ, рдлрд╝рд╛рдЗрд▓ рдЗрдВрдбреЗрдХреНрд╕ рд░реИрдо рдореЗрдВ рд╕рдВрдЧреНрд░рд╣рд┐рдд рд╣реЛрддрд╛ рд╣реИред рд▓реЛрдЧ рдЗрд╕ рддрдХрдиреАрдХ рдХреЗ рдЖрдЧреЗ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЛ рднреМрддрд┐рдХ рдореАрдбрд┐рдпрд╛ рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдореВрд░реНрдд рд░реВрдк рдореЗрдВ рджреЗрдЦрддреЗ рд╣реИрдВред
рдЗрд╕ рддрдереНрдп рдХреЗ рдорджреНрджреЗрдирдЬрд░ рдХрд┐ рд╡рд╛рдИрдлрд╛рдИ рдХрд╛ рд╡реНрдпрд╛рдкрдХ рд╡рд┐рддрд░рдг, VKontakte HTTPS рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░ рд░рд╣рд╛ рд╣реИред рдЪреВрдВрдХрд┐ рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╕рд░реНрд╡рд░ рд╣реИрдВ, рдЖрдк рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ (рдмрд╣реБрдд рдорд╣рдВрдЧрд╛) рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдирд╣реАрдВ рдЦрд░реАрдж рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, VKontakte рдореЗрдВ рдХрдИ рд╕рд░реНрд╡рд░ рд╣реИрдВ рдЬреЛ HTTPS рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░реЙрдХреНрд╕реА рдХрдВрдЯреЗрдВрдЯ рд░рдЦрддреЗ рд╣реИрдВред
рддрд╕реНрд╡реАрд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛:
- рдХреБрд▓ 30,000,000,000 рд╕реЗ рдЕрдзрд┐рдХ, 17,000,000 рдкреНрд░рддрд┐ рджрд┐рди рдЬреЛрдбрд╝реЗ рдЬрд╛рддреЗ рд╣реИрдВ;
- рдЫрд╡рд┐рдпрд╛рдВ рдЧреНрд░рд╛рд╣рдХ рдкрдХреНрд╖ (рдлреНрд▓реИрд╢) рдкрд░ рдкреВрд░реНрд╡-рд╕рдВрдкреАрдбрд╝рд┐рдд рд╣реЛрддреА рд╣реИрдВ;
- рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдореИрдЬрд┐рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ;
- рдЬрдм рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдлрд╝реЛрдЯреЛ рдХреЛ рддреБрд░рдВрдд рдХрд╛рдЯ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ;
рдСрдбрд┐рдпреЛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ:
- 130K рдкреНрд░рддрд┐ рджрд┐рди рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ;
- рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдкрд╛рд╕ рдЦреБрдж рдХреЛ рджреВрд╕рд░реЗ рдХреЗ рдкреЗрдЬ рд╕реЗ рдбреЗрдЯрд╛ рдХреЛ "рдЬреЛрдбрд╝рдиреЗ" рдХреА рдХреНрд╖рдорддрд╛ рд╣реИ, рдЬреЛ рдкрд░рд┐рдорд╛рдг рдХреЗ рдЖрджреЗрд╢реЛрдВ рджреНрд╡рд╛рд░рд╛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдП рдЧрдП рдСрдбрд┐рдпреЛ рдХреА рдорд╛рддреНрд░рд╛ рдХреЛ рдХрдо рдХрд░рддрд╛ рд╣реИ;
- рдХреЙрдкреАрд░рд╛рдЗрдЯ рдзрд╛рд░рдХреЛрдВ рдХреЗ рдЕрдиреБрд░реЛрдз рдкрд░, рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╢реБрд░реВ рдореЗрдВ md5 рд╣реИрд╢ рджреНрд╡рд╛рд░рд╛ рдЦреЛрдЬрд╛ рдЧрдпрд╛ рдерд╛ред рдЕрдм рдПрдХ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рдХреБрдЫ рдСрдбрд┐рдпреЛ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рд╕рдорд╛рди рдСрдбрд┐рдпреЛ рд░рд┐рдХреЙрд░реНрдб рдкрд╛рддрд╛ рд╣реИ;
рд╡реАрдбрд┐рдпреЛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ:
- 320K рдкреНрд░рддрд┐ рджрд┐рди рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ;
- рдХрддрд╛рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡рд┐рд▓рдВрдмрд┐рдд рд╡реАрдбрд┐рдпреЛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдСрдирд▓рд╛рдЗрди рд╡реАрдбрд┐рдпреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдирд╛ рдмрд╣реБрдд рдорд╣рдВрдЧрд╛ рд╣реИ;
- ffmpeg рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡реАрдбрд┐рдпреЛ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ;
- рдЕрдиреНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдкреБрдирдГ рд▓реЛрдб рдХрд┐рдП рдЬрд╛рдиреЗ рдкрд░ рд╡реАрдбрд┐рдпреЛ рдХреЛ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдпрд╣ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ;
- рдПрдХ рд╕рдордп рдореЗрдВ, VKontakte рдореЗрдВ рдлреНрд▓реИрд╢ (рд╡рд╛рдЯ!) рдкрд░ рд╡реАрдбрд┐рдпреЛ рдХреЗ рд▓рд┐рдП рдкреА 2 рдкреА рдерд╛, рдЕрдм рд╡реЗ рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ;
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдореБрдЭреЗ рдпрд╣ рдорд╣рд╕реВрд╕ рд╣реБрдЖ рдХрд┐ рд╕рдВрдкрд░реНрдХ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рд╕рд░рд▓ рд╣реИред рд╕рд░рд▓ рд▓реЗрдХрд┐рди рдкреНрд░рднрд╛рд╡реАред
рдПрдХ рдЙрдЪреНрдЪ рд▓реЛрдб рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ NoSQL
Mamba рдореЗрдВ NoSQL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕ рдкрд░ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реЗрдВред рд╡рд┐рдЪрд╛рд░рд╛рдзреАрди рдкреНрд░рдгрд╛рд▓реА рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдпрд╣ рд╣реИ рдХрд┐ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдкреНрд░рд╢реНрдиреЛрдВ рдХрд╛ 30% рд╕реЗ рдЕрдзрд┐рдХ рдЗрдВрдХреНрд░реАрдореЗрдВрдЯ рдФрд░ рдХрд╛рдЙрдВрдЯрд░реЛрдВ рдХреА рд░реАрдбрд┐рдВрдЧ рд╣реИред
рд╣рдордиреЗ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдпреБрдХреНрдд рднрдВрдбрд╛рд░рдг рдХреА рддрд▓рд╛рд╢ рд╢реБрд░реВ рдХрд░ рджреА рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдореЗрдореНрдЪреЗрдЪреЗ рдХреЗ рд╕рд╛рде рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдХреЗрд╡рд▓ рджреГрдврд╝рддрд╛ рдФрд░ рд░рд╛рдо рдХреА рдХрдореА рд╕реЗ рд╕рдВрддреБрд╖реНрдЯ рдирд╣реАрдВ рд╣реИрдВред рд░реЗрдбрд┐рд╕ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА - RAM рдХреЗрд╡рд▓ред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХ рднрд╛рд░реА рднрд╛рд░ рдХреЗ рд╕рд╛рде, рдореЗрдореНрдХреЗрдб рдХрд╛ рдкреНрд░рджрд░реНрд╢рди 100 рдЧреБрдирд╛ рдХрдо рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ (рд▓реЛрдб рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП, рдмреНрд░реВрдЯрд┐рд╕ рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛)ред
рдХрдм рддрдХ, рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рд▓реЛрдЧ рдЯреЛрдХреНрдпреЛрдЯрд╛рдпрд░реЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдП рдереЗред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЙрдиреНрд╣реЛрдВрдиреЗ рдЕрдЪрд╛рдирдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рдЕрдЦрдВрдбрддрд╛ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдПрдВ рдкрд╛рдИрдВ рдЬрдм рд╕рд░реНрд╡рд░ рдХреЛ рдЖрдЙрдЯрд▓реЗрдЯ рд╕реЗ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ :) рд╡реЗ рдЯреЛрдХреНрдпреЛрдЯрд╛рдЗрд░реЗрдВрдЯ рдХреЗ рд▓реЗрдЦрдХ рдХреЗ рдПрдХ рдирдП рд╡рд┐рдХрд╛рд╕ рджреНрд╡рд╛рд░рд╛ рд╣рд▓ рдХрд┐рдП рдЧрдП рдереЗ - рдХреЙрдпреЛрдЯреЛрдЯреЗрд▓рд┐рдпрдиред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╡рд╛рд╕реНрддреБ рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХреЗ рдХрд╛рд░рдг 30M рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рд▓рд┐рдЦрдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рдерд╛ред
рдЗрд╕рд▓рд┐рдП, рд▓реЛрдЧ Google рд╕реЗ LevelDB рдХреА рджрд┐рд╢рд╛ рдореЗрдВ рдЪрд▓реЗ рдЧрдПред рдпрд╣ рдбреЗрдЯрд╛рдмреЗрд╕ рдПрд▓рдПрд╕рдПрдо-рдЯреНрд░реА рддрдХрдиреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдбреЗрдЯрд╛ рдХреЛ SSTable рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдХреБрдВрдЬреА-рдорд╛рди рдЬреЛрдбрд╝реЗред
рд░реИрдо рдореЗрдВ рдбреЗрдЯрд╛ рдПрдХ рд╕рдорд╛рди (рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрд░рд┐рд╡рд░реНрддрдиреАрдп) рд╕рдВрд░рдЪрдирд╛ рдХреЛ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред рд╕рдордп-рд╕рдордп рдкрд░, рдореЗрдореЛрд░реА рд╕реЗ рдбрд┐рд╕реНрдХ рдорд░реНрдЬ рддрдХ рдШрдЯрд╛рддрд╛ рд╣реИред
рдЕрдЪрд╛рдирдХ рдмрд┐рдЬрд▓реА рдЖрдЙрдЯ рд╣реЛрдиреЗ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рди рдкрдХрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП - рд░рд╛рдЗрдЯ рдЕрд╣реЗрдб рд▓реЙрдЧ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд▓реЛрдЧреЛрдВ рдиреЗ рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдФрд░ рдкрд╛рдпрд╛ рдХрд┐ рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ LevelDB рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкрд╣рд▓реЗ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рд╕рднреА рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рддрд╛ рд╣реИред рдЕрдм рдЙрдирдХреЗ рдкрд╛рд╕ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ 4700 рдЧреЗрдЯ / рд╕реЗрдХреЗрдВрдб рдФрд░ 200M рд░рд┐рдХреЙрд░реНрдб рдХреЗ рд╕рд╛рде 1600 рдЕрдкрдбреЗрдЯ / рд╕реЗрдХрдВрдб рд╣реИрдВред
MVCC рдЕрдирдорд╛рд╕реНрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛
рдорд▓реНрдЯреАрд╡рд░реНрд╕рди рдХреЙрдиреНрд╕реБрд░реЗрдВрд╕реА рдХрдВрдЯреНрд░реЛрд▓ рдПрдХ рдРрд╕рд╛ рддрдВрддреНрд░ рд╣реИ рдЬреЛ рдкрд╛рдардХреЛрдВ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреЛ рдЕрд╡рд░реБрджреНрдз рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдкрд╛рдардХреЛрдВ рдХреЛ рд▓рд┐рдЦрддрд╛ рд╣реИред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрд╣ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рддрд╛рд▓реЗ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХрд╛рдлреА рдХрдо рдХрд░ рджреЗрддрд╛ рд╣реИред рдУрд░реЗрдХрд▓, рдореИрд╕реВрд░ рдЗрдиреЛрдмреАрдбреА, рдкреЛрд╕реНрдЯрдЧреНрд░реЗрд╕реН рдХреНрдпреВрдПрд▓ рдФрд░ рдХреБрдЫ рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдореЗрдВ рдореМрдЬреВрдж рд╣реИрдВред
MVCC рд╕рд┐рд╕реНрдЯрдо рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХреЗ рджреЛ рдЧреБрдг рд╣реИрдВ: рдХреНрд░рд┐рдПрдЯрди (xmin) - рд▓реЗрдирджреЗрди рдХреА рд╕рдВрдЦреНрдпрд╛ рдЬрд┐рд╕рдореЗрдВ рд░рд┐рдХреЙрд░реНрдб рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рд╕рдорд╛рдкреНрддрд┐ (xmax) - рд▓реЗрдирджреЗрди рдХреА рд╕рдВрдЦреНрдпрд╛ рдЬрд┐рд╕рдореЗрдВ рд░рд┐рдХреЙрд░реНрдб рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
INSERT xmin 40, xmax Null
DELETE xmin 40, xmax 47
рдЕрджреНрдпрддрди xmin 64, xmax 78 / xmin 78, xmax NUll
рдЬрдм рдкреНрд░рддреНрдпреЗрдХ рдХрдерди рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдПрдХ MVCC рд╕реНрдиреИрдкрд╢реЙрдЯ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдХреМрди рд╕рд╛ рдбреЗрдЯрд╛ рджрд┐рдЦрд╛рдИ рджреЗ рд░рд╣рд╛ рд╣реИ / рдмрдпрд╛рди рдХреЗ рд▓рд┐рдП рд╕реБрд▓рдн рд╣реИред
рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рджреГрд╢реНрдпрддрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИ:
- рдЕрдВрддрд┐рдо рдкреВрд░реНрдг рд▓реЗрдирджреЗрди (рд╡рд░реНрддрдорд╛рди) рдХреА рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ;
- рд╣рдо рдЙрди рд░рд┐рдХреЙрд░реНрдбреЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рдирдореЗрдВ:
- xmin <рд╡рд░реНрддрдорд╛рди рд╕рдВрдЦреНрдпрд╛;
- рд╡реЗ рд╣рдЯрд╛рдП рдирд╣реАрдВ рдЬрд╛рддреЗ рд╣реИрдВ (xmax = null), рдпрд╛ рдЬрд┐рд╕ рд▓реЗрдирджреЗрди рдореЗрдВ рд╡реЗ рд╣рдЯрд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдЙрд╕реЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ;
Xmin рдФрд░ xmax рдлрд╝реАрд▓реНрдб рдкреНрд░рддреНрдпреЗрдХ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдореМрдЬреВрдж рд╣реИрдВ, рд▓реЗрдХрд┐рди рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЫрд┐рдкреЗ рд╣реБрдП рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЙрдиреНрд╣реЗрдВ рд╣рдореЗрд╢рд╛ рдЪрдпрди рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
рдЪрдпрди рдХрд░реЗрдВ xmin, xmax, * FROM рдкрд░реАрдХреНрд╖рдг рд╕реЗ ;
рдЖрдк
рдЪреБрдирд┐рдВрджрд╛ рдХреНрд╡реЗрд░реА
txid_current () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд░реНрддрдорд╛рди рд▓реЗрдирджреЗрди рдХреА рдЖрдИрдбреА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдХреНрд╡реЗрд░реА pg_clog рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рдбреЗрдЯрд╛ рдХрд╛ рдЪрдпрди рдХрд░рддреА рд╣реИред рдпрд╣ рд╕рдордЭрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдПрдХ рд▓реЗрди-рджреЗрди рд░реЛрд▓рдмреИрдХ рдмрд╕ рдЗрд╕ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рд▓реЗрдирджреЗрди рд░рд┐рдХреЙрд░реНрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдЪрд┐рдд рдЯреЛрдХрди рд╕реЗрдЯ рдХрд░ рд░рд╣рд╛ рд╣реИред рдЙрд╕реА рд╕рдордп рдХреЛрдИ рдбреЗрдЯрд╛ рдбрд┐рд▓реАрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрдХ рд▓реЗрди-рджреЗрди рдХреЛ рдХреЗрд╡рд▓ рд▓реБрдврд╝рдХрд╛ рд╣реБрдЖ рд╡рд╛рдкрд╕ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЧреИрд░ MVCC DBMS рдХреЛ рд░рд┐рдХреЙрд░реНрдб рдмрджрд▓рддреЗ рдпрд╛ рд╣рдЯрд╛рддреЗ рд╕рдордп рд╕реАрдзреЗ рдбреЗрдЯрд╛ рдкрд░рд┐рд╡рд░реНрддрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред MVCC DBMSs рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рд╕реЗ рд╡рдВрдЪрд┐рдд рд╣реИрдВ - рд╕рднреА рдЕрдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдЖрдВрдХрдбрд╝реЛрдВ рдХреЛ рд╕рд╛рдл рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдпрд╣рд╛рдВ рдореИрдВ рдЦреБрдж рд╕реЗ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рд╕рдлрд╛рдИ рдореЗрдВ рджреЗрд░реА (рддрдерд╛рдХрдерд┐рдд VACUUM) рдЙрддрдирд╛ рд╕рд╣реА рдирд╣реАрдВ рд╣реИ рдЬрд┐рддрдирд╛ рд╣рдо рдЪрд╛рд╣реЗрдВрдЧреЗ ... рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдФрд░ рдЪрд░реНрдЪрд╛ рдХрд╛ рд╡рд┐рд╖рдп рд╣реИред
рд╡реИрд╕реЗ, рдпрд╣рд╛рдБ
рд╕реНрдкреАрдХрд░ рдХреА
рд╕рд╛рдЗрдЯ рд╣реИ рдЬрд┐рд╕ рдкрд░ рдЙрд╕рдиреЗ рдХрдИ рджрд┐рд▓рдЪрд╕реНрдк рд▓реЗрдЦреЛрдВ рдХрд╛ рд╡рд╛рджрд╛ рдХрд┐рдпрд╛ рдерд╛ред
Google рдкрд░ MySQL
рд░рд┐рдкреЛрд░реНрдЯреЛрдВ рдХреЗ рдмреАрдЪ рд╢рд╛рдпрдж рд╕рдмрд╕реЗ рдмрдбрд╝реА рдирд┐рд░рд╛рд╢рд╛ред рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдЗрд╕рдХрд╛ рд╕рд╛рд░ рдПрдХ рдереАрд╕рд┐рд╕ рдХреЛ рдЙрдмрд╛рд▓рддрд╛ рд╣реИ: "рд╣рд╛рдВ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ MySQL рдереЛрдбрд╝рд╛ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдкреИрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред"
рд╢рд╛рдпрдж рдореЗрд░реА рдЕрддреНрдпрдзрд┐рдХ рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЕрдЪреНрдЫреЗ рдирд┐рдЧрдо рд╕реЗ рдХреБрдЫ рдФрд░ рджрд┐рд▓рдЪрд╕реНрдк рдХреА рдЙрдореНрдореАрдж рдереАред
рд╕рдмрд╕реЗ рдмрдбрд╝реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ: рд╡рд┐рдЬреНрдЮрд╛рдкрди, рдЪреЗрдХрдЖрдЙрдЯ рдФрд░, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, YouTubeред
рдбреЗрдЯрд╛ рдХреЗрдВрджреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП, рд╕рдмрд╕реЗ рдорд╣рдВрдЧреЗ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдмрд╕реЗ "рдЙрдиреНрдирдд" рдПрдХ рд╣реИред рдШрдЯрдХ (рдбрд┐рд╕реНрдХ) рдмрд╣реБрдд рдмрд╛рд░ рдЕрдиреБрдкрдпреЛрдЧреА рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрд╕рд╛рдиреА рд╕реЗ рдФрд░ рд╕рд╕реНрддреЗ рд░реВрдк рд╕реЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред
MySQL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рд╢рд╛рд░реНрдХ рдХреЗ рд▓рд┐рдП, рдПрдХ рдЕрд▓рдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛ (рдбрд┐рдХреЗрдбрд░) рд╣реЛрддреА рд╣реИ, рдЬреЛ рдкреБрд░рд╛рдиреЗ рдЧрд┐рд░рдиреЗ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдПрдХ рдирдпрд╛ рдорд╛рд╕реНрдЯрд░ рдЪреБрдирдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред
рд╣рд╛рд░реНрдЯрдмреАрдЯ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╕реНрдХреНрд░рд┐рдкреНрдЯ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рд╡рд┐рдЬрд╝рд╛рд░реНрдб рдХреЛ рдХреБрдЫ рдбреЗрдЯрд╛ рд▓рд┐рдЦрддрд╛ рд╣реИ рдФрд░ рдкреНрд░рддрд┐рдХреГрддрд┐рдпреЛрдВ рдкрд░ рдЗрд╕рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИред
рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдФрд░ рдлреЙрд▓реНрдЯ рдЯреЙрд▓рд░реЗрдВрд╕ рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд▓реЛрдЧ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдкрд░ рдХрдИ рдкреНрд░рддрд┐рдмрдВрдз рд▓рдЧрд╛рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рд▓рд┐рдЦрд┐рдд рд▓реЗрди-рджреЗрди 30 рд╕реЗрдХрдВрдб рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рдирд╣реАрдВ рд▓реЗ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рддрд╛рдХрд┐ рдЬрд▓реНрджреА рд╕реЗ рдПрдХ рдФрд░ рдЧреБрд▓рд╛рдо рд╕реЗ рдорд╛рд╕реНрдЯрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╡ рд╣реЛ рд╕рдХреЗред
NginX рдореЗрдВ SPDY рд╕рдорд░реНрдерди
SPDY рдПрдХ TCP / TLS рдХрдиреЗрдХреНрд╢рди рдкрд░ рдПрдХ рдмрд╛рдЗрдирд░реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╣реИред рдпрд╣ HTTP рдХреЗ рд▓рд┐рдП рдПрдХ рдЯреНрд░рд╛рдВрд╕рдкреЛрд░реНрдЯ рд╣реИред Google рджреНрд╡рд╛рд░рд╛ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ред
рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ:
- рдорд▓реНрдЯреАрдкреНрд▓реЗрдХреНрд╕рд┐рдВрдЧ (рдкреНрд░рддрд┐ рдХрдиреЗрдХреНрд╢рди рдХрдИ рдЕрдиреБрд░реЛрдз, рд╕рд░реНрд╡рд░ рд╕реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рддрдХ, рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд);
- рд╣реЗрдбрд░ рдХрдореНрдкреНрд░реЗрд╢рди (рдЬрд╝рд╛рд▓рд┐рдм, рдЕрдкрд╕реНрдлреАрддрд┐);
- рдкреНрд░рд╡рд╛рд╣ рдирд┐рдпрдВрддреНрд░рдг (рдЯреАрд╕реАрдкреА рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рд╡рд┐рдВрдбреЛ);
- рд╕рд░реНрд╡рд░ рдкреБрд╢ (рд╕рд░реНрд╡рд░ рджреНрд╡рд╛рд░рд╛ рд╢реБрд░реВ рдХрд┐рдП рдЧрдП рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдбреЗрдЯрд╛ рдХреЛ "рд▓реЛрдб рдХрд░рдирд╛");
рдлрд╛рдпрджреЗ рдореЗрдВ: рдмрд┐рд▓реНрдЯ-рдЗрди HTTPS (TLS рдХреЗ рдХрд╛рд░рдг), рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЪрд┐рддреНрд░реЛрдВ рдХреЗ рд╕рд╛рде рдЕрдЪреНрдЫрд╛ рдХрд╛рдо (рдорд▓реНрдЯреАрдкреНрд▓реЗрдХреНрд╕рд┐рдВрдЧ рдХреЗ рдХрд╛рд░рдг);
рдорд┐рдиреАрд╕реЛрдВ рдореЗрдВ рд╕реЗ: рдпрд╣ рдПрдХ рдбреЛрдореЗрди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк - рдпрд╣ рд╕реАрдбреАрдПрди рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ;
рд╢реЛрдз (рдореБрдХрд╛рдмрд▓рд╛) рдХреЗ рдЕрдиреБрд╕рд╛рд░ Wordpress'a: SPDY HTTPS рд╕реЗ рдЕрдзрд┐рдХ рддреЗрдЬрд╝ рд╣реИ, рд▓реЗрдХрд┐рди рдирд┐рдпрдорд┐рдд HTTP рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдзреАрдорд╛ рд╣реИред
рдПрд╕рдХреНрдпреВрдПрд▓ рдЯреНрд░рд┐рдХреНрд╕
рд░рд┐рдкреЛрд░реНрдЯ рджрд┐рд▓рдЪрд╕реНрдк рдереА, рд▓реЗрдХрд┐рди рд╕рднреА SQL / PostgreSQL рд╕реБрд╡рд┐рдзрд╛рдУрдВ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рдереА:
- рджреЗрдЦреЗрдВ рддрд░реНрдХ рдФрд░ / рдпрд╛ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЛ рдПрдирдХреИрдкреНрд╕реБрд▓реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдкреНрд░рднрд╛рд╡реА рдЙрдкрдХрд░рдг рд╣реИред рдореИрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╕рд╣рдордд рдирд╣реАрдВ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рджреВрд╕рд░реА (рдирд╛рдо рдмрджрд▓рдиреЗ рд╡рд╛рд▓реА рддрд╛рд▓рд┐рдХрд╛рдУрдВ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ;
- рдкреЛрд╕реНрдЯрд░реНрд╕ рдУрдПрд╕ рдХреИрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ (рдЗрд╕рд▓рд┐рдП, рд╡реЗ рдпрд╛ рддреЛ рдереЛрдбрд╝рд╛ рдпрд╛ рд╕рднреА рдХреЛ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд░рддреЗ рд╣реИрдВ);
- pgbench - рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдпреЛрдЧрд┐рддрд╛;
- рд╕рд╛рдорд╛рдиреНрдп рддрд╛рд▓рд┐рдХрд╛ рдирд╛рдо (CTE) / рдкреБрдирд░рд╛рд╡рд░реНрддреА CTE;
- рдЦрд┐рдбрд╝рдХреА рдХреЗ рдХрд╛рд░реНрдп;
- JSON рд╕рдорд░реНрдерди (рд╕реА 9.2);
- рдкрд╛рд░реНрд╢реНрд╡ рд╕рдорд░реНрдерди (FROM рдХреНрд▓реЙрдЬ рдореЗрдВ рд╡рд░реНрддрдорд╛рди рд▓рд╛рдЗрди рдкрд░ рдЧрдгрдирд╛ рдХреА рдЧрдИ рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ, рд╕реА 9.3);
- рдкрд╛рда рдФрд░ рдЯреНрд░рд┐рдЧрд░реНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╕реНрддрд╛рд░: pg_trgm;
- рдХреБрдВрдЬреА-рдореВрд▓реНрдп рдЬреЛрдбрд╝реЗ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХреНрд╕рдЯреЗрдВрд╢рди: hstore;
- рдЕрдиреНрдп рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рддрд╛рд▓рд┐рдХрд╛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ dblink;
- рднреВ-рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХреНрд╕рдЯреЗрдВрд╢рди: рдкреЛрд╕реНрдЯрдЬреАрдЖрдИрдПрд╕ рдФрд░ рдЕрд░реНрдердбрд┐рд╕реНрдЯреЗрдВрд╕;
- рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рдХрдерди - рдЖрдкрдХреЛ рдЕрдиреБрд░реЛрдз рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ, рдЕрд╕реНрддрд┐рддреНрд╡ рдФрд░ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ, рдПрдХ рдпреЛрдЬрдирд╛ рдмрдирд╛рдиреЗ (рдХрднреА-рдХрднреА рдЗрд╕реЗ рд▓реЗрдиреЗ) рд╕реЗ рдмрдЪрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ
рдХрд░рдиреЗ рд╕реЗ рдЬреНрдпрд╛рджрд╛ рд╕рдордп); - рддрд╛рд▓реЗ рдХрд╛ рдЪрдпрди рдирд┐рд░реНрдорд╛рдг рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ... рд╢реЗрдпрд░ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП;
- PgSQL рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╡рд┐рд╡рд░рдг рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реБрд▓рдн рд╣реИрдВ;
- рдХреЛрдб рдмреНрд▓реЙрдХ $ рдХреЛрдб $ рдХрд░рддреЗ рд╣реИрдВ ... $ рдХреЛрдб $ (c 9.1);
- рд╕рдмрд╕реЗ рдКрдкрд░ рдбрд╛рд▓рдиреЗ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ -> fk рдмрд╛рдзрд╛ -> рдЕрджреНрдпрддрди;
- рдЖрдк рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рдХрдИ рдорд╛рди рд╡рд╛рдкрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рджрд░ (рд▓реЗрди-рджреЗрди рдХреЗ рднреАрддрд░) рдпрд╛ JSON (row_to_json, array_to_json) рдЙрддреНрдкрдиреНрди рдХрд░рдХреЗ;
рд╡реИрд╕реЗ, рд╕реНрдкреАрдХрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЦрддрд░рдирд╛рдХ рд╣реИ: рдкреБрдирд░рд╛рд╡рд░реНрддреА CTE рдФрд░ Regexp рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдЙрдиреНрд╣реЛрдВрдиреЗ Postgres рдореЗрдВ рдПрдХ рдЕрдиреБрд░реЛрдз рдХреЗ рдПрдХ рд╕рд░рдгреА рдХреЗ рд╕рд╛рде JSON рдкрд╛рд░реНрд╕рд░ рд▓рд┐рдЦрд╛!
рдХреНрд░рд╛рдЙрдЪрд┐рдВрдЧ рд╕рд░реНрд╡рд░, рдЫрд┐рдкрд╛ рд╣реБрдЖ рдбрд╛рдпреЛрдб
"рдирдорд╕реНрддреЗ, рдореЗрд░рд╛ рдирд╛рдо рдПрдВрдбреНрд░реА рд╣реИ, рдореИрдВ рд╡реЛрд░реЛрдирд┐рд╢ рдорд╡реЗрд╢реА рд╣реВрдВред" рд░рд┐рдкреЛрд░реНрдЯ рдХрд╛ рдпрд╣ рд╡рд┐рд╡рд░рдг рдкреВрд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ :) рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЗрд╕рдХреА рд╕рднреА рдорд╣рд┐рдорд╛ рдореЗрдВ рдЕрдХреНрд╖реЛрдиреЛрд╡ред
рдореБрдЦреНрдп рдмрд┐рдВрджреБ:
- рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдХреЗ рд╕рд╛рде - рд▓рдХреНрд╖реНрдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдпрд╛рдж рд░рдЦрдиреЗ рд╡рд╛рд▓реА рдореБрдЦреНрдп рдмрд╛рдд: рдЖрдкрдХреЛ рдпрд╣ рдорд╛рдкрдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЬрд╝рд░реВрд░рдд рд╣реИ, рдФрд╕рдд рд▓реЛрдб рдирд╣реАрдВ;
- рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рдФрд╕рдд рдореВрд▓реНрдпреЛрдВ рдХрд╛ рдорддрд▓рдм рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИ: рдЕрд╕реНрдкрддрд╛рд▓ рдореЗрдВ рдФрд╕рдд рддрд╛рдкрдорд╛рди рдардВрдбреА рд▓рд╛рд╢реЛрдВ рдФрд░ рдЬреНрд╡рд░ рдХреЛрдорд╛ рд╣реИ;
- рд╕реНрдХреЗрд▓реЗрдмрд┐рд▓рд┐рдЯреА рдиреЙрдирд▓рд╛рдЗрдирд░ рд╣реИ (рдЕрдорджрд╣рд▓ рдХрд╛ рдирд┐рдпрдо - рднрд▓реЗ рд╣реА рдпрд╣ 5% рдХреЗ рд╕рдорд╛рдирд╛рдВрддрд░ рди рд╣реЛ, рддреЛ
64 * рд╕реАрдкреАрдпреВ = 14.5 рдПрдХреНрд╕)
C (n) = n / (1 + a * (n-1) + b * n * (n-1)), рдЬрд╣рд╛рдВ
рдПрдХ - рд╡рд┐рд╡рд╛рдж рдХреА рдбрд┐рдЧреНрд░реА (рдЕрджреНрд╡рд┐рддреАрдп рдХреЛрдб рдХреА рд▓рд╛рдЧрдд),
рдмреА - рд╕реБрд╕рдВрдЧрддрддрд╛ рдХреА рдбрд┐рдЧреНрд░реА (рд╕реБрд╕рдВрдЧрддрддрд╛, рд╕рдВрдЪрд╛рд░, рддреБрд▓реНрдпрдХрд╛рд▓рди рдХреА рд▓рд╛рдЧрдд); - рдЖрдк рдореАрдареЗ рд╕реНрдерд╛рди рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рдорд╛рддреНрд░рд╛ рдЬрд┐рд╕ рдкрд░ рдкреНрд░рджрд░реНрд╢рди рдЗрд╖реНрдЯрддрдо рд╣реЛрдЧрд╛;
- рдПрдХ рдореАрдареЗ рд╕реНрдерд╛рди рдХреЗ рдмрд╛рдж, рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЙрддреНрдкрд╛рджрдХрддрд╛ рдЧрд┐рд░рдирд╛ рд╢реБрд░реВ рд╣реЛ рдЬрд╛рддреА рд╣реИ - рдпрд╣ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд╕рд╛рде рдмрджрддрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ ;
- рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдкрд░ рдкрд░реАрдХреНрд╖рдг рди рдХрд░реЗрдВ - рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреЗ рд▓рд┐рдП, рд╡реЗ рдЗрд╕реЗ рд╣рд▓реНрдХреЗ рдврдВрдЧ рд╕реЗ рдбрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрдЬреАрдм рд╣реИрдВ (рдкреНрд░рддреНрдпреЗрдХ рдЗрдиреНрд╕рд░реНрдЯ рдХреЗ рдмрд╛рдж fsync рдФрд░ MySQl рдореЗрдВ innodb_buffer_pool 32 рдПрдордмреА рд╣реИ);
- 1000 рдмрд╛рд░ рдПрдХ рд╣реА рдЕрдиреБрд░реЛрдз рдЪрд▓рд╛рдПрдВ - рдХреИрд╢ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВ;
рд╡рд┐рд╢реНрд╡ рд╕реНрдерд┐рд░рд╛рдВрдХ - рдпрд╣ рд╕рдордЭрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдореЗрдВ рдХрд┐рддрдирд╛ рдЦрд░реНрдЪ рд╣реЛрддрд╛ рд╣реИред
- CPU L1 - 1,000,000,000 рд╕реЗрд╢рди / рд╕реЗрдХрдВрдб (1e9)
- CPU L2, рдорд┐рд╕рдмреНрд░рд╛рдВрдЪ - 100,000,000 рд╕реЗрд╢рди / рд╕реЗрдХрдВрдб (1e8)
- рд░реИрдо рдПрдХреНрд╕реЗрд╕ - 10,000,000 рд╕реЗ рдЕрдзрд┐рдХ / рд╕реЗрдХрдВрдб (1e7)
- SSD рдореЗрдЧрд╛рдПрд░рд┐рдб - 100,000 рд╕реЗрд╢рди / рд╕реЗрдХрдВрдб (1e5)
- рдПрд╕рдПрд╕рдбреА - 10,000 рд╕реЗрд╢рди / рд╕реЗрдХрдВрдб (1e4)
- LAN, 1MB RAM - 1,000 рд╕реЗрдкрд░ / рд╕реЗрдХрдВрдб (1e3)
- HDD рдХреА рддрд▓рд╛рд╢, 1 рдПрдордмреА рд▓реИрди - 100 рд╕реЗрдкрд░ / рд╕реЗрдХрдВрдб (1e2)
- рд╡реИрди рд░рд╛рдЙрдВрдбрдЯреНрд░рд┐рдк - 10 рдСрдк / рд╕реЗрдХ (1e1)
- рд╡рд┐рд▓рдВрдмрд┐рдд рдкрд╣реБрдВрдЪ - 10,000 рд╕реЗ рдЕрдзрд┐рдХ / рд╕реЗрдХрдВрдб (1e4)
- рдЖрд░рдбреАрдмреА рд╕рд░рд▓ рдЪрдпрди - 100 рд╕реЗ рдЕрдзрд┐рдХ / рд╕реЗрдХрдВрдб (1e2)
рднрд╛рд╖рд╛ рдЬрд╛рдУ
рд╢реБрд░реБрдЖрдд рдФрд░ рдирдорд╕реНрддреЗ, рд╡рд░реНрд▓реНрдб рдЗрди рдЬреАрдУред
рджрд┐рди реи
рдЦреЛрдЬ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИ
рдЖрдВрджреНрд░реЗрдИ рдЕрдХреЛрдпреЛрдиреЛрд╡ рд╕реЗ рдореЙрд░реНрдирд┐рдВрдЧ рд╕реЛрдмрд░ :)
рдХрд┐рд╕реА рднреА рдЦреЛрдЬ рдЗрдВрдЬрди рдХреЗ рдХрд╛рдо рдореЗрдВ, 4 рдореАрд▓ рдХреЗ рдкрддреНрдерд░ рдХреЛ рдкреНрд░рддрд┐рд╖реНрдард┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: рдбреЗрдЯрд╛ рдЕрдзрд┐рдЧреНрд░рд╣рдг (рдордХрдбрд╝реА рд░реЛрдмреЛрдЯ), рдЕрдиреБрдХреНрд░рдордг, рдЦреЛрдЬ, рд╕реНрдХреЗрд▓рд┐рдВрдЧред
рдЕрдиреБрдХреНрд░рдордг рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
- рдкрд╛рда рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ (html, pdf-> рдкрд╛рда),
- tokenization,
- рдЖрдХрд╛рд░рд┐рдХреА рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг (рд╕реНрдЯреЗрдорд┐рдВрдЧ, рд▓реЗрдореЛреЛрдЯрд╛рдЗрдЬреЗрд╢рди),
- рдПрдХ рдЙрд▓рдЯрд╛ рд╕реВрдЪрдХрд╛рдВрдХ (рдХреАрд╡рд░реНрдб -> рдкреБрд╕реНрддрдХ рдореЗрдВ рдкреГрд╖реНрда рд╕рдВрдЦреНрдпрд╛ рдФрд░ рдЙрдирдореЗрдВ рд╢рдмреНрдж рдХреА рд╕реНрдерд┐рддрд┐) рдмрдирд╛рдирд╛;
рд╕реВрдЪрдХрд╛рдВрдХ рдореЗрдВ рдбреЗрдЯрд╛ рд╕рдВрдкреАрдбрд╝рд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕рдВрдкреАрдбрд╝рди рдмрд┐рдЯ, рдмрд╛рдЗрдЯ, рдмреНрд▓реЙрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдХрдо рдбреЗрдЯрд╛ - рдЕрдиреБрд░реЛрдз рдкрд░ рд╕рдВрд╕рд╛рдзрд┐рдд рд╣реЛрдиреЗ рдХреА рдХрдо рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдЦреЛрдЬ рдореЗрдВ рджреЛ рдСрд░реНрдереЛрдЧреЛрдирд▓ рдЪрд░рдгреЛрдВ рд╣реЛрддреЗ рд╣реИрдВ:
рдЬрд▓реНрджреА рд╕реЗ рдорд┐рд▓рд╛рди (рдЦреЛрдЬ) рдФрд░
рдЧреБрдгрд╛рддреНрдордХ рд░реВрдк рд╕реЗ рд░реЗрдХрд┐рдВрдЧ (рд░реИрдВрдХ)ред
рдорд┐рд▓рд╛рди рдорд╛рдкрджрдВрдб рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдХреНрд╖реЗрддреНрд░ (рд╡реЗрдм, рдбреЗрдЯрд╛ рдорд╛рдЗрдирд┐рдВрдЧ) рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рд░реИрдВрдХрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП, рдпрд╣, рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдЕрдВрдд рддрдХ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛, рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХрддрд╛ рдкреНрд░рддреНрдпреЗрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╣реИред рдЗрд╕рд▓рд┐рдП, BM25 (TF, IDF, DocLength) рдЬреИрд╕реЗ рдЯреНрд░рд┐рдХреА рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рд░реИрдВрдХрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдо рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдпрдерд╛рд╕рдВрднрд╡ рдЕрдзрд┐рдХ рд╣реЛрддреЗ рд╣реИрдВред
рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП, рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрд╕рд▓рд┐рдП, Google рдХреЗ рдкрд╛рд╕ рд▓рд╛рдЦреЛрдВ рдЦреЛрдЬ рд╕рд░реНрд╡рд░ рд╣реИрдВ, рдпреИрдВрдбреЗрдХреНрд╕ рдХреЗ рдкрд╛рд╕ рд╣рдЬрд╛рд░реЛрдВ рд╣реИрдВред
Odnoklassniki рдЦреЛрдЬреЗрдВ
рд▓реЛрдЧ 30M рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдкреВрд░реНрдг рдЦреЛрдЬ (MsSQl рдкрд░) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣реЗред 16 рдард┐рдХрд╛рдиреЛрдВ рдХреЗ рдХреНрд▓рд╕реНрдЯрд░ рдкрд░, рдПрдХ рдЦреЛрдЬ рдХреНрд╡реЗрд░реА рдиреЗ рдФрд╕рддрди 15-30 рд╕реЗрдХрдВрдб рдХрд╛рдо рдХрд┐рдпрд╛ред
рдпрд╣ рдорд╣рд╕реВрд╕ рдХрд░рддреЗ рд╣реБрдП рдХрд┐ рдЖрдк рдЙрд╕ рддрд░рд╣ рдирд╣реАрдВ рд░рд╣ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рдордиреЗ рдПрдХ рд╕рдорд╛рдзрд╛рди рдЦреЛрдЬрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред
рдЬрд╛рд╡рд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдмрд╛рдж рд╕реЗ, рдЙрдиреНрд╣реЛрдВрдиреЗ рд▓реНрдпреВрд╕реАрди рдХреА рдУрд░ рджреЗрдЦрдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ред рд▓реНрдпреВрд╕рд┐рди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ 3 рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░рд┐рд╡рд░реНрддрди рд╣реБрдП:
- рдЬреЛрдбрд╝рд╛ рдкреНрд░рддрд┐рдХреГрддрд┐
- рдореЗрдореЛрд░реА рдореЗрдВ рдЕрдиреБрдХреНрд░рдорд┐рдд рдХрд╛ рднрдВрдбрд╛рд░рдг (рдПрдХ рд░реИрдо рдбреНрд░рд╛рдЗрд╡ рдкрд░ рдХреЛрд╢рд┐рд╢ рдХреА, рд╣реАрдк рдореЗрдВ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдореИрдк рдХрд░рдирд╛, рд▓реЗрдХрд┐рди рдЕрдВрдд рдореЗрдВ рдмрд╛рдЗрдЯрдПрдпрд░реНрд░реЗ рдореЗрдВ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдЦреАрдВрдЪ рд▓рд┐рдпрд╛ - рдУрд▓реНрдбрдЬреЗрдирд░реЗрд╢рди рдореЗрдВ);
- рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рджреНрд╡рд╛рд░рд╛ рдЦреЛрдЬ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдХрдИ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдмрдирд╛рдП рдЧрдП, рдЬрд┐рд╕рд╕реЗ рдЬреАрд╕реА рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдПрдВ рдкреИрджрд╛ рд╣реБрдИрдВ);
рдЕрдм, рдЗрдВрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рдЗрдВрдбреЗрдХреНрд╕рд░ рд╕рд░реНрд╡рд░ рдЖрд╡рдВрдЯрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдПрдХ рдЦреЛрдЬ рдЗрдВрдбреЗрдХреНрд╕ рдмрдирд╛рддрд╛ рд╣реИред рдЗрдВрдбреЗрдХреНрд╕ рдХреЛ рдЙрди рдХреНрд╡реЗрд░реА рд╕рд░реНрд╡рд░реЛрдВ рдХреЗ рд▓рд┐рдП рджреЛрд╣рд░рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдбрд┐рд╕реНрдХ рдкрд░ рдФрд░ рдореЗрдореЛрд░реА рдореЗрдВ рдЗрдВрдбреЗрдХреНрд╕ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рддреЗ рд╣реИрдВ (рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрдореЛрд░реА рд╕реЗ рдЗрдВрдбреЗрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ)ред рдЗрдВрдбреЗрдХреНрд╕рд░ рдХрддрд╛рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдЗрд╕реЗ рд╕рдордп-рд╕рдордп рдкрд░ рджреБрд░реНрдЧрдо рд╣реЛрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рд╕реВрдЪрдХрд╛рдВрдХ рдХреЛ рд╕реАрдзреЗ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрдбрд╝реА рдХрдореА рддрд░реНрдХ рдХреА рдХрдореА рдереА, рдХрддрд╛рд░ рдХреЛ рджрд░рдХрд┐рдирд╛рд░ рдХрд░рдирд╛ред рдЪреВрдБрдХрд┐ рдХрддрд╛рд░ рд╕реЗ рдХреБрдЫ рд╕рдВрджреЗрд╢ рдХрднреА-рдХрднреА рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рддреЗ рдереЗред рдореИрдВ рдЕрдкрдиреА рдХрдВрдкрдиреА рдореЗрдВ рд╡рд╣реА рд╕рдорд╕реНрдпрд╛ рдмрддрд╛ рд╕рдХрддрд╛ рд╣реВрдВред рдирд┐рд╖реНрдХрд░реНрд╖:
рдХрддрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдкрд╡рд┐рддреНрд░рддрд╛ рдХреА рдЬрд╛рдБрдЪ рд╣рдореЗрд╢рд╛ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП ред
рдХреЗрд╡рд▓ 5% рдЕрдиреБрд░реЛрдз (рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдЕрдиреБрд░реЛрдз) рд▓рдЧрд╛рддрд╛рд░ рдХреИрд╢ рдореЗрдВ рд╣реИрдВред 60% рдХреИрд╢ рдореЗрдВ рдорд╛рд░реЛред
рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд▓рд┐рдП, рдЕрд╕реНрдерд╛рдпреА рдХреИрд╢ рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ (рдЕрдиреБрд░реЛрдз рдкрд░), рдЬреЛ рдХрдИ рдорд┐рдирдЯ рддрдХ рд░рд╣рддреЗ рд╣реИрдВред
рдкреЛрд░реНрдЯрд▓ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдПрдХ рдЕрд▓рдЧ рдРрдк-рд╕рд░реНрд╡рд░ рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИ (userId рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ)ред рд╕рд░реНрд╡рд░ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд░рд┐рдЬрд╝рд░реНрд╡ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдСрдирд▓рд╛рдЗрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рдЦреЛрдЬ рдкрд╣рд▓реА рдмрд╛рд░ рд╕рд╛рдорд╛рдиреНрдп рд╕реВрдЪрдХрд╛рдВрдХ рджреНрд╡рд╛рд░рд╛ рдХреА рдЧрдИ рдереА, рдЬреЛ рд╕реВрдЪрдХрд╛рдВрдХ рдХреЗ рдмрд╛рд╣рд░ "рдСрдирд▓рд╛рдЗрди" рдзреНрд╡рдЬ рдХреЛ рдЫрд╛рди рд░рд╣рд╛ рдерд╛ред рдлрд┐рд░ рдЙрдиреНрд╣реЛрдВрдиреЗ рдЗрд╕ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рд╕реВрдЪрдХрд╛рдВрдХ рдмрдирд╛рдпрд╛ред
рдбреЗрдЯрд╛ рдХреЛ рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдирд╛
рдбрд┐рд╡рд╛рдЗрд╕ рдФрд░ рдПрд╡рд░рдиреЛрдЯ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрд╡рд▓реЛрдХрди рд░рд┐рдкреЛрд░реНрдЯред
рд╕реЙрдлреНрдЯрд╡реЗрдпрд░: рдЬрд╛рд╡рд╛ 6, MySQl 5.1, рдбреЗрдмрд┐рдпрди (рд╕реНрдерд┐рд░), DRBD (рдбрд┐рд╕реНрдЯреНрд░рд┐рдмреНрдпреВрдЯреЗрдб рд╕реНрдЯреЛрд░реЗрдЬ рд╕рд┐рд╕реНрдЯрдо), рдПрдХреНрд╕рдПрдиред
рд╣рд╛рд░реНрдбрд╡реЗрдпрд░: рд╕реБрдкрд░рдорд╛рдЗрдХреНрд░реЛ 1 рдпреВ, 2x рдПрд▓ 5630 рд╕реАрдУрдпреВ, 96 рдЬреАрдмреА рд░реИрдо, 6x 300 рдЬреАрдмреА рдЗрдВрдЯреЗрд▓ рдПрд╕рдПрд╕рдбреА, рдПрд▓рдПрд╕рдЖрдИ RAID 5 (+ рд╕реНрдкреЗрдпрд░) ~ $ 8000ред
DataBase: MySQL, 10TB (рдкреАрдХ рд░реАрдкреНрд╕ 350, рдкреАрдХ рд╡рд╛рдЗрдкреНрд╕ 50)
рдЦреЛрдЬ рдЗрдВрдЬрди: рд▓реНрдпреВрд╕рд┐рдиреЗ (рдкреАрдХ рд░реАрдкреНрд╕ 800, рдкреАрдХ рд╡рд╛рдЗрдкреНрд╕ 50)
рд╕рд░реНрд╡рд░ рд╕рдВрдпреБрдХреНрдд рд░рд╛рдЬреНрдп рдЕрдореЗрд░рд┐рдХрд╛ рдФрд░ рдЪреАрди (400 рд▓рд┐рдирдХреНрд╕ рд╕рд░реНрд╡рд░) рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИрдВред
Apache / WebDAV рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдлрд╛рдЗрд▓реЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИред рдбреЗрдЯрд╛ рд╣рдореЗрд╢рд╛ рдПрдХ рд╣реА рд╣реЛрд╕реНрдЯ рдкрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдПрдирдПрдлрдПрд╕ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ, рд╡реЗрдмрдбрд╛рд╡ рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕рд╛ рдУрд╡рд░рд╣реЗрдб рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХрдИ рдмрд╛рд░ рд╕рд░рд▓ рдФрд░ рд╕рд╕реНрддрд╛ рд╣реЛрддрд╛ рд╣реИредрд▓реЛрдб рд╕рдВрддреБрд▓рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрд╕рдПрд╕ 10 рдХреЗ рд╕рд╛рде рдПрд╕рдПрд╕рдПрд▓ рдЖрдпрд░рди рдмреИрд▓реЗрдВрд╕рд░ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдПрдЪрдЯреАрдЯреАрдкреАрдПрд╕ рдмрд╛рд╣рд░реА рд░реВрдк рд╕реЗ рджрд┐рдЦ рд░рд╣рд╛ рд╣реИ, рдПрдЪрдЯреАрдЯреАрдкреА рдХреЛ рдЕрдВрджрд░ рд╕реЗ рдмрдВрдж рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ)ред
рд╕реЗрд╡рд╛ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ (рдХрдИ рдЫреЛрдЯреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рднрдВрдбрд╛рд░рдг) рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП, рд╕рдорд╕реНрдпрд╛рдУрдВ рдФрд░ рдЙрдирдХреА рдЖрд▓реЛрдЪрдирд╛ рдХреЛ рдирд┐рдореНрди рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
/ | рдЖрдХрд╛рд░ | рд╕рд╛рдорд╛рдиреНрдп рднрд╛рд░ | рд╢рд┐рдЦрд░ рднрд╛рд░ |
рдмреИрдВрдбрд╡рд┐рдбреНрде | - | рдордзреНрдпрдо | рдордзреНрдпрдо |
рд╡рд┐рд▓рдВрдм | - | рдХрдо | рдХрдо |
cpu | - | рдХрдо | рдордзреНрдпрдо |
рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЖрдХрд╛рд░ | рдЙрдЪреНрдЪ | рдХрдо | рдордзреНрдпрдо |
рдореЗрдЯрд╛ рдбреЗрдЯрд╛ | рдХрдо | рдордзреНрдпрдо | рдХрдо |
рдпрджрд┐ рдЖрдкрдХрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рдВрд╕рд╛рдзрди-рдЧрд╣рди (рдмреИрдВрдбрд╡рд┐рдбреНрде, рд╕реНрдЯреЛрд░реЗрдЬ, рд╕реАрдкреАрдпреВ) рд╣реИ рдпрд╛ рдЙрдиреНрд╣реЗрдВ рдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдорд╛рддреНрд░рд╛ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рддреЛ рд▓реЗрдЦрдХ рдХреНрд▓рд╛рдЙрдб рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрд╢рдВрд╕рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рдпрджрд┐ рд╕рдВрджреЗрд╣ рд╣реИ, рддреЛ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдХрд┐ рдЖрд╡реЗрджрди рдХреА рдЬрд░реВрд░рддреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╕рд░реНрд╡рд░ рдХреЛ рдЦрд░реАрджрдиреЗ рдФрд░ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдореЗрдВ рдХрд┐рддрдирд╛ рдЦрд░реНрдЪ рдЖрдПрдЧрд╛, рдФрд░ рдЕрдореЗрдЬрд╝реЕрди рдХреА рд▓рд╛рдЧрдд рдХрд┐рддрдиреА рд╣реЛрдЧреАред рдПрд╡рд░рдиреЛрдЯ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЕрдВрддрд░ рдкрд░рд┐рдорд╛рдг рдХреЗ 1-4 рдХреНрд░рдо рд╣реИред
DDOS рдпрд╛рдВрддреНрд░рд┐рдХреА
рдореИрдВ рдЗрд╕ рд░рд┐рдкреЛрд░реНрдЯ рдХреЛ рд▓рдЧрднрдЧ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдпрд╛рдж рдХрд░ рд░рд╣рд╛ рдерд╛, рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рд░рд╛рдд рдХреЗ рдЦрд╛рдиреЗ рдкрд░ рдерд╛ :) рдЕрдВрддрд┐рдо рднрд╛рдЧ рд╕реЗ, рдореИрдВ рдХреЗрд╡рд▓ рдХреБрдЫ рдЬреЛрдбрд╝реЗ рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ред
HTTP рд╣рдорд▓реЛрдВ рдХреЗ рдЦрд┐рд▓рд╛рдл рд╕рдмрд╕реЗ рд╕рд░рд▓ рд╕реБрд░рдХреНрд╖рд╛ Nginx рдореЗрдВ рд╕реАрдорд┐рдд рдХреНрд╖реЗрддреНрд░ рд╣реИред рдЖрдк NGINX рдореЙрдбреНрдпреВрд▓ "testcookie" рдкрд░ рднреА рдзреНрдпрд╛рди рджреЗ рд╕рдХрддреЗ рд╣реИрдВред
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рд╕рдордЭрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ Nginx DDOS рд╣рдорд▓реЛрдВ рдХрд╛ рдЗрд▓рд╛рдЬ рдирд╣реАрдВ рд╣реИред
рд░реВрд╕ 2012 рдореЗрдВ DDOS рд╣рдорд▓реЗ
рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░, 2012 рдореЗрдВ рд╣реБрдП рд╣рдорд▓реЗ> 2600 рд╣рдорд▓реЗ рдереЗ (рдкрд┐рдЫрд▓реЗ рд╕рд╛рд▓ рдХрд╣реАрдВ рдереЗ> 1700)ред
3,000 рдХрд╛рд░реЛрдВ рдХрд╛ рдПрдХ рдмреЛрдЯрдиреЗрдЯ рдФрд╕рдд рд╕рд╛рдЗрдЯ рдХреЛ рдмрд╛рдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рд╕рдмрд╕реЗ рдмрдбрд╝реЗ рдмреЛрдЯрдиреЗрдЯ рдореЗрдВ 150K рдорд╢реАрдиреЗрдВ рд╢рд╛рдорд┐рд▓ рдереАрдВред рдЕрдзрд┐рдХрд╛рдВрд╢ рдмреЛрдирдЯ рдЬрд░реНрдордиреА, рдЕрдореЗрд░рд┐рдХрд╛, рдпреВрдХреНрд░реЗрди, рдХрдЬрд╛рдХрд┐рд╕реНрддрд╛рди (рдЕрд╡рд░реЛрд╣реА) рдореЗрдВ рд░рд╣рддреЗ рд╣реИрдВред
рдбреАрдбреАрдУрдПрд╕ рдЧрддрд┐рд╡рд┐рдзрд┐ рдИ-рдХреЙрдорд░реНрд╕ рдЧрддрд┐рд╡рд┐рдзрд┐ (рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ, рд░рд╛рдЬрдиреАрддрд┐ рдХрд╛ рдПрдХ рд╕рд╛) рдХреЗ рд░реВрдк рдореЗрдВ рд╣реА рд╣реИред
рд░рд╛рдЬрдиреАрддрд┐рдХ рдбреАрдбреАрдУрдПрд╕ рдкрд╛рдХрд┐рд╕реНрддрд╛рди, рднрд╛рд░рдд (рдЬрд╣рд╛рдВ рдХрд╛рдиреВрди рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ) рд╕реЗ рдмреЙрдЯрдиреЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
рдЕрдзрд┐рдХрд╛рдВрд╢ рд╣рдорд▓реЗ 1GB рд╕реЗ рдХрдо рдЯреНрд░реИрдлрд╝рд┐рдХ рдЙрддреНрдкрдиреНрди рдХрд░рддреЗ рд╣реИрдВ (рд╕рд╛рдорд╛рдиреНрдп рд╕рд╛рдЗрдЯ рдмреИрдВрдбрд╡рд┐рдбреНрде рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реИ)ред
рд╣рдорд▓рд╛ рдХрд░рддреЗ рд╕рдордп, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рд▓реЙрдЧреНрд╕ (access.log) рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдФрд░ рдПрдХ рдЯреНрд░реИрдлрд╝рд┐рдХ рдбрд▓рд╛ (tcpdump -s0 -c1000000 -w attack.dump) рдмрдирд╛рдирд╛ рд╣реИред рд╣рдорд▓реЗ рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рдмреЗрдЕрд╕рд░ рдХрд░рдирд╛: рдЬрдВрдХ рдЯреНрд░реИрдлрд┐рдХ рд╕реЗ рд╣рдЯрд╛рдПрдВ, рдЖрдИрдкреА рдкрддреЗ рдХреЛ рдмреНрд▓реЙрдХ рдХрд░реЗрдВ рдЬрд┐рд╕рд╕реЗ рд╣рдорд▓рд╛ рд╣реЛрддрд╛ рд╣реИ, рдЖрдИрдкреА рдХреЛ рдмрджрд▓реЗрдВред
рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕рд╛рдЗрдЯ рдкреНрд░рджрд░реНрд╢рди рдХрд╛ рдХрдо рд╕реЗ рдХрдо 2x рдорд╛рд░реНрдЬрд┐рди рд╣рдореЗрд╢рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рд░реВрд╕реА рдбреАрдбреАрдУрдПрд╕ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ - рдкреВрд░реНрдг рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕реНрдЯреИрдХ (рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЬреЛ рд╕рднреА рдПрдВрдЯреА-рдбреАрдбреЛрд╕ рдЯреЗрд╕реНрдЯ рдкрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ)ред
рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдФрд░ рд╣рд╛рдБ - рдпрджрд┐ рдЖрдк рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреА рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВ, рддреЛ Qrator рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░реЗрдВред
2012 рдореЗрдВ рд╕реНрдХреЗрд▓рд┐рдВрдЧ
рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рд░рд┐рдкреЛрд░реНрдЯ рд▓реЛрдб рдЕрдиреБрдХреВрд▓рди рдпрд╛ рдХреБрдЫ рдФрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереАред
рдХрд╛рд╢, рдореИрдВрдиреЗ рдЗрд╕рдХреА рд╕рд╛рд░реА рд╢реБрд░реБрдЖрдд рд╢реМрдЪрд╛рд▓рдп рдореЗрдВ рд╣реА рдмрд┐рддрд╛ рджреА :) рдореИрдВрдиреЗ рдЗрд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХреЗрд╡рд▓ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдЪрд░реНрдЪрд╛ рдХреЗ рдорджреНрджреЗрдирдЬрд░ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдЬреЛ рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рджреМрд░рд╛рди рд╕рд╛рдордиреЗ рдЖрдпрд╛редрд╕реНрдкреАрдХрд░ рдиреЗ рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдХрд┐рд╕реА рдЕрддрд┐рд░реЗрдХ рдФрд░ рдХрдореА рдХреА рдХрдореА рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ред рдЗрд╕рдиреЗ рдкрд╣рд▓реА рдмрд╛рд░ рдПрдХ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдкреНрд░рд╢реНрди рдХрд╛ рдиреЗрддреГрддреНрд╡ рдХрд┐рдпрд╛: рдЖрдкрдХреА рд╕рд╛рдЗрдЯ рдХрд╛ рд╡реНрдпрд╡рд╕рд╛рдп рдореЙрдбрд▓ рдХреНрдпрд╛ рд╣реИ? рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдирд┐рдХрд▓рд╛, рд╕реНрдкреАрдХрд░ рдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░, рд▓реЛрдЧ рд╕рдмреНрд╕рдХреНрд░рд┐рдкреНрд╢рди (6, 12, 24 рдорд╣реАрдиреЗ рдХреЗ рд▓рд┐рдП) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рд╛рдЗрдЯ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рддрдХ рдкрд╣реБрдВрдЪ рдХреЗ рд▓рд┐рдП рднреБрдЧрддрд╛рди рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рддрдереНрдп рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рдХрд┐ рдлреЗрдХреИрдкреА, рдЬрд┐рд╕ рдкрд░ рд╕рд╛рдЗрдЯ рд▓реЗрдЯ рд╣реЛрддреА рд╣реИ, рд╡рд░реНрд╖ рдореЗрдВ рдХреЗрд╡рд▓ рджреЛ рдмрд╛рд░ рд╣реЛрддреА рд╣реИ, рдФрд░ рдпрд╣ рддрдереНрдп рдХрд┐ рд╕рд╛рдЗрдЯ рдХреЗ рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рднреБрдЧрддрд╛рди рдХрд░ рдЪреБрдХреЗ рд╣реИрдВ, рдЙрдЪреНрдЪ рджреЛрд╖ рд╕рд╣рд┐рд╖реНрдгреБрддрд╛ рдХрд╛рдлреА рдорд╣рдВрдЧреА, рдЬрдЯрд┐рд▓ рдФрд░ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рд╣реИ - рд▓реЗрдХрд┐рди рдЗрд╕рдХреА рдмрд╣реБрдд рдЬреНрдпрд╛рджрд╛ рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИред :) рдПрдХ рдФрд░ рдмрд╛рдд рд╣реИ рдЕрдЧрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдореБрджреНрд░реАрдХрд░рдг рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрд░реЛрдз рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ!рд╕рдХреНрд░рд┐рдп рд╡реЗрдм рдкреНрд░рджрд░реНрд╢рди рдЕрдиреБрдХреВрд▓рди
рд░рд┐рдкреЛрд░реНрдЯ рдХреЛ рдПрдХ рдЯреНрд╡рд┐рдЯрд░ рдХрд░реНрдордЪрд╛рд░реА рджреНрд╡рд╛рд░рд╛ рдкрдврд╝рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдЗрд╕ рд░рд┐рдкреЛрд░реНрдЯ рдХрд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣рд╛ рдерд╛, рдЬреЛ рдХрд┐ рдХреБрдЫ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд░рд┐рдкреЛрд░реНрдЯ рдХреА рд╢реБрд░реБрдЖрдд рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж, рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рд╡рд╣ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдЯреНрд╡рд┐рдЯрд░ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рдерд╛ рдФрд░ рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рд╡рд╣ рдЬреНрдпрд╛рджрд╛рддрд░ рд╕рдордп рд╡реЗрдм рдЕрдиреБрдХреВрд▓рди рдореЗрдВ рд▓рдЧрд╛ рд╣реБрдЖ рдерд╛ред рдФрд░ рднреАрдбрд╝ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЦрддреНрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╡рд╣ рд╣рдореЗрдВ рд╡реЗрдм рдЕрдиреБрдХреВрд▓рди рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрджреНрднреБрдд рдЙрдкрдХрд░рдг / рдЙрдкрдпреЛрдЧрд┐рддрд╛ / рдкреНрд░реЛрдлрд╛рдЗрд▓рд░ / рдкреНрд▓рдЧрдЗрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдПрдЧрд╛ - YSlowредрд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рддрд░рд┐рдд, рд╕реНрдХреЗрд▓реЗрдмрд▓ рдФрд░ рдЕрддреНрдпрдзрд┐рдХ рднрд╛рд░рд┐рдд рднрдВрдбрд╛рд░рдг рдкреНрд░рдгрд╛рд▓реА
рджреНрд╡рд╛рд░рд╛ рдФрд░ рдмрдбрд╝реА, рд░рд┐рдкреЛрд░реНрдЯ рдмрддрд╛рддреА рд╣реИ рдХрд┐ рдХреИрд╕реЗ рд╕рдорд╛рдирддрд╛рдПрдВ рдЪрдВрдХ, рдореЗрдЯрд╛рдбреЗрдЯрд╛ рд╕рд░реНрд╡рд░ рдФрд░ рдЕрдиреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд╕рд╛рде GoogleFS рдХреЗ рдЕрдкрдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдкреВрд░рдХ рдмрдирд╛рддреА рд╣реИрдВредрдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ (рдореЗрд░реЗ рд▓рд┐рдП) рд╡рд┐рд╢реЗрд╖рддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд▓реЛрдЧ рдЕрднреА рднреА рдорд╣рдВрдЧреЗ рд▓реЗрдХрд┐рди рддреЗрдЬ рдПрд╕рдПрд╕рдбреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддреЗ рд╣реИрдВред Google рдореЗрдВ, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ, рдиреАрддрд┐рд╕рд╕реНрддреЗ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдЦрд░реАрджрдиреЗ рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рдЖрддреА рд╣реИ , рдЬрд┐рд╕реЗ рдлреЗрдВрдХрдиреЗ рдФрд░ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рджрдпрд╛ рдирд╣реАрдВ рд╣реИредрд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреЗрд╢рди рдХрд╛ рдореБрдЦреНрдп рдЙрджреНрджреЗрд╢реНрдп рдПрдХ рдореЗрдЬрдмрд╛рди, рдкреНрд░рднрд╛рд╡реА рдмреИрдХрдЕрдк рдФрд░ рддреИрдирд╛рддреА рдХреЗ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рд╕рд╛рдЭрд╛рдХрд░рдг рд╣реИредрдПрдХ рд╕рд░рдгреА рдореЗрдВ рдбрд┐рд╕реНрдХ рдХреЗ рд╕рдВрдпреЛрдЬрди рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рдФрд░ рд╕реИрди рднрдВрдбрд╛рд░рдг рдЖрднрд╛рд╕реА рдорд╢реАрдиреЛрдВ рдХреЗ рдмреАрдЪ рдЙрдирдХреЗ рдмрд╛рдж рдХреЗ рд╡рд┐рднрд╛рдЬрдиред рд▓реЗрдХрд┐рди рдпрд╣ рдорд╣рдВрдЧрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рд░ рдХреЛрдИ рдирд┐рдпрдорд┐рдд рдбрд┐рд╕реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИредрдПрдлрдПрд╕ рдЬрд░реНрдирд▓рд┐рдВрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдбреЗрдЯрд╛ рдкрд╣рд▓реЗ рдЬрд░реНрдирд▓ рдореЗрдВ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рд╣реА рдбрд┐рд╕реНрдХ рдкрд░ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рддрд╛рдХрд┐ рдпрджрд┐ рд╣рдо рдЕрдЪрд╛рдирдХ рдбрд┐рд╕реНрдХ рдХреЛ рдмрдВрдж рдХрд░ рджреЗрдВ, рддреЛ рд╣рдо рд▓реЙрдЧ рдХреЛ рдЪрд▓рд╛ рдкрд╛рдПрдВрдЧреЗ рдФрд░ рдЕрдиреБрдкрд▓рдмреНрдз рдбреЗрдЯрд╛ рдХреЛ рдбрд┐рд╕реНрдХ рдореЗрдВ рдЬреЛрдбрд╝ рдкрд╛рдПрдВрдЧреЗредрд░рд┐рдкреЛрд░реНрдЯ рд╕реЗ, рдЙрд▓реНрд▓реЗрдЦ рдкрд╛рдХреНрд╕реЛрд╕ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╕реЗ рдмрдирд╛ рдерд╛ред рд╣рдо PAXOS рдХреЗ рдпреВрдирд╛рдиреА рджреНрд╡реАрдк рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕ рдкрд░ рдПрдХ рд╕рдВрд╕рдж рд╣реИред рдбреЗрдкреНрдпреБрдЯреА рд╕рдВрд╕рдж рдореЗрдВ рдмреИрдарддреЗ рд╣реИрдВ, рдЬреЛ рд╡реНрдпрд╛рдкрд╛рд░реА рднреА рд╣реИрдВред рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рд╡реЗ рдмрд╣реБрдд рдмрд╛рд░ рджреВрд░ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рд╕рдВрд╕рдж рдХреЗ рдЖрдзреЗ рд╕реЗ рдЕрдзрд┐рдХ рд╕рд╛рдВрд╕рдж рд╣рдореЗрд╢рд╛ рд╕рдВрд╕рдж рдореЗрдВ рди рд╣реЛрдВред рдХреЗрд╡рд▓ рджреВрддреЛрдВ рдХреА рдорджрдж рд╕реЗ рдЕрдиреБрдкрд╕реНрдерд┐рдд рдХреЗ рд╕рд╛рде рд╕рдВрдкрд░реНрдХ рд╕рдВрднрд╡ рд╣реИред рд╕рд╛рде рд╣реА, рд╕рдВрд╕рдж рдХреЛ рд╣рдореЗрд╢рд╛ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдХрд╛рдиреВрдиреЛрдВ рдХреЛ рдЕрдкрдирд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕рднреА рд╕рд╛рдВрд╕рджреЛрдВ рдХреЛ рд╣рдореЗрд╢рд╛ рдирд╡реАрдирддрдо рдХрд╛рдиреВрдиреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ, рд▓реЛрдЧ рдЗрд╕ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдЪрдВрдХ рд╕рд░реНрд╡рд░реЛрдВ рдХреЛ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддреЗ рд╣реИрдВредрдПрдХ SIGSTOP рдкреНрд░рдХреНрд░рд┐рдпрд╛ рднреЗрдЬрдХрд░ рдПрдХ рдкрд╛рд╡рд░ рдЖрдЙрдЯреЗрдЬ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЯреАрд╕реАрдкреА рдХрдиреЗрдХреНрд╢рди рдХреЗ рджреВрд╕рд░реЗ рдЫреЛрд░ рдкрд░ рдЖрд╡реЗрджрди рдЙрд╕реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реЛрдЧрд╛ рдЬрдм рдмрд┐рдЬрд▓реА рдмрдВрдж рд╣реЛ рдЧрдИ рдереАред рдпрд╣ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдмрд┐рдЬрд▓реА рдЖрдЙрдЯреЗрдЬ рд╕реЗ рддреЗрдЬ рд╣реИредрдПрдХ рдЖрднрд╛рд╕реА Hadoop рдХреНрд▓рд╕реНрдЯрд░ рдкрд░ рд╕рд┐рдлрд╛рд░рд┐рд╢ рд╕реЗрд╡рд╛
рд▓реЛрдЧреЛрдВ рдиреЗ Hadoop рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ "рд╕рд╛рдЗрдЯ рдкрд░ рд╕реЗрд╡рд╛ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢реЛрдВ" рдХреЛ рдПрдХ рдирдХреНрд╢рд╛ / рдХрдо рдХрд┐рдпрд╛ред рдЙрдирдХреА рд╡рд┐рд╢реЗрд╖ рд╕рдорд╕реНрдпрд╛рдУрдВ рдФрд░ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣рд╛рдВ рд▓рд┐рдЦрдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИредMariaDB: рдирдпрд╛ MySQL
рдорд╛рд░рд┐рдпрд╛ рдбреАрдмреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрд╡рд▓реЛрдХрди рд░рд┐рдкреЛрд░реНрдЯред MySQL рдХреЗ рд╕рдВрд╕реНрдерд╛рдкрдХ рдиреЗ MySQL рдХреЗ рд╕рдВрд╕реНрдерд╛рдкрдХ рджреНрд╡рд╛рд░рд╛ рд╕реНрдХреНрд░реИрдЪ рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ MySQL рд╕рди рд╕реЗ рдУрд░реЗрдХрд▓ рдореЗрдВ рдЪрд▓рд╛ рдЧрдпрд╛ рдерд╛редрдПрдХ рдЗрдВрдЬрди рдХреЗ рд░реВрдк рдореЗрдВ, рдпрд╣ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдкреЗрд░рдХреЛрдирд╛ рдХреЗ рдПрдХреНрд╕реНрдЯреНрд░рд╛рдмреАрдбреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред InnoDB рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИредрд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рд░рд┐рдкреЛрд░реНрдЯ Chanhelog MariaDB рд╕рдВрд╕реНрдХрд░рдг 5.5 рддрдХ рдЙрдмрд▓рддреА рд╣реИредMySQL рдХреИрд╕реЗ рдмрдврд╝реА рдФрд░ рдпрд╛рддреНрд░рд╛ рдкрд░ рдореБрдЭреЗ рдорд┐рд▓реА рдЪреБрдиреМрддрд┐рдпреЛрдВ рдХреА рд╡реНрдпрдХреНрддрд┐рдЧрдд рдХрд╣рд╛рдиреА
рдУрд░реЗрдХрд▓ рд╕реЗ рд░рд┐рдкреЛрд░реНрдЯред рдореВрд▓ рд░реВрдк рд╕реЗ рдирдП рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдХреНрдпрд╛ рд╣реЛрдЧрд╛ред рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд░реЛрдбрдореИрдк MySQlредрд░рд┐рдкреЛрд░реНрдЯ рдиреЗ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рд╕рд╡рд╛рд▓ рдХрд╛ рдЬрд╡рд╛рдм рджрд┐рдпрд╛: Oracle MySQL рдХрд╛ рд╕рдорд░реНрдерди рдХреНрдпреЛрдВ рдХрд░рддрд╛ рд╣реИ? рдХрдВрдкрдиреА рд╕рднреА рдмрд╛рдЬрд╛рд░реЛрдВ рдореЗрдВ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдирд╛ рдЪрд╛рд╣рддреА рд╣реИ, рдФрд░ MySQL рдореЗрдВ рд╡реЗрдм, рдореЛрдмрд╛рдЗрд▓ рдФрд░ рдПрдВрдмреЗрдбреЗрдб рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рдлреЗрд╕рдмреБрдХ рдФрд░ рдЯреНрд╡рд┐рдЯрд░ рдЬреИрд╕реЗ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рдЦреЛрдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛ред рдЬрд┐рд╕ рд╡рд┐рд╢рд╛рд▓ рдХрдореНрдпреВрдирд┐рдЯреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдк рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗредрдореИрдВ рдпрд╣ рднреА рдзреНрдпрд╛рди рджреЗрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП MySQL рдЗрдВрд╕реНрдЯрд╛рд▓рд░ рдореЗрдВ MsSQL, Sybase , рдЖрджрд┐ рдЬреИрд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ ред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд╡рд╣ рдирд╣реАрдВ рдЬрд╛рдирддреА рд╣реИ рдХрд┐ рдПрдХ рд╕рд╛рде рд╕рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛрдб рдХреЛ рдХреИрд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рд╣реИред рдЬрд┐рд╕реЗ рджреЗрдЦрддреЗ рд╣реБрдП, рдореЗрд░реЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЕрд░реНрде рдЦреЛ рдЧрдпрд╛ рд╣реИредрд╕рд╣реА рдЗрдВрдбреЗрдХреНрд╕ рдХреИрд╕реЗ рдЪреБрдиреЗрдВ
рдЗрдВрдбреЗрдХреНрд╕ рдХреНрдпрд╛ рд╣реИрдВ рдФрд░ рд╡реЗ рдХрд┐рд╕рдХреЗ рд╕рд╛рде рдЦрд╛рддреЗ рд╣реИрдВ, рдЗрд╕ рдкрд░ рдПрдХ рд░рд┐рдкреЛрд░реНрдЯред рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ рдХреБрдЫ рдЙрдкрдХрд░рдг рдФрд░ рдЙрджрд╛рд╣рд░рдг рдереЗ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рдЬреЛ рдХреЛрдИ рднреА рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддрд╛ рд╣реИ рд╡рд╣ рдкреНрд░рд╕реНрддреБрддрд┐ рдХреЛ рджреЗрдЦреЗредрдореЗрд░реА рд░рд╛рдп рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдмрд┐рдВрджреБ рд╕рдмрд╕реЗ рдмрдбрд╝реЗ рд╣реИрдВ:- рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЕрдиреБрдХреНрд░рдорд┐рдд рди рдХрд░реЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рд╕рдореНрдорд┐рд▓рди рдХреА рдЧрддрд┐ рдХреЛ рдХрдо рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЖрдо рддреМрд░ рдкрд░ рдУрд╡рд░рд╣реЗрдб рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддреЗ рд╣реИрдВ - рдЕрдиреБрдХреНрд░рдорд┐рдд рдХреЗрд╡рд▓ рд╡рд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдЙрдиреНрд╣реЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ
рдЬрд╝рд░реВрд░рдд рд╣реЛрддреА рд╣реИ; - рдХреЗрд╡рд▓ рдЙрд╕ рдбреЗрдЯрд╛ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдЬрд┐рд╕рдХреА рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ: рдХрдо рдбреЗрдЯрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХрдо рдбреЗрдЯрд╛ рдкреНрд░реЛрд╕реЗрд╕рд░ рджреНрд╡рд╛рд░рд╛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ;
- рдЫрдБрдЯрд╛рдИ рдХрд╛рдлреА рдорд╣рдВрдЧрд╛ рдСрдкрд░реЗрд╢рди рд╣реИ;
- рдЕрд▓рдЧ - рдПрдХ рдмрд╣реБрдд рд╣реА рдзреАрдореА рдЧрддрд┐ рд╕реЗ рд╕рдВрдЪрд╛рд▓рди, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдирдореВрдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ;
- index (a, b) index рд╕реЗ рдмреЗрд╣рддрд░ (a) рдХреЗрд╡рд▓ рдмрд░рд╛рдмрд░ рд╕рдВрдЪрд╛рд▓рди рдкрд░;
- рдХреНрд▓рд╕реНрдЯрд░рд┐рдВрдЧ рдЗрдВрдбреЗрдХреНрд╕ рдореЗрдВ рд╕рднреА рдкрдВрдХреНрддрд┐ рдбреЗрдЯрд╛ рд╣реЛрддреЗ рд╣реИрдВ (рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдпрд╣ рдирд┐рд╣рд┐рдд рдерд╛ рдХрд┐ рдЬрдм рдПрдХ рдХреНрд▓рд╕реНрдЯрд░ рдЗрдВрдбреЗрдХреНрд╕ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдбреЗрдЯрд╛ рдХреЛ рдЗрдВрдбреЗрдХреНрд╕ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХреНрд░рдордмрджреНрдз рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ);
- рдпрджрд┐ рд╕реНрддрдВрдн рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЪрдпрди рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛;
рдкреНрд░рд╕реНрддреБрддрд┐рдпреЛрдВ
рд╕рднреА рдкреНрд░рд╕реНрддреБрддрд┐рдпрд╛рдБ SlideShare рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ редрдкреБрдирд╢реНрдЪ
рдореИрдВ рдЪрд┐рддреНрд░реЛрдВ рдХреЗ рдмрд┐рдирд╛ рдкреЛрд╕реНрдЯ рдЫреЛрдбрд╝ рджреВрдВрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдХреАрд╡ рд╕реНрдЯреЗрд╢рди рдХреЗ рдкрд╛рд╕ MUMU рдХреИрдлреЗ рдореЗрдВ рд╡рд╛рдИрдлрд╝рд╛рдИ рд╕реНрдерд╛рдиреАрдп рдУрд▓рд┐рд╡реЛрди рд╕реЗ рдмреЗрд╣рддрд░ рдирд╣реАрдВ рд╣реИ ...