ãã¬ããŒãããã©ã³ã¶ã¯ã·ã§ã³ã®å€ãã²ãŒã éçšãè² è·åæ£ããŠããŠetcâŠè£åŽãã¿ããŸãïŒ - KLab TECH Meetup -
2017幎9æ4æ¥ïŒæïŒ19æ30åããããKLab TECH Meetupãâãã©ã³ã¶ã¯ã·ã§ã³ã®å€ãã²ãŒã éçšãè² è·åæ£ããŠããŠetcâŠè£åŽãã¿ããŸãïŒâããéå¬ãããŸããã

æ§ã ãªã¢ãã€ã«ã²ãŒã ãéçºã»éå¶ããKLabãäž»å¬ããåã€ãã³ãã«ã¯æ©ãããç³ã蟌ã¿ã殺å°ãå®å¡ã¯å¢åžããåœæ¥ã¯çŽ90åã®ãšã³ãžãã¢ãåå ããŸããã
åœæ¥ã®ç»å£è ãšå 容ã¯äžèšã®éãã§ãã
ãNew dict implementation in Python 3.6ã
KLabæ ªåŒäŒç€Ÿ çš²ç°çŽåãã
ãæªæ¥ã®å¹žãã®ããã« ãå®è·µïŒè² è·å¯Ÿçãã
æ ªåŒäŒç€ŸSep10 äžåæ£è£ãã
ãæªæãªããŠãŒã¶ã«é
æ
®ããäžæ£ã¯ã©ã€ã¢ã³ãã®æé€ã
KLabæ ªåŒäŒç€Ÿ å°æ± 亮ãã
ãè² è·è©Šéšãã©ãããŠãïŒã
KLabæ ªåŒäŒç€Ÿ å±±ç°å€§ä¹
ãã
ããã§ã¯å 容ã玹ä»ããŸãïŒ
New dict implementation in Python 3.6
ãŸã1人ç®ã¯ãç ç©¶éçºéšéãKã©ãã©ããªãŒãã«æå±ããçš²ç°çŽåããã®ç»å£ã§ããçš²ç°ããã¯ãPythonãã®ã³ããã¿ãŒãšããŠã掻åããŠããŸãã

çš²ç°çŽåïŒããªã ã»ãªããïŒïŒKLabæ ªåŒäŒç€Ÿ Kã©ãã©ããªãŒã倧éªåºç«å·¥æ¥é«çå°éåŠæ ¡ïŒçŸã倧éªåºç«å€§åŠå·¥æ¥é«çå°éåŠæ ¡ïŒåããããœããã¯AVCãã«ãã¡ãã£ã¢ãœããïŒçŸãAVCãã«ãã¡ãã£ã¢ãœããïŒã§ã®å€åãçµãŠã2007幎ã«KLabãžå
¥ç€Ÿã2016幎ãISUCONãåªåã

çš²ç°ããã®ããŒãã¯Python 3.6ã®æ°ããªãdictãã®å®è£ ã«ã€ããŠããŸããçš²ç°ããã¯Pythonã«ãããŠdictãã©ã®ãããªæå³ãæã€ã®ã説æããŸãã
ããdictãã¯ãä»ã®èšèªã ãšã飿³é åãããããããããã·ã¥ããªã©ãšåŒã°ãããããªããŒã¿æ§é ãããŠããPythonã®åã§ããkeyã«å€ãé¢é£ä»ããŠæ ŒçŽããããŒã¿æ§é ã§ããã
ãã®ç¹åŸŽã¯äž»ã«3ã€ãããŸãããŸããdictã«ã©ã®ãããã®å€§ãããå ¥ã£ãŠãããã«é¢ããããã»ãŒå®æ°æéã§åç §ã®æ¢çŽ¢ãã§ããããšã次ã«ãå€ã®æ¿å ¥ãã»ãŒå®æ°æéã§ã§ããããšããããŠããŠãŒã¶ãŒãå®çŸ©ããåãããŒã«ããããšãã§ããããšã§ãã
dictãPythonã«ãšã£ãŠã©ããããéèŠãªã®ãã¯ãåå空éã«dictã䜿ã£ãŠããããšãããããããŸããPythonã®ã³ãŒããå®è¡ããŠãããšãç¹ã«dictã®åç §ã倧éã«çºçããŸããã ãããåç §é床ãPythonã®å®è¡é床ãšéåžžã«é¢é£ãé«ããã§ããïŒçš²ç°ããïŒ

