ããããã£ã¹ããèŽã
察話è ãšRuTargetã«ã€ããŠã®ããã€ãã®èšèïŒ
ããªã«ã»ãµãã©ããã¯ãã·ã¢ã®ãµã³ã¯ãããã«ãã«ã¯ã«äœãã§åããŠããŸãã ãµã³ã¯ãããã«ãã«ã¯å·ç«å·¥ç§å€§åŠãåæ¥ïŒ2004ïŒãç©çåŠããã³æ°çç§åŠã®åè£ïŒ2007ïŒã 2001-2004幎 2004幎ãã2006幎ã«Soft-Impactã§C ++éçºè ãšããŠåããŠããŸããã -ããŒã©ã³ãã®ããã°ã©ããŒã 2006幎ãã2010幎ãŸã§ãSwiftTeamsã§ïŒ2010幎ããCTOãšããŠïŒã 2011ã2013幎 -JetBrainsã®éçºè ã 2013幎4æ以æ¥ã圌ã¯RuTargetã®CTOãåããŠããŸãã
RuTarget瀟㯠2011幎ã«Eugene Easyã«ãã£ãŠèšç«ããããã®åŸãæåã®æè³ãéããããŸããã å瀟ã¯ã«ã¹ã¿ã RTBãœãªã¥ãŒã·ã§ã³ãéçºããŠããŸãã RuTargetãæäŸããRTBã€ã³ãã©ã¹ãã©ã¯ãã£ã«ããã代çåºãšåºåäž»ã¯åºåãšããŒã¿ãèªåçã«å£²è²·ã§ããŸãã æãæåãªãœãªã¥ãŒã·ã§ã³ã¯ãåºåäž»ãšåºå代çåºã«RTBãµãŒãã¹ãæäŸããSegmentoïŒRuTargetã«å¯æ¥ã«ãªã³ã¯ïŒã®ãã©ãããã©ãŒã ã§ãã
ããããã£ã¹ãã®ããã¹ãçïŒåç·šïŒ
ã¢ã¬ã¯ãµã³ããŒã¢ã¹ã¿ãã³ã³ïŒ RTBïŒãªã¢ã«ã¿ã€ã ããããŒïŒãšã¯äœãããã®ã·ã¹ãã ã®ããŸããŸãªåå è ïŒåºåäž»ããµã€ããããŒã¿ãããã€ããŒïŒã®çžäºäœçšã¯ã©ã®ããã«èª¿æŽãããŠããã®ã説æããŠãã ããã
ããªã«ã»ãµãã©ããïŒãã¡ããã§ãã RTBããŸãã¯ãªã¢ã«ã¿ã€ã ãªãŒã¯ã·ã§ã³ã¯ããªã³ã©ã€ã³åºåã衚瀺ããããã®ã¹ããŒã ã§ããããã®æ¬è³ªã¯ãWebããŒãžãããŒãããããã»ã¹ã§ãåºåãããã¯ãŒã¯ïŒããŒãžãæ¥ç¶ãããŠããïŒãšè€æ°ã®åå è ïŒRuTargetãããã®äžã§ïŒã
ãããã¯ãŒã¯ã«ã¯åºåã¹ãããããããæãéèŠãªã®ã¯ç¹å®ã®ãŠãŒã¶ãŒIDã§ãã ãããŠãåå è ã¯ããããã¯ãŒã¯ã®æäŸã«ã©ãã ãèå³ãããããŠãŒã¶ãŒãšãµã€ããã©ãã ãé åçã§ãããã決å®ãããã®ãŠãŒã¶ãŒã«ã²ãã£ãåºåãã£ã³ããŒã³ã®ãããŒã®1ã€ã衚瀺ãããã©ããã決å®ããŸãã 決å®ãè¯å®çã§ããå Žåãåå è ã¯åºåãããã¯ãŒã¯å ¥æãæäŸããå¿ èŠããããŸãã äžéå ¥æå䟡ãåã¡ããšã³ããŠãŒã¶ãŒã«ã¯åè ã®ãããŒã衚瀺ãããŸãã
æè¡çã«ã¯ãããã¯åºåãããã¯ãŒã¯ãµãŒããŒãšè²·ãæ»ãåœäºè éã®çžäºäœçšãšããŠçºçããŸãã ãªã¢ã«ã¿ã€ã ã§ãèŠæ±ãéä¿¡ãããŸãããã®èŠæ±ã«å¯ŸããŠãåéåœäºè ã¯çæéïŒ100ããªç§ïŒä»¥å ã«å¿çããå¿ èŠããããŸãã åºåãããã¯ãŒã¯ã¯ãåçãåéããç¹å®ã®æ¹æ³ã§ãã£ã«ã¿ãªã³ã°ããäžéå ¥æå䟡ãéžæãããããŒã衚瀺ããŸãã ãããã£ãŠãRTBã¹ããŒã ã§ã¯ãã©ã®ãããŒã衚瀺ãããã«ã€ããŠã®æ±ºå®ã¯ãWebããŒãžãããŒãããããã»ã¹ã§è¡ãããŸãã
ãã®ãããªã¹ããŒã ã¯ãåºåäž»ãšãŠãŒã¶ãŒã®äž¡æ¹ã«ãšã£ãŠåºåãããå¹ççã«æ©èœãããšããç¹ã§åªããŠããŸãã åºåäž»ã¯ãã¯ãªãã¯ãšå šäœçãªå¿çã®å²åãé«ããŠãŒã¶ãŒé¢é£åºåã衚瀺ã§ããŸãã ãŸãããŠãŒã¶ãŒã«ã¯æå³ãèå³ã«åºã¥ããŠåºåã衚瀺ãããŸãã ãããã£ãŠãããã¯äžçš®ã®win-winã§ãã
ãªãŒã¯ã·ã§ã³åå è ïŒåéåœäºè ïŒããŠãŒã¶ãŒã«ã€ããŠããããç¥ã£ãŠããã»ã©ããŠãŒã¶ãŒïŒåå è -çŽEdãïŒãããå¹ççã«äºç®ãè²»ããããšãã§ããããšã¯æããã§ãã圌ã«ãšã£ãŠã¯é¢çœããªãã ããã§ã¯ãæ°åŠããŠãŒã¶ãŒã«é¢ããæ å ±ãåéããããã«å¿ããŠæ¶åããå±æ§ã®ã»ãããæ§ç¯ããæ°åŠã¢ãã«ãéå§ããŸããããã䜿çšããŠããŠãŒã¶ãŒãåºåãã¯ãªãã¯ãããã©ãããç解ãŸãã¯äºæž¬ã§ããŸãã
ã¢ã¬ã¯ãµã³ããŒã¢ã¹ã¿ãã³ã³ïŒè£œåãšããŠã®ãã®ãã§ãŒã³ã®RuTargetãšã¯äœã§ããïŒ
ããªã«ã»ãµãã©ããïŒ RuTargetã¯ãã©ãããã©ãŒã ãDSPïŒããã³ããµã€ããã©ãããã©ãŒã ïŒã§ããã€ãŸããåºåãããã¯ãŒã¯ã«æ¥ç¶ã§ãããã€ããã¯ãµã€ãïŒç§ãã¡ã®å°åã§ã¯SSPãšåŒã°ããŸã-ãµãã©ã€ãµã€ããã©ãããã©ãŒã ãã»ãŒã«ã¹ãµã€ãïŒãšãã¬ãŒã¹ãããã§ãã ãŸããã·ã¹ãã ã¯ãŠãŒã¶ãŒããŒã¿ãåéãä¿åãåŠçããŠãå ¥æãæãå¹ççã«è¡ãããšãã§ããŸãã
Pavel PavlovïŒé¡§å®¢ã¯èª°ã§ããïŒãŸããRuTargetãã©ãããã©ãŒã ãšã®ããåãã¯ã©ã®ããã«çµç¹ãããŠããŸããïŒ
Kirill SafonovïŒãšã³ãã«ã¹ã¿ããŒã¯éåžžãSegentoãæäœããŸããããã¯äžçš®ã®ããžãã¹ããã³ããšã³ãã§ãã Segmentoã¯ãã¯ã©ã€ã¢ã³ãã®åºåãã£ã³ããŒã³ãå®è¡ãã²ãããå¿ èŠãªã¯ãªãã¯æ°ãã³ã³ããŒãžã§ã³ãªã©ãæäŸããããšãã§ããŸãã Segmentoã¯RuTargetãã©ãããã©ãŒã ã䜿çšããŠããããã®ãã£ã³ããŒã³ã®ããžãå€ããŸãã ã¯ã©ã€ã¢ã³ããSegmentoã«æ¥ãå ŽåããŸãã¯Segmentoãã¯ã©ã€ã¢ã³ããèŠã€ããŠåœŒãšå¥çŽãçµã³ããã¹ãŠã®æè¡çãªã¢ã¯ã·ã§ã³ãRuTargetã«ãã£ãŠå®è¡ããããšããŸãã
Pavel PavlovïŒ RuTargetãšãšã³ãã¯ã©ã€ã¢ã³ãã®éã«çžäºäœçšããªãããšãããããŸãããïŒ
ããªã«ã»ãµãã©ããïŒä»ã§ã¯ãããŸããã RuTargetãã©ãããã©ãŒã ãå ¬éããèšç»ã¯ãããŸããããŠãŒã¶ãŒãAPIãä»ããŠãã¯ãããžãŒãã©ãããã©ãŒã ã«çŽæ¥æ¥ç¶ãããªã©ããã¯ãããžãŒãã©ãããã©ãŒã ãšçŽæ¥éä¿¡ããæ©äŒãåŸãããããã«ããŸãã
Alexander AstapenkoïŒ RuTarget補åã®åœ¢æãæ åœããŠããã®ã¯èª°ã§ãããAPIã¯ã©ããªããŸããïŒ çŸåšã®é¡§å®¢ã¯è£œåéçºã®ãã©ã€ããŒã§ããïŒ ããã¯RuTargetå ã§ã©ã®ããã«çºçããŸããïŒ èª°ãããã»ã¹ã決å®ããŠç®¡çããŸããïŒ
Kirill SafonovïŒç§ãã¡ã«ã¯ãSegentoãšRuTargetã®éã«ãã補åãããŒãžã£ãŒãããŠããã°ãã©ãã«ãŒã«æ¥ããã¹ãŠã®æ©èœãšãªã¯ãšã¹ããèç©ãã補åã®ç§»åå ãç£èŠããŠããŸãã äžæ¹ãç§ãçããéçºããŒã ã¯ããããã®æ©èœèŠæ±ãåæããã©ã®æç¹ã§å®è¡ã§ãããã決å®ããŸãã ãããŠãéåžžã®èª¿æŽãšåªå é äœä»ãã次ã®å埩ã®ããã®ããã€ãã®ã¿ã¹ã¯ããããŸãã
ã¢ã¬ã¯ãµã³ããŒã»ã¢ã¹ã¿ãã³ã³ïŒããã§ãããã®ãããã¯ããæãäžããããã§ãã æ©èœã«åªå é äœãä»ããããã»ã¹ã¯ãããŸããïŒ ãããã®æ©èœãé£æåã®ããã¯ãã°ã«åã蟌ãããã»ã¹ã¯ïŒ
Kirill SafonovïŒäžæ¹ã§ã¯ããããã¯åžžã«çä¿¡æ©èœã§ããããããã¯ããããŒãžã£ãŒããã®çä¿¡èŠæ±ã§ãã äžæ¹ããããã©ã®ãããã®æéè¡ãããçŸåšã®ã¢ãŒããã¯ãã£ã«ã©ã®ããã«é©åããããäœãããçŽãå¿ èŠãããããç解ããã 次ã¯ãã£ã¹ã«ãã·ã§ã³ã§ããåªå 床ããã®ã¿ã¹ã¯ã®ããžãã¹äžã®éèŠæ§ãããã³å®äºãããŸã§ã®æéã«å¿ããŠå ±åã§æ±ºå®ããŸãã ã³ãã¥ãã±ãŒã·ã§ã³ã®çµæã圌女ã¯é ããæ©ããããã¯ãã°ã®ã©ããã«æšªããã£ãŠããŸãã ããã«ãæäœãèšç»ãããšãã«ãããã¯ãã°ãã次ã®ããŒã¹ãåãåºãããã®æäœã«è©²åœããæ©èœãéžæããŠå®è¡ããŸãã
Pavel PavlovïŒ Cyrilã100ããªç§å°ãåã«èšåããŸããã RTBãœãªã¥ãŒã·ã§ã³ã«ã¯ããªãé«ãèŠä»¶ããããšããå°è±¡ãåããŸãã ç¹ã«é«éåããããã«ã ãããã®èŠä»¶ãã©ã®ããã«æºããããšãã§ããŸããïŒãŸãããã©ãããã©ãŒã ã®éçºãäœæãããã³ä¿å®æã«çŽé¢ããªããã°ãªããªãæè¡çãªåé¡ã¯ãããŸããïŒ
ããªã«ã»ãµãã©ããïŒ ãæè¡çå°é£ã-å°ãæ²èŠ³çã«èãããŸãããé¢çœãç¹ãšèšããŸãã æåã®èå³æ·±ãç¹ã¯ãåºæã®èŠä»¶ã§ããè² è·ãšçãå¿çæéã§ãã ãªã¯ãšã¹ãã®çä¿¡ã¹ããªãŒã ïŒ1ç§ãããçŽ1äžãã2äžãªã¯ãšã¹ãïŒããããå®éã«ã¯ã100ããªç§æªæº-決å®ãäžãããã«20ãã30ããªç§ãŸã§ãããŸãïŒãããŒã衚瀺ãã人ãã©ãããã©ã®ãããŒããã©ã®å ¥æããªã©ã ãã®åé¡ã解決ããæ°Žå¹³æ¹åã«ã¹ã±ãŒã©ãã«ã«ãªãããã«ã¢ãŒããã¯ãã£ãæ§ç¯ããè² è·ã®å¢å ã«å¿ããŠãµãŒããŒãè¿œå ããŸããã ããã§ãç°ãªãå£åŸã®10ã®ããŒã«ã«ãããã¯ãŒã¯ã«æ¥ç¶ããããã¹ãŠã§æ£åžžã«åäœããããã«ãªããŸããã
ãã1ã€ã¯ããŠããŒã¯ã§ã¯ãªããããããŸããããéèŠãªãã€ã³ãã¯ãã·ã¹ãã ã®é«å¯çšæ§ã§ãã24æéäœå¶ã§ãé«ãå²åããããŸãã ã¢ãŒããã¯ãã£ã³ã³ããŒãã³ãã®èšèšã§ã¯ããããã¯é害ãçºçããå Žåã®ã³ã³ããŒãã³ãã®å®å®æ§ãšè€è£œã«ã€ããŠèããå¿ èŠããããŸãã
å¥ã®èå³æ·±ãå Žæã¯æ°åŠçã¢ãã«ã§ããããã¯ãä¿æããŠããããŒã¿ã«åºã¥ããŠãŠãŒã¶ãŒã«é¢ããäºæž¬ãæãå¹æçã«æäŸããã¯ãã§ãã ãããŠãããã¯æ確ãªæ çµã¿ã®ãªããªãŒãã³ãšãªã¢ã§ãã ãã®å Žåãå®å šæ§ã®éçãèŠã€ããããšãã§ããªããããèŠä»¶ãæºãããŠãããã©ããã¯ããããŸããã ããã¯ã絶ãéãªãä»äºã絶ãéãªãæèããã¹ããæ¯èŒãæ°ããããŒãžã§ã³ã®å±éãããŒã«ããã¯ãæ°åŠã®ãã¬ã€ãããšãã°ã¢ãã«ã®ãã¬ã€ã§ãã ããã¯ããããæãèå³æ·±ãå Žæã§ãããæãéèŠãªå Žæã§ãã
Pavel PavlovïŒèå³æ·±ãããšã«ãããã«å°ãæ»åšããããšæããŸãã ãããŒã¿ãµã€ãšã³ã¹ããªã©ããããããªãã¯ãã®åéã®å°é家ã§ãã ãã®ç§åŠã¯ã©ã®çšåºŠçå®ã§ããïŒ ãããšããããªãèªèº«ã®å®çŸ©ã«ãããæ°åŠã²ãŒã ãã§ããïŒ ç§åŠãããã°ã©ãã³ã°ã«è¿ãïŒ ãã®ããããçŸä»£ã®ITãã¯ãããžãŒã§ã©ã®ããã«å®çŸ©ããŸããïŒ
Kirill SafonovïŒç§ãã¡ã«ã¯ããŒã¿ãã€ãã³ã°éšéãããããããã®ã¢ãã«ãéçºããæ¬åœã®ç§åŠãæã£ãŠããå°æ°ã®äººã ãããŸãã倧éã®ããŒã¿ã®åæãã¢ãã«ã®æ§ç¯ããã¹ãã®å®è¡ã§ãã å¹æçã§ããå¿ èŠã®ããã¢ã€ãã¢ããããšåœŒããèšããšããç§ãã¡ã¯ãããã·ã¹ãã ã«å®è£ ãããªã¯ãšã¹ããŸãã¯åºåãã£ã³ããŒã³ã®äžéšã®ãã¹ããå±éãããããæ©èœãããã©ããã確èªããŸãã ãã®åŸãç§ãã¡ã®ã¹ã¿ããã¯ãããã©ã®ããã«é²è¡ããããèŠãŠããã°ãšçµæãåæããŸãã æ°ããã¢ãã«ãšã¢ãããŒããåãå ¥ããããããšã確èªããä»ã®ãã¹ãŠã®åºåãã£ã³ããŒã³ã«æ¡åŒµããŸãã ãŸãã¯ããããæåŠããæ»ã£ãŠå¥ã®ããšãè©ŠããŠãã ããã ã€ãŸããäžæ¹ã§ã¯ã誰ããç解ããŠããæå³ã§ã®ããŒã¿ãµã€ãšã³ã¹ã§ããããã°ããŒã¿ã®åæããã¿ãŒã³ã®æ€çŽ¢ãã¢ãã«ã®æ§ç¯ã§ãã ãããŠãããã¯ã·ã¹ãã ã§çµ¶ããèµ·ãã£ãŠããããçš®ã®å®éšã§ãã
Pavel PavlovïŒããªãã¯ããã°ããŒã¿ãã¹ã±ãŒãªã³ã°ã®ã¬ãã«ãè² è·ã«ã€ããŠè©±ããŸããã ã©ã®ããã«ããŠãã®ãããªã¢ãŒããã¯ãã£ãå®çŸããé©åãªãœãªã¥ãŒã·ã§ã³ãå®çŸããŸãããïŒ ä»¥åã®ãããžã§ã¯ããããŒã ã¯ãŒã¯ã§ã®å人çãªçµéšã¯ãããŸããïŒ
Kirill SafonovïŒä»¥åã®çµéšã¯ããããããŸã圹ââã«ç«ããªãã£ãã§ãããããã以åã¯ãã¹ã¯ããããããžã§ã¯ããŸãã¯ãµãŒããŒãããžã§ã¯ãã®ããããã§äœæ¥ããŠããŸãããããã®ãããªè² è·ãšèŠä»¶ã¯ãããŸããã§ããã æåŠãèªãã§ãã€ã³ã¿ãŒããããå©ããã æè¿ãéåžžã«å€ãã®èšäºãã·ã¹ãã ãäœãããšãã§ãã補åã ãã®åéã®åžå Žã®ä»ã®äººã ãšã®ã³ãã¥ãã±ãŒã·ã§ã³ã å¥åŠãªããšã«ã競åããäŒæ¥ãããŒãããŒã®ãšã³ãžãã¢ãšæè¡çãªåé¡ãè°è«ããå¿ èŠãé »ç¹ã«ãããŸãã ãããã£ãŠãå®éã«æ©èœããç¹å®ã®ç解ãããããããé©çšããããšãã§ããããããªã¿ãŒã³ããããããŸãã
Pavel PavlovïŒæ±ºå®ã¯å€éšããè¡ãããã®ã§ãå ±æããæºåãã§ããŠããã¬ã·ãããããŸããïŒ ãã®ãããªã¬ãã«ã®ã¯ãŒã¯ããŒããšã¢ããã¿ã€ã ãæã€æ¥çã§ä»äºãããããšããŠãã人ã¯ãã©ã®ãããªæè¡ã¹ã¿ãã¯ãæ¢ãã¹ãã§ããïŒ
ããªã«ã»ãµãã©ããïŒããã°ããŒã¿ã«é¢ããŠã¯ãæããã«HadoopãšHBaseãMapReduceã¿ã¹ã¯ãªã©ã®ã³ã³ããŒãã³ãã䜿çšããŠããŸãã è² è·ã®é«ãããã³ããšã³ããšããŠãNginxã¯éåžžã«ããŸãæ©èœããŸãã ç§ãã¡ã¯åœŒã«éåžžã«æºè¶³ããŠããã圌ãã»ãšãã©ã«ã¹ã¿ãã€ãºããŸããã§ããã 圌ã¯å€±æããã«éåžžã«å€§ããªè² è·ãçµéšããŠããŸãã ä»ã§ã¯ãããŸããŸãªãã£ãã·ã¥ãæŽçã§ããé«æ§èœã®NoSQLããŒã¿ããŒã¹ããããããããŸãã ãããããå ·äœçãªã¢ããã€ã¹ãããããšã¯ã§ããŸããããªããªããç§ãæã£ãŠããæ å ±ã¯ã€ã³ã¿ãŒãããããååŸããã2æé以å ã«äœãã©ã®ããã«èµ·ãã£ãŠãããã«ã€ããŠã®åºæ¬çãªã¢ã€ãã¢ãåŸãããšãã§ããããã§ãã
Pavel PavlovïŒçè«çãªè§£æ±ºçã«åºã¥ããŠããã®æïŒHadoopãNoSQLãNginxïŒãæ©èœããæ¬æ Œçãªçç£ã«å®å šã«é©åããå®çšçãªæ¹æ³ã«ãªããŸããã
ããªã«ã»ãµãã©ããïŒã¯ãããã¹ãŠãå€æããŸããã
Pavel PavlovïŒããã§ãé«ã¬ãã«ã®ä¿¡é Œæ§ãšãããããã¯ãç· ãããããŸããããSLAïŒãµãŒãã¹ã¬ãã«ã¢ã°ãªãŒã¡ã³ãïŒãå ±æã§ããŸããïŒ ãã€ã³ã¯ããã€ãããŸããããã®ãããªæ±ºå®ã«ã¯ã©ã®ãããªä¿¡é Œæ§èŠä»¶ãæ瀺ãããŠããŸããïŒ
Kirill SafonovïŒãã¡ããã9ã®ä¿¡é Œæ§ã«é¢ããæ£åŒãªèŠä»¶ã¯ãããŸããã ããããåæã«ãäœããçªç¶å£ãããšããã«ãåºåãããã¯ãŒã¯ãŸãã¯ããŒã¿ãããã€ããŒã®ããŒãããŒã¯ãäœãããããããšäžå¹³ãèšããŸãã ãã®ãããã·ã¹ãã ã¯å¯èœãªéãä¿¡é Œæ§ã®é«ãèšèšã«ãªã£ãŠããŸãã ãã®ãããããã¯ãšã³ããå¿çãåæ¢ããå Žåã§ããã¹ã¿ããåããããã³ããšã³ãã¯ãå šå¡ã«é©ããå¿çã圢æããŸãã
Pavel PavlovïŒã©ããããããªããæã£ãŠãã空åžã¯ãªãŒãã³ã§ãJavaã®éçºãšæè¡ã«éç¹ã眮ãããŠããããã§ãã ãã®éžæã®çç±ã¯äœã§ããïŒ ããã¯ãITåžå Žã®å°é家ãæ€çŽ¢ããèœåãããããªãã®çµéšã«é¢é£ããŠããŸããïŒ
ããªã«ã»ãµãã©ããïŒç§ã«ã¯ãJavaã¯ç¹å®ã®åŠ¥åç¹ãè¡šããŠããããã«æããŸãã äžæ¹ã圌女ã¯ãè² è·ã®é«ãé«éã®ææ決å®ãè¡ãããããã¯ã·ã§ã³èšèªã§ããããšã確èªããŸããã äžæ¹ãã¹ãã«ããã¬ãŒãã³ã°ã®ã¬ãã«ãèšèªã®ç¹ã§ã¯ãéåžžã«ã·ã³ãã«ã§åºç¯å²ã«äœ¿çšãããŠããŸãã ããã«ãHadoopã䜿çšããŸãã ãããã«ããŠããã¯ã©ã€ã¢ã³ãã¢ããªã±ãŒã·ã§ã³ãHadoopã®ã³ã³ããŒãã³ãã¯Javaã§äœæãããŸãã
ããããã£ã¹ãã®ããã¹ãçã¯ä»åŸæ°æ¥éç¶ç¶ããŸãã
ããããã£ã¹ãã«ãµã€ã³ã¢ãããã