ãã¯ãããžãŒNoSQLã䜿çšã ãBIG DATAãã·ã¹ãã ãæ§ç¯ããã«ã¯ãå°è±¡çãªããŒããŠã§ã¢ãªãœãŒã¹ãå¿ èŠã§ãããšèª°ããç解ããŠããŸãã ããã«éèŠãªããšã¯ãã·ã¹ãã ã®ã³ã³ãã¥ãŒãã£ã³ã°ãªãœãŒã¹ãæé©ã«äœ¿çšããããããå¹æçã«ã¹ã±ãŒãªã³ã°ã§ããããšã§ãã ããã«ãããããŒã¿åŠçã·ã¹ãã ãæ§ç¯ããã¢ãããŒããå¿ ç¶çã«å€ãããŸãã 匷åãªã³ã³ãã¥ãŒãã£ã³ã°ãµãŒããŒã®ã»ãããåäœããããŒã¿ãŠã§ã¢ããŠã¹ãéäžåãããšããååã«åºã¥ããŠä»¥åã®ã·ã¹ãã ãæ§ç¯ãããŠããå Žåããã®ã¢ãããŒãã¯åŸã ã«ããã¯ã°ã©ãŠã³ãã«ç§»è¡ããŠããŸãã äžé»åã®å€æ°ã®æšæºãµãŒããŒã®ã¯ã©ã¹ã¿ãŒã«åºã¥ããŠæ§ç¯ãããã·ã¹ãã ãå¢ããŠããŸãã ãã®ãããªã·ã¹ãã ã«ã¯éäžã¹ãã¬ãŒãžã¯ãããŸããã ã¯ã©ã¹ã¿ãŒå ã®ããŒã¿ãåŠçããããã«ãåãµãŒããŒã®ããŒã«ã«ãã£ã¹ã¯ãªãœãŒã¹ã䜿çšããã¢ãžã¥ã©ãŒåæ£ã¹ãã¬ãŒãžã·ã¹ãã ã䜿çšãããŸãã éäžåã¹ãã¬ãŒãžã·ã¹ãã ã«ãã£ã¹ã¯ãè¿œå ããã³ã³ãã¥ãŒãã£ã³ã°ãµãŒããŒãã¢ããã°ã¬ãŒãããŠä»¥åã®ã¹ã±ãŒãªã³ã°ãå®è¡ããå Žåããããã®åãåé¡ã¯ãæšæºããŒããã¯ã©ã¹ã¿ãŒã«è¿œå ããã ãã§è§£æ±ºãããŸãã ãã®ã¢ãããŒãã¯çå®ã«é²ãã§ããŸãã
ãã®ãããªã·ã¹ãã ãéçšããããã»ã¹ã§ã¯ãäžéšã®ããŒãã§ã³ã³ãã¥ãŒãã£ã³ã°ãªãœãŒã¹ãäžè¶³ãããšããåé¡ã«å¯ŸåŠããå¿ èŠããããŸãã ã¯ã©ã¹ã¿ãŒã®ããŒãã®è² è·ãäžåçã«åæ£ããŠããå ŽåããããŸããããŒãã®äžéšãã¢ã€ãã«ç¶æ ã§ãä»ã®éšåãããŸããŸãªã¿ã¹ã¯ã§éè² è·ã«ãªã£ãŠããŸãã ãããã®åé¡ã¯ãããå€ãã®ããŒããã¯ã©ã¹ã¿ãŒã«è¿œå ããããšã§ãåºç¯å²ã«ã解決ã§ããŸãã ãã ããç°ãªãã¿ã¹ã¯ãšç°ãªãã¯ã©ã¹ã¿ãŒããŒãéã®ãªãœãŒã¹ã®åæ£ãæé©åãããéäžçãªãã¢ãããŒããé©çšããããšã¯å¯èœã§ãã
ãããã«ãããæè¿ãè² è·æ¡ä»¶ã®å€åã«å¿ããŠå©çšå¯èœãªãªãœãŒã¹ãè¿ éãã€æè»ã«åé åã§ããã·ã¹ãã ãæ¥åãšãªã£ãŠããŸãã å®éã«ã¯ãäžèšã®æ©èœãå®è£ ããããã«ãã·ã¹ãã ã¯3ã€ã®äž»èŠãªæ¡ä»¶ã確å®ã«æºããå¿ èŠããããŸãã
- åã ã®ãµãŒããŒã®ã³ã³ãã¥ãŒãã£ã³ã°ãªãœãŒã¹ãå ±éã®ã»ããã«çµåããæ©èœãæäŸããŸãã
- ä»»æã®ã¯ã©ã¹ã¿ãŒããŒãã§ä»»æã®ã¢ããªã±ãŒã·ã§ã³ãå®è¡ããæ©èœãæäŸããŸãã
- å ±éã®ã»ããããç¹å®ã®éã®åã¿ã¹ã¯ã«åå¥ã«ã³ã³ãã¥ãŒãã£ã³ã°ãªãœãŒã¹ãå²ãåœãŠãæ©èœãæäŸããŸãã
ãã°ããåã«äžè¬åãããã³ã³ãã¥ãŒãã£ã³ã°ãªãœãŒã¹ã§ã¯ã©ã¹ã¿ãŒç®¡çã·ã¹ãã ãäœæãããšããã¢ã€ãã¢ã¯ãMESOSãšåŒã°ãã補åã§Apache Foundationã«ãã£ãŠå®è£ ãããŸããã ãã®è£œåã䜿çšãããšãæåã®æ¡ä»¶ã確å®ã«æºããããšãã§ããŸããè€æ°ã®ããŒããŠã§ã¢ãµãŒããŒã®ã³ã³ãã¥ãŒãã£ã³ã°ãªãœãŒã¹ã1ã€ã®åæ£ãªãœãŒã¹ã»ããã«çµåããã¯ã©ã¹ã¿ãŒã³ã³ãã¥ãŒãã£ã³ã°ã·ã¹ãã ãç·šæããŸãã
ç°¡åã«èšãã°ããã®ä»çµã¿ïŒã¯ã©ã¹ã¿ãŒã®åããŒãã§MESOSãµãŒãã¹ãèµ·åããmesos-masterãšmesos-slaveã®2ã€ã®ã¢ãŒãã§åäœããŸãã ãããã£ãŠãåã¯ã©ã¹ã¿ãŒããŒãã¯ãmesos-slaveããŒã«ãmesos-masterããŒã«ããŸãã¯äž¡æ¹ã®ããŒã«ãé©åã«åãåããŸããããããå¯èœã§ãã Mesos-slaveããŒãã¯ãmesos-masterããŒãããåä¿¡ããã³ãã³ãã§ã¢ããªã±ãŒã·ã§ã³ãå®è¡ããããã«èšèšãããŠããŸãã mesos-masterããŒãã¯ãã¯ã©ã¹ã¿ãŒããŒãã§ã¢ããªã±ãŒã·ã§ã³ãèµ·åããããã»ã¹ãå¶åŸ¡ããããã2çªç®ã®æ¡ä»¶ãæºããããŸã-ä»»æã®ã¯ã©ã¹ã¿ãŒããŒãã§ä»»æã®ã¢ããªã±ãŒã·ã§ã³ãå®è¡ã§ããŸãã Mesos-masterããŒãã¯éåžžããã©ãŒã«ããã¬ã©ã³ã¹ãæäŸããããã«2ãŸãã¯3ã§ãã ããã©ã«ãã§ã¯äž¡æ¹ã®ããŒã«ãããŒãã§åæã«èµ·åããããããã»ãšãã©ã®ããŒãã§mesos-masterããŒã«ãç¡å¹ã«ããããšããå§ãããŸãã mesos-slaveããŒããšmesos-masterããŒãã®çžäºäœçšã¯ãApache Zookeeperã䜿çšããŠå®è¡ãããŸãã Apache MESOSã·ã¹ãã ã®æ©èœã¯ããµãŒãããŒãã£ã®ã¢ããªã±ãŒã·ã§ã³ããã¬ãŒã ã¯ãŒã¯ãšããŠMESOSã«çµ±åããããšã«ãããæè»ã«æ¡åŒµã§ããŸãã
Apache MESOSã®äž»èŠãªã¢ãããŒãã¯ãmesos-slaveããŒãã䜿çšå¯èœãªç©ºãããŒããŠã§ã¢ãªãœãŒã¹ïŒCPUããã³RAMïŒãèæ ®ã«å ¥ããŠãmesos-masterããŒãã«ãã®æ°ãäŒããããšã§ãã ãã®çµæãmesos-masterã«ã¯ãmesos-slaveããŒãã§å©çšå¯èœãªã³ã³ãã¥ãŒãã£ã³ã°ãªãœãŒã¹ã«é¢ããå®å šãªæ å ±ããããŸãã åæã«ã圌ã¯ããŒãã«ã¹ã¬ãŒãã³ãã³ããçºè¡ããŠã¢ããªã±ãŒã·ã§ã³ãèµ·åããã ãã§ãªãããã®ã¢ããªã±ãŒã·ã§ã³ãæã€ããšãã§ããã³ã³ãã¥ãŒãã£ã³ã°ãªãœãŒã¹ã®éã匷å¶ããããšãã§ããŸãã ãã®åé¡ã¯ãã¢ããªã±ãŒã·ã§ã³ã®ã³ã³ããåã¡ã«ããºã ã䜿çšããŠè§£æ±ºãããŸãã ããã»ã¹ã¯ããããã§å§ãŸããŸãã ã³ã³ãã-éããããåäœç°å¢ã ã³ã³ããã®åºç€ã¯ãOSã«ãŒãã«ãã€ã³ã¹ããŒã«ãããŠããã€ã¡ãŒãžãã¡ã€ã«ãã«ãŒãFSãå¿ èŠãªãã¹ãŠã®ã·ã¹ãã ã©ã€ãã©ãªãå±éãããŠãããªã©ã§ãã ã³ã³ãããèµ·åãããšãã·ã¹ãã ã®ã«ãŒãã«ãã€ã¡ãŒãžããèµ·åãããŸãã ãã®åŸãã¢ããªã±ãŒã·ã§ã³èªäœã¯ãå°çšã®äºåã«æºåããããªãã¬ãŒãã£ã³ã°ç°å¢ã§èµ·åãããŸãã 1ã€ã®ããã»ã¹ã«å¯ŸããŠäžçš®ã®ä»®æ³ãã·ã³ã«ãªããŸãã ã³ã³ããåã䜿çšãããšãåã³ã³ããã«äžå®éã®RAMãšäžå®æ°ã®CPUã³ã¢ïŒããšãã°ã1ã0.5æªæºã®ã³ã¢ãå«ãïŒãå²ãåœãŠãããšãã§ããããšãéèŠã§ãã
ãããã£ãŠã3çªç®ã®æ¡ä»¶ã確å®ã«æºããããšãã§ããŸããå ±éã®ã»ããããç¹å®ã®éã®ã³ã³ãã¥ãŒãã£ã³ã°ãªãœãŒã¹ãåã¿ã¹ã¯ã«å²ãåœãŠãããšãã§ããŸãã æåãApache MESOSã¯ç¬èªã®ã¢ããªã±ãŒã·ã§ã³ã³ã³ããåã¢ã«ãŽãªãºã ã䜿çšããŠäžèšã®åé¡ã解決ããŸããããããã«ãŒè£œåãåžå Žã«ç»å ŽããåŸãåŸè ã¯çµã¿èŸŒã¿ã®Apache MESOSã³ã³ããåããŒã«ãå®å šã«çœ®ãæããŸããã ãããã«ãããçŸæç¹ã§ã¯ãApache MESOSãšã®dockerçµ±åã¯åºãæ®åããŠãããäºå®äžã®æšæºã§ãã ãã®åéã«ãããDockerã®å°äœã¯ãããç¥ãããŠããgit-hubãµãŒãã¹ãšã€ããªãã®ãŒçã«é¡äŒŒããã³ã³ãããŒåã¢ããªã±ãŒã·ã§ã³ã®ç¡æé åžã·ã¹ãã ã§ããdocker hubãµãŒãã¹ã®ãããã§ããã«åŒ·åãããŸããã ãã®ãµãŒãã¹ã䜿çšãããšãéçºè ã¯ãå€ãã®äººãæè¿ç©æ¥µçã«äœ¿çšããŠããæ¢è£œã®ããã«ãŒã³ã³ããã®åœ¢åŒã§ã¢ããªã±ãŒã·ã§ã³ãå ¬éã§ããŸãã
çŸåšãmesos-slaveããŒãã§ãªãœãŒã¹ã䜿ãæãããããšãmesos-masterããŒãã¯ããã«ãèªèããããã®ãããªã¹ã¬ãŒãããŒãã§ã¢ããªã±ãŒã·ã§ã³ãå®è¡ã§ããŸããã ãã®å Žåãmesos-masterã¯ãè² è·ã®å°ãªãå¥ã®mesos-slaveãæ¢ãããšã匷å¶ãããŸãã ããã«ãããã³ã³ãã¥ãŒãã£ã³ã°ãªãœãŒã¹ã®å¯çšæ§ãããå³ããèŠæ±ããã¿ã¹ã¯ã¯ãè² è·ã®å°ãªãã¯ã©ã¹ã¿ãŒããŒãã«ããã¹ãããããŸãã ãããã£ãŠãäžè¬åããããªãœãŒã¹ãåããæ¬æ Œçãªã¯ã©ã¹ã¿ãŒãååŸããŸããããã«ãããäœæ¥çšã«ã¢ããªã±ãŒã·ã§ã³ã«å²ãåœãŠãããäžå®éã®ãªãœãŒã¹ãèšå®ã§ããŸãã
æ®å¿µãªãããApache MESOSããŒã¹ã®ãœãªã¥ãŒã·ã§ã³ã®æãããªæ¬ ç¹ã¯ãã¢ããªã±ãŒã·ã§ã³ã®ç¶æ ãç£èŠãããé·æçã«ããã©ãŒãã³ã¹ãç¶æããã«ãã¢ããªã±ãŒã·ã§ã³ã®1ã€ã®ã³ããŒãå¥ã®ã¯ã©ã¹ã¿ãŒããŒãã§åæã«èµ·åããããšã«çŠç¹ãåœãŠãŠããããšã§ãã ãã ãããã®åé¡ã¯æè¿MESOSPHEREã«ãã£ãŠè§£æ±ºãããŸããã ãã©ãœã³ãšã¯ããã¹ã®è£œåãåžå Žã«å°å ¥ãããŸããã ãããã®è£œåã䜿çšãããšãApache MESOSç°å¢ã§ã®ã¢ããªã±ãŒã·ã§ã³ã®èµ·åãå¶åŸ¡ã§ããŸãã Apache zookeeperãä»ããŠmesos-masterãšå¯Ÿè©±ãããã¬ãŒã ã¯ãŒã¯ãšããŠãã®æ§é ã«çµã¿èŸŒãŸããã·ã¹ãã ã«æ°ããæ©èœãæäŸããŸãã MARATHONã¯ãé·æéé£ç¶ããŠå®è¡ããå¿ èŠãããã¢ããªã±ãŒã·ã§ã³ãå®è¡ããããã«èšèšãããŠããŸãã ããã¯ããã®å©ããåããŠèµ·åãããã¢ããªã±ãŒã·ã§ã³ã®æäœæ§ã®ã¹ã±ãŒã«ã¢ãããšç£èŠã®æ©èœãå®è£ ããŸãã æšæºã®äžé£ã®MARATHONæ©èœã«ã¯ããã¹ãŠã®ã¯ã©ã¹ã¿ãŒããŒãã§ã¢ããªã±ãŒã·ã§ã³ã€ã³ã¹ã¿ã³ã¹ãåæã«èµ·åããæ©èœãã¯ã©ã¹ã¿ãŒããŒãã®ç¹å®ã®éšåã§ã¢ããªã±ãŒã·ã§ã³ãèµ·åããæ©èœã1ã€ã®ã¯ã©ã¹ã¿ãŒããŒãã§å®è¡ãããã¢ããªã±ãŒã·ã§ã³ã®ã³ããŒæ°ãå¶åŸ¡ããæ©èœãªã©ãå«ãŸããŸãã åæ§ã«ãåæ§ã®æ©èœãåããCHRONOSã¯ãã¹ã±ãžã¥ãŒã«ã«åºã¥ããŠ1åéãã®ã¿ã¹ã¯ãèµ·åããããšã«éç¹ã眮ããŠããŸãã
ãããã®ã¢ããªã±ãŒã·ã§ã³ã¯äž¡æ¹ãšããHTTPãããã³ã«ãšREST APIãã¯ãããžãŒã䜿çšããŠå®è£ ãããç¬èªã®ç®¡çã€ã³ã¿ãŒãã§ãŒã¹ãåããŠããŸãã å®éãMARATHONã¯ãŠãŒã¶ãŒãšmesos-masterã®éã«äœçœ®ããJSON圢åŒã®REST APIã䜿çšããŠã¢ããªã±ãŒã·ã§ã³ãå®è¡ããèŠæ±ãåãå ¥ããŸãã ãªã¯ãšã¹ãã§ã¯ãç¹ã«ããŠãŒã¶ãŒã¯ã¯ã©ã¹ã¿ãŒèŠæš¡ã§èµ·åãããã¢ããªã±ãŒã·ã§ã³ã®ã€ã³ã¹ã¿ã³ã¹ã®ç·æ°ãããŒãããšã®ã¢ããªã±ãŒã·ã§ã³ã€ã³ã¹ã¿ã³ã¹ã®æ°ãåã¢ããªã±ãŒã·ã§ã³ã€ã³ã¹ã¿ã³ã¹ã«çºè¡ãããã·ã¹ãã ãªãœãŒã¹ã®æ°ãªã©ãæ§æã§ããŸãã
åè¿°ã®ããã«ãå€ãã®éçºè ãã¢ããªã±ãŒã·ã§ã³ãdockerã³ã³ãããšããŠé åžãå§ããŠããŸãã ç¹ã«ãMESOSPHEREã¯ãã®ã¢ãããŒãã®äœ¿çšã«æåããŠããããã®çµæããã®èšäºã§èª¬æããMARATHONããã³CHRONOSã¢ããªã±ãŒã·ã§ã³ã¯ãæ¢è£œã®ã³ã³ãããšããŠçŸåšå©çšå¯èœã§ãã ãããã䜿çšãããšããããã®ãµãã·ã¹ãã ã®åŠçããã»ã¹ãç°¡çŽ åãããã¯ã©ã¹ã¿ãŒããŒãéã§ç°¡åã«ç§»åããããããŒãžã§ã³ã®æŽæ°ããã»ã¹ãå€§å¹ ã«é«éåãããããããšãã§ããŸãã èªç€Ÿéçºã®çµéšãšãµãŒãããŒãã£äŒæ¥ã®çµéšã«ããããã®ã¢ãããŒãããã®æ¥çã§æãå¯èœæ§ã®é«ãæè¡éçºãã¬ã³ããšèŠãªãããšãã§ããŸãã
èŠçŽãããšãèšäºã®åé ã§å®åŒåãããã¿ã¹ã¯ã解決ãã3ã€ã®äž»ãªèŠä»¶ãæºããããšãã§ãããã¯ãããžãŒãèªç±ã«äœ¿çšã§ãããšèšããŸãïŒITã·ã¹ãã ã®äžè¬åãããã³ã³ãã¥ãŒãã£ã³ã°ãªãœãŒã¹ãééçã«äœ¿çšããèœåãæäŸããã·ã¹ãã ã®ä»»æã®ããŒãã§ä»»æã®ã¿ã¹ã¯ãå®è¡ããèœåãæäŸããå ±éã®ã¯ã©ã¹ã¿ãŒã»ããããç¹å®ã®éã®ã³ã³ãã¥ãŒãã£ã³ã°ãªãœãŒã¹ãåã¿ã¹ã¯ã«åå¥ã«å²ãåœãŠãã¡ã«ããºã ã確ç«ããŸãã
çµè«ãšããŠããã®èšäºã§èª¬æãããŠããã¢ãããŒãã®æå¹æ§ã¯ããµã³ã¯ãããã«ãã«ã¯ã®è€æ°ã®ITäŒæ¥ãäžèšã®æè¡ã䜿çšããŠéçºãããœãªã¥ãŒã·ã§ã³ã®å®è£ ããã³éçšã®æåã«ãã確èªãããŠããããšã«æ³šæããŠãã ããã
ãã詳现ã«ã¯ããã®èšäºã§èª¬æããæè¡ãèšèŒãããŠããããã« ã