次ã«çš²ç°ããã¯Python 3.5ã«ãããdictã®å®è£ ã«ã€ããŠç޹ä»ããŸãã
ããŸãkeyãhashãvalueã䞊ãã 3ã€ã®ç®±ã1ãšã³ããªãšããŸãããã®ãšã³ããªãPythonã ãšæäœ8å䞊ãã 圢ã®ããŒãã«ãæå°æ§æã§ãã空ã®dictã«ããkeyãæ¿å ¥ããããšãããšããŸããã®hashå€ãæ±ããŸãããã®æã«hashå€ãããŒãã«ãµã€ãºã§å²ã£ãå°äœãéžæãããã®ãšã³ããªã«æ ŒçŽããŸãã
ããã«ä»ã®keyãæ¿å ¥ããããšãããšãã«ãhashå€ã被ããªããã°ç©ºããŠãããšã³ããªã«æ¿å ¥ããã ããªã®ã§åé¡ã¯ãããŸãããããããhashå€ãhashå€ã®å°äœã¯åãã«ãªãå¯èœæ§ããããŸãããã®ç¶æ ãconflictãšåŒã³ãŸãã
conflictãçºçãããšãè¡çªãããšã³ããªã®ä»£ããã«ãå¥ã®ãšã³ããªãéžæããŠå©çšãããšããæ¹åŒããšãããŸããäŸãã°linear probingãšããã¢ã«ãŽãªãºã ã§ã¯ãconflictãçºçãããšé£ã®ãšã³ããªã空ããŠããªãããèŠãŠã空ããŠãããkeyãäžèŽããŠããã°æ¢çŽ¢ã¯çµäºã§ãã
ããã·ã¥ããŒãã«ã®å®è£ ã§ããã²ãšã€æ°ãã€ããªããã°ãããªãã®ã¯ãåé€ã§ãããšã³ããªã空ãkeyãäžèŽãããšæ¢çŽ¢ãçµäºããŠããŸãã®ã§ãèŠçŽ ãåé€ãããšãã«ã¯ãããŒã®ããŒãæ®ããªããã°ãããŸãããïŒçš²ç°ããïŒ
ãã®æ¹æ³ãçŽ çŽãªPython3.6ã®ããã·ã¥ããŒãã«ã®å®è£ ã§ãããçš²ç°ããã¯ãã®å®è£ ã®åé¡ç¹ã次ã®éãææããŸãã
- ã¡ã¢ãªã®äœ¿çšéã倧ããïŒé ããªãã®ãé²ãããã«ãšã³ããªã®3åã®1ã¯ç©ºããŠãããªããã°ãããªãããïŒ
- 64bitãã·ã³ã§ã¯1ã€ã®ãšã³ããªã24ãã€ãã«ãªãã®ã§ããšã³ããªã®ç©ºãããã£ãããªã
- 192ãã€ããæå°ãµã€ãº

