KPHP рдФрд░ рдЗрдВрдЬрди рдЬрд╛рд░реА рдХрд░рддреЗ рд╣реИрдВ

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

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

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




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

KPHP

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

KPHP рд╡рд┐рдХрд╛рд╕ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдФрд░ рдЧрддрд┐ рд╕реЗ рд╕рдордЭреМрддрд╛ рдХрд┐рдП рдмрд┐рдирд╛, рдХрд╛рдо рдХреА рдПрдХ рдЙрдЪреНрдЪ рдЧрддрд┐ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХреА рдЧрдИ рдПрдХ рдиреНрдпреВрдирддрдо рднрд╛рд╖рд╛ рд╣реИред рдЗрд╕ рд╕рдВрдмрдВрдз рдореЗрдВ, рдХреЗрдкреАрдПрдЪрдкреА PHP рдХреА рд╕рднреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдЗрд╕рдореЗрдВ рдУрдУрдкреА рдирд╣реАрдВ рд╣реИ, рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреА рдХреБрдЫ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдЕрдкрд╡рд╛рдж рдХреЗ рд╕рд╛рдеред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, eval рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рдЪреАрдЬреЗрдВ, рдЬреИрд╕реЗ рдХрд┐ 'рдИ' рд╕рдВрд╢реЛрдзрдХ рдХреЗ рд╕рд╛рде рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐, рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИрдВ (рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, preg_replace_callback рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкрд╣рд▓реЗ, рдЕрдВрдд, рдЕрдЧрд▓реЗ, рдореМрдЬреВрджрд╛, рд╡рд░реНрддрдорд╛рди, рд░реАрд╕реЗрдЯ, рдХреБрдВрдЬреА рдХреЗ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рддрддреНрд╡реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдп; рдЙрдиреНрд╣реЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, getValueByPos рдФрд░ getKeyByPos рдлрд╝рдВрдХреНрд╢рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред
рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреА рдЕрд╕реНрд╡реАрдХреГрддрд┐ рдиреЗ KPHP рдХреЛ рд╡реЗрдм рд╡рд┐рдХрд╛рд╕ рдХреЗ рдЕрдиреНрдп рдЙрдкрдХрд░рдгреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд░реВрдк рд╕реЗ рддреЗрдЬреА рд╕реЗ рдмрдирдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреАред
рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдордиреЗ рдЗрд╕рдХреА рддреБрд▓рдирд╛ рдлреЗрд╕рдмреБрдХ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд рд╣рд┐рдкрд╣реЙрдк рд╡реАрдПрдо рд╕реЗ рдХреА рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд┐рдП:
рдкрд░реАрдХреНрд╖рдгKPHPHHVMрдкреАрдПрдЪрдкреА
рд╕рд░рд▓0.0000.0070.137
simplecall0.0000.0040.174
simpleucall0.0070.0080.178
simpleudcall0.0070.0090.181
рдореЗрдВрдбрд▓0.0100.0660392
mandel20.0110.0740.355
рдПрдХрд░рдореИрди (7)0.0010.0110.189
рдРрд░реА (50,000)0.0030.0080.024
рдЖрд░реНрдп 2 (50,000)0.0030.0100.022
рдЖрд░реНрдп 3 (2000)0.0110.0770.191
рддрдВрддреБ (30)0.0030.0190481
рд╣реИрд╢ 1 (50,000)0.0180.0340.044
рд╣реИрд╢ 2 (500)0.0110.0210.039
рд╣реАрдкреНрд╕реЛрд░реНрдЯ (20,000)0.0120.0400.101
рдореИрдЯреНрд░рд┐рдХреНрд╕ (20)0.0070.0210.121
рдиреЗрд╕реНрдЯрд▓реВрдк (12)0.0000.0120.235
рдЫрд▓рдиреА (30)0.0130.0160.114
рд╕реНрдЯреНрд░реИрдЯ (200000)0.0020.0050.014
рдкрд░рд┐рдгрд╛рдо0.1190.4422.992


рдкрд░реАрдХреНрд╖рдг рдХреЛрдб рдпрд╣рд╛рдВ рдЙрдкрд▓рдмреНрдз рд╣реИ:
gist.github.com/anonymous/9391146#file-bench-php

рд╡рд┐рдХрд╛рд╕ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, KPHP PHP рдХреЗ рд╕рд╛рде рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рд╕рдВрдЧрдд рд╣реИ, рддрд╛рдХрд┐ рдирд┐рдпрдорд┐рдд PHP рдХрд╛ рдЙрдкрдпреЛрдЧ рд▓рд┐рдЦрд┐рдд рдХреЛрдб рдХрд╛ рддреНрд╡рд░рд┐рдд рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ, рдФрд░ рдЕрдВрддрд┐рдо рдкрд░реАрдХреНрд╖рдг рд╕реЗ рдкрд╣рд▓реЗ рдХреЛрдб рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдХреЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реЗ рдмрд╛рд╣рд░ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПред KPHP рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд▓реЗрдХрд┐рди рдирд┐рдпрдорд┐рдд PHP рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ, рдПрдХ рд╡рд┐рд╢реЗрд╖ рдкреБрд╕реНрддрдХрд╛рд▓рдп github.com/vk-com/kphp-kdb/tree/master/vkext рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдЬреЛ PHP рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рддрд╛ рд╣реИред

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

рдПрдХ рдЦреБрд▓реЗ рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рддрд╣рдд рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЗ рд╕рд╛рде, рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рдЗрдВрдЬрди рдХрд╛ рдПрдХ рд╕реЗрдЯ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛, рдЬреЛ KPHP рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреВрд░рдХ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдЕрд▓рдЧ рд╕реЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдкрд╣рд▓реА рдмрд╛рд░, рд╣рдордиреЗ рдЗрди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рд╣рд╛рдИрд▓реЛрдб 2010 рдореЗрдВ рдУрдкрдирд╕реЛрд░реНрд╕ рд╕рдореБрджрд╛рдп рдХреЗ рд▓рд┐рдП рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рд╣рдо рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдкреНрд░рддреАрдХреНрд╖рд╛ рдЕрд╡рдзрд┐ рдХреЗ рд▓рд┐рдП рдХреНрд╖рдорд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

PMemcached ("рд▓рдЧрд╛рддрд╛рд░ рдпрд╛рдж рдХрд┐рдпрд╛")

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

рд╕реВрдЪрд┐рдпрд╛рдБ

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

рдкреНрд░рд▓реЗрдЦрди: github.com/vk-com/kphp-kdb/blob/master/docs/en/KittenDB_Lists.wiki

рд╕реВрдЪрд┐рдпрд╛рдБ рдПрдХреНрд╕

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

рдкреНрд░рд▓реЗрдЦрди: github.com/vk-com/kphp-kdb/blob/master/docs/en/KittenDB_Lists-X.wiki

рдЦреЛрдЬреЗрдВ

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

рдкреНрд░рд▓реЗрдЦрди: github.com/vk-com/kphp-kdb/blob/master/docs/en/KittenDB_Search.wiki

рднрдВрдбрд╛рд░рдг

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

рдкреНрд░рд▓реЗрдЦрди: github.com/vk-com/kphp-kdb/blob/master/docs/en/KittenDB_Storage.wiki

рдЧреНрд░рдВрдереЛрдВ

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

рдкреНрд░рд▓реЗрдЦрди: github.com/vk-com/kphp-kdb/blob/master/docs/en/KittenDB_Texts.wiki

рд╕рдВрдХреЗрдд

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

рдкреНрд░рд▓реЗрдЦрди: github.com/vk-com/kphp-kdb/blob/master/docs/en/KittenDB_Hints.wiki

рдХрддрд╛рд░

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

рдкреНрд░рд▓реЗрдЦрди: github.com/vk-com/kphp-kdb/blob/master/docs/en/KittenDB_Queue.wiki

рдЙрдкрд░реЛрдХреНрдд рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдХрдИ рдЕрдиреНрдп рдХреЛ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрддрдирд╛ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдирд╣реАрдВ, рд▓реЗрдХрд┐рди рдХреЛрдИ рдХрдо рджрд┐рд▓рдЪрд╕реНрдк рдЙрдкрдХрд░рдг рдирд╣реАрдВ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдкреНрд░рд▓реЗрдЦрди рдЖрдкрдХреЛ рдпрд╣рд╛рдВ рдорд┐рд▓реЗрдЧрд╛ред

рдирд┐рд╖реНрдХрд░реНрд╖

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

рд╣рдореЗрдВ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЕрдм рд╡реЗ MySQL, Memcache, nginx рдФрд░ PHP рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рдХреА рдЬрд╛ рд░рд╣реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рд╕рдордп рдореЗрдВ VKontakte рдмрдирд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдВрдЧреЗред

рдЖрдк рдЗрдВрдЬрди рдФрд░ KPHP рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛ github рдкрд░ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ: github.com/vk-com/kphp-kdb
рд╡рд┐рд╕реНрддреГрдд рджрд╕реНрддрд╛рд╡реЗрдЬ рдпрд╣рд╛рдВ рд╕реНрдерд┐рдд рд╣реИ: github.com/vk-com/kphp-kdb/tree/master/docs/ru

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


All Articles