ããã¯ããªããããããããŸãã ãã¹ãŠã®ãŠãŒã¶ãŒã®ãã¹ãŠã®ã¡ãã»ãŒãžãèªã¿ããå Žåã15äžå¹Žä»¥äžããããŸãã ããªããããªãçãäžãã£ãèªè ã§ãããåã¡ãã»ãŒãžã«1ç§ä»¥äžããè²»ãããªããšä»®å®ããŸãã
ãã®ãããªå€§éã®ããŒã¿ã§ã¯ãã¹ãã¬ãŒãžã®è«çãšããããžã®ã¢ã¯ã»ã¹ãæé©ã«æ§ç¯ããããšãéèŠã§ãã ãããªããã°ãããã»ã©çŽ æŽãããç¬éã§ã¯ãªãããããã«ãã¹ãŠãããŸããããªãããšãå€æãããããããŸããã
ç§ãã¡ã«ãšã£ãŠããã®ç¬éã¯1幎ååã«æ¥ãŸããã ã©ããã£ãŠããã«è³ããæçµçã«äœãèµ·ãã£ãã®ããé çªã«äŒããŸãã
èæ¯
æåã®å®è£ ã§ã¯ãVKã¡ãã»ãŒãžã¯å€ãã®PHPããã¯ãšã³ããšMySQLã§æ©èœããŸããã ããã¯ãå°èŠæš¡ãªåŠçãµã€ãã«ãšã£ãŠå®å šã«éåžžã®ãœãªã¥ãŒã·ã§ã³ã§ãã ãããããã®ãµã€ãã¯ramp延ããŠãããããèªäœã®ããŒã¿æ§é ã®æé©åãèŠæ±ãå§ããŸããã
2009幎ã®çµããã«ãæåã®ããã¹ããšã³ãžã³ãªããžããªãäœæããã2010幎ã«ã¡ãã»ãŒãžã転éãããŸããã
ããã¹ããšã³ãžã³ã§ã¯ãã¡ãã»ãŒãžã¯äžçš®ã®ãã¡ãŒã«ããã¯ã¹ãã§ãããªã¹ãã«ä¿åãããŠããŸããã ãã®ãããªåãªã¹ãã¯ãããããã¹ãŠã®ã¡ãã»ãŒãžã®ææè ã§ããuidã«ãã£ãŠæ±ºå®ãããŸãã ã¡ãã»ãŒãžã«ã¯ã察話è ã®èå¥åãããã¹ããæ·»ä»ãã¡ã€ã«ãªã©ã®äžé£ã®å±æ§ããããŸãã ã¡ãŒã«ããã¯ã¹å ã®ã¡ãã»ãŒãžèå¥åã¯local_idã§ãããå€æŽãããããšã¯ãªããæ°ããã¡ãã»ãŒãžã«é çªã«å²ãåœãŠãããŸãã ãããã¯ã¹ãã¯ç¬ç«ããŠããããšã³ãžã³å ã§çžäºã«åæããŸããããããã®éã®æ¥ç¶ã¯æ¢ã«PHPã¬ãã«ã§ãã ããããããŒã¿æ§é ãšããã¹ããšã³ãžã³æ©èœãèŠãããšãã§ããŸãã
ããã¯ã2人ã®ãŠãŒã¶ãŒã®éä¿¡ã«ã¯ååã§ããã 次ã«äœãèµ·ãã£ããšæããŸããïŒ
2011幎5æãVKontakteã¯è€æ°ã®åå è ïŒãã«ããã£ããïŒãšè©±ãå§ããŸããã 圌ããšååããããã«ãã¡ã³ããŒãã£ãããšãã£ããã¡ã³ããŒãšãã2ã€ã®æ°ããã¯ã©ã¹ã¿ãŒãäœæããŸããã 1ã€ç®ã¯ãŠãŒã¶ãŒã«ãããã£ããã«é¢ããããŒã¿ãä¿åãã2ã€ç®ã¯ãã£ããã«ãããŠãŒã¶ãŒã«é¢ããããŒã¿ãä¿åããŸãã ãªã¹ãèªäœã«å ããŠãããã¯ãããšãã°ãæåŸ ãŠãŒã¶ãŒãšãã£ãããžã®è¿œå æéã§ãã
ãPHPããã£ããã«ã¡ãã»ãŒãžãéä¿¡ããŸãããããšãŠãŒã¶ãŒã¯èšããŸãã
ãããã{ãŠãŒã¶ãŒå}ããšPHPã¯èšããŸãã
ãã®ã¹ããŒã ã«ã¯çæããããŸãã åæã¯äŸç¶ãšããŠPHPã«å§ããããŠããŸãã 倧ããªãã£ãããšã¡ãã»ãŒãžãåæã«éä¿¡ãããŠãŒã¶ãŒã¯å±éºãªè©±ã§ãã ããã¹ããšã³ãžã³ã®ã€ã³ã¹ã¿ã³ã¹ã¯uidã«äŸåããŠããããããã£ããåå è ã¯æå·®ã®ããåãã¡ãã»ãŒãžãåä¿¡ããå¯èœæ§ããããŸãã é²æ©ãæ¢ãŸã£ãŠããå Žåãããã§çããããšãã§ããŸãã ãããããã®ããã«ãªãããšã¯ãããŸããã
2015幎ã®çµããã«ãã³ãã¥ããã£ã®æçš¿ãéå§ãã2016幎ã®åãã«ããããã®APIãå ¬éããŸããã ã³ãã¥ããã£ã«å€§èŠæš¡ãªãã£ããããããåºçŸãããšãè² è·åæ£ã®åäžæ§ãå¿ããããå¯èœæ§ããããŸãã
åªãããããã¯1æ¥ã«æ°çŸäžã®ã¡ãã»ãŒãžãçæããŸã-æããããã¹ããªãŠãŒã¶ãŒã§ããããã®ãããªããšãèªæ ¢ããããšã¯ã§ããŸããã ãããŠãããã¯ããããã®ããããäœãã§ããããã¹ããšã³ãžã³ã®ããã€ãã®ã€ã³ã¹ã¿ã³ã¹ãæ倧éã«ãªãå§ããããšãæå³ããŸãã
2016幎ã®ã¡ãã»ãŒãžãšã³ãžã³ã¯ã100ã®ãã£ããã¡ã³ããŒãšã¡ã³ããŒãã£ãããããã³ãããã8000ã®ããã¹ããšã³ãžã³ã§ãã ãããã¯ããããã64 GBã®ã¡ã¢ãªãåãã1000å°ã®ãµãŒããŒã«é 眮ãããŸããã æåã®ç·æ¥å¯ŸçãšããŠãã¡ã¢ãªãããã«32 GBå¢ãããŸããã äºæ³äºå ±ã 倧ããªå€æŽããªããã°ãããã§çŽ1幎éã¯ååã§ããã éãæã«å ¥ããããããŒã¿ããŒã¹èªäœãæé©åããå¿ èŠããããŸãã
ã¢ãŒããã¯ãã£ã®ç¹æ§ã«ãããè€æ°ã®éã®ã¿ãæ§ç¯ããããšã¯çã«ããªã£ãŠããŸãã ã€ãŸããå°ãªããšãè»ã®æ°ã®2åã§ã-æããã«ãããã¯ããªãé«äŸ¡ãªæ¹æ³ã§ãã æé©åããŸãã
æ°ããã³ã³ã»ãã
æ°ããã¢ãããŒãã®äžå¿ã¯ãã£ããã§ãã ãã£ããã«ã¯ãããã«é¢é£ããã¡ãã»ãŒãžã®ãªã¹ãããããŸãã ãŠãŒã¶ãŒã«ã¯ãã£ãããªã¹ãããããŸãã
æäœéå¿ èŠãªã®ã¯ã2ã€ã®æ°ããããŒã¿ããŒã¹ã§ãã
- ãã£ãããšã³ãžã³ã ããã¯ãã£ãããã¯ãã«ãªããžããªã§ãã åãã£ããã«ã¯ãããã«é¢é£ããã¡ãã»ãŒãžã®ãã¯ãã«ããããŸãã åã¡ãã»ãŒãžã«ã¯ããã£ããå ã®ããã¹ããšäžæã®ã¡ãã»ãŒãžèå¥åchat_local_idããããŸãã
- ãŠãŒã¶ãŒãšã³ãžã³ã ããã¯ããŠãŒã¶ãŒãã¯ãã«ã®ãªããžããª-ãŠãŒã¶ãŒãžã®ãªã³ã¯ã§ãã åãŠãŒã¶ãŒã«ã¯ãpeer_idãã¯ãã«ïŒå¯Ÿè©±è -ä»ã®ãŠãŒã¶ãŒããã«ããã£ããããŸãã¯ã³ãã¥ããã£ïŒãšã¡ãã»ãŒãžãã¯ãã«ããããŸãã åpeer_idã«ã¯ãããã«é¢é£ããã¡ãã»ãŒãžã®ãã¯ãã«ããããŸãã åã¡ãã»ãŒãžã«ã¯chat_local_idãããããã®ãŠãŒã¶ãŒã®äžæã®ã¡ãã»ãŒãžèå¥åã¯user_local_idã§ãã
æ°ããã¯ã©ã¹ã¿ãŒã¯ãTCPã䜿çšããŠçžäºã«éä¿¡ããŸã-ããã«ãããèŠæ±ã®é åºãå€æŽãããªãããšãä¿èšŒãããŸãã ãããã®ãªã¯ãšã¹ããšç¢ºèªã¯ããŒããã©ã€ãã«æžã蟌ãŸããŸãããããã£ãŠããšã³ãžã³ã®é害ãŸãã¯åèµ·ååŸããã€ã§ããã¥ãŒã®ç¶æ ã埩å ã§ããŸãã ãŠãŒã¶ãŒãšã³ãžã³ãšãã£ãããšã³ãžã³ã¯ãããã4ååã®ã·ã£ãŒãã§ãããããã¯ã©ã¹ã¿ãŒéã®ãªã¯ãšã¹ããã¥ãŒã¯åçã«åæ£ãããŸãïŒãã ããå®éã«ã¯ãŸã£ããååšãããéåžžã«é«éã«åäœããŸãïŒã
ã»ãšãã©ã®å ŽåãããŒã¿ããŒã¹å ã®ãã£ã¹ã¯ã®æäœã¯ããã€ããªå€æŽãã°ïŒbinlogïŒãéçã¹ãããã·ã§ãããããã³ã¡ã¢ãªå ã®éšåçãªã€ã¡ãŒãžã®çµã¿åããã«åºã¥ããŠããŸãã å€æŽã¯æ¥äžã«binlogã«æžã蟌ãŸããçŸåšã®ç¶æ ã®ã¹ãããã·ã§ãããå®æçã«äœæãããŸãã ã¹ãããã·ã§ããã¯ãç®çã«åãããŠæé©åãããããŒã¿æ§é ã®ã³ã¬ã¯ã·ã§ã³ã§ãã ã¿ã€ãã«ïŒç»åã®ã¡ã¿ã€ã³ããã¯ã¹ïŒãšäžé£ã®ã¡ã¿ãã¡ã€ã«ã§æ§æãããŸãã ããããŒã¯åžžã«RAMã«ä¿åãããç»åããããŒã¿ãæ¢ãå Žæã瀺ããŸãã åã¡ã¿ãã¡ã€ã«ã«ã¯ãè¿ãæç¹ã§å¿ èŠã«ãªãå¯èœæ§ãé«ãããŒã¿ãå«ãŸããŠããŸããããšãã°ã1人ã®ãŠãŒã¶ãŒãåç §ããŸãã ã¹ãããã·ã§ããããããŒã䜿çšããŠããŒã¿ããŒã¹ã«ã¯ãšãªãå®è¡ãããšãç®çã®ã¡ã¿ãã¡ã€ã«ãèªã¿åãããã¹ãããã·ã§ããã®ååŸåŸã«çºçãããã€ããªãã°ã®å€æŽãèæ ®ãããŸãã ãã®ã¢ãããŒãã®å©ç¹ã«ã€ããŠã¯ã ãã¡ããã芧ãã ãã ã
åæã«ãããŒããã©ã€ãèªäœã®ããŒã¿ã¯1æ¥1åã ãå€æŽãããŸããã¢ã¹ã¯ã¯ã®æ·±å€ãè² è·ãæå°ã®ãšãã§ãã ãã®ããïŒãã£ã¹ã¯äžã®æ§é ã¯æ¥äžäžå®ã§ããããšãããã£ãŠããããïŒããã¯ãã«ãåºå®ãµã€ãºã®é åã«çœ®ãæããäœè£ããããããã«ãã£ãŠã¡ã¢ãªã§åã¡ãŸãã
æ°ããã¹ããŒã ã§ã¡ãã»ãŒãžãéä¿¡ãããšã次ã®ããã«ãªããŸãã
- PHPããã¯ãšã³ãã¯ããŠãŒã¶ãŒãšã³ãžã³ãåŒã³åºããŠã¡ãã»ãŒãžãéä¿¡ããŸãã
- user-engineã¯ãèŠæ±ãå¿ èŠãªchat-engineã€ã³ã¹ã¿ã³ã¹ã«ãããã·ããŸãããã®ã€ã³ã¹ã¿ã³ã¹ã¯ãchat_local_idãuser-engineã«è¿ããŸããããã¯ããã®ãã£ããå ã®æ°ããã¡ãã»ãŒãžã®äžæã®èå¥åã§ãã Chat_engineã¯ããã¹ãŠã®ãã£ããåä¿¡è ã«ã¡ãã»ãŒãžãéä¿¡ããŸãã
- user-engineã¯chat-engineããchat_local_idãåãåããPHPã«è¿ããŸãuser_local_id-ãã®ãŠãŒã¶ãŒã®äžæã®ã¡ãã»ãŒãžèå¥åã ãã®èå¥åã¯ãããšãã°ãAPIãä»ããŠã¡ãã»ãŒãžãåŠçããããã«äœ¿çšãããŸãã
ãã ããå®éã«ã¡ãã»ãŒãžãéä¿¡ããããšã«å ããŠãããã«ããã€ãã®éèŠãªããšãå®è£ ããå¿ èŠããããŸãã
- ãµãã¹ã¯ãªãã·ã§ã³ã¯ãããšãã°ããã€ã¢ãã°ã®ãªã¹ããéãããšãã«è¡šç€ºãããææ°ã®ã¡ãã»ãŒãžã§ãã æªèªã¡ãã»ãŒãžãã¿ã°ä»ãã¡ãã»ãŒãžïŒãéèŠãããã¹ãã ããªã©ïŒã
- ãã£ãããšã³ãžã³ã§ã¡ãã»ãŒãžãå§çž®ãã
- ãŠãŒã¶ãŒãšã³ãžã³ã§ã®ã¡ãã»ãŒãžãã£ãã·ã³ã°
- æ€çŽ¢ïŒãã¹ãŠã®ãã€ã¢ãã°å ããã³ç¹å®ã®ãã€ã¢ãã°å ïŒã
- ãªã¢ã«ã¿ã€ã æŽæ°ïŒãã³ã°ããŒãªã³ã°ïŒã
- ã¢ãã€ã«ã¯ã©ã€ã¢ã³ãã«ãã£ãã·ã¥ãå®è£ ããããã®å±¥æŽãä¿åããŸãã
ãã¹ãŠã®ãµããªã¹ãã¯æ¥éã«å€åããæ§é ã§ãã ãããã䜿çšããã«ã¯ã Splay treesã䜿çšããŸã ã ãã®éžæã¯ãããªãŒã®æäžéšã«ã¹ãããã·ã§ããããã®ã¡ãã»ãŒãžã®ã»ã°ã¡ã³ãå šäœãæã æ ŒçŽãããšããäºå®ã«ãã£ãŠèª¬æãããŸã-ããšãã°ãå€éã®ã€ã³ããã¯ã¹åäœæåŸãããªãŒã¯ãµããªã¹ãå ã®ãã¹ãŠã®ã¡ãã»ãŒãžãé 眮ããã1ã€ã®é ç¹ã§æ§æãããŸãã ã¹ãã¬ã€ããªãŒã䜿çšãããšããã©ã³ã¹ãèæ ®ããããšãªãããã®ãããªé ç¹ã®äžå€®ã§æ¿å ¥æäœãç°¡åã«å®è¡ã§ããŸãã ããã«ãSplayã¯äžèŠãªããŒã¿ãä¿åããªããããã¡ã¢ãªãç¯çŽã§ããŸãã
ã¡ãã»ãŒãžã«ã¯ãäž»ã«ããã¹ã圢åŒã®å€§éã®æ å ±ãå«ãŸããŠãããå§çž®ã§ãããšäŸ¿å©ã§ãã 1ã€ã®ã¡ãã»ãŒãžã§ãæ£ç¢ºã«è§£åã§ããããšãéèŠã§ãã ã¡ãã»ãŒãžãå§çž®ããããã«ãç¬èªã®ãã¥ãŒãªã¹ãã£ãã¯ãåãããããã³ã¢ã«ãŽãªãºã ã䜿çšãããŸããããšãã°ãã¡ãã»ãŒãžã§ã¯åèªããåèªã§ã¯ãªãããšäº€äºã«ãªããŸãïŒã¹ããŒã¹ãå¥èªç¹ïŒã
ãã£ããããããŠãŒã¶ãŒãã¯ããã«å°ãªãããããã£ãããšã³ãžã³ã§ã©ã³ãã ã¢ã¯ã»ã¹ãã£ã¹ã¯ãªã¯ãšã¹ããä¿åããããã«ããŠãŒã¶ãŒãšã³ãžã³ã§ã¡ãã»ãŒãžããã£ãã·ã¥ããŸãã
ã¡ãã»ãŒãžæ€çŽ¢ã¯ããŠãŒã¶ãŒãšã³ãžã³ãããã®ãŠãŒã¶ãŒã®ãã£ãããå«ããã¹ãŠã®ãã£ãããšã³ãžã³ã€ã³ã¹ã¿ã³ã¹ãžã®å¯Ÿè§ãªã¯ãšã¹ããšããŠå®è£ ãããŸãã çµæã¯ãã§ã«ãŠãŒã¶ãŒãšã³ãžã³èªäœã«çµ±åãããŠããŸãã
ããŠããã¹ãŠã®è©³çŽ°ãèæ ®ãããŠããŸãããæ°ããã¹ããŒã ã«åãæ¿ããã®ã¯æ®ããŸã-ãããŠããŠãŒã¶ãŒãããã«æ°ä»ããªãããã«ããããšãæãŸããã§ãã
ããŒã¿ç§»è¡
ãã®ããããŠãŒã¶ãŒããšã®ã¡ãã»ãŒãžãä¿åããããã¹ããšã³ãžã³ãšããã«ããã£ãããšãŠãŒã¶ãŒã«é¢ããããŒã¿ãä¿åãã2ã€ã®ãã£ããã¡ã³ããŒãšã¡ã³ããŒãã£ããã¯ã©ã¹ã¿ãŒããããŸãã ããããæ°ãããŠãŒã¶ãŒãšã³ãžã³ãšãã£ãããšã³ãžã³ã«ç§»è¡ããæ¹æ³ã¯ïŒ
å€ãã¹ããŒã ã®ã¡ã³ããŒãã£ããã¯ãäž»ã«æé©åã®ããã«äœ¿çšãããŠããŸããã å¿ èŠãªããŒã¿ããã£ããã¡ã³ããŒã«ãã°ãã転éããåŸã圌ã¯ç§»è¡ããã»ã¹ã«åå ããªããªããŸããã
ãã£ããã¡ã³ããŒã®ãã¥ãŒã 100åã®ã€ã³ã¹ã¿ã³ã¹ãå«ãŸããŠããŸããããã£ãããšã³ãžã³ã¯4000åã§ãã ããŒã¿ã転éããã«ã¯ãããããã³ã³ãã©ã€ã¢ã³ã¹ã«æºæ ãããå¿ èŠããããŸãããã®ããããã£ããã¡ã³ããŒã¯åã4åã®ã³ããŒã«åå²ããããã®åŸãã£ãããšã³ãžã³ã§ãã£ããã¡ã³ããŒã®ãã€ããªãã°ã®èªã¿åãããªã³ã«ããŸããã
çŸåšããã£ãããšã³ãžã³ã¯ãã£ããã¡ã³ããŒããã®ãã«ããã£ãããèªèããŠããŸããããããŸã§ã®ãšããã2人ã®å¯Ÿè©±è ãšã®å¯Ÿè©±ã«ã€ããŠã¯äœãç¥ããŸããã ãã®ãããªãã€ã¢ãã°ã¯ããŠãŒã¶ãŒã«ãã€ã³ããããããã¹ããšã³ãžã³ã«ãããŸãã ããã§ã¯ããé¡ãã®ããŒã¿ãååŸããŸãããåãã£ãããšã³ãžã³ã€ã³ã¹ã¿ã³ã¹ã¯ãããã¹ããšã³ãžã³ã®ãã¹ãŠã®ã€ã³ã¹ã¿ã³ã¹ã«ãå¿ èŠãªãã€ã¢ãã°ããããã©ãããå°ããŸããã
ãã°ããã-ãã£ãããšã³ãžã³ã¯ããã«ããã£ãããšã¯äœãããã€ã¢ãã°ãšã¯äœããç¥ã£ãŠããŸãã
ãã«ããã£ããã§ã¡ãã»ãŒãžãçµåããå¿ èŠããããŸã-åãã£ããã®æåŸã«ã¡ãã»ãŒãžã®ãªã¹ããååŸããŸãã æåã«ããã£ãããšã³ãžã³ã¯ããã¹ããšã³ãžã³ãããã®ãã£ããããã®ãã¹ãŠã®ãŠãŒã¶ãŒã¡ãã»ãŒãžãååŸããŸãã å Žåã«ãã£ãŠã¯éåžžã«å€ãïŒæ°åãŸã§ïŒãããŸãããäŸå€ã¯ã»ãšãã©ãªãããã£ããã¯å®å šã«RAMã«é 眮ãããŸãã é åºä»ããããŠããªãã¡ãã»ãŒãžããããããããããã€ãã®ã³ããŒããããŸãããããã¯ãã¹ãŠããŠãŒã¶ãŒã«å¯Ÿå¿ããç°ãªãããã¹ããšã³ãžã³ã€ã³ã¹ã¿ã³ã¹ããåãåºãããããã§ãã ã¿ã¹ã¯ã¯ãã¡ãã»ãŒãžããœãŒãããäœåãªã¹ããŒã¹ãå æããã³ããŒãåãé€ãããšã§ãã
åã¡ãã»ãŒãžã«ã¯ãéä¿¡ãããæå»ãšããã¹ããå«ãã¿ã€ã ã¹ã¿ã³ãããããŸãã ãœãŒãã«ã¯æéã䜿çšããŸã-ãã«ããã£ããã®åå è ã®æãå€ãã¡ãã»ãŒãžã«ãã€ã³ã¿ãŒã眮ããçãããã³ããŒã®ããã¹ãããããã·ã¥ãæ¯èŒããã¿ã€ã ã¹ã¿ã³ããå¢ããæ¹åã«é²ã¿ãŸãã ã³ããŒã®ããã·ã¥ãšã¿ã€ã ã¹ã¿ã³ããåãã§ããããšã¯è«ççã§ãããå®éã«ã¯åžžã«ãããšã¯éããŸããã ãåç¥ã®ããã«ãå€ãã¹ããŒã ã®åæã¯PHPã«ãã£ãŠå®è¡ãããŸãã-ãŸãã«ãåãã¡ãã»ãŒãžãéä¿¡ããæéã¯ãŠãŒã¶ãŒããšã«ç°ãªããŸããã ãããã®å Žåãã¿ã€ã ã¹ã¿ã³ãã®ç·šéãèš±å¯ããŸãã-éåžžã¯1ç§ä»¥å ã§ãã 2çªç®ã®åé¡ã¯ãåä¿¡è ããšã«ã¡ãã»ãŒãžã®é åºãç°ãªãããšã§ãã ãã®ãããªå Žåãè¿œå ã®ã³ããŒãäœæãããŠãŒã¶ãŒããšã«ç°ãªãé åºã®ããªãšãŒã·ã§ã³ãäœæã§ããŸãã
ãã®åŸããã«ããã£ããå ã®ã¡ãã»ãŒãžã«é¢ããããŒã¿ããŠãŒã¶ãŒãšã³ãžã³ã«éä¿¡ãããŸãã ãããŠãããã«ã€ã³ããŒããããã¡ãã»ãŒãžã®äžå¿«ãªæ©èœããããŸãã éåžžã®æäœã¢ãŒãã§ã¯ããšã³ãžã³ã«å±ãã¡ãã»ãŒãžã¯user_local_idã«ãã£ãŠå³å¯ã«æé ã§äžŠã¹ãããŸãã å€ããšã³ãžã³ãããŠãŒã¶ãŒãšã³ãžã³ã«ã€ã³ããŒããããã¡ãã»ãŒãžã¯ããã®äŸ¿å©ãªããããã£ã倱ããŸããã åæã«ããã¹ãã®å©äŸ¿æ§ã®ããã«ãè¿ éã«ãããã«é£çµ¡ãããããã®äžã®äœããæ¢ããæ°ãããã®ãè¿œå ã§ããå¿ èŠããããŸãã
ç¹å¥ãªããŒã¿æ§é ã䜿çšããŠãã€ã³ããŒããããã¡ãã»ãŒãžãä¿åããŸãã
ãµã€ãºã®ãã¯ãã«ã§ã ã©ãã§ã -ããŸããŸã§ãèŠçŽ ã®ç¹å¥ãªé åºã§ãéé ã§äžŠã¹ãããŸãã ã€ã³ããã¯ã¹ä»ãã®åã»ã°ã¡ã³ã ã¢ã€ãã ããœãŒããããŸãã ãã®ãããªæ§é ã®èŠçŽ ã®æ€çŽ¢ã«ã¯æéãããããŸã ãéã㊠ãã€ããªæ€çŽ¢ã ã¢ã€ãã ã®è¿œå ã¯ã ã
ããã§ãå€ããšã³ãžã³ããæ°ãããšã³ãžã³ã«ããŒã¿ã転éããæ¹æ³ãèŠã€ããŸããã ãããããã®ããã»ã¹ã«ã¯æ°æ¥ããããŸã-ãããŠæè¿ã§ã¯ããŠãŒã¶ãŒããäºãã«æžãç¿æ £ãæŸæ£ããããšã¯ã»ãšãã©ãããŸããã ãã®éã«ã¡ãã»ãŒãžã倱ãããªãããã«ããããã«ãå€ãã¯ã©ã¹ã¿ãŒãšæ°ããã¯ã©ã¹ã¿ãŒã®äž¡æ¹ãå«ãäœæ¥ã¹ããŒã ã«åãæ¿ããŸãã
ããŒã¿ã¯ãã£ããã¡ã³ããŒãšãŠãŒã¶ãŒãšã³ãžã³ã«æžã蟌ãŸããŸãïŒå€ãã¹ããŒã ã«ããéåžžã®æäœäžã®ããã«ãããã¹ããšã³ãžã³ã«ã¯æžã蟌ãŸããŸããïŒã user-engineã¯chat-engineãžã®ãªã¯ãšã¹ãããããã·ããŸã-ããã§ã®åäœã¯ããã®ãã£ãããæ¢ã«éããŠãããã©ããã«ãã£ãŠç°ãªããŸãã ãã£ããããŸã éããããŠããªãå Žåããã£ãããšã³ãžã³ã¯ããèªäœãžã®ã¡ãã»ãŒãžãèšé²ãããããã¹ããšã³ãžã³ã§ã®ã¿åŠçãããŸãã ãã£ããããã§ã«ãã£ãããšã³ãžã³ã§ãã¹ããããŠããå Žåããã£ããã¯ãŠãŒã¶ãŒãšã³ãžã³ã«chat_local_idãè¿ãããã¹ãŠã®åä¿¡è ã«ã¡ãã»ãŒãžãéä¿¡ããŸãã user-engineã¯text-engineã®ãã¹ãŠã®ããŒã¿ããããã·ããŸãããã®ããããã®å Žåã¯ãã€ã§ãããŒã«ããã¯ã§ããé¢é£ãããã¹ãŠã®ããŒã¿ãå€ããšã³ãžã³ã«ãããŸãã text-engineã¯user_local_idãè¿ããŸããããã¯ããŠãŒã¶ãŒãšã³ãžã³ãä¿æããããã¯ãšã³ãã«è¿ããŸãã
ãã®çµæã移è¡ããã»ã¹ã¯æ¬¡ã®ããã«ãªããŸãã空ã®ãŠãŒã¶ãŒãšã³ãžã³ãšãã£ãããšã³ãžã³ã®ã¯ã©ã¹ã¿ãŒãæ¥ç¶ããŸãã chat-engineã¯chat-members binlogå šäœãèªã¿åããäžèšã®ã¹ããŒã ã«åŸã£ãŠãããã·ãéå§ãããŸãã å€ãããŒã¿ã泚ããšã2ã€ã®åæãããã¯ã©ã¹ã¿ãŒïŒå€ããã®ãšæ°ãããã®ïŒãåŸãããŸãã èªã¿åããããã¹ããšã³ãžã³ãããŠãŒã¶ãŒãšã³ãžã³ã«åãæ¿ãããããã·ãç¡å¹ã«ããã ãã§ãã
çµæ
æ°ããã¢ãããŒãã®ãããã§ããšã³ãžã³ããã©ãŒãã³ã¹ã®ãã¹ãŠã®ã¡ããªãã¯ãæ¹åãããããŒã¿ã®äžè²«æ§ã«é¢ããåé¡ã解決ãããŸããã ããã§ãã¡ãã»ãŒãžã«æ°ããæ©èœããã°ããå°å ¥ã§ããŸãïŒãã§ã«ãããéå§ããŠããŸã-ãã£ããåå è ã®æ倧æ°ãå¢ããã転éã¡ãã»ãŒãžãæ€çŽ¢ããåºå®ã¡ãã»ãŒãžãèµ·åãããŠãŒã¶ãŒããšã®ã¡ãã»ãŒãžã®åèšæ°ã®å¶éãåŒãäžããŸããïŒã
ããžãã¯ã®å€æŽã¯æ¬åœã«å£®å€§ã§ãã ãããŠãããã¯åžžã«ã巚倧ãªããŒã ãšç¡æ°ã®ã³ãŒãè¡ã«ãã1幎éã®éçºãæå³ãããã®ã§ã¯ãªãããšã«æ³šæããŠãã ããã chat-engineããã³user-engineãšãã¡ãã»ãŒãžãå§çž®ããããã®HuffmanãSplay-treeãããã³ã€ã³ããŒããããã¡ãã»ãŒãžã®æ§é ãªã©ã®ãã¹ãŠã®è¿œå ã¹ããŒãªãŒã¯ã2äžè¡æªæºã®ã³ãŒãã§ãã ãããŠã3人ã®éçºè ããã£ã10ãæã§ããããäœæããŸããïŒãã ãã 3人㮠éçºè å šå¡ ãã¹ããŒãããã°ã©ãã³ã°ã®äžçãã£ã³ããªã³ã§ããããšã«çæããå¿ èŠããããŸã ïŒã
ããã«ããµãŒããŒã®æ°ã2åã«ãã代ããã«ããµãŒããŒã®æ°ãååã«æžããããã«ãªããŸããããŠãŒã¶ãŒãšã³ãžã³ãšãã£ãããšã³ãžã³ã¯500å°ã®ç©çãã·ã³ã§åäœããŸãããæ°ããã¹ããŒã ã«ã¯å€§ããªè² è·ããŒãžã³ããããŸãã æ©åšã®ã³ã¹ããå€§å¹ ã«ç¯çŽããŸãããããã¯ãéçšè²»çšã®ããã«å¹ŽéçŽ500äžãã«+ 75äžãã«ã§ãã
æãè€éã§å€§èŠæš¡ãªã¿ã¹ã¯ã«æé©ãªãœãªã¥ãŒã·ã§ã³ãèŠã€ããããåªããŠããŸãã ç§ãã¡ã«ã¯ããããããããããã®ã§ãããŒã¿ããŒã¹éšéã§æèœãªéçºè ãæ¢ããŠããŸãã ãã®ãããªåé¡ã解決ããæ¹æ³ãæããç¥ã£ãŠããå Žåãã¢ã«ãŽãªãºã ãšããŒã¿æ§é ãå®å šã«ç¥ã£ãŠããå ŽåãããŒã ã«åå ããããšããå§ãããŸãã 詳现ã«ã€ããŠã¯ã HRã«ãåãåãããã ããã
ãã®è©±ã¯ããªãã«é¢ãããã®ã§ã¯ãããŸããããæšå¥šäºé ã«æè¬ããŠããããšã«æ³šæããŠãã ããã å人ã«éçºè ã®ç©ºãç¶æ³ãäŒãã圌ãè©Šçšæéãç¡äºã«ééããå Žåã10äžã«ãŒãã«ã®ããŒãã¹ãåãåããŸãã