ã§ã¯ãPython 3.6ã§ã¯ã©ã®ããã«dictãå®è£ ããã®ã§ããããïŒ
ãPython3.6ã§ã¯ãããŒãã«ãµã€ãºã8ã ã£ãå Žåããšã³ããªã¯5ãããããŸãããã€ãŸããããŒãã«ãµã€ãºã®3åã®2ãšããããšã§ãããã®ä»£ããã«è¿œå ãããã®ãindexããŒãã«ã§ãã
æ°ããèŠçŽ ãæ¿å ¥ãããšãã«ã¯ãkeyãhashãvalueãäžçªåãã®ãšã³ããªã«æ ŒçŽããŸãããããŠãæ ŒçŽãããšã³ããªã®æ·»åã1çªåãã§ããã°0ããindexããŒãã«ã®hashå€ã®å°äœã§æ±ããå Žæã«æ¿å ¥ããŸãã
ã€ãŸããæ¿å ¥ãããšãã«ã¯ãšã³ããªã®å Žæãindexã«ä¿åããŠãæ€çŽ¢ãããšãã«ã¯indexãããšã³ããªãåç §ãããšããé¢ä¿ã«ãªãããã§ããåé€ãè¡ãªããšãã«ã¯indexããŒãã«ã«ãããŒãæžããŠãšã³ããªãåé€ããŸããïŒçš²ç°ããïŒ
çš²ç°ããã¯Python 3.6ã®å®è£ ãšPython3.7ã®å®è£ ã®æ¯èŒããŠæ¬¡ã®ããã«è©±ããŸãã
ãPython 3.6ã§ã¯indexããŒãã«ãå¢ããŠããŸããã§ããindexã®ç®±ã¯1ãã€ãã§æžããã§ããåé€ããããšãã§ãããšã³ããªãšå·®ãåŒããããšãæå°ãµã€ãºã¯192ãã€ããã128ãã€ãã«æžã£ãŠããŸããïŒçš²ç°ããïŒ
æåŸã«çš²ç°ããã¯Python 3.7ã«åããåãçµã¿ã玹ä»ããŠè¬æŒãçµããŸãããçš²ç°ããã®åœæã®ã¹ã©ã€ãã¯ãã¡ãã«å ¬éãããŠããŸãã
æªæ¥ã®å¹žãã®ããã« ãå®è·µïŒè² è·å¯Ÿçã
2人ç®ã®ç»å£è ã¯ãååäŒç€Ÿã§ããSep10ã®äžåããã§ãã

äžåæ£è£ïŒããã¯ãã»ãŸãã²ãïŒïŒæ ªåŒäŒç€ŸSep10 代衚åç· åœ¹ããšã³ãžãã¢ãšããŠè€æ°ã®äŒæ¥ã«å€åãã2012幎ã«åžžé§å
ã®KLabã§ã®ãããžã§ã¯ãã«åç»ãå°æ¥ã®å€¢ã¯ããŒã®çµå¶ã

äžåããã¯ãããžã§ã¯ãç«ã¡äžãæããçŸåšãŸã§KLabãæäŸããã¹ããåããªãºã ã²ãŒã ã¢ããªã«5å¹Žéæºãã£ãŠããŸãããã®5幎ã®äžã§ã¯æ§ã ãªåé¡ãçºçããããã§ãããä»åã¯ããµãŒãè² è·ãã«çŠç¹ãããŠãŠæ¯ãè¿ããŸãã
ãç§ãæ åœãããããžã§ã¯ãã§ã¯ãåœåå€éšã®ã¯ã©ãŠããµãŒãã¹ãå©çšããŠããŸãããæ§æãšããŠã¯ããŒããã©ã³ãµãŒã®äžã«ãŠã§ããã¶ãäžãã£ãŠããŠãããŒã¿ä¿æã®ããã®DBãšã»ãã·ã§ã³æ å ±ãä¿æããããã®IMDBãšããããããæ§æã§ãã
ãã®ãããžã§ã¯ãã§ã®ããã«ããã¯ã¯DBã§ã®ãã¡ã€ã«IOã«ãããŸããã平垞æã«åé¡ã¯ãããŸããããã€ãã³ãéå§æã®ã¡ã³ããã³ã¹æããããã°ã€ã³ããŒãã¹ããããã0æ00åãªã©ã®ããŒã¯æã«ã¯æ°åã®ã¢ã¯ã»ã¹ãããããDBã®IOã§é å»¶ãçºçããŠããã®ã§ããïŒäžåããïŒ
ããã§ã¯ããªããã®ãããªåé¡ãçºçããŠããã®ã§ããããïŒ ãã®çç±ã«ã€ããŠããªãªãŒã¹æ¥ã«çŽ2äžDLãããããããççºçã«ãŠãŒã¶ãŒãå¢å ããããããšäžåããããªãªãŒã¹çŽåŸã«è² è·å¯Ÿçã®å¿ èŠæ§ãçãŸããããã§ãã

