éå»çŽ XNUMX ãæéãç§ã¯äžæ£è¡çº (äžæ£è¡çºãäžæ£è¡çºãªã©) ã«å¯ŸåŠããããã®ã·ã¹ãã ãããã®ããã®åæã€ã³ãã©ã¹ãã©ã¯ãã£ãªãã§äœæããŠããŸããã ç§ãã¡ãèŠã€ããŠã·ã¹ãã ã«å®è£
ããä»æ¥ã®ã¢ã€ãã¢ã¯ãå€ãã®äžæ£è¡çºã®æ€åºãšåæã«åœ¹ç«ã¡ãŸãã ãã®èšäºã§ã¯ãæè¡çãªéšåã«ã¯ç«ã¡å
¥ããã«ãç§ãã¡ãåŸã£ãååãšãã·ã¹ãã ã®çŸåšã®ç¶æ
ãéæããããã«äœããããã«ã€ããŠè©±ããããšæããŸãã
ç§ãã¡ã®ã·ã¹ãã ã®åå
ãèªåãããè©æ¬ºããªã©ã®çšèªãèããšãããããæ©æ¢°åŠç¿ãApache SparkãHadoopãPythonãAirflowãããã³ Apache Foundation ãšã³ã·ã¹ãã ãããŒã¿ ãµã€ãšã³ã¹åéã®ãã®ä»ã®ãã¯ãããžãŒã«ã€ããŠèãå§ããã§ãããã ãããã®ããŒã«ã®äœ¿çšã«ã¯ãéåžžã¯èšåãããªãåŽé¢ããããšæããŸããããã¯ã䜿çšããåã«ãšã³ã¿ãŒãã©ã€ãº ã·ã¹ãã ã«ç¹å®ã®åææ¡ä»¶ãæŽã£ãŠããå¿ èŠããããšããããšã§ãã ã€ãŸããããŒã¿ ã¬ã€ã¯ãšã¹ãã¬ãŒãžãå«ããšã³ã¿ãŒãã©ã€ãº ããŒã¿ ãã©ãããã©ãŒã ãå¿ èŠã§ãã ãããããã®ãããªãã©ãããã©ãŒã ããªããããã§ããã®ãã©ã¯ãã£ã¹ãéçºããå¿ èŠãããå Žåã¯ã©ãããã°ããã§ãããã? 以äžã§èª¬æããååã¯ãå®çšçãªã¢ã€ãã¢ãèŠã€ããã®ã§ã¯ãªããã¢ã€ãã¢ãæ¹åããããšã«éäžã§ããç¹ã«å°éããã®ã«åœ¹ç«ã¡ãŸããã ãã ããããã¯ãããžã§ã¯ãã®ãåæ»æãã§ã¯ãããŸããã èšç»ã«ã¯æè¡é¢ãšè£œåé¢ã§ããã«å€ãã®ããšãå«ãŸããŠããŸãã
åå 1: ããžãã¹äŸ¡å€ã第äžã«
ç§ãã¡ã¯ãããžãã¹äŸ¡å€ããããããåãçµã¿ã®æåç·ã«çœ®ããŸãã äžè¬ã«ãèªååæã·ã¹ãã ã¯ãé«åºŠãªèªååãšæè¡çãªè€éæ§ãåããè€éãªã·ã¹ãã ã®ã°ã«ãŒãã«å±ããŸãã å®å šãªãœãªã¥ãŒã·ã§ã³ãæåããäœæãããšãéåžžã«æéãããããŸãã ç§ãã¡ã¯ããžãã¹äŸ¡å€ã第äžã«èããæè¡ã®æç床ã第äºã«èããããšã«ããŸããã å®ç掻ã§ã¯ãããã¯ç§ãã¡ãå é²æè¡ãå®èª¬ãšããŠåãå ¥ããªãããšãæå³ããŸãã ç§ãã¡ã¯ãçŸæç¹ã§æé©ãªãã¯ãããžãŒãéžæããŸãã æéãçµã€ãšãããã€ãã®ã¢ãžã¥ãŒã«ãåå®è£ ããå¿ èŠãããããã«èŠãããããããŸããã ãããç§ãã¡ãåãå ¥ãã劥åæ¡ã§ãã
åå 2: æ¡åŒµç¥èœ
æ©æ¢°åŠç¿ãœãªã¥ãŒã·ã§ã³ã®éçºã«æ·±ãé¢ãã£ãŠããªã人ã®ã»ãšãã©ã¯ã人éã®ä»£æ¿ãç®æšã§ãããšèãããããããŸããã å®éãæ©æ¢°åŠç¿ãœãªã¥ãŒã·ã§ã³ã¯å®ç§ãšã¯çšé ãã眮ãæããå¯èœãªã®ã¯ç¹å®ã®é åã®ã¿ã§ãã ç§ãã¡ã¯ãäžæ£è¡çºã«é¢ããããŒã¿ã®äžåè¡¡ãšãæ©æ¢°åŠç¿ã¢ãã«ã®æ©èœã®å®å šãªãªã¹ããæäŸã§ããªããšããããã€ãã®çç±ãããæåãããã®ã¢ã€ãã¢ãæŸæ£ããŸããã å¯Ÿç §çã«ãç§ãã¡ã¯æ¡åŒµã€ã³ããªãžã§ã³ã¹ ãªãã·ã§ã³ãéžæããŸããã ããã¯ãAI ã®ãµããŒãçãªåœ¹å²ã«çŠç¹ãåœãŠã人工ç¥èœã®ä»£æ¿æŠå¿µã§ãããèªç¥æè¡ã人éã®ç¥èœã«åã£ãŠä»£ãããã®ã§ã¯ãªãã匷åããããã«èšèšãããŠãããšããäºå®ã匷調ããŠããŸãã [1]
ããã念é ã«çœ®ããšãæåããå®å šãªæ©æ¢°åŠç¿ãœãªã¥ãŒã·ã§ã³ãéçºããã«ã¯å€å€§ãªåŽåãå¿ èŠãšãªããããžãã¹ã®äŸ¡å€åµé ãé ããŠããŸããŸãã ç§ãã¡ã¯ããã¡ã€ã³å°é家ã®æå°ã®äžãæ©æ¢°åŠç¿ã®å埩çã«æé·ããåŽé¢ãåããã·ã¹ãã ãæ§ç¯ããããšã«ããŸããã ãã®ãããªã·ã¹ãã ã®éçºã§é£ããã®ã¯ããããäžæ£è¡çºã§ãããã©ããã ãã§ã¯ãªããã¢ããªã¹ãã«ã±ãŒã¹ã¹ã¿ãã£ãæäŸããå¿ èŠãããããšã§ãã äžè¬ã«ã顧客ã®è¡åã®ç°åžžã¯äžå¯©ãªã±ãŒã¹ã§ãããå°é家ã調æ»ããäœããã®å¯Ÿå¿ãããå¿ èŠããããŸãã ãããã®èšé²ãããäºä»¶ã®ãã¡ãå®éã«è©æ¬ºãšããŠåé¡ã§ããã®ã¯ã»ãã®ãããã§ãã
åå 3: è±å¯ãªåæãã©ãããã©ãŒã
ç§ãã¡ã®ã·ã¹ãã ã§æãé£ããéšåã¯ãã·ã¹ãã ã®ã¯ãŒã¯ãããŒã®ãšã³ãããŒãšã³ãã®æ€èšŒã§ãã ã¢ããªã¹ããšéçºè ã¯ãåæã«äœ¿çšããããã¹ãŠã®ææšãå«ãå±¥æŽããŒã¿ã»ãããç°¡åã«ååŸã§ããå¿ èŠããããŸãã ããã«ãããŒã¿ ãã©ãããã©ãŒã ã¯ãæ¢åã®ææšã»ãããæ°ããææšã§è£å®ããç°¡åãªæ¹æ³ãæäŸããå¿ èŠããããŸãã ç§ãã¡ãäœæããããã»ã¹ã¯ãåãªããœãããŠã§ã¢ ããã»ã¹ã§ã¯ãªããåã®æéã®åèšç®ãæ°ããææšã®è¿œå ãããŒã¿äºæž¬ã®å€æŽã容æã«ããå¿ èŠããããŸãã ããã¯ãå®çšŒåã·ã¹ãã ãçæãããã¹ãŠã®ããŒã¿ãèç©ããããšã§å®çŸã§ããŸãã ãããªããšãã ãã ããšããŒã¿ãéªéã«ãªã£ãŠããŸãã å¢ãç¶ãã䜿çšããªãããŒã¿ãä¿åããä¿è·ããå¿ èŠããããŸãã ãã®ãããªã·ããªãªã§ã¯ãããŒã¿ã¯æéã®çµéãšãšãã«ãŸããŸãç¡é¢ä¿ã«ãªããŸãããããã§ãããŒã¿ã管çããåªåãå¿ èŠã§ãã ç§ãã¡ã«ãšã£ãŠãããŒã¿ã®èç©ã¯æå³ããªãã£ãã®ã§ãå¥ã®ã¢ãããŒãã䜿çšããããšã«ããŸããã ç§ãã¡ã¯ãåé¡ããã察象ãšã³ãã£ãã£ãäžå¿ã«ãªã¢ã«ã¿ã€ã ããŒã¿ ãŠã§ã¢ããŠã¹ãç·šæããææ°ã®æéã確èªã§ããããŒã¿ã®ã¿ãä¿åããããšã«ããŸããã ãã®åãçµã¿ã®èª²é¡ã¯ãç§ãã¡ã®ã·ã¹ãã ãè€æ°ã®ããŒã¿ ã¹ãã¢ãšãœãããŠã§ã¢ ã¢ãžã¥ãŒã«ãåããç°æ©çš®æ··åã§ãããäžè²«ããæ¹æ³ã§åäœãããã«ã¯æ éãªèšç»ãå¿ èŠã§ããããšã§ãã
åœç€Ÿã·ã¹ãã ã®èšèšã³ã³ã»ãã
ç§ãã¡ã®ã·ã¹ãã ã«ã¯ãåã蟌ã¿ã·ã¹ãã ãèšç®ã·ã¹ãã ãBI åæã远跡ã·ã¹ãã ãšãã XNUMX ã€ã®äž»èŠã³ã³ããŒãã³ãããããŸãã ãããã¯ç¹å®ã®åé¢ãããç®çãæãããŠãããç§ãã¡ã¯ç¹å®ã®éçºã¢ãããŒãã«åŸã£ãŠããããåé¢ãããŸãŸã«ããŠããŸãã
å¥çŽã«åºã¥ããèšèš
ãŸãæåã«ãã³ã³ããŒãã³ãã¯ã³ã³ããŒãã³ãéã§åãæž¡ãããç¹å®ã®ããŒã¿æ§é (ã³ã³ãã©ã¯ã) ã®ã¿ã«äŸåãã¹ãã§ãããšããããšã«åæããŸããã ããã«ãããã³ã³ããŒãã³ãéã®çµ±åã容æã«ãªããã³ã³ããŒãã³ãã®ç¹å®ã®æ§æ (ããã³é åº) ã匷å¶ããå¿ èŠããªããªããŸãã ããšãã°ãå Žåã«ãã£ãŠã¯ãããã«ããåä¿¡ã·ã¹ãã ãã¢ã©ãŒã远跡ã·ã¹ãã ãšçŽæ¥çµ±åã§ããããã«ãªããŸãã ãã®å Žåãããã¯åæãããéç¥å¥çŽã«åŸã£ãŠè¡ãããŸãã ããã¯ãä»ã®ã³ã³ããŒãã³ãã䜿çšã§ããã³ã³ãã©ã¯ãã䜿çšããŠãäž¡æ¹ã®ã³ã³ããŒãã³ããçµ±åãããããšãæå³ããŸãã å ¥åã·ã¹ãã ãã远跡ã·ã¹ãã ã«ã¢ã©ãŒããè¿œå ããããã®è¿œå ã®å¥çŽã¯è¿œå ããŸããã ãã®ã¢ãããŒãã§ã¯ããããããå®ããããæå°æ°ã®å¥çŽã䜿çšããå¿ èŠããããã·ã¹ãã ãšéä¿¡ãç°¡çŽ åãããŸãã åºæ¬çã«ãç§ãã¡ã¯ãContract First DesignããšåŒã°ããã¢ãããŒããæ¡çšããŠããããããã¹ããªãŒãã³ã°å¥çŽã«é©çšããŠããŸãã [2]
ã©ãã§ãã¹ããªãŒãã³ã°
ã·ã¹ãã å ã§ç¶æ ãä¿åããã³ç®¡çãããšãå¿ ç¶çã«å®è£ ãè€éã«ãªããŸãã äžè¬ã«ãç¶æ ã¯ã©ã®ã³ã³ããŒãã³ããããã¢ã¯ã»ã¹ã§ããå¿ èŠããããç¶æ ã¯äžè²«æ§ãããããã¹ãŠã®ã³ã³ããŒãã³ãã«ããã£ãŠææ°ã®å€ãæäŸããå¿ èŠããããæ£ããå€ã§ä¿¡é Œã§ãããã®ã§ãªããã°ãªããŸããã ããã«ãææ°ã®ç¶æ ãååŸããããã«æ°žç¶ã¹ãã¬ãŒãžãåŒã³åºããšãI/O ã®éãå¢å ãããªã¢ã«ã¿ã€ã ãã€ãã©ã€ã³ã§äœ¿çšãããã¢ã«ãŽãªãºã ãè€éã«ãªããŸãã ãã®ãããå¯èœã§ããã°ç¶æ ã¹ãã¬ãŒãžãã·ã¹ãã ããå®å šã«åé€ããããšã«ããŸããã ãã®ã¢ãããŒãã§ã¯ãéä¿¡ãããããŒã¿ ãŠããã (ã¡ãã»ãŒãž) ã«å¿ èŠãªããŒã¿ããã¹ãŠå«ãŸããŠããå¿ èŠããããŸãã ããšãã°ãããã€ãã®èŠ³æž¬å€ã®åèšæ° (ç¹å®ã®ç¹æ§ãæã€æäœãŸãã¯ã±ãŒã¹ã®æ°) ãèšç®ããå¿ èŠãããå Žåãã¡ã¢ãªå ã§èšç®ãããã®ãããªå€ã®ã¹ããªãŒã ãçæããŸãã äŸåã¢ãžã¥ãŒã«ã¯ããŒãã£ã·ã§ãã³ã°ãšãããåŠçã䜿çšããŠã¹ããªãŒã ããšã³ãã£ãã£ããšã«åå²ããææ°ã®å€ãæäœããŸãã ãã®ã¢ãããŒãã«ããããã®ãããªããŒã¿ãä¿åããããã®æ°žç¶ãã£ã¹ã¯ ã¹ãã¬ãŒãžãå¿ èŠãªããªããŸããã ç§ãã¡ã®ã·ã¹ãã ã¯ã¡ãã»ãŒãž ãããŒã«ãŒãšã㊠Kafka ã䜿çšããŠãããKSQL ã䜿çšããŠããŒã¿ããŒã¹ãšããŠäœ¿çšã§ããŸãã [3] ããããããã䜿çšãããšãç§ãã¡ã®ãœãªã¥ãŒã·ã§ã³ã Kafka ã«åŒ·ãçµã³ã€ããŠããŸããããç§ãã¡ã¯ããã䜿çšããªãããšã«ããŸããã ç§ãã¡ãéžæããã¢ãããŒãã«ãããã·ã¹ãã ã«å€§ããªå éšå€æŽãå ããããšãªããKafka ãå¥ã®ã¡ãã»ãŒãž ãããŒã«ãŒã«çœ®ãæããããšãã§ããŸãã
ãã®æŠå¿µã¯ããã£ã¹ã¯ ã¹ãã¬ãŒãžãããŒã¿ããŒã¹ã䜿çšããªããšããæå³ã§ã¯ãããŸããã ã·ã¹ãã ã®ããã©ãŒãã³ã¹ããã§ãã¯ããŠåæããã«ã¯ãããŸããŸãªææšãç¶æ ãè¡šã倧éã®ããŒã¿ããã£ã¹ã¯ã«ä¿åããå¿ èŠããããŸãã ããã§éèŠãªç¹ã¯ããªã¢ã«ã¿ã€ã ã¢ã«ãŽãªãºã ã¯ãã®ãããªããŒã¿ã«äŸåããªããšããããšã§ãã ã»ãšãã©ã®å Žåãä¿åãããããŒã¿ã¯ããªãã©ã€ã³åæããããã°ãç¹å®ã®ã±ãŒã¹ãšã·ã¹ãã ãçæããçµæã®è¿œè·¡ã«äœ¿çšãããŸãã
ã·ã¹ãã ã®åé¡
ããçšåºŠã®ã¬ãã«ãŸã§è§£æ±ºã§ããåé¡ããããŸãããããææ ®æ·±ã解決çãå¿ èŠã§ãã ããããã®é ç®ã«ã¯ç¬ç«ããèšäºãäœæãã䟡å€ããããããä»ã®ãšããã¯ããã§ã®ã¿èšåããããšæããŸãã
- ããŒã¿ã®èªååæãçºèŠãæ¢çŽ¢ã®ããã«æå³ã®ããé¢é£ããŒã¿ãçæããã®ã«åœ¹ç«ã€ããã»ã¹ãšããªã·ãŒãå®çŸ©ããå¿ èŠããããŸãã
- ã·ã¹ãã ãèªåãã¥ãŒãã³ã°ããŠææ°ã®ããŒã¿ã«æŽæ°ããäœæ¥äžã®äººã«ããåæçµæã®çŽ¹ä»ã ããã¯ã¢ãã«ã®æŽæ°ã§ããã ãã§ãªããããã»ã¹ã®æŽæ°ãšããŒã¿ã®ç解ã®åäžã§ããããŸãã
- IF-ELSE ãš ML ã®æ±ºå®è«çã¢ãããŒãã®éã®ãã©ã³ã¹ãèŠã€ããã ãã人ã¯ãML ã¯çµ¶æçãªäººã ã®ããã®ããŒã«ã§ããããšèšããŸããã ããã¯ãã¢ã«ãŽãªãºã ãæé©åããã³æ¹åããæ¹æ³ãåãããªããªã£ããšãã« ML ã䜿çšããå¿ èŠãããããšãæå³ããŸãã äžæ¹ã決å®è«çã¢ãããŒãã§ã¯ãäºèŠã§ããªãã£ãç°åžžãæ€åºããããšã¯ã§ããŸããã
- ããŒã¿å ã®ã¡ããªã¯ã¹éã®ä»®èª¬ãçžé¢é¢ä¿ããã¹ãããç°¡åãªæ¹æ³ãå¿ èŠã§ãã
- ã·ã¹ãã ã«ã¯è€æ°ã¬ãã«ã®çéœæ§çµæãå¿ èŠã§ãã è©æ¬ºäºä»¶ã¯ãã·ã¹ãã ã«ãšã£ãŠãã©ã¹ãšã¿ãªãããå šäºä»¶ã®ã»ãã®äžéšã«ãããŸããã ããšãã°ãã¢ããªã¹ãã¯æ€èšã®ããã«ãã¹ãŠã®çãããã±ãŒã¹ãåãåããããšèããŠããŸããããã®ãã¡ã®ã»ãã®äžéšã ããäžæ£ã§ãã ã·ã¹ãã ã¯ãå®éã®è©æ¬ºã§ãããåãªãçãããè¡çºã§ãããã«ãããããããã¹ãŠã®ã±ãŒã¹ãã¢ããªã¹ãã«å¹æçã«æäŸããå¿ èŠããããŸãã
- ããŒã¿ ãã©ãããã©ãŒã ã¯ããã®å Žã§äœæããã³èšç®ãããèšç®ãå«ãå±¥æŽããŒã¿ã»ãããååŸã§ããå¿ èŠããããŸãã
- å°ãªããšã XNUMX ã€ã®ç°ãªãç°å¢ (éçšç°å¢ãå®éšç°å¢ (ããŒã¿)ãéââçºè åã) ã§ã®ã·ã¹ãã ã³ã³ããŒãã³ãã®ããããã®ã·ã³ãã«ãã€èªåå±éã
- ãããŠæåŸã«å€§äºãªããšãèšãå¿ããŸããã ã¢ãã«ãåæã§ããåºç¯ãªãã³ãããŒã¯ ãã©ãããã©ãŒã ãäœæããå¿ èŠããããŸãã [4]
ãªãã¡ã¬ã³ã¹
æ¡åŒµç¥èœãšã¯äœã§ãã? API ãã¡ãŒã¹ãã®èšèšææ³ã®å®è£ Kafka ããã€ãã³ã ã¹ããªãŒãã³ã° ããŒã¿ããŒã¹ãã«å€èº« AUCâROC æ²ç·ã«ã€ããŠ
åºæïŒ habr.com