ã«ããã®äžã§ããŠã§ã¢ããŠã¹ã®éçºãšèªååã®ããŒã ãªãŒããŒã§ããç§ãPasha Finkelsteinã¯ãåªããéçºããŒã ãšéåžžã«å ·äœçãªããžãã¹ã¿ã¹ã¯ãã¢ã¿ãããããšããªãŒãã³ãœãŒã¹ãœãªã¥ãŒã·ã§ã³ãæé·ã§ããããšã説æããŸãã
åºæ¬çãªããžãã¯
å庫ã®3ã€ã®äž»ãªããã»ã¹ïŒååã®åãåããä¿ç®¡ãåºè·ã å庫ã®ç°¡ç¥åããããµã€ã¯ã«ã¯ãäžæ¬¡èå¥ãå質管çãé 眮ã泚æã®éžæãšäºçŽãæ€çŽ¢ãä»åãã梱å ãé éãµãŒãã¹ãžã®è»¢éã®ããã«ãªããŸãã 顧客ã補åãè¿åãããšããã®ãµã€ã¯ã«ãç¹°ãè¿ãããŸãã ãããã®ããã»ã¹ã«åå ããåç©çãšã³ãã£ãã£ã«ã¯ãããšãã°ãã©ãã¯ãååããã£ããããã»ã«ãå°å ã梱å æãã³ã³ãããªã©ãç¬èªã®æ å ±è¡šçŸããããŸãã ååã®ã¹ããŒã¿ã¹ã®ãã¹ãŠã®éèŠãªç§»åãšå€æŽã¯äŒèšã·ã¹ãã ã«å€æãããå庫å ã®ååã«å¯Ÿãã絶察ã«ãã¹ãŠã®ã¢ã¯ã·ã§ã³ããã°ã«èšé²ãããŸãã
WMSïŒå庫管çã·ã¹ãã ïŒã¯ããµãã©ã€ã€ã®ååãå ¥ã£ããã©ãã¯ãå庫ã«å°çããŠããååã顧客ã«åºè·ããããŸã§ãå庫å ã®å補åã®ã©ã€ããµã€ã¯ã«ãå¶åŸ¡ããŸãã
ãã¡ãã·ã§ã³èªååã®è©³çŽ°
åœç€Ÿã¯ãã¡ãã·ã§ã³ãšã©ã€ãã¹ã¿ã€ã«ã®åéã§åããŠãããå庫ã§ç¹å®ã®ã¿ã¹ã¯ãåŒãèµ·ãããŸãïŒè£œåã¯å£ããããïŒã¡ã¬ããæèšïŒãéæšæºãµã€ãºïŒãŠã£ã³ã¿ãŒããŒããŸãã¯ãžã¥ãšãªãŒïŒããã¬ãã¢ã ïŒç¹å¥ãªããã±ãŒãžïŒ-ãŸãã¯ãã®ä»ã®ç¹å®ã®ç¹æ§ãæã€ããšãã§ããŸãå庫ã§èæ ®ããå¿ èŠããããŸãã ãããã£ãŠãä¿ç®¡å Žæã§ã®æäœæ¥ã®äœ¿çšãå®å šã«æŸæ£ããããšã¯äžå¯èœã§ãã
ä»ã®ãã¹ãŠã®ããã»ã¹ã¯èªååãããŠããŸã-ååã®åãåããåºè·ãšãªã¢ãžã®ç§»åãä»åãã梱å ãåºè·ã®æºåã ãããã®åããã»ã¹ã«ã¯ãç¹å¥ãªæ©åšãšéçšããã»ã¹ãå¿ èŠã§ãã ããžãã¯ã¯ããããã®ãã¹ãŠã®ããã»ã¹ããçµåãããã·ã¹ãã ã®ãããã§äžç·ã«æ©èœãå§ãããšçºçããŸãã
å庫èªååã®ããããç£èŠ-ãªãã¬ãŒã¿ãŒã®ãšã©ãŒãæé©ã§ãªãããã»ã¹ãªã©ã«å¯äžããã€ã³ã¿ãŒãã§ãŒã¹ã§ããããš -ããã¯ãåºè·ã®é 延ãè€éãªå šäœã®ããŠã³ã¿ã€ã ã倧ããªæ倱ã§ãã ããã«ããã¹ãçºçãããã³ã«ããã¬ãã£ããªã«ã¹ã¿ããŒãšã¯ã¹ããªãšã³ã¹ãçãŸããŸãã ãããã£ãŠãå庫ãæèšã®ããã«æ©èœããããšãéèŠã§ãã
ãªãŒãã³ãœãŒã¹ãšç¬èªã®éçºãžã®é
æåã®æ®µéã§ã¯ãå€éšå庫ã䜿çšããŸããã ããªã¥ãŒã ã®å¢å ã«äŒŽããéçšããã»ã¹ãå®å šã«å¶åŸ¡ãããããã®ããã»ã¹ãé »ç¹ã«å€æŽããå¿ èŠãããããšãç解ãå§ãããããèªç€Ÿã®å庫ãšéçºã«ç§»è¡ããããšã«ããŸããã
ãã®åŸç§ãã¡ãçŽé¢ããäž»ãªåé¡ã¯ããã¹ãŠã®è©³çŽ°ã«ãããéçšããã»ã¹ã®ç²Ÿç·»åã§ããã åŸæ¥å¡ãã©ãã«ã©ã®ããã«è¡ãããäœåã¹ãã£ã³ããããªã©ã ãããŠããããã®ããã»ã¹ã§ã¯æ¢ã«ãWMSãå±éããå¿ èŠããããŸãããWMSã¯ãéçšæŽ»åã管çããå®æçãªéçšãèªååããŸãã
å§ããããã«ã圌ãã¯Javaã§ãªãŒãã³ãœãŒã¹ãœãªã¥ãŒã·ã§ã³ãæ¡çšããç¹ã«é©åãªåºç€ãæ¢ã«ãããããç¬èªã®éçºããŒã ãç·šæããããšã決å®ããŸããã æ©èœã匷åããã·ã¹ãã ã®ã³ã¢ãåããŸãããã¬ã¬ã·ãŒãšãã¡ããã¯ã©ã€ã¢ã³ããåãé€ãããªãã¡ã¯ã¿ãªã³ã°ãå®è¡ãããªãã¬ãŒãã£ã³ã°ããã»ã¹ããµããŒãããæ°ãããµãŒãã¹ãéçºããŸããã
èªååã¹ããŒãž
äž»ãªå€æŽã¯ãããã»ã¹èªäœã®åæ§ç¯ãšãšãã«ãæ³¢ãã«ãã£ãŠå®è¡ãããŸããã
ãããŸã§ã«ã圌ã¯è¿ä»£åã®9ã€ã®æ®µéãçµãŠããŸããããããã«ãã ããã€ããã¯ãããŸããã
- æåãš2çªç®ã®æ®µéã§ã¯ã泚æã®åºè·ããã»ã¹ãèªååããŸãããã³ã³ãã¢ãååã®ä»åãããžãã¯ããã¬ããã«ãã泚æã®èªåä»åããè¿œå ããŸããã
- 3çªç®ãš4çªç®ã®æ®µéã§ã¯ãåãå
¥ãããã»ã¹ã«çŠç¹ãåœãŠãŸãããããŸããŸãªã¿ã€ããšä¿ç®¡ãŸãŒã³ããšã«ãå
¥è·ããååã®æµããåé¢ããæ¹æ³ãåŠã³ãŸããã
- 5çªç®ã®ãã§ãŒãºã§ã¯ãããã¢éã«èªåãšã¬ããŒã¿ãè¿œå ãããŸãããããããä¿ç®¡ãšãªã¢ã§ã®äœæ¥ã®å§ãŸãã§ãã
- 第6ãã§ãŒãºã¯ãåä»ãŸãŒã³ãšåºè·ãŸãŒã³ãéããŠããã¹ãŠã®èªååãã«ãŒããããšãã«æãéèŠã§ããã
- 7çªç®ãš8çªç®ã®ãã§ãŒãºã§ã¯ãåãå
¥ããŸãŒã³ã®ããã»ã¹ã«å€æŽãå ããæ°ãããŸãŒã³ããšã¬ããŒã¿ãŒãã³ã³ãã€ãŒãè¿œå ããŸãããæ¢åã®èªååãã¹ã±ãŒãªã³ã°ããŸããã
- 第9ãã§ãŒãºã§ã¯ãå庫ã«æ°ãã建ç©ãè¿œå ããæ¢åã®èªååã·ã¹ãã ãšçµ±åããŸããã
å®è£
ã³ã¢ãã¯ãããžãŒïŒJavaãPostgresãWildflyãRedisãActiveMQã
WMSã¯Java 8ã§èšè¿°ãããŠããŸããããããããã»ã©åã®ããšã§ã¯ãããŸããããJava 11ãžã®ç§»è¡ã劚ããæåŸã®ã¢ãžã¥ãŒã«ãä¿®æ£ããè¿ãå°æ¥ã«æŽæ°ããäºå®ã§ãã
å庫ã«çŽæ¥èšçœ®ããããµãŒããŒã©ãã¯ã¯ãWMSçšã«äºçŽãããŠããŸãã ããã«ãããé»æ°ãã€ã³ã¿ãŒãããããªãã«ãªã£ãŠããŠããWMSãæ©èœãããšããèªä¿¡ãåŸãããŸãã 圱é¿ãåããã®ã¯ãã¢ã«ãŠã³ãã£ã³ã°ã·ã¹ãã ãžã®ã¡ãã»ãŒãžã«é 延ãçããããšã ãã§ãã WildFlyã¯ã¢ããªã±ãŒã·ã§ã³ãµãŒããŒãšããŠäœ¿çšãããŸããããŸã ææ°ããŒãžã§ã³ã§ã¯ãããŸããã åŸè ãžã®ç§»è¡ãèšç»äžã§ãã 移åã®ããã«ãã¹ãŠããã§ã«æžãããŠããŸãããæ©èœãã¹ããšè² è·ãã¹ãããŸã å®è¡ã§ããŠããŸãããæ°ãã幎ã®åã«ã¯ãè² è·ãæ¯èŒçé«ããªã£ãŠããŸãã å®çžŸã®ããActiveMQã䜿çšãããŸãã
PostgreSQLã«ä¿åããããŒã¿ã ç§ãã¡ã®ã·ã¹ãã ã®äž»ãªæ¬è³ªã¯æããã«è£œåã§ãã å庫ã®åŸæ¥å¡ã¯ãåãããŒã³ãŒãã50åã¹ãã£ã³ãããªã©ãäœæ¥ãç°¡çŽ åããããã®åé¿çãèãåºãããšããããŸãã補åèªäœã¯ãã¹ãã£ã³ããã«ã詳现ããžãŒã³ãºãTã·ã£ãã«å ¥ããã«ãæã§åã«æãããããããç¹å®ã®ãŠããããèå¥ããã©ãã«ãå ¥åããŸããã€ã³ãã©ã¹ãã©ã¯ãã£ã§ãµããŒãããŸãã ãããã®ãŠãããã«é¢ããæ å ±ã¯ã2ãã©ãã€ãã®PostgreSQLããŒã¿ããŒã¹ã«ä¿åãããŸãã
ããã®ã»ãšãã©ã®å Žæã¯ååã§ããå ããããŠããŸããããå庫äœæ¥å¡ã®è¡åã®ç£æ»ã«ãã£ãŠå ããããŠããŸãã ããžãã¹ã«äžå¯æ¬ ãªã·ã¹ãã ã§ããããããŠã§ã¢ããŠã¹ã¯ãã·ã¹ãã ã«äœããçŸãããæ¶ãããããçç±ãç¥ãå¿ èŠããããŸã-远跡äžå¯èœãªå€æŽãèš±å¯ããããšã¯ã§ããŸããã çŸåšãããŒã¿ããŒã¹ã®ãã®éšåãMongoDBã®å¥ã®ãšã³ãã£ãã£ã«åã蟌ãããšãèããŠããŸãã
å庫ã¹ã¿ããã®ã¯ãŒã¯ã¹ããŒã·ã§ã³ã¯ãã·ã³Webã¯ã©ã€ã¢ã³ãã§ãã èªååã®éå§æã®ã©ããã§ãããã¯ãã¹ãŠãã¡ããã¯ã©ã€ã¢ã³ãã®ååã«åºã¥ããŠæ©èœããç¹ã«ã€ã³ã¿ãŒãã§ã€ã¹ã®å€æŽãå«ã倧èŠæš¡ãªãªãªãŒã¹ã§ã¯ç¹å®ã®åé¡ãçºçããŸããã ãããšãããŠã³ã¿ã€ã ãèšå®ããªããšãªãªãŒã¹ã§ããªããšããäºå®-æ©æãå€å€ãçµããé±ã«2åãŸã§ãããããã€ã§ããªãã£ãããã䟿å©ãªã¹ã±ãžã¥ãŒã«ãšã¯èšããŸããã ããã§ãWMSãWebã«ç§»è¡ããŸããã幎æ«ãŸã§ã«ã倪ã£ãã¯ã©ã€ã¢ã³ããå®å šã«æŸæ£ãããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ã®å€æŽãå€§å¹ ã«ç°¡çŽ åããŸãã ããããã®æ®µéã§è¿œå ãããWebããã³ã¯ã©ã¹ã¿ãªã³ã°ã«ããããªãªãŒã¹ã®é »åºŠãšæéã«é¢ããå¶éããªããªããŸãããŠãŒã¶ãŒã¯ãäœãåé¡ãçºçããå Žåã«ã®ã¿ãªãªãŒã¹ã«ã€ããŠåŠç¿ããŸãã
å庫ã«ã¯èå³æ·±ãããšããŸããã¯ããªãã®ããããŸãã ããšãã°ã Technoradarã§èšåãããŠããHaskellã«ã¯ãã¢ã€ãã éžå¥æ©ãèŠèŠåããããã®ããã¯ãšã³ããèšè¿°ãããŠããŸãïŒããã¯ã1ã€ã®ããã±ãŒãžããååããŸãšããŠçµã¿ç«ãŠãªãââã¬ãŒã¿ãŒã«æž¡ãããšãã§ãããã·ã³ã§ãïŒã é¢æ°åã¹ã¿ã€ã«ã§äŸ¿å©ã«è§£æ±ºãããçŽç²ã«èšç®äžã®åé¡ããããŸãã åœç¶ã倧èŠæš¡ãªãããžã§ã¯ãã«Haskellã䜿çšãã人ã¯ããŸããã
Technoradarã«ã€ããŠã®èšäºã§èšåãããŠã§ã¢ããŠã¹ã®ãã1ã€ã®èŠçŽ ã¯ãå補åã®æ£ããã¢ã¯ã·ã§ã³ã·ãŒã±ã³ã¹ããç£èŠãããèªå·±èšè¿°åã®ã¹ããŒããã·ã³ã§ãã ã·ã¹ãã å šäœãšåæ§ã«ãåçŽãªäžé£ã®å¶çŽããç¹°ãè¿ãéçºãããŸããã ä»ã§ã¯éåžžã«äŸ¿å©ãªãã®ã§ãã·ã¹ãã ã«æ·±ãçµ±åãããŠããŸãã è¿ãå°æ¥ãããããªãŒãã³ãœãŒã¹ã«ããããšæã£ãŠããŸã-ããããç§ãã¡ã ãã§ãªã圹ã«ç«ã€ã§ãããã
ãªãŒãã¡ãŒã·ã§ã³æ©åš
èšåãªãã®èªååïŒ ååº«å šäœãã³ã³ãã¢ã®ãããã¯ãŒã¯å šäœã«çµ¡ã¿åã£ãŠããŸãã
äžèšã®åç®åé¡æ©ã¯åºè·æ®µéã§æ©èœããç¹å®ã®æ³šæã®ããã«åšåº«ããåéãããæ°äžåã®ååãã¬ã€ã¢ãŠãã§ããŸãã ãã€ãŠããœãŒã¿ãŒã¯ãå¿ èŠãªååãéããããã«å庫ã®åšãããããªãŒã§ç§»åããå¿ èŠæ§ãããªãã¬ãŒã¿ãŒãæããŸããã 泚æã¯åå²ãããåãªãã¬ãŒã¿ãŒã¯èªåã®ããã¢ããã®ã¿ååãåéãïŒç§»åã«ãããæéãç¯çŽããŸãïŒãéžå¥æ©ã¯ç°ãªãããã¢ããã®ååãèªåçã«æ£ãã泚æã«ãªãããã«ããŸãã éçšããã»ã¹ã4åã«å€æŽããããšã§ã泚æã®çµã¿ç«ãŠãå éããããšã©ãŒã®æ°ãå€§å¹ ã«åæžãããŸããã
ãã¹ãŠã®èªååæ©åšã¯ãããŒãããŒã«ãã£ãŠæäŸãããŸãã ç¹å®ã®ãŠãããã管çããããã«ãWMSã®é£ã®ãµãŒããŒã©ãã¯ã«ããç¬èªã®ã·ã¹ãã ããããŸãã ã·ã¹ãã éã§ã¯ãçµ±åã¯ããªãé«ã¬ãã«ã®ãããã³ã«ã§æ§æãããŸã-SOAPãä»ããŠéä¿¡ããŸãã WMSå ã®éçšããã»ã¹ãããããšãã°ãååãå ¥ã£ãã³ã³ããããã€ã³ãAãããã€ã³ãBã«ç§»åããå¿ èŠãããå Žåãã·ã¹ãã ã«åãæ¿ããŸããã€ãŸãã ã·ã¹ãã ã®èŠ³ç¹ããèŠããšãå®éã®å éšã®è€éãã«ããããããããã®èªååã¯ãã¹ãŠéåžžã«ã·ã³ãã«ã«èŠããŸãã
ãã¡ããããã®èŠããã®åçŽãã¯ããã«ã¯æ©èœããŸããã§ããã èªååã®æåã®æ®µéã§ã¯ãæè¡ã®ãçžäºç åãããããŸããã ã³ã³ãã¢ãæåéãååãçããã-ã³ã³ãã¢ãã«ãã®é床ãéããããšãååããåã¿ããçãå°œããŠããŸããä»ã®æ³šæã®çµã¿ç«ãŠããããã¯ãããŸããã ãããããæåã®ãã§ãŒãºãéå§ããèªååã®éå§æã«æãå°é£ãªã¹ããŒãªãŒãçºçããŸããã æšæ¥ãå庫ã¯å®å šã«æåã§ããããä»æ¥ãã¹ã€ãããåãæ¿ããåŸãå庫ã¯èªåã«ãªããŸãã ããããäœãæ©èœããŸããã§ãããã·ã¹ãã ã®çµ±åãšã©ãŒã«ãããäºãã®ã¡ãã»ãŒãžã誀ã£ãŠè§£éãããæ°æ¥éã®å庫ã®ããŠã³ã¿ã€ã ãšæ°çŸäžã®æ倱ãçºçããŸããã
çŸåšãããŒãããŒã¯åœç€Ÿã®å庫ã«ããŸããæ°ããèªååã®ã©ãŠã³ãã«é¢ããŠã¯ãæ©åšã®æé ãèšç»ããŠãããæ°ãããããã¯ã®ãã¹ããæ¯æŽããŠããŸãã
ããŒã ãšã¹ã¯ã©ã ãã³
ãã®ã·ã¹ãã å šäœã®éçºã¯ãçŸåš12人ã®ããŒã ã§è¡ãããŠããŸãã è¿ä»£åã®ããŒã¯ã®æåŸã®æ®µéã®1ã€ã§ãåå¥ã«èªååãããããã»ã¹ã1ã€ã®å šäœã«çµåããå Žåãæ倧20人ã®éçºè ã®ã¿ãåå ããŸããïŒãã®æ®µéã«ã¯132人æãå¿ èŠã§ã1,500ãè¶ ããã³ããããå«ãŸããŠããŸããïŒã ãããã倧èŠæš¡ãªå€æãçµäºãããšãäžéšã®äººã ã¯GoãŸãã¯PythonãåŠã¶ããšã«æ±ºããä»ã®éçºããŒã ã«åãæ¿ããŸããã
ããŒã ã«ã¯ã補åã®æ©èœãšITããã®ãããžã§ã¯ãïŒå¹³åã§5ã6人ã®PMã1人ïŒãçµã¿åããããã¯ã©ã·ãã¯ããããžã§ã¯ããããŒãžã£ãŒãããŸãã 圌ã®ä»äºã«ã¯ãäž»ãªé¡§å®¢ã§ãããã£ã¬ã¯ã¿ãŒãšéçšããã»ã¹éçºéšéã«ä»£è¡šãããå庫ãšã®ã³ãã¥ãã±ãŒã·ã§ã³ãå«ãŸããŸãã ç§ãã¡ã®åŽã§ã¯ãæè¡çãªè¿ä»£å-æ£ããã¹ã¿ãã¯ãæŽæ°ãªã©ã®éžæã«ã€ããŠããæžå¿µããŠããŸãã -ãããŠãå庫ã®ã¹ã¿ããã¯ããã»ã¹ã®æé©åãèããŠããŸãã
æã ãç§ãã¡èªèº«ããã£ãŒã«ãã®ç 究éçºã«æéãå²ããŸãã æåéãã®æå³ã§ãç§ãã¡ã¯å庫ã«è¡ããã·ãã¢ã·ãããšãéåžžã®ãªãã¬ãŒã¿ãŒãšéä¿¡ãã圌ããæ±ããŠããåé¡ãäœæ¥ããã®ã«äŸ¿å©ã§äžäŸ¿ãªããšãç¹å®ããŸãã ã€ãŸãããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ã®èª¿æ»ãå®æœããŸãã
ããšãã°ããã®ã¢ãããŒãã®ãããã§ãååã®åãå ¥ããè¡ãåŸæ¥å¡ã®è·å Žã®ã€ã³ã¿ãŒãã§ãŒã¹ãå€ãããŸããã åœåã¯ãããã¹ãã®èª¬æã§ã¯ãªããå€ãã®ãã£ãŒã«ãããã¿ã³ãç¥èªãåããäŒæ¥åãã®è€éãªã€ã³ã¿ãŒãã§ã€ã¹ã§ããã ããããç§ãã¡ã¯ããã»ã¹ãšãã¶ã€ã³ãæé©åããŠãã¡ã€ã³ã®Googleæ€çŽ¢ããŒãžã«ãã䌌ããã®ã«ããããšããŸãããããã»ã©çŸããã¯ãããŸããããéåžžã«æ©èœçã§ãã ã€ã³ã¿ãŒãã§ãŒã¹ãåçŽã§ããããªãã¬ãŒã¿ãŒã䜿çšã§ãããªãã·ã§ã³ãã¯ãªãã¯ããå Žæãã¹ãã£ã³ãã察象ãå°ãªãã»ã©ããšã©ãŒïŒããã³ãããã®ä¿®æ£ã«å¿ èŠãªæéïŒãå°ãªããªããŸãã
ãããŠã詳现ã®æé©åã«é¢ããèç©ãããç¥èã¯ãæãäºæãã¬ç¬éã«ç§ãã¡ãè¿œãè¶ããŸãïŒäžåºŠç§ãã¡ã®ããŒã ãæœèšã«ããã°ãããç¬éãã»ãšãã©ãã¹ãŠã®åå è ãã¬ãžã®äžé£ã®è¡åãèŠãŸããã çŽ40ç§åŸãååãäžè¬çãªèããè¡šæããŸããïŒãããŸãæé©ã§ã¯ãããŸããããåçŽåã§ããŸããã
ããŒã å ã®åœ¹å²éã®é¢ä¿ã¯éåžžã«å€å žçã§ãããéçºæ¹æ³è«ã«ã¯ã¹ã¯ã©ã ãã³ãéžæããŸããã
ãå ¥åãããŒã¿ã¯æšæºã§ã¯ãããŸããã§ããããæ¹æ³è«ã§å€ãã®å®éšãè¡ããŸããã ããšãã°ãããªããŸããªãªãªãŒã¹ããããŸããã äžèšã®1é±éã«2åã®ãªãªãŒã¹ãšããå¶éã¯ããã»ã¹ã®äžéšã«åœ±é¿ãåãŒããŸããããå®éã«ã¯ãããã€ã®é »åºŠã¯ã¯ããã«å°ãªããå¹³åããŠ2é±éã«1åã§ãã ããã«ãå庫ã®èªååããŒããŠã§ã¢ããããŸãããããã¯ãããããªæ»ã®ããã«å€éšäŒæ¥ã«ãã£ãŠéçºãããŠããããã¹ãŠã®å€æŽã¯2幎åã«ãã¹ãŠã®å¿ èŠãªææžãšãšãã«ã¹ã±ãžã¥ãŒã«ãããŸãã ããããç§ãã¡ã¯åœŒãã®äŸããã©ãããšãã§ããŸããã§ãããå®æçã«ã·ã¹ãã ã«ããã€ãã®å€æŽãå ããå¿ èŠãããã顧客ã«ããããã®ã¿ã¹ã¯ã«ã€ããŠè©³çŽ°ãªã¿ã¹ã¯ãæžãããããšã¯ç¡æå³ã§ããã
ã ãããã¹ã¯ã©ã ãã³ã¯ãã¹ãŠã®äººã幞ãã«ãã劥åæ¡ã§ãã å埩ããã»ã¹ã䜿çšããŸãããã¹ããªã³ãã¯ãªãªãŒã¹ã§ãã 1ãæã«1åãã客æ§ãšé¢è«ãããªãªãŒã¹èšç»ãç«ãŠãŸããäœé±ãäœé±ç®ã«å±éãããã話ãåããŸãã ã¹ããªã³ãå ã«ãããã°ããå®è£ ãããŸã-ã¿ã¹ã¯ã®ããã¯ãã°ãé²æãªã©ã 確ãã«ããã®ããã»ã¹ã¯åŸã ã«å€åããŠããŸããããšãã°ãããã°ãããŒãã¯ãããŸããã ããéçºè ãã¿ã¹ã¯ãå®äºãããšã次ã®ãªãªãŒã¹ã®èšç»ãšéçºè ã®èœåã«åŸã£ãŠãããŒã«ãã次ã®éçºè ãäžããããŸãã
ãã®ã¢ãããŒããæ°ã«å ¥ã£ãŠããŸãã å埩å ã§å¿ èŠãªæè»æ§ãæäŸããç¹å®ã®ã³ããããå®è£ ãããæ¥ä»ã®äºæž¬å¯èœæ§ãããžãã¹é¡§å®¢ã«æäŸããŸãã ãããŠããã®æ¹æ³è«ãç§ãã¡ã«ãšã£ãŠããã»ã©éèŠã§ã¯ãããŸããã äž»ãªããšã¯ããã¹ãŠãæ©èœããããšã§ãã
ä»ã®ã¿ããªãšã¯éããŸã-ã€ã³ãã³ããªãšç£èŠãäŸãšããŠäœ¿çšããŸã
éçšããã»ã¹ã®éçºã§ã¯ãæ¥çã®ããŒãºããå§ãããããããªãã®æ°ã®åå¥ã®æ©èœããããŸãã
è¯ãäŸã¯åšåº«ã§ãã æ³åŸã«ããã°ã幎ã«1åå庫ã§å®æœããå¿ èŠããããŸãããåœç€Ÿã®ããžãã¹èŠä»¶ã«ãããåšåº«ã®ããå³å¯ãªç£èŠã決å®ãããŸãã ãŸãããŠã§ããµã€ãäžã§ååã®å ¥æå¯èœæ§ã«é¢ããé¢é£æ å ±ãåæ ããããšèããŠããŸãã次ã«ãB2BããŒãããŒãšãã¡ãã·ã§ã³ãã©ã³ãã¯åãé¢é£æ å ±ãå¿ èŠãšããŠããŸãã ãã®ãããåšåº«ã¯ãè€æ°ã®å»ºç©ãããªã5é建ãŠã®è€åæœèšå šäœã§ã1æ¥365æ¥ã1æ¥365æ¥æ£äžããããŸãã ãŸãããã®ããã»ã¹ã¯WMSã«ãã£ãŠå®å šã«ãµããŒããããŠããŸãããã®ãããªãœãªã¥ãŒã·ã§ã³ãå®è£ ããããšã¯å°é£ã§ãã
çŸåšãåšåº«ã¯æ¬¡ã®æŽæ°ã®åŠçäžã§ããããã®ããã»ã¹ã®å¹çãé«ããŠããŸãã
ç¬èªã®éçºã®ãã1ã€ã®äŸã¯ãç£èŠã§ãã Webã¯ã©ã€ã¢ã³ããä»ããŠå®è£ ãããéåžžã«èå³æ·±ãã¡ããªãã¯ã衚瀺ããã³è¿œè·¡ã§ããŸãã ããã«ããããã®ã¡ããªãã¯ã®èŠèŠçè¡šçŸã¯ç§ãã¡ã«ãšã£ãŠéèŠã§ãã å®éãç£èŠã¯åçŽãªã¹ã±ãžã¥ãŒã«ã§æãããå庫ã§ããããã¹ãŠãããŸãæ©èœããå Žæãšåé¡ã芳å¯ãããå ŽæïŒç¹å®ã®ãªãã¬ãŒã¿ãŒãŸã§ïŒãæ確ã«ç¢ºèªããŸãã æãéèŠãªããšã¯ããã®èŠ³ç¹ããããããã®åé¡ãçºçããçç±ãç解ã§ããããšã§ãã
KPIå庫åŽåè ãšRedis
æ°ããæè¡ã®å°å ¥ãæŽæ°ããªãã¡ã¯ã¿ãªã³ã°-ããã¯ãã¹ãŠçŽ æŽãããã§ãã ããããWMSã¯å®éã®ããžãã¹ã§æ©èœãããããããã§ã¯ãããã®åé¡ã ãã§ãªãã解決ããå¿ èŠããããŸãã ç§ãã¡ã®ä»äºã®äžéšã¯ãå éšã®ãããã«ãŒãããã®ä¿è·ã§ããããã¯ãã¿ã¹ã¯ããã€ãã¹ããŠKPIãå®è¡ããããã®æ°ããæ¹æ³ãçºæããããªãœãŒã¹ã«å¯ãã å庫åŸæ¥å¡ã§ãã
ããšãã°ããŠãŒã¶ãŒãè€æ°ã®ã¯ãŒã¯ã¹ããŒã·ã§ã³ããåæã«ã·ã¹ãã ã«ãã°ã€ã³ããã®ãé²ããã»ãã·ã§ã³ã¿ã€ã ã¢ãŠããå®è£ ããããã«ãRedisãã¹ã¿ãã¯ã«è¿œå ããããšãäœåãªããããŸããã å®éãå庫äœæ¥å¡ã¯ãåããã°ã€ã³ã§äœæ¥ããKPIãè¶ ããå Žåã«ããŒãã¹ãåãåãã»ãããèªåã®çç£æ§ãäžãããããã¯ããã«åçæ§ãé«ãããšã«æ°ä»ããŸããã
ããžãã¹äžã®åé¡ã解決ããã«ã¯ã·ã¹ãã ã®ããŸããŸãªå Žæã§ã®å€æŽãå¿ èŠã§ãã£ããããæè¡çãªèŠ³ç¹ããéåžžã«èå³æ·±ã課é¡ã§ããã
å庫ã®ã¹ã¿ããããã®é©ãã¯ããã§çµãããŸããã§ããã ã»ãã·ã§ã³ã®ãªãªãŒã¹ã®ã»ãŒçŽåŸã«ãPostgreSQLã¯ã¯ã©ãã·ã¥ãå§ããŸããã æ°æ¥éãåºå°ã®äºæãã¬å£åã®çç±ã調æ»ããŸãããããã®åé¡ãåã³æ©ç¥ã«å¯ãããšãããããŸããã äžäººã®å¥³ã®åã¯ãã°ãã°å«ç ã«è¡ããŸããã 圌女ãè·å Žãé¢ãããšãã圌女ã¯ã»ãã·ã§ã³ããããã¯ã¢ãŠããããåã³ãã°ã€ã³ããããã«ãã·ãã¢ã·ãããèŠã€ããŠåœŒã®ãããžãã¹ãã£ã³ããå¿ èŠããããŸããã å庫å ãããŸããããšãæžãããã«ãŒãã®1ã€ããããŒã³ãŒããåŒãè£ããã¹ãã£ããŒãã¿ã³ãããŒãã§åºå®ãããã®ããŒã³ãŒããåžžã«ã¹ãã£ã³ããããã«èšå®ããŸããã ãããŠãããŒã³ãŒãã800åäœã®ååãå ¥ã£ãŠããã«ãŒãããã®ãã®ã§ãªãå Žåãããã¯é·ãéæ°ä»ãããªãããšããããŸããã åã¹ãã£ã³ã§ãååãæ€èšŒããããã«å·šå€§ãªSQLã¯ãšãªãçæããããã®ãããªãå éšDDoSãã§ããŒã¿ããŒã¹ãã殺ããããŸããã åäœæéãããã®ã¹ãã£ã³æ°ãšã«ãŒãå ã®ååæ°ã®å¶éã«æ³šæããå¿ èŠããããŸããã
ãã®ãããªç©èªã¯ãã§ã«ããªãå€ããããç§ãã¡ã¯åžžã«æ°ããç©èªã«çŽé¢ããŠããŸãã ãã®å Žåãã·ã¹ãã ã¯æ¯åæ°ããæ¡ä»¶ã«é©å¿ããå¿ èŠããããŸãã ãã®ãããªç¶æ³ã§ã¯ã管çæ¹æ³ã ãã«èªåãå¶éããããšã¯ã§ããŸãããäžåºŠèµ·ãã£ãããšãéåžžã«ããŸãç¹°ãè¿ãããšãã§ããŸãã
次ã¯ã©ããžè¡ãã®ïŒ
ããã»ã¹ã®æé©åãšå庫ã®èªååã¯ãå®äºããããšã¯äžå¯èœã®ããã§ãã ããã¯äŒç€Ÿã§5幎éç¶ããäžã§è¿°ã¹ãããã«ãã¹ããŒãž9ã®åŸã§ãåæ¢ããããšã¯ãããŸããã å瀟ã¯åŒãç¶ãB2Cããã³B2Bã§äºæ¥ãæ¡å€§ããŠãããããè¿ãå°æ¥ãå¥ã®å€§ããªãããžã§ã¯ããèšç»ããŠããŸããå¥ã®å庫ãéãã«ã¯ãæ¢åã®ã·ã¹ãã ã倧èŠæš¡ã«æžãçŽãããæ°ããå Žæã§åæ§ã®ã·ã¹ãã ãæåããäœæããå¿ èŠããããŸãã ãããŠãããã¯ãããžãã¹ãç©ççæœèšãéçšããã»ã¹ãæè¡çãœãªã¥ãŒã·ã§ã³ã®æ¥åéšã«ãããæ°ããªèå³æ·±ã課é¡ã§ãã