ããªãªãŒã¹ãã1幎ã»ã©ã¯ãéåžžã®éå¶ãšäžŠè¡ããªããè² è·å¯Ÿçã«åãçµãã§ããŸããããšäžåããããŸãåãçµãã ã®ã¯è² è·å¯Ÿçèšç»ãç«æ¡ããããšã§ããã
è² è·å¯Ÿçèšç»ãç«ãŠãéã«ãäžåããã¯æ¬¡ã®5ã€ãåææ¡ä»¶ã«èšå®ããŸãã
- IOã®åé¡ã解決ãããããæžã蟌ã¿ãæ¥µåæžãã
- ãŠãŒã¶ãŒå¢å ã«å¯ŸããŠã®å¯Ÿç
- ç¡çã®ãªãã¹ã±ãžã¥ãŒã«ã§éçº
- é害ã®ãªã¹ã¯ãäžãã
- DBã®åå²
ãæ¢ã«åé¡ãçºçããŠããã®ã§çŠãæ°æã¡ã¯ãããŸããããç®ã®åã®åé¡ã«å¯ŸåŠããã ãã§ã¯ãªããå°æ¥ã©ãã ããŠãŒã¶ãŒãå¢ããŠãåé¡ãªãä»çµã¿ãäœãããšãå¿æããŸãããïŒäžåããïŒ
äžåããã¯ãã®äžã§ãDBã®åå²ãã«ã€ããŠå ·äœçã«èª¬æããŸãã
ãDBåå²ãšã¯ãDBãè€æ°å°ã®æ§æã«ããããšã«ããè² è·ã察çããä»çµã¿ã§ããããŒãã«åäœã§å¥DBã«åå²ãããåçŽåå²ããšãåãããŒãã«æ§æãè€æ°ã®DBã§æã¡ããŒã¿ãåå²ãããæ°Žå¹³åå²ãã®2çš®é¡ããããŸããïŒäžåããïŒ
åææ¡ä»¶ã決ããåŸã«ã¯ã宿œå 容ãå®çŸ©ããŸããäžåããã¯ãæ©èœãåæžãããæžã蟌ã¿éãæžããããšããã¹ã±ãŒã«ã¢ãŠãå¯èœãªä»çµã¿ãäœãããšããæ¡æããããŠãå ·äœçã«ã¯ãŠãŒã¶ãŒãå¢ããŠãã¹ã±ãŒã«ã¢ãŠãã§ããããã«ãŠãŒã¶ãŒããŒã¿ã®æ°Žå¹³åå²ãè¡ãªãããšã«æ±ºå®ããŸãã
ããã ããæ°Žå¹³åå²ã¯ããã«ã¯å®æœã§ããªããããçæã»äžæã»é·æã«åããŠå¯Ÿçããèšç»ã«ãããã§ããïŒäžåããïŒ

ãŸããçæã®å¯ŸçãšããŠäžåãããåãçµãã ã®ã¯ãDBãžã®æžã蟌ã¿åæžãã§ãã
äžåããã¯ã²ãŒã ã§ã¯å©çšãããªã¢ã«ã¿ã€ã æ§ãå¿ èŠãªãè¡åå±¥æŽããŒã¿ããã¡ã€ã«åºåããããã§DBã«æžã蟌ãããã«å€æŽããŸããããã®çµæå€§ããæžã蟌ã¿åŠçãæžããããšã«ã¯æåããŸããã
ãããããŠãŒã¶ãŒã®å¢å ãäºæ³ä»¥äžã®ããŒã¹ã®ããIOåé¡ã¯åçºããŠããŸããŸããããã§ãäžåããã¯æ¥éœDBã®åçŽåå²ã宿œããŸããããã®åŸãäžåããã¯äžæçãªå¯Ÿå¿ãšããŠDBã®ç¬¬1ææ°Žå¹³åå²ãé·æçãªå¯Ÿå¿ãšããŠç¬¬2ææ°Žå¹³åå²ãèšç»éãã«å®äºãããŸãã

