èªè ã®çæ§ãããã«ã¡ã¯ïŒ
ããŒã¿ãåéããŠåæããããã® IT ãã©ãããã©ãŒã ãæ§ç¯ãããšãã課é¡ã¯ãç¥çè² è·ã®ãµãŒãã¹æäŸã¢ãã«ãæè¡çã«è€éãªè£œåã®éçºã«åºã¥ããŠããžãã¹ãè¡ãäŒæ¥ã«ã¯é ããæ©ããçºçããŸãã åæãã©ãããã©ãŒã ã®æ§ç¯ã¯è€éã§æéã®ãããäœæ¥ã§ãã ãã ããã©ããªã¿ã¹ã¯ãç°¡çŽ åããããšãã§ããŸãã ãã®èšäºã§ã¯ãåæãœãªã¥ãŒã·ã§ã³ã®äœæã«åœ¹ç«ã€ããŒã³ãŒã ããŒã«ã®äœ¿çšã«é¢ããç§ã®çµéšãå ±æããããšæããŸãã ãã®çµéšã¯ãNeoflex 瀟ã®ããã° ããŒã¿ ãœãªã¥ãŒã·ã§ã³ã®æ¹åã§ã®å€æ°ã®ãããžã§ã¯ãã®å®æœäžã«åŸãããŸããã 2005 幎以æ¥ãNeoflex ã®ããã° ããŒã¿ ãœãªã¥ãŒã·ã§ã³ã®æ¹åæ§ã¯ãããŒã¿ ãŠã§ã¢ããŠã¹ãšã¬ã€ã¯ã®æ§ç¯ã®åé¡ã«åãçµã¿ãæ å ±åŠçé床ã®æé©åã®åé¡ã解決ããããŒã¿å質管çã®æ¹æ³è«ã«åãçµãã§ããŸããã
æ§é ã匱ãããŒã¿ãæ§é ã匷ãããŒã¿ã®æèçãªèç©ãé¿ããããšã¯èª°ã«ãã§ããŸããã ããããäžå°äŒæ¥ã®è©±ã§ãã£ãŠãã çµå±ã®ãšãããå°æ¥ææãªèµ·æ¥å®¶ã¯ãããžãã¹ãæ¡å€§ããéããã€ã€ã«ã㣠ããã°ã©ã ã®éçºãšããåé¡ã«çŽé¢ããPOS ã®æå¹æ§ãåæããããšèããã¿ãŒã²ãããçµã£ãåºåã«ã€ããŠèããä»éãã補åã®éèŠã«å°æããããšã«ãªãã§ãããã ã äžæ¬¡è¿äŒŒçã«ããã®åé¡ã¯ãèã®äžã§ã解決ã§ããŸãã ããããããžãã¹ãæé·ããã«ã€ããŠãåæãã©ãããã©ãŒã ã®å©çšã¯äŸç¶ãšããŠé¿ããããŸããã
ããããã©ã®ãããªå Žåã«ããŒã¿åæã¿ã¹ã¯ãããã±ãã ãµã€ãšã³ã¹ãã¯ã©ã¹ã®åé¡ã«çºå±ããå¯èœæ§ãããã®ã§ãããã? ãããããç§ãã¡ãæ¬åœã«ããã°ããŒã¿ã«ã€ããŠè©±ããŠããç¬éã§ãã
ãã±ãããµã€ãšã³ã¹ãç°¡åã«ããããã«ããŸãŠãå°ããã€é£ã¹ãããšãã§ããŸãã
ã¢ããªã±ãŒã·ã§ã³/ãµãŒãã¹/ãã€ã¯ããµãŒãã¹ãããé¢æ£çãã€èªåŸçã§ããã°ããã»ã©ãããªããããªãã®ååããããŠããžãã¹å
šäœã象ãç解ããã®ã容æã«ãªããŸãã
åœç€Ÿã®ã¯ã©ã€ã¢ã³ãã®ã»ãšãã©ãã¹ãŠããDevOps ããŒã ã®ãšã³ãžãã¢ãªã³ã° ãã©ã¯ãã£ã¹ã«åºã¥ããŠã©ã³ãã¹ã±ãŒããåæ§ç¯ãããã®ä»®èª¬ã«ãã©ãçããŸããã
ããããããšãã象ã®ãããªåé¢ããã€ãšãããè¡ã£ããšããŠããIT ç°å¢ããé飜åãã«ãªãå¯èœæ§ã¯ååã«ãããŸãã ãã®ç¬éãç«ã¡æ¢ãŸããæ¯ãåãã暪ãèŠã䟡å€ããããŸã ããŒã³ãŒããšã³ãžãã¢ãªã³ã°ãã©ãããã©ãŒã .
å€ãã®éçºè ã¯ãã³ãŒããçŽæ¥èšè¿°ããäœæ¥ããããŒã³ãŒã ã·ã¹ãã ã® UI ã€ã³ã¿ãŒãã§ã€ã¹ã§ç¢å°ãããã©ãã°ãããäœæ¥ã«ç§»è¡ãããšããã£ãªã¢ãè¡ãè©°ãŸãã®ã§ã¯ãªãããšæããŠããŸãã ããããå·¥äœæ©æ¢°ã®åºçŸã«ãã£ãŠãšã³ãžãã¢ãæ¶æ» ããããã§ã¯ãªãã圌ãã®ä»äºã¯æ°ããªã¬ãã«ã«åŒãäžããããŸããã
ãã®çç±ãèããŠã¿ãŸãããã
ç©æµãéä¿¡æ¥çãã¡ãã£ã¢èª¿æ»ãéèåéã®ããŒã¿åæã«ã¯ãåžžã«æ¬¡ã®ãããªçåã䌎ããŸãã
- èªååæã®é床ã
- äž»èŠãªããŒã¿çæãããŒã«åœ±é¿ãäžããããšãªãå®éšãå®æœã§ããèœåã
- æºåãããããŒã¿ã®ä¿¡é Œæ§ã
- å€æŽã®è¿œè·¡ãšããŒãžã§ã³ç®¡çã
- ããŒã¿ã®åºæãããŒã¿ç³»çµ±ãCDCã
- æ°æ©èœãå®çšŒåç°å¢ã«è¿ éã«æäŸããŸãã
- ãããŠæªåé«ãã®ã¯ãéçºãšãµããŒãã®ã³ã¹ãã§ãã
ã€ãŸãããšã³ãžãã¢ã¯é«ã¬ãã«ã®ã¿ã¹ã¯ãèšå€§ã«æ±ããŠãããäœã¬ãã«ã®éçºã¿ã¹ã¯ã®æèãã¯ãªã¢ã«ããã ãã§ååãªå¹çã§å®äºããããšãã§ããŸãã
éçºè ãæ°ããªã¬ãã«ã«ç§»è¡ããããã®åææ¡ä»¶ã¯ãããžãã¹ã®é²åãšããžã¿ã«åã§ããã éçºè ã®äŸ¡å€ãå€åããŠãããèªååãããããžãã¹ã®æŠå¿µã«æ²¡é ã§ããéçºè ãå€§å¹ ã«äžè¶³ããŠããŸãã
äœã¬ãã«ããã°ã©ãã³ã°èšèªãšé«ã¬ãã«ããã°ã©ãã³ã°èšèªãäŸããŠã¿ãŸãããã äœã¬ãã«èšèªããé«ã¬ãã«èšèªãžã®ç§»è¡ã¯ããããŒããŠã§ã¢ã®èšèªã§ã®çŽæ¥åœä»€ãã®äœæããã人éã®èšèªã§ã®åœä»€ããžã®ç§»è¡ã§ãã ã€ãŸããæœè±¡åã®ã¬ã€ã€ãŒãè¿œå ããŸãã ãã®å Žåãé«çŽããã°ã©ãã³ã°èšèªããããŒã³ãŒã ãã©ãããã©ãŒã ãžã®ç§»è¡ã¯ãã人ã ã®èšèªã§ã®æ瀺ããããããžãã¹èšèªã§ã®æ瀺ããžã®ç§»è¡ã§ãã ãã®äºå®ãæ²ããã§ããéçºè ããããšãããããã®äººã¯ãããããé åãœãŒãé¢æ°ã䜿çšãã Java Script ãèªçããç¬éããæ²ããã§ããã®ã§ãããã ãããŠãã¡ããããããã®æ©èœã¯ãåãé«ã¬ãã«ã®ããã°ã©ãã³ã°ã«ããä»ã®æ段ã«ãã£ãŠãå éšã§ãœãããŠã§ã¢å®è£ ãããŠããŸãã
ãããã£ãŠãããŒã³ãŒãã¯ãæœè±¡åã®å¥ã®ã¬ãã«ã®å€èŠ³ã«ãããŸããã
ããŒã³ãŒãã䜿çšããå¿çšçµéš
ããŒã³ãŒããšäžèšã§èšã£ãŠãéåžžã«å¹ åºãã§ãããããã§ã¯ç§ãã¡ã®ãããžã§ã¯ããäŸã«ãããŒã³ãŒãã®æŠå¿µãã®å®è·µã«ã€ããŠã話ããããšæããŸãã
Neoflex ã®ããã° ããŒã¿ ãœãªã¥ãŒã·ã§ã³éšéã¯ãéèåéã®ããžãã¹ã«ç¹åããŠãããããŒã¿ ãŠã§ã¢ããŠã¹ãšã¬ã€ã¯ã®æ§ç¯ãšããŸããŸãªã¬ããŒãã®èªååãè¡ã£ãŠããŸãã ãã®ãããåéã§ã¯ãããŒã³ãŒãã®äœ¿çšãé·ãéæšæºã«ãªã£ãŠããŸãã ããŒã³ãŒã ããŒã«ã®äžã§ããETL ããã»ã¹ãæŽçããããã®ããŒã«ãšããŠãInformatica Power CenterãIBM DatastageãPentaho Data Integration ãæããããšãã§ããŸãã ãŸãã¯ãOracle Apex ã¯ãããŒã¿ã«ã¢ã¯ã»ã¹ããŠç·šéããããã®ã€ã³ã¿ãŒãã§ãŒã¹ãè¿ éã«éçºããããã®ç°å¢ãšããŠæ©èœããŸãã ãã ããããŒã³ãŒãéçºããŒã«ã®äœ¿çšã«ã¯ããã³ããŒã«æ確ã«äŸåããåçšãã¯ãããž ã¹ã¿ãã¯äžã§ãç®çãçµã£ãã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããšãåžžã«å«ãŸããããã§ã¯ãããŸããã
ããŒã³ãŒã ãã©ãããã©ãŒã ã䜿çšãããšãããŒã¿ ãããŒã®ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ãçµç¹ããããããŒã¿ ãµã€ãšã³ã¹ ãã©ãããã©ãŒã ããããšãã°ããŒã¿å質ããã§ãã¯ããããã®ã¢ãžã¥ãŒã«ãäœæãããããããšãã§ããŸãã
ããŒã³ãŒãéçºããŒã«ã®äœ¿çšçµéšã®å¿çšäŸã® XNUMX ã€ã¯ãNeoflex ãšããã·ã¢ã®ã¡ãã£ã¢èª¿æ»åžå Žã®ãªãŒããŒã® XNUMX ã€ã§ãã Mediascope ãšã®ã³ã©ãã¬ãŒã·ã§ã³ã§ãã ãã®äŒç€Ÿã®ããžãã¹ç®æšã® XNUMX ã€ã¯ãåºåäž»ãã€ã³ã¿ãŒããã ãã©ãããã©ãŒã ããã¬ã ãã£ã³ãã«ãã©ãžãªå±ãåºå代çåºããã©ã³ããåºåã®è³Œå ¥ã«é¢ãã決å®ãäžããããŒã±ãã£ã³ã° ã³ãã¥ãã±ãŒã·ã§ã³ãèšç»ããããã®ããŒã¿ã«åºã¥ããŠããŒã¿ãäœæããããšã§ãã
ã¡ãã£ã¢ãªãµãŒãã¯ãã¯ãããžãŒãå€çšããããžãã¹åéã§ãã ãã㪠ã·ãŒã±ã³ã¹ã®èªèãèŠèŽãåæããããã€ã¹ããã®ããŒã¿åéãWeb ãªãœãŒã¹äžã®ã¢ã¯ãã£ããã£ã®æž¬å® - ããããã¹ãŠã¯ãå瀟ãå€æ°ã® IT ã¹ã¿ãããšåæãœãªã¥ãŒã·ã§ã³ã®æ§ç¯ã«ãããèšå€§ãªçµéšãæã£ãŠããããšãæå³ããŸãã ããããæ
å ±éããã®ãœãŒã¹ã®æ°ãçš®é¡ãæ¥æ¿ã«å¢å ããããšã«ãããIT ããŒã¿æ¥çã¯çµ¶ããé²æ©ããå¿
èŠããããŸãã ãã§ã«æ©èœããŠãã Mediascope åæãã©ãããã©ãŒã ãæ¡åŒµããããã®æãç°¡åãªè§£æ±ºçã¯ãIT ã¹ã¿ãããå¢å¡ããããšã§ãã ããããããå¹æçãªè§£æ±ºçã¯ãéçºããã»ã¹ãã¹ããŒãã¢ããããããšã§ãã ãã®æ¹åã«å°ãã¹ãããã® XNUMX ã€ã¯ãããŒã³ãŒã ãã©ãããã©ãŒã ã®äœ¿çšãããããŸããã
ãããžã§ã¯ããéå§ãããæç¹ã§ãå瀟ã¯ãã§ã«æ©èœãã補åãœãªã¥ãŒã·ã§ã³ãæã£ãŠããŸããã ãã ããMSSQL ã§ã®ãœãªã¥ãŒã·ã§ã³ã®å®è£ ã§ã¯ã蚱容å¯èœãªéçºã³ã¹ããç¶æããªããæ©èœãã¹ã±ãŒãªã³ã°ãããšããæåŸ ãå®å šã«æºããããšã¯ã§ããŸããã§ããã
ç§ãã¡ã®ç®ã®åã®ä»äºã¯æ¬åœã«éå¿çãªãã®ã§ãããNeoflex ãš Mediascope ã¯ãéå§æ¥ã®ç¬¬ XNUMX ååæ以å ã« MVP ããªãªãŒã¹ããããšãæ¡ä»¶ãšããŠãXNUMX 幎以å ã«ç£æ¥çšãœãªã¥ãŒã·ã§ã³ãäœæããå¿ èŠããããŸããã
Hadoop ãã¯ãããžãŒ ã¹ã¿ãã¯ã¯ãããŒã³ãŒã ã³ã³ãã¥ãŒãã£ã³ã°ã«åºã¥ãæ°ããããŒã¿ ãã©ãããã©ãŒã ãæ§ç¯ããããã®åºç€ãšããŠéžæãããŸããã HDFS ã¯ãå¯æšçŽ°å·¥ã®ãã¡ã€ã«ã䜿çšããããŒã¿ ã¹ãã¬ãŒãžã®æšæºã«ãªããŸããã ãã©ãããã©ãŒã å ã«ããããŒã¿ã«ã¢ã¯ã»ã¹ããããã«ãHive ã䜿çšãããŸãããHive ã§ã¯ãå©çšå¯èœãªãã¹ãŠã®ã¹ãã¢ããã³ããå€éšããŒãã«ã®åœ¢åŒã§è¡šç€ºãããŸãã ã¹ãã¬ãŒãžãžã®ããŒã¿ã®ããŒãã¯ãKafka ãš Apache NiFi ã䜿çšããŠå®è£ ãããŸããã
ãã®ã³ã³ã»ããã«ããã Lowe ã³ãŒã ããŒã«ã¯ãåæãã©ãããã©ãŒã ã®æ§ç¯ã«ãããŠæãåŽåéçŽçãªã¿ã¹ã¯ã§ããããŒã¿èšç®ã¿ã¹ã¯ãæé©åããããã«äœ¿çšãããŸããã
ããŒã¿ ãããã³ã°ã®äž»ãªã¡ã«ããºã ãšããŠãããŒã³ãŒã ããŒã¿ã°ã©ã ããŒã«ãéžæãããŸããã Neoflex ããŒã¿ã°ã©ã ã¯ãå€æãšããŒã¿ ãããŒãéçºããããã®ããŒã«ã§ãã
ãã®ããŒã«ã䜿çšãããšãScala ã³ãŒããæåã§èšè¿°ããªããŠãæžã¿ãŸãã Scala ã³ãŒãã¯ãã¢ãã«é§åã¢ãŒããã¯ãã£ã®ã¢ãããŒãã䜿çšããŠèªåçã«çæãããŸãã
ãã®ã¢ãããŒãã®æçœãªå©ç¹ã¯ãéçºããã»ã¹ãã¹ããŒãã¢ããã§ããããšã§ãã ãã ããé床ã«å ããŠã次ã®å©ç¹ããããŸãã
- ãœãŒã¹/ã¬ã·ãŒããŒã®ã³ã³ãã³ããšæ§é ã衚瀺ããŸãã
- ããŒã¿ ãã㌠ãªããžã§ã¯ãã®èµ·æºãåã ã®ãã£ãŒã«ã (系統) ãŸã§è¿œè·¡ããŸãã
- äžéçµæã衚瀺ããŠå€æãéšåçã«å®è¡ããŸãã
- å®è¡åã«ãœãŒã¹ã³ãŒããã¬ãã¥ãŒããŠèª¿æŽããŸãã
- å€æã®èªåæ€èšŒã
- èªåããŒã¿ããŠã³ããŒã 1 in 1ã
å€æãçæããããã®ããŒã³ãŒã ãœãªã¥ãŒã·ã§ã³ãžã®åå ¥éå£ã¯éåžžã«äœããéçºè 㯠SQL ã®ç¥èãš ETL ããŒã«ã®äœ¿çšçµéšãå¿ èŠã§ãã ã³ãŒãé§ååã®å€æãžã§ãã¬ãŒã¿ãŒã¯ãåºãæå³ã§ã® ETL ããŒã«ã§ã¯ãªãããšã«æ³šæããŠãã ããã ããŒã³ãŒã ããŒã«ã«ã¯ãç¬èªã®ã³ãŒãå®è¡ç°å¢ããªãå ŽåããããŸãã ã€ãŸããçæãããã³ãŒãã¯ãããŒã³ãŒã ãœãªã¥ãŒã·ã§ã³ãã€ã³ã¹ããŒã«ããåã§ãã£ãŠããã¯ã©ã¹ã¿ãŒäžã«ååšããŠããç°å¢ã§å®è¡ãããŸãã ãããŠãããã¯ãããããããŒã³ãŒã ã«ã«ãã«ãšã£ãŠãã XNUMX ã€ã®å©ç¹ã§ãã ããŒã³ãŒã ããŒã ãšäžŠè¡ããŠããã¯ã©ã·ãã¯ãããŒã ã¯ãããšãã°çŽç²ãª Scala ã³ãŒãã§æ©èœãå®è£ ããäœæ¥ãè¡ãããšãã§ããããã§ãã äž¡æ¹ã®ããŒã ã«ããæ¹åãå®çšŒåç°å¢ã«åæ ããããšã¯ãã·ã³ãã«ãã€ã·ãŒã ã¬ã¹ã«ãªããŸãã
ããŒã³ãŒãã«å ããŠãããŒã³ãŒã ãœãªã¥ãŒã·ã§ã³ãããããšã¯ãããã泚ç®ã«å€ããŸãã ãããŠæ ¹æ¬çã«ã¯ããããã¯ç°ãªããã®ã§ãã ããŒã³ãŒãã䜿çšãããšãéçºè ã¯çæãããã³ãŒãã«ããã«å¹²æžã§ããŸãã Datagram ã®å Žåãçæããã Scala ã³ãŒãã衚瀺ããã³ç·šéããããšãã§ããŸãããããŒã³ãŒãã§ã¯ãã®ãããªæ©äŒãæäŸãããªãå¯èœæ§ããããŸãã ãã®éãã¯ããœãªã¥ãŒã·ã§ã³ã®æè»æ§ã®ç¹ã ãã§ãªããããŒã¿ ãšã³ãžãã¢ã®äœæ¥ã®å¿«é©ããšã¢ãããŒã·ã§ã³ã®ç¹ã§ãéåžžã«éèŠã§ãã
ãœãªã¥ãŒã·ã§ã³ã¢ãŒããã¯ãã£
ããŒã¿èšç®æ©èœã®éçºé床ãæé©åãããšããåé¡ã®è§£æ±ºã«ããŒã³ãŒã ããŒã«ãã©ã®ããã«åœ¹ç«ã€ããæ£ç¢ºã«ç解ããŠã¿ãŸãããã ãŸããã·ã¹ãã ã®æ©èœã¢ãŒããã¯ãã£ãèŠãŠã¿ãŸãããã ãã®å Žåã®äŸã¯ãã¡ãã£ã¢èª¿æ»ã®ããã®ããŒã¿çæã¢ãã«ã§ãã
ç§ãã¡ã®å ŽåãããŒã¿ ãœãŒã¹ã¯éåžžã«ç°è³ªã§å€æ§ã§ãã
- ããŒãã« ã¡ãŒã¿ãŒ (TV ã¡ãŒã¿ãŒ) ã¯ããã¬ã ããã«ã®åçè ãããŠãŒã¶ãŒã®è¡å (調æ»ã«åå ããŠããäžåž¯ã§ã誰ãããã€ãã©ã®ãã¬ã ãã£ã³ãã«ãèŠèŽããã) ãèªã¿åããœãããŠã§ã¢ããã³ããŒããŠã§ã¢ ããã€ã¹ã§ãã æäŸãããæ å ±ã¯ãã¡ãã£ã¢ ããã±ãŒãžããã³ã¡ãã£ã¢ 補åã«é¢é£ä»ããããæŸéèŠèŽééã®ã¹ããªãŒã ã§ãã ããŒã¿ ã¬ã€ã¯ã«ããŒããã段éã®ããŒã¿ã¯ãç¹å®ã®ã¡ãã£ã¢è£œåã®ãã¬ãèŠèŽãåæããããã«å¿ èŠãªäººå£çµ±èšçå±æ§ãå°çéå±€ãã¿ã€ã ãŸãŒã³ããã®ä»ã®æ å ±ã§åŒ·åã§ããŸãã ååŸããã枬å®å€ã¯ãåºåãã£ã³ããŒã³ã®åæãèšç»ãèŠèŽè ã®æŽ»åã奜ã¿ã®è©äŸ¡ãæŸéãããã¯ãŒã¯ã®æ§ç¯ã«äœ¿çšã§ããŸãã
- ããŒã¿ã¯ãã¹ããªãŒãã³ã° ãã¬ãæŸéã®ç£èŠã·ã¹ãã ããã€ã³ã¿ãŒãããäžã®ãã㪠ãªãœãŒã¹ ã³ã³ãã³ãã®èŠèŽã®æž¬å®ããåŸãããŸãã
- ãµã€ãäžå¿ã®ã¡ãŒã¿ãŒãšãŠãŒã¶ãŒäžå¿ã®ã¡ãŒã¿ãŒã®äž¡æ¹ãå«ããWeb ç°å¢ã®æž¬å®ããŒã«ã ããŒã¿ ã¬ã€ã¯ã®ããŒã¿ ãããã€ããŒã«ã¯ããªãµãŒã ã㌠ãã©ãŠã¶ãŒ ã¢ããªã³ããVPN ãçµã¿èŸŒãŸããã¢ãã€ã« ã¢ããªã±ãŒã·ã§ã³ã䜿çšã§ããŸãã
- ããŒã¿ã¯ããªã³ã©ã€ã³ ã¢ã³ã±ãŒããžã®èšå ¥çµæãšäŒæ¥èª¿æ»ã§ã®é»è©±ã€ã³ã¿ãã¥ãŒã®çµæãçµ±åãããµã€ãããååŸããããšãã§ããŸãã
- ããŒãããŒäŒæ¥ã®ãã°ããæ å ±ãããŠã³ããŒãããããšã§ãããŒã¿ ã¬ã€ã¯ãããã«åŒ·åã§ããŸãã
ãœãŒã¹ ã·ã¹ãã ããçããŒã¿ã®ãã©ã€ã㪠ã¹ããŒãžã³ã°ãžã®ãã®ãŸãŸã®èªã¿èŸŒã¿ã®å®è£ ã¯ãããŸããŸãªæ¹æ³ã§ç·šæã§ããŸãã ãããã®ç®çã«ããŒã³ãŒãã䜿çšãããšãã¡ã¿ããŒã¿ã«åºã¥ããããŒãã£ã³ã° ã¹ã¯ãªããã®èªåçæãå¯èœã«ãªããŸãã ãã®å ŽåããœãŒã¹ããã¿ãŒã²ãããžã®ãããã³ã°ãéçºããã¬ãã«ãŸã§äžããå¿ èŠã¯ãããŸããã èªåããŒããå®è£ ããã«ã¯ããœãŒã¹ãžã®æ¥ç¶ã確ç«ããããŒããããšã³ãã£ãã£ã®ãªã¹ããããŒã ã€ã³ã¿ãŒãã§ã€ã¹ã§å®çŸ©ããå¿ èŠããããŸãã HDFS å ã®ãã£ã¬ã¯ããªæ§é ã¯èªåçã«äœæããããœãŒã¹ ã·ã¹ãã äžã®ããŒã¿ ã¹ãã¬ãŒãžæ§é ã«å¯Ÿå¿ããŸãã
ãã ãããã®ãããžã§ã¯ãã®æèã§ã¯ãMediascope 瀟ããã§ã« Nifi + Kafka ã®çµã¿åããã䜿çšããŠåæ§ã®ãµãŒãã¹ãç¬èªã«äœæããäœæ¥ãéå§ããŠãããšããäºå®ã«ãããããŒã³ãŒã ãã©ãããã©ãŒã ã®ãã®æ©èœã䜿çšããªãããšã«ããŸããã
ãããã®ããŒã«ã¯äºææ§ã®ãããã®ã§ã¯ãªãããããè£å®çãªãã®ã§ããããšãããã«ç€ºã䟡å€ããããŸãã Nifi ãš Kafka ã¯ãçŽæ¥æ¥ç¶ (Nifi -> Kafka) ãšéæ¥ç¶ (Kafka -> Nifi) ã®äž¡æ¹ã§æ©èœããŸãã ã¡ãã£ã¢ ãªãµãŒã ãã©ãããã©ãŒã ã«ã¯ããã³ãã«ã®æåã®ããŒãžã§ã³ã䜿çšãããŸããã
ç§ãã¡ã®å ŽåãNayFi ã¯ãœãŒã¹ ã·ã¹ãã ããã®ããŸããŸãªã¿ã€ãã®ããŒã¿ãåŠçãããããã Kafka ãããŒã«ãŒã«éä¿¡ããå¿
èŠããããŸããã ãã®å Žåãã¡ãã»ãŒãžã¯ PublishKafka Nifi ããã»ããµã䜿çšããŠç¹å®ã® Kafka ãããã¯ã«éä¿¡ãããŸããã ãããã®ãã€ãã©ã€ã³ã®ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ãšã¡ã³ããã³ã¹ã¯ãããžã¥ã¢ã« ã€ã³ã¿ãŒãã§ã€ã¹ã§å®è¡ãããŸãã Nifi ããŒã«ãš Nifi + Kafka ã®çµã¿åããã®äœ¿çšã¯ãéçºãžã®ããŒã³ãŒã ã¢ãããŒããšãèšããŸããããã«ãããããã° ããŒã¿ ãã¯ãããžãžã®åå
¥éå£ãäœããªããã¢ããªã±ãŒã·ã§ã³éçºããã»ã¹ãé«éåãããŸãã
ãããžã§ã¯ãå®è£ ã®æ¬¡ã®æ®µéã¯ã詳现ããŒã¿ãåäžã®ã»ãã³ãã£ã㯠ã¬ã€ã€ãŒåœ¢åŒã«å€æããããšã§ããã ãšã³ãã£ãã£ã«å±¥æŽå±æ§ãããå Žåãèšç®ã¯åé¡ã®ããŒãã£ã·ã§ã³ã®ã³ã³ããã¹ãã§å®è¡ãããŸãã ãšã³ãã£ãã£ãå±¥æŽçãªãã®ã§ã¯ãªãå Žåããªãã·ã§ã³ã§ãªããžã§ã¯ãã®å å®¹å šäœãåèšç®ããããšãã(å€æŽããªããã) ãã®ãªããžã§ã¯ãã®åèšç®ãå®å šã«æåŠããããšãã§ããŸãã ãã®æ®µéã§ããã¹ãŠã®ãšã³ãã£ãã£ã®ãââãŒãçæãããŸãã ããŒã¯ããã¹ã¿ãŒ ãªããžã§ã¯ãã«å¯Ÿå¿ãã Hbase ãã£ã¬ã¯ããªã«ä¿åãããŸãããã®ãã£ã¬ã¯ããªã«ã¯ãåæãã©ãããã©ãŒã ã®ããŒãšãœãŒã¹ ã·ã¹ãã ã®ããŒéã®å¯Ÿå¿é¢ä¿ãå«ãŸããŠããŸãã ååå®äœã®çµ±åã«ã¯ãåæããŒã¿ã®äºåèšç®ã®çµæã«ãã匷åã䌎ããŸãã ããŒã¿èšç®ã®ãã¬ãŒã ã¯ãŒã¯ã¯ Spark ã§ããã ããŒã¿ãåäžã®ã»ãã³ãã£ã¯ã¹ã«çµ±åããããã®èª¬æãããæ©èœããããŒã³ãŒã ããŒã¿ã°ã©ã ããŒã«ããã®ãããã³ã°ã«åºã¥ããŠå®è£ ãããŸããã
ã¿ãŒã²ãã ã¢ãŒããã¯ãã£ã§ã¯ãããžãã¹ ãŠãŒã¶ãŒã®ããŒã¿ãžã® SQL ã¢ã¯ã»ã¹ãå¿ èŠã§ããã ãã®ãªãã·ã§ã³ã«ã¯ Hive ã䜿çšãããŸããã ããŒã³ãŒã ããŒã«ã® [Registr Hive Table] ãªãã·ã§ã³ãæå¹ã«ãããšããªããžã§ã¯ãã Hive ã«èªåçã«ç»é²ãããŸãã
èšç®ãããŒå¶åŸ¡
Datagram ã«ã¯ãã¯ãŒã¯ãããŒã®ãããŒèšèšãäœæããããã®ã€ã³ã¿ãŒãã§ã€ã¹ããããŸãã ãããã³ã°ã¯ãOozie ã¹ã±ãžã¥ãŒã©ãŒã䜿çšããŠèµ·åã§ããŸãã ã¹ããªãŒã éçºè ã€ã³ã¿ãŒãã§ã€ã¹ã§ã¯ã䞊åãé 次ããŸãã¯å®è¡äŸåã®ããŒã¿å€æã®ã¹ããŒã ãäœæã§ããŸãã ã·ã§ã« ã¹ã¯ãªãããš Java ããã°ã©ã ããµããŒããããŠããŸãã Apache Livy ãµãŒããŒã䜿çšããããšãã§ããŸãã Apache Livy ã¯ãéçºç°å¢ããã¢ããªã±ãŒã·ã§ã³ãçŽæ¥å®è¡ããããã«äœ¿çšãããŸãã
äŒæ¥ããã§ã«ç¬èªã®ããã»ã¹ ãªãŒã±ã¹ãã¬ãŒã¿ãŒãæã£ãŠããå Žåã¯ãREST API ã䜿çšããŠæ¢åã®ãããŒã«ãããã³ã°ãåã蟌ãããšãã§ããŸãã ããšãã°ãç§ãã¡ã¯ãPLSQL ãš Kotlin ã§æžããããªãŒã±ã¹ãã¬ãŒã¿ãŒã« Scala ã®ãããã³ã°ãåã蟌ããšããéåžžã«æåããçµéšããããŸãã ããŒã³ãŒã ããŒã«ã® REST API ã«ã¯ããããã³ã°èšèšã«åºã¥ããŠå®è¡å¯èœãªå¹Žã®çæããããã³ã°ã®åŒã³åºããäžé£ã®ãããã³ã°ã®åŒã³åºãããããŠãã¡ããããããã³ã°ãå®è¡ããããã® URL ãžã®ãã©ã¡ãŒã¿ãŒã®åãæž¡ããªã©ã®æäœãå«ãŸããŠããŸãã
Oozie ãšåãããŠãAirflow ã䜿çšããŠèšç®ãããŒãæŽçããããšãã§ããŸãã ãããããOozie ãš Airflow ã®æ¯èŒã«ã€ããŠã¯é·ãã¯è¿°ã¹ãŸããããã¡ãã£ã¢ç 究ãããžã§ã¯ãã®äœæ¥ã®æèã«ãããŠãéžæ㯠Airflow ã«æå©ã«ãªã£ããšã ãè¿°ã¹ãŠãããŸãã ä»åã®äž»ãªè°è«ã¯ã補åãéçºãããã掻çºãªã³ãã¥ããã£ãšãããéçºãããã€ã³ã¿ãŒãã§ã€ã¹ãš API ã§ããã
Airflow ã¯èšç®ããã»ã¹ã®èšè¿°ã«äººæ°ã® Python ã䜿çšããŠãããããåªããŠããŸãã ãããŠäžè¬ã«ããªãŒãã³ãœãŒã¹ã®ã¯ãŒã¯ãããŒç®¡çãã©ãããã©ãŒã ã¯ããã»ã©å€ããããŸããã ããã»ã¹ã®å®è¡ (ã¬ã³ã ãã£ãŒããå«ã) ã®èµ·åãšç£èŠã¯ãAirflow ã®ã«ã«ãã«ãã€ã³ããè¿œå ããã ãã§ãã
ããŒã³ãŒã ãœãªã¥ãŒã·ã§ã³ ãããã³ã°ãèµ·åããããã®æ§æãã¡ã€ã«åœ¢åŒã¯ãspark-submit ã«ãªããŸããã ããã«ã¯ XNUMX ã€ã®çç±ããããŸãã ãŸããspark-submit ã䜿çšãããšãã³ã³ãœãŒã«ãã jar ãã¡ã€ã«ãçŽæ¥å®è¡ã§ããŸãã 次ã«ãã¯ãŒã¯ãããŒãæ§æããããã«å¿
èŠãªæ
å ±ããã¹ãŠå«ããããšãã§ããŸã (ããã«ãããDag ãçæããã¹ã¯ãªããã®èšè¿°ã容æã«ãªããŸã)ã
ãã®å Žåã® Airflow ã¯ãŒã¯ãããŒã®æãäžè¬çãªèŠçŽ 㯠SparkSubmitOperator ã§ããã
SparkSubmitOperator ã䜿çšãããšãjar (äºåã«çæãããå ¥åãã©ã¡ãŒã¿ãŒã䜿çšããŠããã±ãŒãžåãããããŒã¿ã°ã©ã ãããã³ã°) ãå®è¡ã§ããŸãã
å Airflow ã¿ã¹ã¯ã¯å¥ã®ã¹ã¬ããã§å®è¡ãããä»ã®ã¿ã¹ã¯ã«ã€ããŠã¯äœãèªèããªãããšã«æ³šæããŠãã ããã ãããã£ãŠãã¿ã¹ã¯éã®å¯Ÿè©±ã¯ãDummyOperator ã BranchPythonOperator ãªã©ã®å¶åŸ¡æŒç®åã䜿çšããŠå®è¡ãããŸãã
ãŸãšãããšãæ§æãã¡ã€ã«ã®æ±çšå (Dag ã®åœ¢æ) ãšçµã¿åããã Datagram ããŒã³ãŒã ãœãªã¥ãŒã·ã§ã³ã®äœ¿çšã«ãããããŒã¿ ããŒã ãããŒã®éçºããã»ã¹ãå€§å¹ ã«é«éåãããç°¡çŽ åãããŸããã
ã·ã§ãŒã±ãŒã¹ã®èšç®
ãããããåæããŒã¿ã®äœæã«ãããŠæãç¥çè² è·ãããã段éã¯ãã·ã§ãŒã±ãŒã¹ãæ§ç¯ããã¹ãããã§ãã 調æ»äŒç€Ÿã®ããŒã¿èšç®ãããŒã® XNUMX ã€ã§ã¯ããã®æ®µéã§ãããŒã¿ã¯ã¿ã€ã ãŸãŒã³ã®è£æ£ãèæ ®ããŠåºæºæŸéã«å€æãããæŸéã°ãªããã«ãªã³ã¯ãããŸãã ããŒã«ã«æŸéãããã¯ãŒã¯ (ããŒã«ã« ãã¥ãŒã¹ãåºå) ã«åãããŠèª¿æŽããããšãã§ããŸãã ãšãããããã®ã¹ãããã§ã¯ãèŠèŽééã®åæã«åºã¥ããŠã¡ãã£ã¢è£œåã®é£ç¶èŠèŽééã现ååããŸãã ããã«ãèŠèŽå€ã¯ãã®éèŠæ§ã«é¢ããæ å ±ã«åºã¥ããŠãéã¿ä»ãããããŸãïŒè£æ£ä¿æ°ã®èšç®ïŒã
ã·ã§ãŒã±ãŒã¹ãæºåããå¥ã®ã¹ãããã¯ããŒã¿æ€èšŒã§ãã æ€èšŒã¢ã«ãŽãªãºã ã«ã¯ãå€æ°ã®æ°çç§åŠã¢ãã«ã®äœ¿çšãå«ãŸããŸãã ãã ããããŒã³ãŒã ãã©ãããã©ãŒã ã䜿çšãããšãè€éãªã¢ã«ãŽãªãºã ãèŠèŠçã«èªã¿åãå¯èœãªå€æ°ã®åå¥ã®ãããã³ã°ã«åå²ã§ããŸãã åãããã³ã°ã¯çãã¿ã¹ã¯ãå®è¡ããŸãã ãã®çµæãããŒã¿æºå段éã®äžéçãªãããã°ããã°èšé²ãèŠèŠåãå¯èœã«ãªããŸãã
æ€èšŒã¢ã«ãŽãªãºã ã次ã®ãµãã¹ããŒãžã«é¢æ£åããããšã決å®ãããŸããã
- 60 æ¥éãå°åå ã®ãã¹ãŠã®ãããã¯ãŒã¯ãèŠèŽããŠãå°åå ã® TV ãããã¯ãŒã¯èŠèŽäŸåé¢ä¿ã®ååž°ãæ§ç¯ããŸãã
- ãã¹ãŠã®ååž°ãã€ã³ãããã³èšç®ãããæ¥ã®ã¹ãã¥ãŒãã³ãåæ®å·® (ååž°ã¢ãã«ã«ãã£ãŠäºæž¬ãããå€ããã®å®éã®å€ã®åå·®) ã®èšç®ã
- 決æžæ¥ã®ã¹ãã¥ãŒãã³ãåãããæ®é«ãæšæº (æäœèšå®ã§æå®ããã) ãè¶ ãããç°åžžãªå°åãšãããã¯ãŒã¯ã®ãã¢ã®éžæã
- å°åå ã®ãããã¯ãŒã¯ãèŠèŽããååçè ã«ã€ããŠãç°åžžãªå°åãš TV ãããã¯ãŒã¯ã®ãã¢ã®ä¿®æ£æžã¿ã¹ãã¥ãŒãã³ãåæ®å·®ãåèšç®ãããµã³ãã«ãããã®åçè ã®èŠèŽãé€å€ããå Žåã®ãã®åçè ã®å¯äž (ã¹ãã¥ãŒãã³ãåæ®å·®ã®å€åé) ã決å®ããŸãã ã
- é€å€ãããåŠçã®çµŠäžæ®é«ãéåžžã«æ»ãåè£è ãæ€çŽ¢ããŸãã
äžã®äŸã¯ãããŒã¿ ãšã³ãžãã¢ããã§ã«å€ãã®ããšãèããŠãããšãã仮説ãè£ä»ããŠããŸã...ãããŠããããæ¬åœã«ããšã³ãžãã¢ãã§ãããã³ãŒããŒãã§ã¯ãªãå ŽåãããŒã³ãŒã ããŒã«ã䜿çšããéã®å°éæ§ã®äœäžãæžå¿µããããšã«ãªããŸããã€ãã«æ€éããªããã°ãªããªãã
ããŒã³ãŒãã§ä»ã«äœãã§ããã§ãããã?
Scala ã§ã³ãŒããæåã§èšè¿°ããå¿ èŠããªãããããããã³ã¹ããªãŒã ããŒã¿ãåŠçããããã®ããŒã³ãŒã ããŒã«ã®é©çšç¯å²ã¯ããã ãã§ã¯ãããŸããã
Datalake ã®éçºã«ãããããŒã³ãŒãã®äœ¿çšã¯ããã§ã«ç§ãã¡ã«ãšã£ãŠæšæºãšãªã£ãŠããŸãã ãããããHadoop ã¹ã¿ãã¯ã«åºã¥ããœãªã¥ãŒã·ã§ã³ã¯ãRDBMS ã«åºã¥ãåŸæ¥ã® DWH ã®éçºãã¹ããã©ã£ãŠãããšèšããã§ãããã Hadoop ã¹ã¿ãã¯äžã®ããŒã³ãŒã ããŒã«ã¯ãããŒã¿åŠçã¿ã¹ã¯ãšæçµç㪠BI ã€ã³ã¿ãŒãã§ã€ã¹ã®æ§ç¯ã¿ã¹ã¯ã®äž¡æ¹ã解決ã§ããŸãã ããã«ãBI ã¯ããŒã¿ã®è¡šçŸã ãã§ãªããããžãã¹ ãŠãŒã¶ãŒã«ããããŒã¿ã®ç·šéãæå³ããå Žåãããããšã«æ³šæããŠãã ããã éèéšéåãã®åæãã©ãããã©ãŒã ãæ§ç¯ããéã«ã¯ããã®æ©èœããã䜿çšããŸãã
ãšããããããŒã³ãŒããç¹ã«ããŒã¿ã°ã©ã ã䜿çšãããšãããŒã¿ ã¹ããªãŒã ãªããžã§ã¯ãã®èµ·æºãåã
ã®ãã£ãŒã«ã (系統) ã«è³ããŸã§ååæ§ãæã£ãŠè¿œè·¡ããåé¡ã解決ã§ããŸãã ãããè¡ãããã«ãããŒã³ãŒã ããŒã«ã¯ Apache Atlas ããã³ Cloudera Navigator ãšã®ã€ã³ã¿ãŒãã§ã€ã¹ãå®è£
ããŸãã åºæ¬çã«ãéçºè
ã¯ãªããžã§ã¯ãã®ã»ããã Atlas ãã£ã¯ã·ã§ããªã«ç»é²ãããããã³ã°ãæ§ç¯ãããšãã«ç»é²ããããªããžã§ã¯ããåç
§ããå¿
èŠããããŸãã ããŒã¿ã®åºæã远跡ãããããªããžã§ã¯ãã®äŸåé¢ä¿ãåæãããããã¡ã«ããºã ã«ãããèšç®ã¢ã«ãŽãªãºã ãæ¹åããå¿
èŠãããå Žåã«æéã倧å¹
ã«ç¯çŽã§ããŸãã ããšãã°ã財åè«žè¡šãäœæããå Žåããã®æ©èœã䜿çšãããšãæ³æ¹æ£ã®ææãããå¿«é©ã«ä¹ãåãããšãã§ããŸãã çµå±ã®ãšããã詳现ãªã¬ã€ã€ãŒã®ãªããžã§ã¯ãã®ã³ã³ããã¹ãã«ããããã©ãŒã éã®äŸåé¢ä¿ãç解ããã°ããã»ã©ããçªç¶ã®ãæ¬ é¥ã«ééããããšãæžããããçŽãã®åæ°ãæžããŸãã
ããŒã¿å質ãšããŒã³ãŒã
Mediascope ãããžã§ã¯ãã®ããŒã³ãŒã ããŒã«ã«ãã£ãŠå®è£ ããããã XNUMX ã€ã®ã¿ã¹ã¯ã¯ãData Quality ã¯ã©ã¹ã®ã¿ã¹ã¯ã§ããã 調æ»äŒç€Ÿã®ãããžã§ã¯ãã«ãããããŒã¿æ€èšŒãã€ãã©ã€ã³ã®å®è£ ã®ç¹åŸŽã¯ãäž»èŠãªããŒã¿èšç®ãããŒã®ããã©ãŒãã³ã¹ãšé床ã«åœ±é¿ãåã°ãªãã£ãããšã§ãã ç¬ç«ããããŒã¿æ€èšŒãããŒã調æŽã§ããããã«ããããã«ããã§ã«äœ¿ãæ £ãã Apache Airflow ã䜿çšãããŸããã ããŒã¿çæã®åã¹ãããã®æºåãæŽããšãDQ ãã€ãã©ã€ã³ã®å¥ã®éšåã䞊è¡ããŠèµ·åãããŸããã
åæãã©ãããã©ãŒã ã§ããŒã¿ãéå§ãããç¬éããããŒã¿ã®å質ãç£èŠããããšã¯ãè¯ãæ¹æ³ã§ãããšèããããŠããŸãã ã¡ã¿ããŒã¿ã«é¢ããæ å ±ãããã°ãæ å ±ããã©ã€ããªå±€ã«å ¥ã£ãç¬éãããnullãå¶çŽãå€éšããŒãªã©ã®åºæ¬æ¡ä»¶ãžã®æºæ ããã§ãã¯ã§ããŸãã ãã®æ©èœã¯ãDatagram ã®ããŒã¿å質ãã¡ããªãŒã®èªåçæããããããã³ã°ã«åºã¥ããŠå®è£ ãããŸãã ãã®å Žåã®ã³ãŒãçæãã¢ãã«ã®ã¡ã¿ããŒã¿ã«åºã¥ããŠããŸãã Mediascope ãããžã§ã¯ãã§ã¯ãEnterprise Architect 補åã®ã¡ã¿ããŒã¿ã䜿çšããŠã€ã³ã¿ãŒãã§ã€ã¹ãå®è¡ãããŸããã
ããŒã³ãŒã ããŒã«ã Enterprise Architect ãšçµã¿åãããããšã§ã次ã®ãã§ãã¯ãèªåçã«çæãããŸããã
- ãnot nullã修食åã䜿çšããŠãã£ãŒã«ãã«ãnullãå€ãååšãããã©ããã確èªããŸãã
- äž»ããŒã®éè€ã®ååšã確èªããŸãã
- ãšã³ãã£ãã£ã®å€éšããŒã確èªããŸãã
- äžé£ã®ãã£ãŒã«ãã«åºã¥ããŠæååã®äžææ§ããã§ãã¯ããŸãã
ããŒã¿ã®å¯çšæ§ãšä¿¡é Œæ§ã®ããè€éãªãã§ãã¯ã®ããã«ãScala Expression ã䜿çšããŠãããã³ã°ãäœæãããŸãããããã¯ãZeppelin ã®ã¢ããªã¹ãã«ãã£ãŠæºåãããå€éš Spark SQL ãã§ã㯠ã³ãŒããå ¥åãšããŠåãåããŸãã
ãã¡ãããå°åæã®èªåçæã¯æ®µéçã«å®çŸããå¿
èŠããããŸãã 説æãããããžã§ã¯ãã®æ çµã¿å
ã§ããã®åã«æ¬¡ã®æé ãå®è¡ããŸããã
- Zeppelin ããŒãããã¯ã« DQ ãå®è£ ãããŸããã
- DQ ã¯ãããã³ã°ã«çµã¿èŸŒãŸããŠããŸãã
- å¥åã®ãšã³ãã£ãã£ã«å¯Ÿãããã§ãã¯ã®ã»ããå šäœãå«ãå¥åã®å€§èŠæš¡ãããã³ã°ã®åœ¢åŒã® DQã
- ã¡ã¿ããŒã¿ããã³ããžãã¹ ãã§ãã¯ã«é¢ããæ å ±ãå ¥åãšããŠåãå ¥ããããŠãããŒãµã«ãªãã©ã¡ãŒã¿ãŒåããã DQ ãããã³ã°ã
ããããããã©ã¡ãŒã¿ãŒåããããã§ã㯠ãµãŒãã¹ãäœæããäž»ãªå©ç¹ã¯ãæ©èœãéçšç°å¢ã«æäŸããã®ã«ãããæéãççž®ãããããšã§ãã æ°ããå質ãã§ãã¯ã§ã¯ãéçºç°å¢ããã¹ãç°å¢ãéããŠéæ¥çã«ã³ãŒããé ä¿¡ãããšããåŸæ¥ã®ãã¿ãŒã³ãåé¿ã§ããŸãã
- EA ã§ã¢ãã«ãå€æŽããããšããã¹ãŠã®ã¡ã¿ããŒã¿ ãã§ãã¯ãèªåçã«çæãããŸãã
- ããŒã¿å¯çšæ§ãã§ã㯠(ããæç¹ã§ã®ããŒã¿ã®ååšã®å€å®) ã¯ããªããžã§ã¯ãã®ã³ã³ããã¹ãã§æ¬¡ã®ããŒã¿ãåºçŸããäºæ³ãããã¿ã€ãã³ã°ãæ ŒçŽãããã£ã¬ã¯ããªã«åºã¥ããŠçæã§ããŸãã
- ããžãã¹ ããŒã¿ã®æ€èšŒãã§ãã¯ã¯ãã¢ããªã¹ãã«ãã£ãŠ Zeppelin ããŒãããã¯ã§äœæãããŸãã ãããããå®çšŒåç°å¢ã® DQ ã¢ãžã¥ãŒã« ã»ããã¢ãã ããŒãã«ã«çŽæ¥éä¿¡ãããŸãã
ã¹ã¯ãªãããéçšç°å¢ã«çŽæ¥éä¿¡ãããªã¹ã¯ã¯ãããŸããã ããšãæ§æãšã©ãŒããã£ããšããŠããããŒã¿èšç®ãããŒãšå質ãã§ãã¯èµ·åãããŒãåé¢ãããŠãããããæ倧ã®è åšã¯ XNUMX ã€ã®ãã§ãã¯ãå®è¡ã§ããªãããšã§ãã
åºæ¬çã«ãDQ ãµãŒãã¹ã¯éçšç°å¢ã§æ°žç¶çã«å®è¡ãããŠããã次ã®ããŒã¿ã衚瀺ãããç¬éã«äœæ¥ãéå§ããæºåãæŽã£ãŠããŸãã
代ããã«ãçµè«ã®
ããŒã³ãŒãã䜿çšããå©ç¹ã¯æããã§ãã éçºè ã¯ã¢ããªã±ãŒã·ã§ã³ãæåããéçºããå¿ èŠã¯ãããŸããã ãŸããããã°ã©ããŒã¯è¿œå ã®ã¿ã¹ã¯ãã解æŸãããããéãçµæãçã¿åºãããšãã§ããŸãã é床ãåäžãããšãæé©åã®åé¡ã解決ããããã®æéãããã«ç¢ºä¿ãããŸãã ãããã£ãŠããã®å Žåã¯ãããåªãããããé«éãªãœãªã¥ãŒã·ã§ã³ãæåŸ ã§ããŸãã
ãã¡ãããããŒã³ãŒãã¯äžèœè¬ã§ã¯ãªããéæ³ãåç¬ã§èµ·ããããã§ã¯ãããŸããã
- ããŒã³ãŒãæ¥çã¯ã匷åã段éãè¿ããŠããŸãããçµ±äžãããæ¥çæšæºã¯ãŸã ãããŸããã
- å€ãã®ããŒã³ãŒã ãœãªã¥ãŒã·ã§ã³ã¯ç¡æã§ã¯ãªããããããããè³Œå ¥ããããšã¯æèçãªã¹ãããã§ããå¿ èŠãããããããã䜿çšããããšã«ããçµæžçã¡ãªãããååã«ç¢ºä¿¡ããŠè¡ãå¿ èŠããããŸãã
- ããŒã³ãŒã ãœãªã¥ãŒã·ã§ã³ã®å€ãã¯ãGIT/SVN ã§ã¯å¿ ãããããŸãæ©èœãããšã¯éããŸããã ãããã¯ãçæãããã³ãŒããé衚瀺ã«ãªã£ãŠããå Žåã¯äœ¿çšãäžäŸ¿ã§ãã
- ã¢ãŒããã¯ãã£ãæ¡åŒµããå ŽåãããŒã³ãŒã ãœãªã¥ãŒã·ã§ã³ãæ¹è¯ããå¿ èŠãããå ŽåããããŸããããã«ãããããŒã³ãŒã ãœãªã¥ãŒã·ã§ã³ã®ãµãã©ã€ã€ãŒã«å¯ŸãããæçãšäŸåãã®åœ±é¿ãåŒãèµ·ããããŸãã
- é©åãªã¬ãã«ã®ã»ãã¥ãªãã£ã¯å¯èœã§ãããéåžžã«åŽåãããããããŒã³ãŒã ã·ã¹ãã ãšã³ãžã³ã«å®è£ ããã®ã¯å°é£ã§ãã ããŒã³ãŒã ãã©ãããã©ãŒã ã¯ããã®äœ¿çšã«ããã¡ãªãããè¿œæ±ãããšããååã ãã§éžæãããã¹ãã§ã¯ãããŸããã éžæãããšãã¯ãã¢ã¯ã»ã¹å¶åŸ¡æ©èœã®å¯çšæ§ãšãçµç¹ã® IT ã©ã³ãã¹ã±ãŒãå šäœã®ã¬ãã«ãžã®èå¥ããŒã¿ã®å§ä»»/ãšã¹ã«ã¬ãŒã·ã§ã³ã«ã€ããŠè³ªåãã䟡å€ããããŸãã
ãã ããéžæããã·ã¹ãã ã®æ¬ ç¹ããã¹ãŠããã£ãŠããŠãããã«ããããããããã®ã·ã¹ãã ã䜿çšããããšã«ããã¡ãªãããå§åçå€æ°ãå ããŠããå Žåã¯ãæããããšãªãå°ããªã³ãŒãã«ç§»è¡ããŠãã ããã ããã«ãããããé²åãé¿ããããªãã®ãšåãããã«ããããžã®ç§»è¡ãé¿ããããŸããã
ããŒã³ãŒã ãã©ãããã©ãŒã ã䜿çšãã XNUMX 人ã®éçºè ããããŒã³ãŒãã䜿çšããªã XNUMX 人ã®éçºè ãããæ©ãä»äºãéè¡ã§ããã°ãäŒæ¥ã¯ããããç¹ã§æå©ãªã¹ã¿ãŒããåãããšãã§ããŸãã ããŒã³ãŒã ãœãªã¥ãŒã·ã§ã³ãžã®åå ¥ã®æ·å± ã¯ãåŸæ¥ã®ããã¯ãããžã«æ¯ã¹ãŠäœããããã人æäžè¶³ã®åé¡ã«ãã©ã¹ã®åœ±é¿ãäžããŠããŸãã ããŒã³ãŒã ããŒã«ã䜿çšãããšãæ©èœããŒã éã®å¯Ÿè©±ãé«éåããããŒã¿ ãµã€ãšã³ã¹ç 究ã®éžæããããã¹ã®æ£ããã«ã€ããŠããè¿ éãªææ決å®ãè¡ãããšãã§ããŸãã äœã¬ãã«ã®ãã©ãããã©ãŒã ã¯ãäœæããããœãªã¥ãŒã·ã§ã³ãæè¡å°éå®¶ä»¥å€ (ç¹ã«ããžãã¹ ãŠãŒã¶ãŒ) ã«ãç解ã§ãããããçµç¹ã®ããžã¿ã«å€é©ãæšé²ã§ããŸãã
çŽæãå³ãããããžãã¹ ããžãã¯ãæºèŒã§ãæè¡çãªå°éç¥èãäžè¶³ããŠãããåžå Žæå ¥ãŸã§ã®æéãççž®ããå¿ èŠãããå ŽåãããŒã³ãŒãã¯ããŒãºãæºãã XNUMX ã€ã®æ¹æ³ã§ãã
åŸæ¥ã®éçºããŒã«ã®éèŠæ§ã¯åŠå®ã§ããŸããããå€ãã®å ŽåãããŒã³ãŒã ãœãªã¥ãŒã·ã§ã³ã䜿çšããããšãã解決ãããã¿ã¹ã¯ã®å¹çãé«ããæåã®æ¹æ³ã§ãã
åºæïŒ habr.com