äžæ£é²æ¢ãããAndrey Popov Nox_andryãããã®ççŸããèŠä»¶ãã¹ãŠãã©ã®ããã«æºããããšãã§ãããã«ã€ããŠãã¬ãŒã³ããŒã·ã§ã³ãè¡ããŸãããã¬ããŒãã®äžå¿çãªãããã¯ã¯ãããŒã¿ã¹ããªãŒã ã®è€éãªèŠçŽ ãèšç®ããã·ã¹ãã ã®ãã©ãŒã«ããã¬ã©ã³ã¹ã確ä¿ããããã®ã¢ãã«ã§ããã¢ã³ãã¬ã€ã¯ãŸããçŸåšéçºäžã®è©æ¬ºå¯Ÿçã®æ¬¡ã®ãããé«éãªå埩ã«ã€ããŠãç°¡åã«èª¬æããŸããã
è©æ¬ºé²æ¢ããŒã ã¯æ¬è³ªçã«ãã€ããªåé¡åé¡ã解決ããŸãããããã£ãŠããã®ã¬ããŒãã¯ãäžæ£é²æ¢ã®å°é家ã ãã§ãªãã倧éã®ããŒã¿ã«å¯ŸããŠé«éã§ä¿¡é Œæ§ãé«ãæè»ãªèŠçŽ ãå¿ èŠãšããããŸããŸãªã·ã¹ãã ãäœæãã人ã«ãšã£ãŠãèå³æ·±ããã®ã«ãªãå¯èœæ§ããããŸãã
-ããã«ã¡ã¯ãç§ã®ååã¯ã¢ã³ãã¬ã€ã§ããç§ã¯Yandexã§åããŠãããäžæ£é²æ¢ã®éçºãæ åœããŠããŸãã人ã ã¯ãæ©èœããšããèšèã䜿ãããšã奜ããšèšãããã®ã§ãè©±å šäœãéããŠãããèšåããŸãããã¿ã€ãã«ãšçŽ¹ä»ã¯ããã¡ã¯ã¿ãŒããšããèšèã§åããŸãŸã§ããã
è©æ¬ºå¯Ÿçãšã¯äœã§ããïŒ
ãšã«ããè©æ¬ºå¯Ÿçãšã¯äœã§ããïŒãµãŒãã¹ãžã®æªåœ±é¿ãããŠãŒã¶ãŒãä¿è·ããã·ã¹ãã ã§ãããã€ãã¹ã®åœ±é¿ãšã¯ããµãŒãã¹ã®å質ãäœäžãããçµæãšããŠãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãæªåãããå¯èœæ§ã®ããæå³çãªã¢ã¯ã·ã§ã³ãæå³ããŸãããããã¯ãçµ±èšãæªåãããããªãåçŽãªããŒãµãŒãããããããŸãã¯æå³çã«è€éãªè©æ¬ºè¡çºã§ããå¯èœæ§ããããŸãããã¡ããã2çªç®ã¯ãå®çŸ©ããã®ãããé£ãããèå³æ·±ããã®ã§ãã
è©æ¬ºå¯Ÿçã¯äœãšæŠãã®ã§ããïŒããã€ãã®äŸã
ããšãã°ããŠãŒã¶ãŒã¢ã¯ã·ã§ã³ã®æš¡å£ãããã¯ãç§ãã¡ãããã©ãã¯SEOããšåŒãã§ãã人ãã¡ãã€ãŸããµã€ãããµã€ãã®ã³ã³ãã³ãã®å質ãåäžãããããªã人ãã¡ã«ãã£ãŠè¡ãããŸãã代ããã«ã圌ãã¯Yandexæ€çŽ¢ã«è¡ããããããæžãã圌ãã®ãµã€ããã¯ãªãã¯ããŸãã圌ãã¯èªåã®ãµã€ãããã®ããã«é«ããªãããšãæåŸ ããŠããŸãã念ã®ããããã®ãããªè¡çºã¯ãŠãŒã¶ãŒã®åæã«åããYandexããã®é倧ãªå¶è£ã«ã€ãªããå¯èœæ§ããããŸãã
ãŸãã¯ãããšãã°ãäžæ£è¡çºã®ã¬ãã¥ãŒããã®ãããªã¬ãã¥ãŒã¯ããã©ã¹ããã¯è£œã®çªãèšçœ®ãããããã®çµç¹ããèŠãããšãã§ããŸãã圌女èªèº«ããã®ã¬ãã¥ãŒã«æ¯æã£ãã
ãããã¬ãã«ã®äžæ£é²æ¢ã¢ãŒããã¯ãã£ã¯æ¬¡ã®ããã«ãªããŸããç¹å®ã®çã®ã€ãã³ãã»ããããã©ãã¯ããã¯ã¹ã®ããã«äžæ£é²æ¢ã·ã¹ãã èªäœã«åé¡ãããŸãããã®åºå£ã§ãã¿ã°ä»ããããã€ãã³ããçæãããŸãã
Yandexã«ã¯å€ãã®ãµãŒãã¹ããããŸããããããã¹ãŠãç¹ã«å€§èŠæš¡ãªãã®ã¯ãããŸããŸãªçš®é¡ã®è©æ¬ºã«çŽé¢ããŠããŸããæ€çŽ¢ãããŒã±ãã£ã³ã°ããããããã®ä»å€æ°ã
ç§ãã¡ã¯2幎ã3幎åã«ã©ãã«ããŸãããïŒåããŒã ã¯ãè©æ¬ºã®çæ»æäžã§ââå¯èœãªéãçãæ®ã£ãã圌女ã¯è©æ¬ºå¯ŸçããŒã ãäœãã圌女ã®ã·ã¹ãã ã¯å¿ ãããããŸãæ©èœããªãã£ããããã¢ããªã¹ããšã®ããåãã«ã¯ããŸã䟿å©ã§ã¯ãããŸããã§ããããããŠæãéèŠãªã®ã¯ãããããäºãã«ååã«çµ±åãããŠããªãããšã§ãã
åäžã®ãã©ãããã©ãŒã ãäœæããããšã§ãããã©ã®ããã«è§£æ±ºããããã話ããŸãã
ãªãåäžã®ãã©ãããã©ãŒã ãå¿ èŠãªã®ã§ããïŒçµéšãšããŒã¿ã®åå©çšããšã¯ã¹ããªãšã³ã¹ãšããŒã¿ã1ãæã«éäžåãããšã倧èŠæš¡ãªæ»æã«è¿ éãã€é©åã«å¯Ÿå¿ã§ããŸãããããã¯éåžžãã¯ãã¹ãµãŒãã¹ã§ãã
çµ±åããŒã«ãããã人ã ã¯äœ¿ãæ £ããããŒã«ãæã£ãŠããŸãããããŠæããã«æ¥ç¶é床ãçŸåšç©æ¥µçã«æ»æãããŠããæ°ãããµãŒãã¹ãéå§ããå Žåãé«å質ã®äžæ£é²æ¢ãµãŒãã¹ãè¿ éã«æ¥ç¶ããå¿ èŠããããŸãã
ãã®ç¹ã§ç§ãã¡ã¯ãŠããŒã¯ã§ã¯ãªããšèšããã§ãããããã¹ãŠã®å€§äŒæ¥ãåæ§ã®åé¡ã«çŽé¢ããŠããŸãããããŠãç§ãã¡ãã³ãã¥ãã±ãŒã·ã§ã³ããšã誰ããã圌ãã®åäžã®ãã©ãããã©ãŒã ãäœæããŸãã
äžæ£é²æ¢ã®åé¡ã«ã€ããŠå°ãã話ããŸãã
ããã¯ãè€éãªã¯ã©ã¹ã¿ãªã³ã°ãè€éãªåãã¬ãŒãã³ã°ãªã©ãæéãæ¥ãè² è·ã®é«ããªãã©ã€ã³ããã»ã¹ãã«ãŠã³ããããªãã©ã€ã³ã·ã¹ãã ã«ããããšãã§ããŸããã¬ããŒãã§ã¯ãã®éšåã«ã€ããŠã¯å®è³ªçã«è§ŠããŸãããæ°åã§åäœããã»ãŒãªã¢ã«ã¿ã€ã ã®ããŒãããããŸããããã¯äžçš®ã®é»éã®æå³ã§ããã圌女ã¯çŽ æ©ãåå¿ãšéãæ¹æ³ãæã£ãŠããŸãããŸããç§ã¯åœŒå¥³ã«çŠç¹ãåœãŠãŸãããã ãããã®æ®µéã§ã¯äžã®æ®µéã®ããŒã¿ã䜿çšããŠãããšèšãããšãåæ§ã«éèŠã§ãã
ãŸããè¿ éãªå¯Ÿå¿ãå¿ èŠã§ãã€ãã³ããåãåã£ãŠãŠãŒã¶ãŒã«æž¡ãåã§ãã£ãŠããäžæ£ãæé€ããããšãéèŠãªå Žæã§å¿ èŠãšãªããªã³ã©ã€ã³ã®ããŒãããããŸããããã§ã¯ãããé«ãã¬ãã«ã§èšç®ãããããŒã¿ãšæ©æ¢°åŠç¿ã¢ã«ãŽãªãºã ãåå©çšããŸãã
ãã®çµ±åãã©ãããã©ãŒã ã®ããã¿ãæ©èœã説æãã·ã¹ãã ãšå¯Ÿè©±ããããã®èšèªãé床ãäžããããã®ç§ãã¡ã®éãã€ãŸãã第2段éãã第3段éãžã®ç§»è¡ã«ã€ããŠã話ããŸãã
MLã¡ãœããèªäœã«ã€ããŠã¯ã»ãšãã©è§ŠããŸãããåºæ¬çã«ã¯ããã¬ãŒãã³ã°ã§äœ¿çšããæ©èœãäœæãããã©ãããã©ãŒã ã«ã€ããŠèª¬æããŸãã
誰ãããã«èå³ããããŸããïŒæããã«ãè©æ¬ºââ察çãæžããããè©æ¬ºåž«ãšæŠã£ãããã人ã«ãšã£ãŠã¯ãããããããŒã¿ã¹ããªãŒã ãéå§ããŠæ©èœãèªã¿åãã ãã®äººã«ããMLã¯æ€èšããŠããŸããç§ãã¡ã¯ããªãäžè¬çãªã·ã¹ãã ãäœæããã®ã§ãå€åããªãã¯ããã®ããã€ãã«èå³ãæã€ã§ãããã
ã·ã¹ãã èŠä»¶ã¯äœã§ããïŒãããã®ããªãã®æ°ããããŸãããããã®ããã€ãã¯ããã«ãããŸãïŒ
- 倧ããªããŒã¿ã¹ããªãŒã ãäœåãã®ã€ãã³ãã5åã§åŠçããŸãã
- å®å šã«æ§æå¯èœãªæ©èœã
- .
- , - exactly-once- , . â , , , , .
- , , .
ããã«ããããã®åãã€ã³ãã«ã€ããŠåå¥ã«èª¬æããŸãã
ã»ãã¥ãªãã£äžã®çç±ããå®éã®ãµãŒãã¹ã«ã€ããŠè©±ãããšãã§ããªãã®ã§ãæ°ããYandexãµãŒãã¹ã玹ä»ããŸããããå®ã¯ããã§ã¯ãããŸãããããã¯ãäŸã瀺ãããã«æãã€ããæ¶ç©ºã®ãµãŒãã¹ã§ããæ¢åã®ãã¹ãŠã®æ¬ã®ããŒã¿ããŒã¹ã人ã ã«æäŸãããµãŒãã¹ãšããŸãããã圌ãã¯å ¥ã£ãŠããŠã1ãã10ãŸã§ã®è©äŸ¡ãäžããæ»æè ã¯åœŒãã®æ¬ãè³Œå ¥ãããããã«æçµçãªè©äŸ¡ã«åœ±é¿ãäžããããšèããŠããŸãã
ãã¡ãããå®éã®ãµãŒãã¹ãšã®å¶ç¶ã¯ãã¹ãŠã©ã³ãã ã§ããããã§ã¯æåã®æŠç®ã§ã¯ãªã³ã©ã€ã³ã¯ç¹ã«å¿ èŠãªãããããŸããªã¢ã«ã¿ã€ã ã«è¿ãããŒãžã§ã³ãæ€èšããŠã¿ãŸãããã
ããã°ããŒã¿
Yandexã«ã¯ãããã°ããŒã¿ã®åé¡ã解決ããå€å žçãªæ¹æ³ããããŸããMapReduceã䜿çšããŸããYTãšåŒã°ããç¬èªã®MapReduceå®è£ ã䜿çšããŸãããšããã§ãããã·ã ã¢ãã¡ããã¯ä»å€åœŒå¥³ã«ã€ããŠã®è©±ãããŠããŸããå®è£ ãŸãã¯Hadoopã®ãããªãªãŒãã³ãœãŒã¹å®è£ ã䜿çšã§ããŸãã
ããã«ãªã³ã©ã€ã³çã䜿çšããªãã®ã¯ãªãã§ããïŒããã¯åžžã«å¿ èŠãªããã§ã¯ãªããéå»ã®åèšç®ãè€éã«ããå¯èœæ§ããããŸããæ°ããã¢ã«ãŽãªãºã ãæ°ããæ©èœãè¿œå ããå Žåããã®ããŒã¿ã®å€å®ãå€æŽããããã«ãéå»ã®ããŒã¿ãåèšç®ããããšããããããŸãããããŒãŠã§ã€ãã¡ãœããã䜿çšããã®ã¯å°é£ã§ãããã®çç±ã¯æããã§ãããããŠããªã³ã©ã€ã³çã¯ãå€ãã®çç±ã§ããªãœãŒã¹ã®é¢ã§ããå³ããå ŽåããããŸãã
MapReduceã䜿çšãããšã次ã®ããã«ãªããŸããäžçš®ã®ãããããåŠçã䜿çšããŸããã€ãŸããããããå¯èœãªéãæå°ã®éšåã«åå²ããŸãããã®å Žåã¯1åã§ããããããMapReduceã䜿çšãããŠãŒã¶ãŒã¯ããããããã®ãµã€ãºãããå°ãããããã·ã¹ãã èªäœã®ãªãŒããŒãããïŒãªãŒããŒãããïŒããã§ã«å€§ããããããšãç¥ã£ãŠããŸããåŸæ¥1åã§ã®åŠçã«ã¯å¯Ÿå¿ã§ããŸããã
次ã«ããã®äžé£ã®ãããã«å¯ŸããŠReduceã»ãããå®è¡ããããŒã¯ã¢ãããããããããååŸããŸãã
ç§ãã¡ã®ã¿ã¹ã¯ã§ã¯ãæ©èœã®æ£ç¢ºãªå€ãèšç®ããå¿ èŠãããããšããããããŸããããšãã°ããŠãŒã¶ãŒãå æèªãã æ¬ã®æ£ç¢ºãªæ°ãèšç®ããå Žåã¯ããããããšã«ãã®å€ãèšç®ããåéãããã¹ãŠã®çµ±èšã1ãæã«ä¿åããå¿ èŠããããŸãããããŠãå€ãå€ãåé€ããŠæ°ããå€ãè¿œå ããŸãã
倧ãŸããªã«ãŠã³ãæ¹æ³ã䜿çšããªãã®ã¯ãªãã§ããïŒçãçãïŒç§ãã¡ã¯ãããã䜿çšããŸãããäžæ£é²æ¢ã®åé¡ã§ã¯ãããã€ãã®ééã§æ£ç¢ºãªå€ãæã€ããšãéèŠãªå ŽåããããŸããããšãã°ã2åã®æ¬ãš3åã®æ¬ã®éãã¯ãç¹å®ã®æ¹æ³ã§ã¯éåžžã«éèŠã§ãã
çµæãšããŠããããã®çµ±èšãä¿åãã倧éã®ããŒã¿å±¥æŽãå¿ èŠã«ãªããŸãã
ãçæ£é¢ããããã£ãŠã¿ããã 1åãšå€§ããªå€ã話ããããŸãããããåæžå ¥åã«å ¥ããæŽæ°ãããå±¥æŽãšããŒã¯ã¢ããããããã°ãããŒã¿ãåºåããŸãã
MapReduceã䜿çšããããšããã人ã¯ããããããããããªãããŸãæ©èœããªãããšãç¥ã£ãŠããã§ããããå±¥æŽããããèªäœãããæ°çŸåãããã«ã¯æ°ååãæ°äžå倧ãããªãå¯èœæ§ãããå Žåããã®ãããªåŠçã¯ããããã®ãµã€ãºã§ã¯ãªããå±¥æŽã®ãµã€ãºã«æ¯äŸããŠæ©èœããŸãã
ãããããã€ãã®Key-Valueã¹ãã¢ã«çœ®ãæããŸããããããããŸããç¬èªã®å®è£ ã§ããKey-Valueã¹ãã¬ãŒãžã§ãããããŒã¿ãã¡ã¢ãªã«æ ŒçŽããŸããããããæãè¿ãã¢ããã°ã¯ãããçš®ã®Redisã§ãããã ããããã§ã¯è¥å¹²ã®å©ç¹ããããŸããKey-Valueã¹ãã¢ã®å®è£ ã¯ãMapReduceãšããããå®è¡ãããMapReduceã¯ã©ã¹ã¿ãšç·å¯ã«çµ±åãããŠããŸãã䟿å©ãªãã©ã³ã¶ã¯ã·ã§ã³æ§ããããã®éã®äŸ¿å©ãªããŒã¿è»¢éãããããŸãã
ãã ããäžè¬çãªã¹ããŒã ã§ã¯ããã®Reduceã®åãžã§ãã§ããã®ããŒãšå€ã®ã¹ãã¬ãŒãžã«ç§»åããããŒã¿ãæŽæ°ããŠãå€å®ãè¡ã£ãåŸã§æžãæ»ããŸãã
æçµçã«ã¯ãå¿ èŠãªããŒã®ã¿ãåŠçããç°¡åã«æ¡åŒµã§ããã¹ããŒãªãŒã«ãªããŸãã
æ§æå¯èœãªæ©èœ
æ©èœã®èšå®æ¹æ³ã«ã€ããŠå°ããå€ãã®å ŽåãåçŽãªã«ãŠã³ã¿ãŒã§ã¯äžååã§ããè©æ¬ºåž«ãæ€çŽ¢ããã«ã¯ãããŸããŸãªæ©èœãå¿ èŠã§ããè©æ¬ºåž«ãèšå®ããããã®ã¹ããŒãã§äŸ¿å©ãªã·ã¹ãã ãå¿ èŠã§ãã
ããã3ã€ã®ã¹ãããã«å解ããŸãããïŒ
- æœåºãããã§ã¯ãæå®ãããããŒã®ããŒã¿ããã°ããæœåºããŸãã
- ããŒãžããã®ããŒã¿ãå±¥æŽã«ããçµ±èšãšããŒãžããŸãã
- ãã«ããæ©èœã®æçµçãªå€ã圢æããŸãã
ããšãã°ããŠãŒã¶ãŒãèªãã æ¢åµå°èª¬ã®å²åãèšç®ããŠã¿ãŸãããã
ãŠãŒã¶ãŒãããŸãã«ãå€ãã®æ¢åµå°èª¬ãèªãã å Žåã圌ã¯äœãã«äžå¯©ã§ãã圌ã«äœãæåŸ ãããã¯ã¯ã£ããããªãã次ã«ãExtractã¯ããŠãŒã¶ãŒããã®ãããã§èªã¿åã£ãæ¢åµã®æ°ãåé€ããŸããããŒãž-ãã¹ãŠã®æ¢åµã1ãæéã®ãããããã®ãã®ãã¹ãŠã®ããŒã¿ãååŸããŸãããããŠãã«ãã¯ããçšåºŠã§ãã
次ã«ã圌ãèªãã ãã¹ãŠã®æ¬ã®äŸ¡å€ã«ã€ããŠãåãããšãè¡ããæçµçã«ã¯é€ç®ãè¡ããŸãã
ããšãã°ããŠãŒã¶ãŒãèªãããŸããŸãªèè ã®æ°ãªã©ãããŸããŸãªå€ãã«ãŠã³ããããå Žåã¯ã©ãã§ããããã
次ã«ããŠãŒã¶ãŒããã®ãããã§èªãã ããŸããŸãªèè ã®æ°ãååŸã§ããŸããããã«ããŠãŒã¶ãŒãèªãã ãšãã«èè ã®é¢é£ä»ããæè¿è¡ãå Žæã®æ§é ãä¿åããŸãããããã£ãŠããŠãŒã¶ãŒã§ãã®äœæè ã«å床äŒã£ãå Žåã¯ãä»åæŽæ°ããŸããå€ãã€ãã³ããåé€ããå¿ èŠãããå Žåã¯ãäœãåé€ããããããã£ãŠããŸããæçµçãªç¹åŸŽãèšç®ããã«ã¯ããã®äžã®ããŒã®æ°ãæ°ããã ãã§ãã
ãããããã€ãºã®å€ãä¿¡å·ã§ã¯ããã®ãããªãã£ãŒãã£ã¯1ã€ã®ã«ããã«ã¯äžååã§ããçµåãæ¥çããç°ãªãã«ãããããããã®ãã£ãŒãã£ãæ¥çããããã®ã·ã¹ãã ãå¿ èŠã§ãã
ããšãã°ããã®ãããªã«ããã玹ä»ããŸããã-ãŠãŒã¶ãŒãäœè ããžã£ã³ã«ã
é£ããããšãèšç®ããŠã¿ãŸããããããšãã°ãå¹³åçãªäœè ã®å¿ èª å¿ãå¿ èª å¿ã«ãã£ãŠãç§ã¯ãã®äœè ãèªãã ãŠãŒã¶ãŒãæå³ããŸã-圌ãã¯ã»ãšãã©ããã ããèªã¿ãŸãããããã«ããã®å¹³åå€ã¯ããããèªãã ãŠãŒã¶ãŒãèªãã äœå®¶ã®å¹³åæ°ã«å¯ŸããŠéåžžã«äœããªã£ãŠããŸãã
ããã¯æœåšçãªã·ã°ãã«ã§ããå¯èœæ§ããããŸãããã¡ããã圌ã¯äœè ããã®ãšããã§ããããšãæå³ããå¯èœæ§ããããŸãã圌ã®åšãã«ã¯ãã¡ã³ã ããããŠã圌ãèªã人ã¯ãã¹ãŠåœŒã ããèªãã§ããŸããããããããã¯ãäœè èªèº«ãã·ã¹ãã ãã ãŸããŠããããããããèªããããã®åœã®ãŠãŒã¶ãŒãäœæããããšããŠããããšãæå³ããŸãã
èšç®ããŠã¿ãŸããããé·ãééã§ç°ãªãäœè ã®æ°ãæ°ããæ©èœãæ°ããŸããããããšãã°ãããã§ã¯2çªç®ãš3çªç®ã®å€ãçããããšæãããŸããããããã®æ°ã¯å°ãªãããŸãã
次ã«ãé·ãééã§é¢é£ããŠããèè ã®å¹³åå€ãèšç®ããŸãããããŠãããã§ãå¹³åå€ã¯éåžžã«äœãã§ãïŒ3.äœããã®çç±ã§ããã®èè ã¯ç§ãã¡ã«çãããããã§ãã
ãããŠããã®ç¹å®ã®ãŠãŒã¶ãŒãäœæè ãšã®é¢ä¿ãæã£ãŠããããšãç解ããããã«ãããããŠãŒã¶ãŒã«æ»ãããšãã§ããŸãã
ããèªäœã¯ããŠãŒã¶ãŒããã£ã«ã¿ãŒããå¿ èŠããããšããæ確ãªåºæºã«ããããšã¯ã§ããªãããšã¯æããã§ããããããããã¯ç§ãã¡ã䜿çšã§ããä¿¡å·ã®1ã€ãããããŸããã
MapReduceãã©ãã€ã ã§ãããè¡ãæ¹æ³ã¯ïŒããã€ãã®é£ç¶ããåæžãšãããã®éã®äŸåé¢ä¿ãäœã£ãŠã¿ãŸãããã
åæžã®ã°ã©ãã衚瀺ãããŸããããã¯ãã©ã®ã¹ã©ã€ã¹ãã«ãŠã³ãããããã©ã®çµåãäžè¬çã«èš±å¯ãããããæ¶è²»ããããªãœãŒã¹ã®éã«åœ±é¿ããŸããæããã«ãåæžãå¢ããã»ã©ããªãœãŒã¹ãå¢ããŸããã¬ã€ãã³ã·ãã¹ã«ãŒãããã
ããšãã°ããã®ãããªã°ã©ããäœæããŠã¿ãŸãããã
ã€ãŸããåæžã2ã€ã®æ®µéã«åå²ããŸããæåã®æ®µéã§ã¯ããŠãŒã¶ãŒãèè ããžã£ã³ã«ãªã©ãã»ã¯ã·ã§ã³ããšã«ç°ãªãåæžã䞊è¡ããŠèšç®ããŸãããããŠããããã®ããŸããŸãªåæžããæ©èœãåéããæçµçãªè©æ±ºãåãå ¥ãããäœããã®ç¬¬2段éãå¿ èŠã§ãã
次ã®ãããã§ãåãããšãè¡ããŸãããŸããåãããã®ç¬¬1ã¹ããŒãžã¯éå»ã®ç¬¬1ã¹ããŒãžã«äŸåãã第2ã¹ããŒãžã¯éå»ã®ç¬¬2ã¹ããŒãžã«äŸåããŠããŸãã
ããã§ã¯ããã®ãããªäŸåé¢ä¿ããªãããšãéèŠã§ãã
ã€ãŸããå®éã«ã¯ã³ã³ãã€ãŒãååŸããŸããã€ãŸãã次ã®ãããã®æåã®ã¹ããŒãžã¯ãæåã®ãããã®2çªç®ã®ã¹ããŒãžãšäžŠè¡ããŠåäœã§ããŸãã
ã¹ããŒãžã2ã€ãããªãå Žåãäžèšã§ç€ºãã3段éã®çµ±èšãã©ã®ããã«äœæã§ããŸããïŒãšãŠãç°¡åã§ãããããN
ã®æåã®ã¹ããŒãžã§æåã®å€ãèªã¿åãããšãã§ããŸãããããã®æåã®ã¹ããŒãžã§2çªç®ã®å€ã¯N + 1ã§ãããæçµå€ã¯ãããN + 1ã®2çªç®ã®ã¹ããŒãžã§èªã¿åãå¿ èŠããããŸãããããã£ãŠã第1ã¹ããŒãžãšç¬¬2ã¹ããŒãžã®éã®ç§»è¡äžã«ãN + 1ãããã®çµ±èšãããããæ£ç¢ºã§ã¯ãªãå¯èœæ§ããããŸããããããéåžžããã®ãããªèšç®ã«ã¯ããã§ååã§ãã
ããããã¹ãŠãåããŠããããããã¥ãŒãããããè€éãªæ©èœãæ§ç¯ã§ããŸããããšãã°ããŠãŒã¶ãŒã®å¹³åè©äŸ¡ããã®æ¬ã®çŸåšã®è©äŸ¡ã®åå·®ããŸãã¯ãéåžžã«è¯å®çãŸãã¯éåžžã«åŠå®çã«æ¬ãè©äŸ¡ãããŠãŒã¶ãŒã®å²åããŸããçãããããŸãã¯ãç°ãªãæ¬ã«å¯ŸããŠNãè¶ ããè©äŸ¡ãæã€ãŠãŒã¶ãŒã«ããå¹³åã®æ¬ã®è©äŸ¡ãããã¯ããããããã芳ç¹ããã¯ããæ£ç¢ºã§å ¬æ£ãªè©äŸ¡ã§ãã
ããã«è¿œå ãããã®ããã€ãã³ãéã®é¢ä¿ã§ããå€ãã®å Žåãç§ãã¡ã«éä¿¡ããããã°ãŸãã¯ããŒã¿ã«éè€ã衚瀺ãããŸãããããã¯ãæè¡çãªã€ãã³ããŸãã¯ããããã®åäœã®ããããã§ãããã®ãããªéè€ãæ€åºãããŸãããŸãã¯ãããšãã°ãããã€ãã®é¢é£ã€ãã³ããã·ã¹ãã ãæžç±ã®æšå¥šäºé ã衚瀺ãããŠãŒã¶ãŒããããã®æšå¥šäºé ãã¯ãªãã¯ãããšããŸããã©ã³ãã³ã°ã«åœ±é¿ãäžããæçµçãªçµ±èšæ å ±ãæãªãããªãããã«ãã€ã³ãã¬ãã·ã§ã³ããã£ã«ã¿ãªã³ã°ããå Žåã¯ãçŸåšã®æšå¥šäºé ã®ã¯ãªãã¯ããã£ã«ã¿ãªã³ã°ããå¿ èŠãããããšã確èªããå¿ èŠããããŸãã
ãããããããŒãäžåäžã«ãªãå¯èœæ§ããããããæåã«ã¯ãªãã¯ãããšãã·ã§ãŒã衚瀺ããããŸã§ãããŒã延æããããã«åºã¥ããŠè©æ±ºãåãå ¥ããå¿ èŠããããŸãã
æ©èœèª¬æèšèª
ãã®ãã¹ãŠã説æããããã«äœ¿çšãããèšèªã«ã€ããŠå°ãã話ããŸãã
ããªãã¯ãããèªãå¿ èŠã¯ãããŸãããããã¯äŸãã°ã§ãã 3ã€ã®äž»èŠã³ã³ããŒãã³ãããå§ããŸããã 1ã€ç®ã¯ãäžè¬çã«èšãã°ãä»»æã®ã¿ã€ãã®å±¥æŽå ã®ããŒã¿åäœã®èª¬æã§ãã
ããã¯ãããçš®ã®æ©èœã§ãããnull蚱容å€ã§ãã
ãããŠãããçš®ã®ã«ãŒã«ãã«ãŒã«ãšã¯äœã§ããïŒããã¯ããããã®æ©èœããã®ä»ã®æ¡ä»¶ã®ã»ããã§ãã 3ã€ã®å¥ã ã®ãã¡ã€ã«ããããŸããã
åé¡ã¯ãããã§ã¯äžé£ã®ã¢ã¯ã·ã§ã³ãç°ãªããã¡ã€ã«ã«åæ£ããŠããããšã§ããå€ãã®ã¢ããªã¹ããç§ãã¡ã®ã·ã¹ãã ã§äœæ¥ããå¿ èŠããããŸãã圌ãã¯äžå¿«ã§ããã
èšèªã¯å¿ é ã§ããããšãããããŸããããŒã¿ãèšç®ããæ¹æ³ã説æããŸããèšç®ããå¿ èŠããããã®ã説æãããšãã¯ã宣èšåã§ã¯ãããŸããããããããŸã䟿å©ã§ã¯ãããŸãããééããç¯ããããããšã³ããªã®ãããå€ãé«ããªããŸããæ°ãã人ããã£ãŠæ¥ããã圌ãã¯ã©ããã£ãŠãããæ±ãã®ãå šãç解ããŠããªãã
解決ç-ç¬èªã®DSLãäœæããŸããããããã¯ç§ãã¡ã®ã·ããªãªãããæ確ã«èª¬æããæ°ãã人ã«ãšã£ãŠã¯ããç°¡åã§ãããé«ã¬ãã«ã§ãã SQLAlchemyãCïŒLinqãªã©ããã€ã³ã¹ãã¬ãŒã·ã§ã³ãåŸãŸããã
äžèšãšåæ§ã®äŸãããã€ãæããŸãã
èªãã æ¢åµå°èª¬ã®å²åãèªãã æ¬ã®æ°ãã€ãŸããŠãŒã¶ãŒããšã«ã°ã«ãŒãåããŸãããã®æ¡ä»¶ã«ãã£ã«ã¿ãŒãè¿œå ããæçµçãªããŒã»ã³ããŒãžãèšç®ãããå Žåã¯ãè©äŸ¡ãèšç®ããŸãããã¹ãŠãã·ã³ãã«ã§æ確ã§çŽæçã§ãã
ç°ãªãèè ã®æ°ãæ°ããå ŽåããŠãŒã¶ãŒããšã«ã°ã«ãŒãåããåå¥ã®èè ãèšå®ããŸããããã«ãããã€ãã®æ¡ä»¶ãããšãã°ãèšç®ãŠã£ã³ããŠããã¡ã¢ãªã®å¶çŽã®ããã«ä¿åããå€ã®æ°ã®å¶éãªã©ãè¿œå ã§ããŸããçµæãšããŠãcountããã®äžã®ããŒã®æ°ãæ°ããŸãã
ãŸãã¯ç§ã話ããŠããå¹³åçãªå¿ èª å¿ãã€ãŸããäžããèšç®ãããããçš®ã®åŒããããŸããèè ããšã«ã°ã«ãŒãåãããããã®åŒã®å¹³åå€ãèšå®ããŸãã次ã«ããŠãŒã¶ãŒã«çµã蟌ã¿ãŸãã
ããã«ãã£ã«ã¿ãŒæ¡ä»¶ãè¿œå ã§ããŸããã€ãŸããããšãã°æ¬¡ã®ãããªãã£ã«ã¿ãŒã䜿çšã§ããŸããå¿ èª åºŠãé«ããããæ¢åµã®ããŒã»ã³ããŒãžã100ã®ãã¡80ã®ç¯å²ã«ããã
ãããå éšã§äœã«äœ¿çšãããã
å éšã§ã¯ããã¬ãã¯ã¹ããã€ãœã³ãªã©ã70幎代ã®ææ°ãã¯ãããžãŒãçŽæ¥äœ¿çšããŠããŸããå€åããªãã¯èããã圌ãã¯ã³ãŒããçæããŸããã³ãŒããã¡ã€ã«ã¯ãFlexã§çæãããã¬ã¯ãµãŒãšãBisonã§çæãããããŒãµãŒãééããŸããã¬ã¯ãµãŒã¯èšèªã®çµç«¯èšå·ãŸãã¯åèªãçæããããŒãµãŒã¯æ§æåŒãçæããŸãã
ããããããã§ã«æ§æå€æãå®è¡ã§ããæœè±¡æ§æããªãŒãååŸããŸãããããŠæçµçã«ã¯ãã·ã¹ãã ãç解ã§ããäœã¬ãã«ã®ãã¡ã€ã«ã«å€æããŸãã
çµæã¯ã©ãã§ããïŒããã¯ãäžèŠãããšãããããè€éã§ããéçšã®åªå é äœããšããžã±ãŒã¹ãªã©ã®å°ããªããšãèããã«ã¯ãå€ãã®ãªãœãŒã¹ãå¿ èŠã§ãããã¡ãããã³ã³ãã€ã©ãŒãæžããªãéããå®éã«åœ¹ç«ã€ãšã¯æããªããŸããªãã¯ãããžãŒãåŠã¶å¿ èŠããããŸããããããçµå±ããã¯äŸ¡å€ããããŸããã€ãŸããç§ãã¡ã®ããã«ãä»ã®ããŒã ããé »ç¹ã«æ¥ãã¢ããªã¹ããå€æ°ããå Žåã¯ãçµå±ãäœæ¥ãããããªããããããã¯å€§ããªå©ç¹ã«ãªããŸãã
ä¿¡é Œæ§
äžéšã®ãµãŒãã¹ã¯ããã©ãŒã«ããã¬ã©ã³ã¹ãå¿ èŠãšããŸãïŒã¯ãã¹DCããã³1åéãã®åŠçéåã¯ãééçæ倱ãå«ãçµ±èšãšæ倱ã®äžäžèŽãåŒãèµ·ããå¯èœæ§ããããŸãã MapReduceã®ãœãªã¥ãŒã·ã§ã³ã§ã¯ãäžåºŠã«1ã€ã®ã¯ã©ã¹ã¿ãŒã§ã®ã¿ããŒã¿ãèªã¿åãã2çªç®ã®ã¯ã©ã¹ã¿ãŒã§åæããŸãã
ããšãã°ãããã§ã¯ã©ã®ããã«åäœããŸããïŒãªãŒããŒããã©ãã¯ãŒãã¡ãã»ãŒãžãããŒã«ãŒãããŸããããã¯æ¡ä»¶ä»ãã®ã«ãã«ã§ãããšèããããšãã§ããŸãããããã§ã¯ãã¡ãããããèªäœãå®è£ ãããŠããŸãã
ããããäž¡æ¹ã®ã¯ã©ã¹ã¿ãŒã«é ä¿¡ããåããªãŒããŒã§äžé£ã®åæžãéå§ããæçµçãªå€å®ãåãå ¥ããå±¥æŽãæŽæ°ããŠãçµæããµãŒãã¹ã«éä¿¡ããã¡ãã»ãŒãžãããŒã«ãŒã«éä¿¡ããŸãã
ããŸã«ãç§ãã¡ã¯èªç¶ã«è€è£œãè¡ããªããã°ãªããŸãããã€ãŸããã¹ãããã·ã§ãããåéããå€æŽãåéããŸã-åãããã®å€æŽãäž¡æ¹ã2çªç®ã®ã¯ã©ã¹ã¿ãŒãã©ãã¯ãŒã«åæãããŸãããããŠããšãŠãç±ãç©èªãè²ãŠããããã§å±¥æŽãèšæ¶ãããŠããããšãæãåºãããŠãã ããã
ãããã£ãŠãäœããã®çç±ã§1ã€ã®DCã䜿çšã§ããªããªã£ãå Žåã¯ãé 延ãæå°éã«æããŠ2çªç®ã®ã¯ã©ã¹ã¿ãŒã«åãæ¿ããããšãã§ããŸãã
2ã€ã®ã¯ã©ã¹ã¿ãŒã䞊è¡ããŠæ°ããã®ã¯ã©ãã§ããïŒå€éšããŒã¿ã¯2ã€ã®ã¯ã©ã¹ã¿ãŒã§ç°ãªãå¯èœæ§ããããå€éšãµãŒãã¹ã«ãã£ãŠæäŸã§ããŸãããšã«ããå€éšããŒã¿ãšã¯äœã§ããïŒããã¯ããã®é«ãã¬ãã«ããç«ã¡äžãããã®ã§ããã€ãŸããè€éãªã¯ã©ã¹ã¿ãªã³ã°ãªã©ã§ãããŸãã¯ãèšç®ã®ããã®åãªãããŒã¿è£å©ã§ãã
åæããããœãªã¥ãŒã·ã§ã³ãå¿ èŠã§ããç°ãªãããŒã¿ã䜿çšããŠå€å®ã䞊è¡ããŠã«ãŠã³ããã2ã€ã®ç°ãªãã¯ã©ã¹ã¿ãŒããã®çµæãå®æçã«åãæ¿ãããšããããã®éã®äžè²«æ§ã¯åçã«äœäžããŸãããããŠãã¡ãããè³æºãç¯çŽããŸããäžåºŠã«1ã€ã®ã¯ã©ã¹ã¿ãŒã§ã®ã¿CPUãªãœãŒã¹ã䜿çšããããã
2çªç®ã®ã¯ã©ã¹ã¿ãŒã¯ã©ãã§ããïŒç§ãã¡ãåããŠãããšãã圌ã¯å®è³ªçã«ã¢ã€ãã«ç¶æ ã§ãã圌ã®ãªãœãŒã¹ãæ¬æ Œçãªããªãããã¯ã·ã§ã³ã«äœ¿çšããŸããããæ¬æ Œçãªããªãããã¯ã·ã§ã³ãšã¯ãããã§ã¯ãåãããŒã¿ã¹ããªãŒã ãåãå ¥ããåãããŒã¿ããªã¥ãŒã ã§åäœããæ¬æ Œçãªã€ã³ã¹ããŒã«ãªã©ãæå³ããŸãã
ã¯ã©ã¹ã¿ãŒãå©çšã§ããªãå Žåããããã®ã€ã³ã¹ããŒã«ãã»ãŒã«ããããªãããã¯ã·ã§ã³ã«å€æŽããŸãããããã£ãŠããã°ããã®éã¯preprodããããŸãããããã§ãåé¡ãããŸããã
å©ç¹ã¯ãååŠçã§ããå€ãã®æ©èœãã«ãŠã³ãã§ããããšã§ãããªããããå¿ èŠãªã®ã§ããïŒå€§éã®æ©èœãæ°ãããå Žåã販売ãããŠãããã¹ãŠã®æ©èœãæ°ããå¿ èŠããªãããšã¯æããã§ããããã§ã¯ãæçµçãªè©æ±ºãåŸãããã«å¿ èŠãªãã®ã ããæ°ããŸãã
ïŒ00:25:12ïŒ
ããããåæã«ãååŠçã«ã¯ãããŸããŸãªæ©èœãåããäžçš®ã®ããããã£ãã·ã¥ããããŸããæ»æã®å Žåã¯ãããã䜿çšããŠåé¡ãéãããããã®æ©èœãæ¬çªç°å¢ã«è»¢éã§ããŸãã
ããã«å ããŠãB2Bãã¹ãã®å©ç¹ããããŸããã€ãŸããç§ãã¡ã¯çããã¡ããæåã«ãã¬ã»ãŒã«ãéå§ããŸããéããå®å šã«æ¯èŒãããããééããç¯ãããšã¯ãªãã販売ã®ããã«å±éãããšãã«ééããç¯ãå¯èœæ§ãæå°éã«æããŸãã
ã¹ã±ãžã¥ãŒã©ã«ã€ããŠå°ãã MapReduceã§ã¿ã¹ã¯ãå®è¡ãããã·ã³ã®çš®é¡ãããããšã¯æããã§ãããããã¯ããçš®ã®åŽåè ã§ãã圌ãã¯å®æçã«ããŒã¿ãCross-DCããŒã¿ããŒã¹ã«åæããŸããããã¯ã圌ããçŸæç¹ã§äœãšãèšç®ããç¶æ ã§ãã
ã¯ãŒã«ãŒãå©çšã§ããªããªã£ãå Žåãå¥ã®ã¯ãŒã«ãŒããã°ããã£ããã£ããããšããç¶æ ãååŸããŸãã
ããããç«ã¡äžãã£ãŠåãç¶ããŸãããã®MapReduceã§ã¿ã¹ã¯ã®èšå®ãç¶ããŸãã
ãããã®ã¿ã¹ã¯ããªãŒããŒã©ã€ãããå Žåãäžéšã®ã¿ã¹ã¯ãåèµ·åãããå¯èœæ§ãããããšã¯æããã§ãããããã£ãŠãããã§ç§ãã¡ã«ãšã£ãŠéåžžã«éèŠãªç¹æ§ããããŸããã¹ãçæ§ã圱é¿ãªãã«åæäœãåéã§ããããšã§ãã
ã€ãŸãããã¹ãŠã®ã³ãŒãã¯ããããé©åã«æ©èœããããã«èšè¿°ããå¿ èŠããããŸãã
æ£ç¢ºã«1åã«ã€ããŠå°ãã話ããŸããç§ãã¡ã¯å調ããŠè©æ±ºã«éããŠããŸãããããã¯éåžžã«éèŠã§ããç§ãã¡ã¯ãã®ãããªä¿èšŒãäžãããã¯ãããžãŒã䜿çšããŠãããåœç¶ããã¹ãŠã®å·®ç°ãç£èŠããŠãŒãã«ãŸã§æžãããŸããããããã§ã«åæžãããŠããããã«èŠããŠããææãèæ ®ã«å ¥ããªãã£ãéåžžã«ããªãããŒãªåé¡ãçºçããŸãã
楜åš
䜿çšããããŒã«ã«ã€ããŠç°¡åã«èª¬æããŸããããŸããŸãªã·ã¹ãã ã§è€æ°ã®äžæ£å¯Ÿçãç¶æããããšã¯å°é£ãªäœæ¥ã§ããç§ãã¡ã¯æåéãæ°åã®ç°ãªããµãŒãã¹ãæã£ãŠããŸããç§ãã¡ã¯ããªããçŸåšåœŒãã®ä»äºã®ç¶æ ãèŠãããšãã§ããããçš®ã®åäžã®å Žæãå¿ èŠã§ãã
ãããã³ãã³ããã¹ãã§ããããã§ã¯ãçŸåšäœæ¥ããŠããã¯ã©ã¹ã¿ãŒã®ã¹ããŒã¿ã¹ã確èªã§ããŸããããããçžäºã«åãæ¿ãããããªãªãŒã¹ãå ¬éãããããããšãã§ããŸãã
ãŸãã¯ãããšãã°ãåé¡ã®ããã·ã¥ããŒãã§ã¯ãæ¥ç¶ãããŠããããŸããŸãªãµãŒãã¹ã®ãã¹ãŠã®äžæ£é²æ¢ã«é¢ãããã¹ãŠã®åé¡ã1ããŒãžã«ããã«è¡šç€ºãããŸããããã§ãçŸæç¹ã§BookãµãŒãã¹ã«æããã«åé¡ãããããšãããããŸããããããç£èŠã¯æ©èœããæ åœè ã¯ããã確èªããŸãã
ç§ãã¡ã¯äœãç£èŠããŠããŸããïŒæããã«ãã·ã¹ãã ã©ã°ã¯éåžžã«éèŠã§ãããã¡ãããåã ã®ã¹ããŒãžã®å®è¡æéããããŠãã¡ãããåã ã®ã«ãŒã«ã®ãã£ã«ã¿ãªã³ã°ãããã¯ããžãã¹èŠä»¶ã§ãã
äœçŸãã®ã°ã©ããšããã·ã¥ããŒãã衚瀺ãããŸããããšãã°ããã®ããã·ã¥ããŒãã§ã¯ãããªãã®é ããçããããã茪éãååã«æªãããšãããããŸãã
é床
ãªã³ã©ã€ã³éšåãžã®ç§»è¡ã«ã€ããŠã話ããŸããããã§ã®åé¡ã¯ãåè·¯å šäœã®é 延ãæ°åã«éããå¯èœæ§ãããããšã§ããããã¯MapReduceã®æŠèŠã«ãããŸããå Žåã«ãã£ãŠã¯ãç§ãã¡ã¯çŠæ¢ããè©æ¬ºåž«ãããæ©ãæ€åºããå¿ èŠããããŸãã
ã©ããªãåŸããïŒããšãã°ãç§ãã¡ã®ãµãŒãã¹ã¯çŸåšãæ¬ãè³Œå ¥ããæ©èœãåããŠããŸããåæã«ãæ°ããã¿ã€ãã®æ¯æãè©æ¬ºãç»å ŽããŠããŸãããã£ãšæ©ãåå¿ããå¿ èŠããããŸããåé¡ãçºçããŸã-çæ³çã«ã¯ã¢ããªã¹ãã«éŠŽæã¿ã®ããã€ã³ã¿ã©ã¯ã·ã§ã³ã®èšèªãå¯èœãªéãç¶æããªããããã®ã¹ããŒã å šäœãã©ã®ããã«è»¢éããã®ã§ããïŒ ããã§ããã«è»¢éããŠã¿ãŸãããã
ãµãŒãã¹ããã®ããŒã¿ãå«ããã©ã³ãµãŒãšããã©ã³ãµãŒããã®ããŒã¿ãã·ã£ãŒãã£ã³ã°ããç¹å®ã®æ°ã®ã¯ãŒã«ãŒããããšããŸããããã§äœ¿çšããå€éšããŒã¿ãããããããã¯éåžžã«éèŠã§ããããããã®ã¹ããŒãªãŒã®ã»ããã§ããããŒãç°ãªãããããã®ãããªã¹ããŒãªãŒã¯åæžããšã«ç°ãªããŸãã
ãã®ãããªã¹ããŒã ã§ã¯ã以äžã®åé¡ãçºçããå¯èœæ§ããããŸãã
ã¯ãŒã«ãŒã§2ã€ã®ã€ãã³ãããããšããŸãããã®å Žåããããã®ã¯ãŒã«ãŒã®ã·ã£ãŒãã£ã³ã°ã«ããã1ã€ã®ããŒãå¥ã®ã¯ãŒã«ãŒã«æž¡ãããå ŽåããããŸãããã®å Žåãããã¯äœè Tolkienã§ãã圌ã¯2人ã®åŽåè ã«å ¥ããŸããã
次ã«ããã®Key-Valueã¹ãã¬ãŒãžããå±¥æŽããäž¡æ¹ã®ã¯ãŒã«ãŒã«ããŒã¿ãèªã¿åããããŸããŸãªæ¹æ³ã§æŽæ°ããŸããæžãæ»ããè©Šã¿ããšç«¶åãçºçããŸãã
解決çïŒèªã¿åããšæžã蟌ã¿ãåé¢ã§ããæžã蟌ã¿ã¯å°ãé ããŠçºçããå¯èœæ§ããããšä»®å®ããŸããããã¯éåžžãããŸãéèŠã§ã¯ãããŸãããããã§ã®é 延ãšã¯ãç§åäœãæå³ããŸãããã®Key-Valueã¹ãã¢ã®å®è£ ã§ã¯ãããŒã¿ã®èªã¿åããããããŒã¿ã®æžã蟌ã¿ã«æéãããããããããã¯ç¹ã«éèŠã§ãã
ã©ã°ãä»ããŠçµ±èšãæŽæ°ããŸãããã·ã³äžã§ãã£ãã·ã¥ãããç¶æ ãç¶æãããšããäºå®ãèãããšãå¹³åããŠãããã¯å€ããå°ãªããããŸãæ©èœããŸãã
ãããŠããäžã€ãç°¡åã«ããããã«ããããã®ã¹ããŒãªãŒã1ã€ã«ããŒãžããŠãã«ããã®ã¿ã€ããšããŒã§ã¡ã¢ããŠã¿ãŸããããããçš®ã®å ±éã®æŽå²ããããŸãã
次ã«ããã©ã³ãµãŒãå床远å ãããªãŒããŒã®ãã·ã³ãè¿œå ããŸããããã¯ãããšãã°ãåã«è² è·ã«ãã£ãŠã·ã£ãŒãã£ã³ã°ããããšãã§ããŸãã圌ãã¯åã«ãã®ããŒã¿ãèªã¿åããæçµçãªå€å®ãåãå ¥ãããããããã©ã³ãµãŒã«è¿ããŸãã
ãã®å Žåããã®ããŒã¿ãçŽæ¥éä¿¡ãããã©ã€ã¿ãŒãã·ã³ã®ã»ãããå¿ èŠã§ããäœå®¶ã¯ããã«å¿ããŠç©èªãæŽæ°ããŸããããããããã§ãåé¡ãçºçããŸããããã«ã€ããŠã¯ãäžèšã§èª¬æããŸãããã§ã¯ãã©ã€ã¿ãŒã®æ§æãå°ãå€ããŠã¿ãŸãããã
ããŒã®ã¿ã€ããšå€ã«ãã£ãŠãå±¥æŽãšåãæ¹æ³ã§åå²ãããããã«ããŸãããã®å Žåããã®ã·ã£ãŒãã£ã³ã°ãå±¥æŽãšåãã§ããã°ãäžèšã®åé¡ã¯çºçããŸããã
ããã§åœŒã®äœ¿åœãå€ãããŸãã圌ã¯ãã¯ãè©æ±ºãåãå ¥ããŸããã代ããã«ããªãŒããŒããã®æŽæ°ãåãå ¥ããããããæ··åããå±¥æŽã«æ£ããé©çšããŸãã
ããã§ã³ã³ããŒãã³ããå¿ èŠã§ããããšã¯æããã§ããã³ã³ããŒãã³ãã¯ããªãŒããŒãšã©ã€ã¿ãŒã®éã§ãããã®æŽæ°ãé åžããã³ãŒãã£ããŒã¿ãŒã§ãã
ãã¡ãããããã«ã¯ãã¯ãŒã«ãŒãææ°ã®ãã£ãã·ã¥ãç¶æããå¿ èŠããããšããäºå®ãè¿œå ãããŸãããã®çµæãç§ãã¡ã¯æ°çŸããªç§ãå Žåã«ãã£ãŠã¯ãã以äžã®æéãæ åœããŠããããšãããããçµ±èšæ å ±ã1ç§ã§æŽæ°ããŠããŸããäžè¬çã«ã¯ååã«æ©èœããŸããããµãŒãã¹ã«ã¯ååã§ãã
äœãæã«å ¥ããŸãããïŒã¢ããªã¹ãã¯ããã¹ãŠã®ãµãŒãã¹ã«ã€ããŠåãããã«ãããéãä»äºãå§ããŸãããããã«ããããã¹ãŠã®ã·ã¹ãã ã®å質ãšæ¥ç¶æ§ãåäžããŸãããããŸããŸãªãµãŒãã¹ã®äžæ£é²æ¢ã®éã§ããŒã¿ãåå©çšã§ããæ°ãããµãŒãã¹ã¯é«å質ã®äžæ£é²æ¢ããã°ããå®çŸããŸãã
æåŸã«ããã€ãã®èãããã®ãããªãã®ãæžãããããããã®ã·ã¹ãã ã®ãµããŒããšæ¡åŒµæ§ã®èŠ³ç¹ãããã¢ããªã¹ãã®äŸ¿å©ããããã«èããŠãã ããããã¹ãŠãæ§æå¯èœã«ããŠãã ãããå¿ èŠã§ããå Žåã«ãã£ãŠã¯ãDCéããã³1åéãã®ããããã£ãå®çŸããããšã¯å°é£ã§ãããå®çŸããããšã¯ã§ããŸãããã§ã«éæããŠãããšæãããå Žåã¯ãå確èªããŠãã ããããæž èŽããããšãããããŸããã