ããããããã§ãå¢ããŠããæ©èœã«ããIOã®åé¡ã¯è§£æ±ºããŸããã§ããã
ãããã§ããã®ã¿ã€ãã³ã°ã§é«åºŠãªãªã³ãã¬ãã¹ç°å¢ãžç§»ç®¡ããããšã決å®ããŸããããã®DBã®ã¹ããã¯ã¯ã¯ã©ãŠããµãŒãã¹ã®3å以äžãšé«æ§èœãªãããIOåé¡ã¯å æããããšãã§ããŸããã
ãé«åºŠãªç°å¢ã«ç§»ãã®ã§ããã°æ°Žå¹³åå²ã¯ç¡é§ã ã£ãã®ã§ã¯ïŒããšæããããããããŸããããããããªã³ãã¬ãžã®ç§»ç®¡æã«400äžã ã£ããŠãŒã¶ãŒã¯2100äžãŸã§å¢å ãããŠã§ããµãŒãã¯34å°ãã50å°ã«ããŠãŒã¶DBã¯3å°ãã5å°ã«ã¹ã±ãŒã«ããŠããŸããïŒäžåããïŒ
ãªã³ãã¬ç§»ç®¡åŸã«ã¯åºæ¬çã«è² è·ã®åé¡ã¯è§£æ±ºãããã®åŸã¯ãã¡ãžã£ãŒã¢ããããŒãåŸã®ã¡ã³ããã³ã¹æãã«äžåºŠã ã倧ããªé害ããããŸããããšäžåããã
æåŸã«äŒå Žã«ã¡ãã»ãŒãžãéã£ãŠã¹ããŒããçµäºããŸãã
ãã¹ã±ãŒã«ã¢ãŠãã®ä»çµã¿ãåŸä»ãã§ãã·ã³ãã«ã«å°å ¥ããããšãã§ãããšããã£ãŠããããã°ããããã§ããã©ããªã«åè¿«ããç¶æ³ã§ãæªæ¥ãèŠæ®ãã察å¿ãè¡ãªãããšã§ããã€ãã¯æ©æµãåããããããšæããŸãã
äžåããã®ã¹ã©ã€ãã¯ãã¡ãã«å ¬éãããŠããŸããDBåå²ã®è©³çްãªã©ãæ¯éã確èªãã ããã
æªæãªããŠãŒã¶ã«é æ ®ããäžæ£ã¯ã©ã€ã¢ã³ãã®æé€
3人ç®ã®ç»å£ã¯ãµãŒããŒãµã€ãéçºãæ åœããŠããå°æ± ããã§ãã

