éåžžã«èå³æ·±ã圹ç«ã€å¥ã®ãªãªãŒã¹ããªãªãŒã¹ããããšããç¥ããããŸãã
Kubernetes ã¯ãåŸæ¥ã®ã¢ããªã±ãŒã·ã§ã³éçºãšãããã€ã¡ã³ãã®ãã¿ãŒã³ãæ ¹æ¬çã«å€ããŸãããããŒã ã¯ãKubernetes ã¯ã©ã¹ã¿ãŒå ã®è€æ°ã®ç°å¢ã«ããã£ãŠãæ°æ¥ã§ã¢ããªã±ãŒã·ã§ã³ãéçºããã¹ãããããã€ã§ããããã«ãªããŸãããåäžä»£ã®ãã¯ãããžãŒã䜿çšãããã®ãããªäœæ¥ã«ã¯ãéåžžãæ°ãæãšã¯èšããªããŸã§ããæ°é±éããããŸããã
ãã®é«éåã¯ãKubernetes ã«ãã£ãŠæäŸãããæœè±¡åã«ãã£ãŠå¯èœã«ãªããŸããã€ãŸããKubernetes èªäœãç©çãã·ã³ãŸãã¯ä»®æ³ãã·ã³ã®äœã¬ãã«ã®è©³çŽ°ãšå¯Ÿè©±ãããŠãŒã¶ãŒãå¿ èŠãªããã»ããµãŒãå¿ èŠãªã¡ã¢ãªéãããã³ã³ã³ãããŒã®æ°ã宣èšã§ããããã§ããã€ã³ã¹ã¿ã³ã¹ãªã©ã®ãã©ã¡ãŒã¿ã Kubernetes ããµããŒããã巚倧ãªã³ãã¥ããã£ãšãã®å°å ¥ãç¶ç¶çã«æ¡å€§ããŠãããããKubernetes ã¯ãã¹ãŠã®ã³ã³ãã ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ ãã©ãããã©ãŒã ã®äžã§å€§å·®ãä»ããŠãªãŒããŒãšãªã£ãŠããŸãã
Kubernetes ã®äœ¿çšãå¢ããã«ã€ããŠããã®ã¹ãã¬ãŒãž ãã¿ãŒã³ã«é¢ããæ··ä¹±ãå¢ããŠããŸãã.
Kubernetes ã®ã〠(ã€ãŸããããŒã¿ ã¹ãã¬ãŒãž) ã®äžéšã誰ãã奪ãåã£ãŠãããããããŒã¿ ã¹ãã¬ãŒãžã«ã€ããŠè©±ããšãªããšãä¿¡å·ã¯å€ãã®ãã€ãºã«ããæ¶ãããŠããŸããŸãã
Kubernetes ã¯ãã¢ããªã±ãŒã·ã§ã³ã®éçºãå±éã管çã®ããã®ææ°ã®ã¢ãã«ãå
·äœåããŠããŸãããã®ææ°ã®ã¢ãã«ã¯ãããŒã¿ ã¹ãã¬ãŒãžãèšç®ããåãé¢ããŸãã Kubernetes ã®ã³ã³ããã¹ãã§ãã¿ããã¡ã³ããå®å
šã«ç解ããã«ã¯ãã¹ããŒããã« ã¢ããªã±ãŒã·ã§ã³ãšã¹ããŒãã¬ã¹ ã¢ããªã±ãŒã·ã§ã³ãšã¯äœãããããŠããŒã¿ ã¹ãã¬ãŒãžãããã«ã©ã®ããã«é©åããããç解ããå¿
èŠããããŸããããã§ãS3 ã§äœ¿çšããã REST API ã¢ãããŒãã«ã¯ãä»ã®ãœãªã¥ãŒã·ã§ã³ã® POSIX/CSI ã¢ãããŒãã«æ¯ã¹ãŠæãããªå©ç¹ããããŸãã
ãã®èšäºã§ã¯ãKubernetes ã®ããŒã¿ ã¹ãã¬ãŒãž ãã¿ãŒã³ã«ã€ããŠèª¬æããç¹ã«ã¹ããŒããã« ã¢ããªã±ãŒã·ã§ã³ãšã¹ããŒãã¬ã¹ ã¢ããªã±ãŒã·ã§ã³ã®éã®è°è«ã«è§ŠããŠãäž¡è ã®éããšããããªãéèŠã§ããããããæ·±ãç解ããŸããæ¬æã®æ®ãã®éšåã§ã¯ãã³ã³ãããŒãš Kubernetes ãæäœããããã®ãã¹ã ãã©ã¯ãã£ã¹ãèæ ®ããŠãã¢ããªã±ãŒã·ã§ã³ãšãã®ããŒã¿ ã¹ãã¬ãŒãž ãã¿ãŒã³ã«ã€ããŠèª¬æããŸãã
ã¹ããŒãã¬ã¹ã³ã³ãã
ã³ã³ãããŒã¯æ¬è³ªçã«è»œéã§äžæçãªãã®ã§ãããããã¯æ°ç§ã§ç°¡åã«åæ¢ãåé€ããŸãã¯å¥ã®ããŒãã«ãããã€ã§ããŸãã倧èŠæš¡ãªã³ã³ãã ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ ã·ã¹ãã ã§ã¯ããã®ãããªæäœãåžžã«çºçããŠããããŠãŒã¶ãŒã¯ãã®ãããªå€åã«ããæ°ã¥ããŸããããã ãã移åã¯ãã³ã³ãããŒãé 眮ãããŠããããŒãã«äŸåé¢ä¿ããªãå Žåã«ã®ã¿å¯èœã§ãããã®ãããªã³ã³ããã¯æ©èœãããšèšãããŠããŸã ã¹ããŒãã¬ã¹.
ã¹ããŒããã«ã³ã³ãã
ã³ã³ãããŒãããŒã«ã«ã«æ¥ç¶ãããããã€ã¹ (ãŸãã¯ããã㯠ããã€ã¹) ã«ããŒã¿ãä¿åããŠããå Žåãé害ãçºçããå Žåããã®ã³ã³ãããŒãååšããããŒã¿ ã¹ãã¢ãã³ã³ãããŒèªäœãšãšãã«æ°ããããŒãã«ç§»åããå¿ èŠããããŸããããã¯éèŠã§ããããããªããšãã³ã³ããå ã§å®è¡ãããŠããã¢ããªã±ãŒã·ã§ã³ãããŒã«ã« ã¡ãã£ã¢ã«ä¿åãããŠããããŒã¿ã«ã¢ã¯ã»ã¹ããå¿ èŠããããããé©åã«æ©èœã§ããªããªããŸãããã®ãããªã³ã³ããã¯æ©èœãããšèšãããŠããŸã ã¹ããŒããã«.
çŽç²ã«æè¡çãªèŠ³ç¹ããèŠããšãã¹ããŒããã« ã³ã³ãããä»ã®ããŒãã«ç§»åããããšãã§ããŸããããã¯éåžžãã³ã³ãããå®è¡ããŠãããã¹ãŠã®ããŒãã«æ¥ç¶ãããåæ£ãã¡ã€ã« ã·ã¹ãã ãŸãã¯ããã㯠ãããã¯ãŒã¯ ã¹ãã¬ãŒãžã䜿çšããŠå®çŸãããŸãããã®ããã«ããŠãã³ã³ããã¯æ°žç¶çãªããŒã¿ ã¹ãã¬ãŒãžã®ããªã¥ãŒã ã«ã¢ã¯ã»ã¹ããæ å ±ã¯ãããã¯ãŒã¯å šäœã«é 眮ããããã£ã¹ã¯ã«ä¿åãããŸãããã®ã¡ãœããããããšåŒã³ãŸããã¹ããŒããã«ã³ã³ããã¢ãããŒãããšãããŸããããã®èšäºã®æ®ãã®éšåã§ã¯ãçµ±äžã®ããã«ããåŒã¶ããšã«ããŸãã
äžè¬çãªã¹ããŒããã« ã³ã³ããã®ã¢ãããŒãã§ã¯ããã¹ãŠã®ã¢ããªã±ãŒã·ã§ã³ ããããåäžã®åæ£ãã¡ã€ã« ã·ã¹ãã (ãã¹ãŠã®ã¢ããªã±ãŒã·ã§ã³ ããŒã¿ãååšããå
±æã¹ãã¬ãŒãžã®äžçš®) ã«æ¥ç¶ãããŸããããã€ãã®ããªãšãŒã·ã§ã³ãå¯èœã§ãããããã¯é«ã¬ãã«ã®ã¢ãããŒãã§ãã
次ã«ãã¯ã©ãŠãäžå¿ã®äžçã«ãããŠã¹ããŒããã« ã³ã³ããã®ã¢ãããŒããã¢ã³ããã¿ãŒã³ã§ããçç±ãèŠãŠã¿ãŸãããã
ã¯ã©ãŠããã€ãã£ããªã¢ããªã±ãŒã·ã§ã³èšèš
åŸæ¥ãã¢ããªã±ãŒã·ã§ã³ã¯æ å ±ã®æ§é åã¹ãã¬ãŒãžãšããŠããŒã¿ããŒã¹ã䜿çšãããã¹ãŠã®éæ§é åããŒã¿ãŸãã¯åæ§é åããŒã¿ããã³ããããããŒã«ã« ãã£ã¹ã¯ãŸãã¯åæ£ãã¡ã€ã« ã·ã¹ãã ã䜿çšããŠããŸãããéæ§é åããŒã¿ã®éãå¢å ããã«ã€ããŠãéçºè ã¯ãPOSIX ã¯ãããã¹ããå€ãããŠãªãŒããŒãããã倧ãããæçµçã«ã¯æ¬åœã«å€§èŠæš¡ãªã¹ã±ãŒã«ã«ç§»è¡ãããšãã«ã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ã劚ããããšã«æ°ã¥ããŸããã
ããã¯äž»ã«ãããŒã¿ ã¹ãã¬ãŒãžã®æ°ããæšæºãã€ãŸã䞻㫠REST API ã«åºã¥ããŠåäœããããŒã«ã« ããŒã¿ ã¹ãã¬ãŒãžã®ç ©ãããã¡ã³ããã³ã¹ããã¢ããªã±ãŒã·ã§ã³ã解æŸããã¯ã©ãŠãããŒã¹ã®ã¹ãã¬ãŒãžã®åºçŸã«è²¢ç®ããŸããããã®å Žåãã¢ããªã±ãŒã·ã§ã³ã¯å¹æçã«ã¹ããŒãã¬ã¹ ã¢ãŒãã«ãªããŸã (ç¶æ ããªã¢ãŒã ã¹ãã¬ãŒãžã«ãããã)ãææ°ã®ã¢ããªã±ãŒã·ã§ã³ã¯ããã®èŠçŽ ã念é ã«çœ®ããŠãŒãããæ§ç¯ãããŠããŸããååãšããŠãäœããã®çš®é¡ã®ããŒã¿ (ãã°ãã¡ã¿ããŒã¿ãBLOB ãªã©) ãåŠçããææ°ã®ã¢ããªã±ãŒã·ã§ã³ã¯ãç¶æ ããã®ã¹ãã¬ãŒãžå°çšã®ãœãããŠã§ã¢ ã·ã¹ãã ã«è»¢éãããã¯ã©ãŠãæåã®ãã©ãã€ã ã«åŸã£ãŠæ§ç¯ãããŸãã
ã¹ããŒããã« ã³ã³ããã®ã¢ãããŒãã«ããããã®ãã©ãã€ã å šäœããŸãã«åºçºç¹ã«æ»ããŸãã
POSIX ã€ã³ã¿ãŒãã§ã€ã¹ã䜿çšããŠããŒã¿ãä¿åããããšã«ãããã¢ããªã±ãŒã·ã§ã³ã¯ã¹ããŒããã«ã§ãããã®ããã«åäœããŸãããã®ãããã¢ããªã±ãŒã·ã§ã³ã¯ãã¯ã©ãŠãäžå¿ã®èšèšã®æãéèŠãªååãã€ãŸããåä¿¡ããŒã¿ã«å¿ããŠã¢ããªã±ãŒã·ã§ã³ ã¯ãŒã«ãŒ ã¹ã¬ããã®ãµã€ãºãå€æŽããæ©èœããéžè±ããŸãã input.loadãçŸåšã®ããŒãã«é害ãçºçãããšããã«æ°ããããŒãã«ç§»åããããªã©ã§ãã
ãã®ç¶æ³ã詳ããèŠãŠã¿ããšãããŒã¿ ã¹ãã¢ãéžæããéã«ãPOSIX ãš REST API ã®ãžã¬ã³ãã«äœåºŠãçŽé¢ããŠããããšãããããŸãããã ããKubernetes ç°å¢ã®åæ£åã®æ§è³ªã«ãããPOSIX ã®åé¡ã¯ããã«æªåããŠããŸããç¹ã«ã
- POSIXã¯ãããã¹ãã§ã: POSIX ã»ãã³ãã£ã¯ã¹ã§ã¯ãåæäœããæäœã®ç¶æ ãç¶æããã®ã«åœ¹ç«ã€ã¡ã¿ããŒã¿ããã³ãã¡ã€ã«èšè¿°åã«é¢é£ä»ããããŠããå¿ èŠããããŸããããã«ãããå®è³ªäŸ¡å€ã®ãªãå€å€§ãªã³ã¹ããçºçããŸãããªããžã§ã¯ã ã¹ãã¬ãŒãž APIãç¹ã« S3 API ã¯ãããã®èŠä»¶ãåãé€ããã¢ããªã±ãŒã·ã§ã³ãèµ·åããŠåŒã³åºãããå¿ãããããšãã§ããããã«ããŸããã¹ãã¬ãŒãž ã·ã¹ãã ã®å¿çã¯ãã¢ã¯ã·ã§ã³ãæåãããã©ããã瀺ããŸãã倱æããå Žåãã¢ããªã±ãŒã·ã§ã³ã¯åè©Šè¡ã§ããŸãã
- ãããã¯ãŒã¯å¶é泚: åæ£ã·ã¹ãã ã§ã¯ãå€æ°ã®ã¢ããªã±ãŒã·ã§ã³ãåãæ¥ç¶ãããã¡ãã£ã¢ã«ããŒã¿ãæžã蟌ãããšããŠããå¯èœæ§ãããããšãæ瀺ãããŠããŸãããããã£ãŠãã¢ããªã±ãŒã·ã§ã³ãããŒã¿è»¢é垯åå¹ (ã¡ãã£ã¢ã«ããŒã¿ãéä¿¡ãããã) ãããã£ãŠäºãã«ç«¶åããã ãã§ãªããã¹ãã¬ãŒãž ã·ã¹ãã èªäœãç©çãã£ã¹ã¯éã§ããŒã¿ãéä¿¡ããããšã«ãã£ãŠãã®åž¯åå¹ ãããã£ãŠç«¶åããŸãã POSIX ã®å€åŒãã«ããããããã¯ãŒã¯åŒã³åºãã®æ°ã¯æ°åã«å¢å ããŸããäžæ¹ãS3 API ã¯ãã¯ã©ã€ã¢ã³ããããµãŒããŒã«çºä¿¡ããããããã¯ãŒã¯åŒã³åºããšãµãŒããŒå ã§çºçãããããã¯ãŒã¯åŒã³åºããæ確ã«åºå¥ããŸãã
- ã»ãã¥ãªãã£: POSIX ã»ãã¥ãªã㣠ã¢ãã«ã¯ã人éãç©æ¥µçã«åå ã§ããããã«èšèšãããŠããŸãã管çè ã¯ããŠãŒã¶ãŒãŸãã¯ã°ã«ãŒãããšã«ç¹å®ã®ã¢ã¯ã»ã¹ ã¬ãã«ãèšå®ããŸãããã®ãã©ãã€ã ã¯ãã¯ã©ãŠãäžå¿ã®äžçã«é©å¿ããã®ãå°é£ã§ããææ°ã®ã¢ããªã±ãŒã·ã§ã³ã¯ API ããŒã¹ã®ã»ãã¥ãªã㣠ã¢ãã«ã«äŸåããŠãããã¢ã¯ã»ã¹æš©ã¯ããªã·ãŒããµãŒãã¹ ã¢ã«ãŠã³ããäžæçãªè³æ Œæ å ±ãªã©ã®ã»ãããšããŠå®çŸ©ãããŸãã
- 管çæ§: ã¹ããŒããã« ã³ã³ããã«ã¯ãããçšåºŠã®ç®¡çãªãŒããŒãããããããŸããããŒã¿ãžã®äžŠåã¢ã¯ã»ã¹ã®åæãããŒã¿ã®äžè²«æ§ã®ç¢ºä¿ã«ã€ããŠè©±ããŠããŸãããããã«ã¯ãã¹ãŠãã©ã®ããŒã¿ ã¢ã¯ã»ã¹ ãã¿ãŒã³ã䜿çšããããæ éã«æ€èšããå¿ èŠããããŸããè¿œå ã®éçºäœæ¥ã¯èšããŸã§ããªããè¿œå ã®ãœãããŠã§ã¢ãã€ã³ã¹ããŒã«ãç£èŠãæ§æããå¿ èŠããããŸãã
ã³ã³ããããŒã¿ã¹ãã¬ãŒãžã€ã³ã¿ãŒãã§ãŒã¹
Container Storage Interface (CSI) ã¯ãKubernetes ããªã¥ãŒã ã¬ã€ã€ãŒã®æ®åã«å€§ãã圹ç«ã¡ãéšåçã«ãµãŒãããŒãã£ã®ã¹ãã¬ãŒãž ãã³ããŒã«ã¢ãŠããœãŒã·ã³ã°ããŠããŸããããæå³ããããŠãã¹ããŒããã« ã³ã³ãã ã¢ãããŒããæšå¥šãããæ¹æ³ã§ãããšãã信念ã«ãè²¢ç®ããŸããã Kubernetes ã«ããŒã¿ãä¿åããŸãã
CSI ã¯ãKubernetes äžã§å®è¡ããã¬ã¬ã·ãŒ ã¢ããªã±ãŒã·ã§ã³ã«ä»»æã®ãããã¯ããã³ãã¡ã€ã« ã¹ãã¬ãŒãž ã·ã¹ãã ãæäŸããããã®æšæºãšããŠéçºãããŸããããããŠããã®èšäºã§ç€ºããããã«ãã¹ããŒããã« ã³ã³ãã ã¢ãããŒã (ããã³çŸåšã®åœ¢åŒã® CSI) ãæå³ããªãå¯äžã®ç¶æ³ã¯ãã¢ããªã±ãŒã·ã§ã³èªäœãã¬ã¬ã·ãŒ ã·ã¹ãã ã§ããããªããžã§ã¯ã ã¹ãã¬ãŒãž API ã®ãµããŒããè¿œå ã§ããªãå Žåã§ãã ã
CSI ãçŸåšã®åœ¢åŒã§äœ¿çšãããšãã€ãŸãææ°ã®ã¢ããªã±ãŒã·ã§ã³ãæäœãããšãã«ããªã¥ãŒã ãããŠã³ããããšãããŒã¿ ã¹ãã¬ãŒãžã POSIX ã¹ã¿ã€ã«ã§ç·šæãããŠããã·ã¹ãã ã§çºçããã®ãšã»ãŒåãåé¡ãçºçããããšãç解ããããšãéèŠã§ãã
ããè¯ãã¢ãããŒã
ãã®å Žåãã»ãšãã©ã®ã¢ããªã±ãŒã·ã§ã³ã¯æ¬è³ªçã«ã¹ããŒããã«ãŸãã¯ã¹ããŒãã¬ã¹ãªäœæ¥å°çšã«èšèšãããŠããªãããšãç解ããããšãéèŠã§ãããã®åäœã¯ãã·ã¹ãã å šäœã®ã¢ãŒããã¯ãã£ãšç¹å®ã®èšèšäžã®éžæã«ãã£ãŠç°ãªããŸããã¹ããŒããã« ã¢ããªã±ãŒã·ã§ã³ã«ã€ããŠå°ãã話ããŸãããã
ååãšããŠããã¹ãŠã®ã¢ããªã±ãŒã·ã§ã³ ããŒã¿ã¯ãããã€ãã®å€§ãŸããªã¿ã€ãã«åé¡ã§ããŸãã
- ãã°ããŒã¿
- ã¿ã€ã ã¹ã¿ã³ãããŒã¿
- ååŒããŒã¿
- ã¡ã¿ããŒã¿
- ã³ã³ããã€ã¡ãŒãž
- BLOB (ãã€ã㪠ã©ãŒãž ãªããžã§ã¯ã) ããŒã¿
ãããã®ããŒã¿åã¯ãã¹ãŠãææ°ã®ã¹ãã¬ãŒãž ãã©ãããã©ãŒã ã§éåžžã«ãããµããŒããããŠããããããã®ç¹å®ã®åœ¢åŒã§ããŒã¿ãé ä¿¡ããããã«èª¿æŽãããã¯ã©ãŠããã€ãã£ã ãã©ãããã©ãŒã ãããã€ããããŸããããšãã°ããã©ã³ã¶ã¯ã·ã§ã³ ããŒã¿ãšã¡ã¿ããŒã¿ã¯ãCockroachDBãYugaByte ãªã©ã®ææ°ã®ã¯ã©ãŠããã€ãã£ã ããŒã¿ããŒã¹ã«ååšã§ããŸããã³ã³ãã㌠ã€ã¡ãŒãžãŸã㯠BLOB ããŒã¿ã¯ãMinIO ã«åºã¥ã㊠Docker ã¬ãžã¹ããªã«ä¿åã§ããŸããã¿ã€ã ã¹ã¿ã³ã ããŒã¿ã¯ãInfluxDB ãªã©ã®æç³»åããŒã¿ããŒã¹ã«ä¿åã§ããŸããããã§ã¯ãåããŒã¿åãšãã®çšéã«ã€ããŠã¯è©³ãã説æããŸããããäžè¬çãªèãæ¹ã¯ãããŒã«ã« ãã£ã¹ã¯ã®ããŠã³ãã«äŸåããæ°žç¶çãªããŒã¿ ã¹ãã¬ãŒãžãé¿ããããšã§ãã
ããã«ãå€ãã®å Žåãã¢ããªã±ãŒã·ã§ã³ã®äžæãã¡ã€ã« ã¹ãã¢ãšããŠæ©èœããäžæãã£ãã·ã¥ ã¬ã€ã€ãŒãæäŸããããšãå¹æçã§ãããã¢ããªã±ãŒã·ã§ã³ã¯ä¿¡é Œã§ããæ
å ±æºãšããŠãã®ã¬ã€ã€ãŒã«äŸåãã¹ãã§ã¯ãããŸããã
ã¹ããŒããã«ãªã¢ããªã±ãŒã·ã§ã³ã¹ãã¬ãŒãž
ã»ãšãã©ã®å Žåãã¢ããªã±ãŒã·ã§ã³ãã¹ããŒãã¬ã¹ã«ä¿ã€ãšäŸ¿å©ã§ãããããŒã¿ããŒã¹ããªããžã§ã¯ã ã¹ãã¢ãããŒ/ããªã¥ãŒ ã¹ãã¢ãªã©ãããŒã¿ãä¿åããããã«èšèšãããã¢ããªã±ãŒã·ã§ã³ã¯ã¹ããŒããã«ã§ããå¿ èŠããããŸãããããã®ã¢ããªã±ãŒã·ã§ã³ã Kubernetes ã«ãããã€ãããçç±ãèŠãŠã¿ãŸãããã MinIO ãäŸã«æããŸãããåæ§ã®ååãä»ã®å€§èŠæš¡ãªã¯ã©ãŠããã€ãã£ã ã¹ãã¬ãŒãž ã·ã¹ãã ã«ãåœãŠã¯ãŸããŸãã
ã¯ã©ãŠããã€ãã£ã ã¢ããªã±ãŒã·ã§ã³ã¯ãã³ã³ãããŒã«åºæã®æè»æ§ãæ倧éã«æŽ»çšããããã«èšèšãããŠããŸããããã¯ãå±éãããç°å¢ã«ã€ããŠäœã®ä»®å®ãè¡ã£ãŠããªãããšãæå³ããŸããããšãã°ãMinIO ã¯å éšæ¶å»ã³ãŒãã£ã³ã° ã¡ã«ããºã ã䜿çšããŠããã£ã¹ã¯ã®ååã«é害ãçºçããå Žåã§ãåäœãç¶ç¶ã§ããååãªåŸ©å åãã·ã¹ãã ã«æäŸããŸãã MinIO ã¯ãç¬èªã®ãµãŒããŒåŽããã·ã¥ãšæå·åã䜿çšããŠããŒã¿ã®æŽåæ§ãšã»ãã¥ãªãã£ã管çããŸãã
ãã®ãããªã¯ã©ãŠãäžå¿ã®ã¢ããªã±ãŒã·ã§ã³ã®å ŽåãããŒã«ã«æ°žç¶ããªã¥ãŒã (PV) ãããã¯ã¢ãã ã¹ãã¬ãŒãžãšããŠæã䟿å©ã§ããããŒã«ã« PV ã¯çããŒã¿ãä¿åããæ©èœãæäŸãããããã® PV äžã§å®è¡ãããã¢ããªã±ãŒã·ã§ã³ã¯ããŒã¿ãæ¡åŒµããå¢å€§ããããŒã¿éèŠã管çããããã®æ å ±ãç¬ç«ããŠåéããŸãã
ãã®ã¢ãããŒãã¯ãç¬èªã®ããŒã¿ç®¡çå±€ãšåé·æ§ãã·ã¹ãã ã«å°å ¥ãã CSI ããŒã¹ã® PV ãããã¯ããã«ã·ã³ãã«ã§ãæ¡åŒµæ§ãå€§å¹ ã«åªããŠããŸããéèŠãªã®ã¯ããããã®å±€ã¯éåžžãã¹ããŒããã«ã«ãªãããã«èšèšãããã¢ããªã±ãŒã·ã§ã³ãšç«¶åãããšããããšã§ãã
ããŒã¿ãèšç®ããåãé¢ã匷åãªåã
ãã®èšäºã§ã¯ãç¶æ ãä¿åããã«ã¢ããªã±ãŒã·ã§ã³ãåäœããããã«ã©ã®ããã«åèšå®ãããããã€ãŸããããŒã¿ã®ä¿åããã®ããŒã¿äžã®ã³ã³ãã¥ãŒãã£ã³ã°ããåãé¢ããããã«ã€ããŠèª¬æããŸãããæåŸã«ããã®åŸåã®å®äŸãããã€ãèŠãŠã¿ãŸãããã
åæ§ã®ãã¿ãŒã³ã¯ãPrestoãTensorflow to RãJupyter ãªã©ãä»ã®å€§èŠæš¡ãªåæãã©ãããã©ãŒã ã§ãèŠãããŸããç¶æ
ããªã¢ãŒãã®ã¯ã©ãŠã ã¹ãã¬ãŒãž ã·ã¹ãã ã«ãªãããŒãããããšã§ãã¢ããªã±ãŒã·ã§ã³ã®ç®¡çãšæ¡åŒµãã¯ããã«ç°¡åã«ãªããŸããããã«ãã¢ããªã±ãŒã·ã§ã³ãããŸããŸãªç°å¢ã«ç§»æ€ãããããªããŸãã
åºæïŒ habr.com