å°æ± 亮ïŒãããã»ãããïŒïŒKLabæ ªåŒäŒç€Ÿ ãšã³ãžãã¢ãªã³ã°ãããžã¡ã³ãéšãšã³ãžãã¢ãªã³ã°ãããŒãžã£ãŒã2011幎ã«KLabãžå
¥ç€Ÿã
å°æ± ãããæ åœããæ¡ä»¶ã¯å€§äººæ°ã³ããã¯ã顿ãšãã3Dã¢ã¯ã·ã§ã³ã²ãŒã ã2015幎7æã«åœå ã§ãªãªãŒã¹ããã2016幎ããã¯æµ·å€ã§ãé ä¿¡ãããŠããŸããå šäžçã§ã®DLæ°ã¯2300äžãèšé²ããŠããŸãã
å°æ± ããã¯æ åœããŠããæ¡ä»¶ã§åé¡ãšãªã£ãŠããäžæ£ã¯ã©ã€ã¢ã³ãã«ã€ããŠèª¬æããŸãã
ããŸããäžæ£ã¯ã©ã€ã¢ã³ããçŸããèæ¯ãšããŠãé«é£æåºŠã¹ããŒãžãã¯ãªã¢ããªããã°å ±é ¬ãåŸãããªããšããç¹ãæããããŸããé«é£æåºŠã¹ããŒãžãã¯ãªã¢ããã«ã¯ããé«ã¹ããŒã¿ã¹ã®ãã£ã©ã¯ã¿ãŒããšããŠãŒã¶ãŒã®æäœã¹ãã«ããèŠæ±ãããŸãã
ããã§ãé«é£æåºŠã¹ããŒãžããããŒãããšåŒã°ããæ¹é ã¯ã¶ã䜿ã£ãŠã楜ã«ã¯ãªã¢ããããŠãŒã¶ãŒãåºãŠæ¥ãããã§ãããŸããç¥å床ãããã¢ããªã«ã¯è§£åããå±€ãäžå®å±€ååšãããšããåŽé¢ããããŸãã
ãããããã£ã©ã¯ã¿ãŒã1人ã§ãã¬ã€ããåã«ã¯ãŸã ããã®ã§ãããååãã¬ã€ã§äžè¬ã®ãŠãŒã¶ãŒãšäžç·ã«ãªãããšããããã§ããçé¢ç®ã«ãã¬ã€ããŠããäžè¬ã®ãŠãŒã¶ãŒã¯ãç®ã®åã§ããŒããèŠããšææ¬²ãåãããŸããããã ããäžæ£ã¯ã©ã€ã¢ã³ããžã®å¯ŸåŠãå¿ èŠãªãã§ããïŒå°æ± ããïŒ
ãããããå šãŠã®äžæ£ã¯ã©ã€ã¢ã³ããã²ãŒã ããæé€ãããããã§ã¯ ãªããã§ãããšå°æ± ããã¯èªããŸããããã¯ãªãã§ããããïŒ
ãäžæ£ã¯ã©ã€ã¢ã³ãã«ã¯2çš®é¡ãããŸãããŸããããŒãæãç¹°ãåºãããã«ã²ãŒã ããžãã¯ãæ¹ç«ããã¯ã©ã€ã¢ã³ãã§ããããã¯ã²ãŒã ãã©ã³ã¹ããããããããã¡ãããã¬ã€ã忢ããããã¯ã©ã€ã¢ã³ãã§ãã
äžæ¹ãã²ãŒã ããžãã¯ã¯éæ¹é ã ããKLabã®æ£èŠé åžã«ãŒã以å€ã§åé åžãããã¯ã©ã€ã¢ã³ããåé¡ã§ãããããäžæ£ã¯ã©ã€ã¢ã³ãã«ã¯ãªãã®ã§ãããæå³ããã«ãŠãŒã¶ãŒã䜿ã£ãŠããããšããããã§ãã
äŸãã°ãã¢ããªã®éé ä¿¡åœã®ãŠãŒã¶ãŒã ã£ãããå ¬åŒã¹ãã¢ã䜿ããªã端æ«ã§ãäžæ£ãšæ°ãä»ããã«éå ¬åŒé åžãµã€ãããDLãããšãã£ãã±ãŒã¹ã§ããã
ã§ããã°ãããããŠãŒã¶ãŒã«ã¯æ£èŠã®ã¯ã©ã€ã¢ã³ããžåãæ¿ããŠã²ãŒã ãç¶ããŠæ¬²ãããã§ããïŒå°æ± ããïŒ

ç¶ããŠå°æ± ããã¯ãäžæ£ã¯ã©ã€ã¢ã³ããžã®åŠçœ°ãããŒã説æããŸãã
ãåŠçœ°ã«åœãã£ãŠæ°ãã€ããã®ã¯ãäžæ£ã¯ã©ã€ã¢ã³ããšèªèããã«ãã¬ã€ããŠãã人ãããã«ææžãããã§ããããããã¯ã©ã€ã¢ã³ãã«æ°ãä»ãããŠãæ£èŠã¯ã©ã€ã¢ã³ããžéãéãæ®ããŠããå¿ èŠããããŸãã
äžæ£ãæ€ç¥ãããšçµæã¯DBãžæ ŒçŽããã«ãŠã³ããã²ãšã€ããããŸãããã®ã«ãŠã³ã¿ããèŠåã®éŸå€ããè¶ãããšãŠãŒã¶ãŒã«èŠåãããBANã®éŸå€ããè¶ãããšè¿œæŸããŠããŸãã
äžæ£ã¯ã©ã€ã¢ã³ããšèªèããã«äœ¿çšããŠãããŠãŒã¶ãŒã«åŒãç¶ãã®æéãäœããããã«ããèŠåã®éŸå€ãã¯å°ããã«ããBANã®éŸå€ã ã¯å€§ããã«èšå®ããŠããŸããïŒå°æ± ããïŒ
æåŸã«å°æ± ããã¯ãã®ã·ã¹ãã 皌ååŸã®å¹æããæ¬¡ã®éã玹ä»ããŠã¹ããŒããçµããŸããã
- 皌å忥ã§çŽ50äžã¢ã«ãŠã³ããåŠçœ°
- æè¿ã§ã¯æ¯æ10ã100ä»¶
- èŠåãåºããçŽ18äžã®ãã¡çŽ2äž3000ãæ£èŠã¯ã©ã€ã¢ã³ããžç§»è¡ããŠãã¬ã€ãç¶ãã
å°æ± ããã®åœæ¥ã®ã¹ã©ã€ãã¯ãã¡ãã«å ¬éãããŠããŸãã
è² è·è©Šéšãã©ãããŠãïŒ
æåŸã®ç»å£ã¯ãã€ã³ãã©ãšã³ãžãã¢ãåããå±±ç°ããã§ãã

å±±ç°å€§ä¹
ïŒããŸã ã»ããã²ãïŒïŒKLabæ ªåŒäŒç€Ÿ ã€ã³ãã©ãããžã¡ã³ãéšã2006幎ã«KLabãžå
¥ç€Ÿãè¶£å³ã¯ããªãŒã¯ã©ã€ãã³ã°ã

KLabã§ã¯ãŠãŒã¶ã«è¿·æããããªãããŠãŒã¶ãŒããã®ä¿¡é Œãæãªããªãããã«è² è·è©Šéšãè¡ã£ãŠããŸããå±±ç°ããã¯ãã®ç®çããæ³å®ã¢ã¯ã»ã¹ã«çµ¶ããããããšã確èªããããéçæ§èœãææ¡ãããã®2ç¹ã ãšèª¬æããŸãã
ãKLabã§ã¯ã€ã³ãã©æ åœè ãšãããžã§ã¯ãæ åœè ãããµãŒããŒã€ã³ãã©ç°å¢ã«å¯ŸããŠã¢ã¿ãã«ãŒããè² è·ãæããŠã¢ãã¿ãªã³ã°ããŒã«ã§ç¢ºèªããŠããŸãã
è² è·è©Šéšèªäœã¯ãããžã§ã¯ãæ åœè ã宿œããŠããŸãããŠã§ãã¢ããªã®ãããã¡ã€ãªã³ã°ããã¥ãŒãã³ã°ãè² è·è©ŠéšããŒã«ã®éžå®ãã·ããªãªã®äœæããããžã§ã¯ãæ åœè ã®åœ¹å²ã§ããã
ã€ã³ãã©æ åœè ã¯ãè² è·è©Šéšã®é²ãæ¹ãçµæã«å¯ŸããŠãææãã¢ããã€ã¹ãè¡ããŸããã§ããããã€ã³ãã©çšæãããã«ãŠã§ã¢èšå®ãããã«ããã¯èª¿æ»ãã€ã³ãã©æ åœã®åœ¹å²ãšãªã£ãŠããŸããïŒå±±ç°ããïŒ

ç¶ããŠå±±ç°ããã¯ãKLabã§ã®è² è·è©Šéšã®è©³çްã«ã€ããŠããã«ç޹ä»ããŸãã
ãã¢ãã¿ãªã³ã°ããŒã«ãšããŠã¯ããGangliaãã§æ å ±åéãè¡ããã°ã©ã衚瀺ã¯ãganglia-webããããŒã¹ãšããç¬èªãã¥ãŒã«è¡šç€ºããŠããŸããã
ã¢ã¿ãã«ãŒäžŠåæ°ã¯ããŠã§ãã¢ããªã®ç·ã¯ãŒã«ãŒæ°ãšåãã«ããŠããŸãããããããå€ãããšã¯ãããŸãããè² è·ããããå Žåãã¢ã¿ãã«ãŒäžŠåæ°ãå€ãããŠããŸããã¡ã§ãã
ã§ããã¢ã¿ãã«ãŒäžŠåæ°ãã¯ãŒã«ãŒæ°ããå€ãããŠããã¬ã€ãã³ã·ãŒãå£åããŠããŸãã ããªãã§ããå€ããããããšãæ¥ç¶ãšã©ãŒãã¿ã€ã ã¢ãŠããçºçããŠããŸããŸãã
ã¢ã¿ãã«ãŒã®äžŠåæ°ãšç·ã¯ãŒã«ãŒæ°ãåãã§ããã°ãåçãšããŠã¯ãšã©ãŒã¯çºçããªãã¯ãã§ããç§ãã¡ã¯ãããè² è·è©Šéšãè¡ãªãäžã§ã®å€§åãªãã€ã³ãã ãšæããŠããŸãããšã©ãŒãçºçãåŸãªãç¶æ³ã§ããšã©ãŒãèµ·ãããªãããšã確èªãããããŠã§ãã¢ããªæ¬æ¥ã®æ§èœãææ¡ãããã§ããããã§ããïŒå±±ç°ããïŒ

ç¶ããŠãå±±ç°ããã¯è² è·è©ŠéšãããŒã次ã®éã玹ä»ããŸãã
ç®æšèšå®
æ³å®ãŠãŒã¶ãŒæ°ãªã©ããreq/secãresponse timeãªã©åçš®ã®èšå®ã決ãããã®èšå®ã劥åœãã¬ãã¥ãŒããããŠã§ã1å°ã®è² è·è©Šéš
ãŠã§ã1å°ããããåŠçã§ããreq/secãææ¡ããããŠã§ã8å°ã®è² è·è©Šéš
DB/KVSã®ããã«ããã¯ãã€ã¶ããéçæ§èœ
ããã«ããã¯ãè§£æ¶ããªãããŠã§ããã·ã³ã®è¿œå ãDB/KVSåå²ãç¹°ãè¿ããæ³å®ã¢ã¯ã»ã¹æ°ãååã«äžåãã°è² è·è©Šéšçµäºã
æåŸã«å±±ç°ããã¯æ¬¡ã®éãã¡ãã»ãŒãžãéãè¬æŒããŸãšããŸããã
ãããŒã³ããæ§ããŠã®è² è·è©Šéšã¯å€§å€ã§ãããè² è·è©Šéšã¯ã®ã¡ã®å®å®éçšã«ã€ãªãããŸããå®å®éçšãã€ã¥ããããšã¯ããŠãŒã¶ãŒããã®ä¿¡é Œã«ã€ãªãããŸããã¢ã¯ã»ã¹ãå€ãã®ã¯æ¬æ¥ããããããšã®ã¯ãã§ããããã¢ã¯ã»ã¹å¢ãçŽç²ã«æ¥œãããããã«ãããã§ãããïŒå±±ç°ããïŒ
å±±ç°ããã®åœæ¥ã®ã¹ã©ã€ãã¯ãã¡ãã«å ¬éãããŠããŸãã
以äžã§4åã®ç»å£ã¯çµäºã§ãïŒ
æèŠªäŒïŒ

ãã³ã¹ãããã§è¡ãããè¬æŒãçµäºããåŸã¯æèŠªäŒã§ããçš²ç°ããã®é³é ã§ã«ã³ãã€ïŒ

ã¢ã«ã³ãŒã«ä»¥å€ã«ãKLabãªãªãžãã«ãšããžãŒããªã³ã¯ãã軜é£ãæ¯ãèãããŸãã

å€ãã®åå è ãæèŠªäŒãŸã§æ®ããæ¥œããæéã«ãªã£ãããšãšæããŸãïŒ ãŸãã®éå¬ã楜ãã¿ã«ãåŸ ã¡ããŠããŸãïŒ
ããããã€ãã³ã
é¢é£ããã€ãã³ã

ãæºå¡åŸ¡ç€Œã«ã€ã墿 70â100åžãKLab TECH Meetupã...
2017幎09æ04æ¥ (æ)ããããã®èšäº

AWSãœãªã¥ãŒã·ã§ã³ã¢ãŒããã¯ããèªããã¯ã©ãŠããã€ãã£ãæä»£ã®ãœãããŠã§ã¢ã®æ§ç¯ã»éçšã5ã€ã®ãã€ã³ãââAWS Tech talk Night#5

ã¢ãããŒãã®ç€Ÿå ã¡ã€ã«ãœã³ã§åªåïŒé§ãåºããšã³ãžãã¢ã1é±éã§ã¢ããªéçºãããå¿åãã£ããã¢ããªãã玹ä»








