é«ã¹ã«ãŒãããã¢ããªã±ãŒã·ã§ã³ã¯ãå€ãã®å Žåãã€ã³ãã©ã¹ãã©ã¯ãã£ã®éçããããã§åäœããå³ããã¬ã€ãã³ã·èŠä»¶ã®äžã§æ°åãã®åæãã©ã³ã¶ã¯ã·ã§ã³ãåŠçããŸãããã®ãããªç°å¢ã§ã¯ãããããªéå¹çæ§ã§ãããé£éçã«å€§ããªããã©ãŒãã³ã¹äœäžã«ã€ãªããå¯èœæ§ããããŸããããŒã ã¯ã¹ã±ãŒã©ãã«ãªã¢ãŒããã¯ãã£ãå¹ççãªã¯ãšãªãå ç¢ãªAPIã«å€å€§ãªæè³ãè¡ã£ãŠããŸãããåæå®è¡æ§ã«é¢é£ããããŒã¿ããŒã¹ã®åé¡ã¯ã次ã®ãããªåé¡ãåŒãèµ·ãããŸãã ããããã㯠(NAIST) ãš ããã¯ç«¶å ãµãŒãã¹ã劚害ãããŸã§æ€åºãããªãããšããããããŸãã
ãããã®åé¡ã¯è¿œè·¡ãå°é£ã§ãããããããã¯ã¯ã2ã€ä»¥äžã®ãã©ã³ã¶ã¯ã·ã§ã³ãäºãã®ããã¯è§£é€ãåŸ ã¡ç¶ããäºå®äžåŠçã忢ããŠããŸãããšã§çºçããŸããäžæ¹ãããã¯ç«¶åã¯ãè€æ°ã®ãã©ã³ã¶ã¯ã·ã§ã³ãåããªãœãŒã¹ã«åæã«ã¢ã¯ã»ã¹ããããšããããšã§çºçãããšã©ãŒã¯çºçããªããã®ã®ãåŸã ã«ããã©ãŒãã³ã¹ãäœäžãããé å»¶ãåŒãèµ·ãããŸããã©ã¡ãã®åé¡ããç¹ã«é«è² è·æã«ã¯åãåããéåžžã«å°é£ã§ããã®çç¶ã¯ä»ã®ã·ã¹ãã ã¢ã¯ãã£ããã£ã®ãã€ãºã«çŽããŠããŸãããšããããããŸãã
ã¢ããªã®æœåšèœåãæå€§éã«åŒãåºã
ããŸããã SMART TS XL ã·ã¹ãã å šäœã®ããããã³ã° ãã§ãŒã³ãæããã«ããŸãã
詳现æ å ±ãã©ãã£ãã¯éã®å€ãç°å¢ã§ã¯ãæ·±å»ãªçµæãæãå¯èœæ§ããããŸããã¬ã€ãã³ã·ã®æ¥äžæããã©ã³ã¶ã¯ã·ã§ã³ã®å€±æãã¹ã¬ããã®æ¯æžãåŠçãã§ãŒã³ã®ãããã¯ãªã©ããã®äŸã¯å€å²ã«ããããŸãããã©ã³ã¶ã¯ã·ã§ã³ã®æåãããã¯ã¡ã«ããºã ã詳现ã«å¯èŠåã§ããªããã°ãããŒã ã¯äºåŸå¯Ÿå¿çãªå¯Ÿå¿ã匷ããããã±ãŒã¹ãå°ãªããããŸããã
çŸä»£ã®ã¢ããªã±ãŒã·ã§ã³ã®ä¿¡é Œæ§ãšé床ãç¶æããããã«ã¯ãéçºããŒã ãšéçšããŒã ãããããã®åé¡ãã©ã®ããã«çºçããã©ã®ãããªå åãç£èŠãã¹ããããããŠæ ¹æ¬åå ãæ£ç¢ºã«è¿œè·¡ããæ¹æ³ãçè§£ããå¿ èŠããããŸããèªååãšã€ã³ããªãžã§ã³ãããŒã«ãšçµã¿åãããããšã§ããããã®ç¥èã¯ãæ¬çªç°å¢ã«ãããããã¯é¢é£ã®éå®³ãæ©æã«æ€åºããé·æçãªäºé²ãè¡ãããã®åºç€ãšãªããŸãã
æåã®ã¹ãããã¯ãé«ã¹ã«ãŒããã ã·ã¹ãã ããã®ãããªåæå®è¡ã®ç«¶åã«å¯ŸããŠç¹ã«è匱ã§ããçç±ãçè§£ããããšã§ãã
é«ã¹ã«ãŒãããã·ã¹ãã ã«ãããããã¯ããã«ã®çè§£
髿§èœã¢ããªã±ãŒã·ã§ã³ã§ã¯ãåæå®è¡æ§ã¯åŒ·ã¿ã§ãããšåæã«ã è€éãã®æºã·ã¹ãã ãæ¯ç§æ°åä»¶ãã®æäœãåŠçã§ããèŠæš¡ã«æ¡åŒµããããšãå ±æããŒã¿ã®ç®¡çæ¹æ³ãéèŠã«ãªããŸãããããããã¯ãšããã¯ç«¶åã¯ãããã©ãŒãã³ã¹ãåŸã ã«äœäžããã2ã€ã®åæå®è¡æ§ã®åé¡ã§ãããã¬ã€ãã³ã·ã®æ¥äžæãé害ãçºçãããŸã§æ°ã¥ãããªãããšããããããŸãããããã®èª²é¡ã«å¯ŸåŠããã«ã¯ããã®åå ãåäœããããŠè² è·ã®é«ããã©ã³ã¶ã¯ã·ã§ã³ã¯ãŒã¯ããŒãã«ã©ã®ãããªåœ±é¿ãäžãããã調æ»ããããšãäžå¯æ¬ ã§ãã
é«ã¹ã«ãŒãããã·ã¹ãã ãåæå®è¡æ§ã®åé¡ã«é¥ããããçç±
é«ã¹ã«ãŒãããç°å¢ã§ã¯ã倧éã®åæãªã¯ãšã¹ããåŠçãããŸãããããã®ãªã¯ãšã¹ãã¯ãããããããŒã¿ããŒã¹å ã®å ±æããŒã¿ãã€ã³ããã¯ã¹æ§é ã«ã¢ã¯ã»ã¹ããå¯èœæ§ããããŸããåæå®è¡æ§ãé«ãŸãã«ã€ããŠãããå€ãã®ãã©ã³ã¶ã¯ã·ã§ã³ãåããªãœãŒã¹ãåæã«èªã¿åããŸãã¯å€æŽããããšããŸãããã®çµæãããã¯ãé »ç¹ã«çºçããããŒã¿ããŒã¹ãšã³ãžã³ã§ãã¥ãŒã€ã³ã°åäœãçºçããŸãã
è² è·ã®è»œãã·ã¹ãã ã§ã¯ããã®ç«¶åã¯ç®¡çå¯èœãããããŸãããããããé«è² è·æã«ã¯ããã¯åŸ æ©ãæ¥éã«æ¡å€§ããå¯èœæ§ããããŸããããšãçæéã®ããã¯ä¿æã§ãã£ãŠããä»ã®ã¯ãšãªã«é å»¶ãåŒãèµ·ããããããã¯ãããã»ãã·ã§ã³ã®ããã¯ãã°ãçºçããŸããéè¡æ¥åããã±ããçºè¡ããªã¢ã«ã¿ã€ã åæãªã©ã®ç°å¢ã§ã¯ããã®åäœã¯ç¹ã«å±éºã§ãã
é©åãªåé¢ãã€ã³ããã¯ã¹ããªããšããããã®æŽæ°ãäºãã«ãããã¯ãåãå¯èœæ§ããããŸãããã®çµæãã¹ã«ãŒãããã®äœäžãåŸ æ©æéã®å¢å ããªãœãŒã¹æ¯æžãçºçããŸãããããã®ãªã¹ã¯ã¯ãéåæåŠçã䞊åã¯ãŒã«ãŒã忣ãµãŒãã¹ã®äœ¿çšã«ãã£ãŠå¢å€§ããŸãã
åæå®è¡ã®åé¡ã¯ãé »ç¹ãªæŽæ°ãããŒã¿ã®ããŒãã£ã·ã§ã³åå²ãäžååããŸãã¯éå°ãªæžã蟌ã¿å¢å¹ ã䌎ãã¯ãŒã¯ããŒãã§ããçºçããŸãããããã®ç¶æ³ã§ã¯ãããããã³ã°ãã§ãŒã³ããã©ã³ã¶ã¯ã·ã§ã³ã®éè€ãçºçããå¯èœæ§ãé«ãŸããŸãã
ãããããã¯ãšããã¯ç«¶å â åºæ¬çãªæŠå¿µã®éã
ããã¯ç«¶åãšãããããã¯ã¯ãã°ãã°æ··åãããŸãããåäœãç°ãªããç°ãªã解決çãå¿ èŠã§ããããã¯ç«¶åãšã¯ããããã©ã³ã¶ã¯ã·ã§ã³ããå¥ã®ãã©ã³ã¶ã¯ã·ã§ã³ãåãããŒã¿ã«å¯ŸããŠããã¯ãä¿æããŠããããã«åŸ æ©ç¶æ ã«ãªãããšã§ããããã¯äžæçãªãã®ã§ãéåžžã¯ããã¯ãè§£æŸããããšè§£æ±ºãããŸãããããããã¯ã¯ããæ·±å»ãªåé¡ã§ãã2ã€ä»¥äžã®ãã©ã³ã¶ã¯ã·ã§ã³ãäºãã«åŸ æ©ç¶æ ã«ãªãã埪ç°çãªé£éã圢æããŠããããã®ãã©ã³ã¶ã¯ã·ã§ã³ãåŠçãç¶è¡ã§ããªãç¶æ ã«ãªã£ãå Žåã«çºçããŸãã
ããã¯ã®ç«¶åã¯ããã©ãŒãã³ã¹ãäœäžãããããããã¥ãŒãã³ã°ãå¿ èŠã§ãããããããã¯ã¯é害ã®åå ãšãªãããããã©ã³ã¶ã¯ã·ã§ã³èšèšã®æ¹åãããžãã¯ã®å€æŽã«ãã£ãŠå¯ŸåŠããå¿ èŠããããŸãã
ããžãã¹ãžã®åœ±é¿ïŒã¬ã€ãã³ã·ã®æ¥å¢ããã·ã¹ãã é害ãŸã§
ãããããã¯ãšããã¯ç«¶åã¯ã©ã¡ããã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ãäœäžãããå¯èœæ§ããããŸãããããžãã¹ãžã®åœ±é¿ã¯ç¯å²ãšé倧床ãç°ãªããŸãã
ããã¯ç«¶åã¯å¿çæéãé·ãããåŸåããããŸããããã¯ãããŒãžã®è¡šç€ºé床äœäžãã¿ã€ã ã¢ãŠããããããžã§ãã®åæ¢ã«ã€ãªããå¯èœæ§ããããŸãããããã¯ãããã¯ãšãªãèç©ããããšãã¹ã¬ããããŒã«ãšæ¥ç¶ããŒã«ã容éã«éããå¯èœæ§ããããŸããããã¯é£œåç¶æ ã«ã€ãªãããç¡é¢ä¿ãªãªã¯ãšã¹ãã§ããé å»¶ãçºçããŸãããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãäœäžããã·ã¹ãã ã®å®å®æ§ãäœäžããŸãã
ãããããã¯ã¯ãããé¡èãªé害ãåŒãèµ·ãããŸããããŒã¿ããŒã¹ã¯ãã©ã³ã¶ã¯ã·ã§ã³ã®1ã€ã匷å¶çã«ããŒã«ããã¯ããŸããããã«ãããã¢ããªã±ãŒã·ã§ã³ã³ãŒãã®ãšã©ãŒãæžã蟌ã¿ã®å€±æãã¯ãŒã¯ãããŒã®äžæãªã©ãçºçããŸããéè¡ãç©æµãªã©ãäžè²«æ§ãšä¿¡é Œæ§ãæ±ããããã·ã¹ãã ã§ã¯ããããã®é害ã«ãã£ãŠãã©ã³ã¶ã¯ã·ã§ã³ã®æå€±ãããŒã¿æŽåæ§ã®åé¡ãç£æ»ã®äžäžèŽãçããå¯èœæ§ããããŸãã
圱é¿ã¯è² è·ã«å¿ããŠæ¡å€§ããŸãããã©ãã£ãã¯ã®å°ãªãã¢ããªã§ã¯ãåäžã®ãããããã¯ã¯æ°ã¥ãããªãå¯èœæ§ããããŸããããããé«ã¹ã«ãŒãããã®ã·ã¹ãã ã§ã¯ããããããã¯ãšç«¶åãæ°å以å ã«æ°å人ã®ãŠãŒã¶ãŒã«åœ±é¿ãäžããå¯èœæ§ããããŸãããªã«ããªã«ã¯ã³ã¹ããããããããã¯ãã¿ãŒã³ã®å¯èŠæ§ããªããã°ããããã®åé¡ãåçºããå¯èœæ§ãé«ããªããŸãã
ãããã®ãªã¹ã¯ãæ©æã«å¯ŸåŠããã«ã¯ãããŒã¿ããŒã¹ã®å éšåäœãšã¢ããªã±ãŒã·ã§ã³ã®ãã©ã³ã¶ã¯ã·ã§ã³ãããŒãæ·±ãçè§£ããå¿ èŠããããŸããé«ãã¹ã«ãŒããããç¶æããç«¶åãäœãæããã«ã¯ãç£èŠãããŒã«ã®æŽ»çšããããŠããã¢ã¯ãã£ããªèšèšå€æãäžå¯æ¬ ã§ãã
ãµã€ã¬ã³ãããã©ãŒãã³ã¹ãã©ãŒã®çºèŠ
ãããããã¯ãããã¯ç«¶åã¯ãæãããªçç¶ãšããŠçŸããããšã¯çšã§ãããããããããã¯åŸã ã«å¿ã³å¯ããæéã®çµéãšãšãã«ããã©ãŒãã³ã¹ãäœäžãããæã«ã¯æ¬æ Œçãªé害ãšããŠè¡šé¢åããŸãããããã®åé¡ã蚺æããéµã¯ãæ®ãããå åãçè§£ããããšã§ããäžéšã®å åã¯ã¢ããªã±ãŒã·ã§ã³ã®æåããçŽæ¥èгå¯ã§ããŸãããããŒã¿ããŒã¹ã®ãã¬ã¡ããªãã»ãã·ã§ã³ã¬ãã«ã®ã¡ã¿ããŒã¿ã«é ããŠãããã®ããããŸãã
ããã¯ç«¶åã®ææš: é ãã¯ãšãªãšåŸ æ©æéã®æ¥å¢
ããã¯ç«¶åã®æãåæã®å åã®äžã€ã¯ãå¹³åã¯ãšãªã¬ã€ãã³ã·ã®å¢å ã§ããéåžžã¯æ°ããªç§ã§å¿çãè¿ãã¯ãšãªããè² è·ãããããšæ°ç§ãããããšããããŸãããã®å¢å ã¯å¿ ãããäžå®ã§ã¯ãããŸãããå€ãã®å Žåãå¿çæéã®ååžã¯åºãããããäžéšã®ãªã¯ãšã¹ãã§æ¥µç«¯ãªé å»¶ãçºçããŸãã
åŸ æ©æéã®æ¥å¢ã¯ããããã¯ãããã»ãã·ã§ã³ã«ãã£ãŠåŒãèµ·ããããŸãããããã©ã³ã¶ã¯ã·ã§ã³ãããã¯ãä¿æããŠãããšãã«ãå¥ã®ãã©ã³ã¶ã¯ã·ã§ã³ãåããªãœãŒã¹ã«ã¢ã¯ã»ã¹ããããšãããšã2çªç®ã®ãã©ã³ã¶ã¯ã·ã§ã³ã¯åŸ æ©ãã¥ãŒã«é 眮ãããŸããæåã®ãã©ã³ã¶ã¯ã·ã§ã³ã®å®è¡æéãé·ããªããšãä»ã®ãã©ã³ã¶ã¯ã·ã§ã³ãé å»¶ãããããã¯ãããã»ãã·ã§ã³ãé£éçã«çºçããŸãã
ãã®åé¡ã¯ãããã©ãŒãã³ã¹ããã·ã¥ããŒãã§ã¯ãšãªå®è¡æéã®æ¥å¢ãšããŠç¢ºèªãããå€ãã®å Žåãç¹å®ã®ããŒãã«ãæäœã«éã£ãŠçºçããŸããã¯ãšãªãã©ã³èªäœã¯æ£åžžã«èŠãããããéçºè ã¯åé¡ãå¥ã®å Žæã«ãããšèª€è§£ããŠããŸãããšããããŸãã
ãã® %LCK% ãã£ã«ã¿ã¯ããã¯ã«é¢é£ããåŸ
æ©ã匷調衚瀺ããŸãã waiting_tasks_count é·ã wait_time_ms ç«¶åãçºçããŠããããšã瀺ããŠããŸããã©ã®ã¯ãšãªãé¢ä¿ããŠããããç¹å®ããã«ã¯ãã©ã€ãã»ãã·ã§ã³ãŸãã¯ãã°ãšã®çžäºåç
§ãå¿
èŠã§ãã
ããã¯ç«¶åã¯ãæžã蟌ã¿è² è·ã®é«ãã·ã¹ãã ããé »ç¹ã«æŽæ°ããããããè¡ãæã€ã·ã¹ãã ã§ããçºçããŸããé©åã«ã€ã³ããã¯ã¹ãèšå®ãããããŒãã«ã§ãã£ãŠããããã¯ã®ç²åºŠããã©ã³ã¶ã¯ã·ã§ã³èšèšãæé©ã§ãªãå Žåã¯ãããã¯ç«¶åã®åœ±é¿ãåããå¯èœæ§ããããŸãã
ãããããã¯ã®çŸãæ¹: ãã©ã³ã¶ã¯ã·ã§ã³ã®ããŒã«ããã¯ãšã¿ã€ã ã¢ãŠããã°
æäœãé ãããç«¶åãšã¯ç°ãªãããããããã¯ã¯æäœãèœåçã«çµäºãããŸãããããããã¯ãçºçãããšãããŒã¿ããŒã¹ãšã³ãžã³ã¯ãµã€ã¯ã«ãæ€åºãã1ã€ã®ãã©ã³ã¶ã¯ã·ã§ã³ãéžæããŠããŒã«ããã¯ããŸããããã«ããéåžžãã¢ããªã±ãŒã·ã§ã³ã«ãã£ãŠãã£ãããããããå®è¡äžã«ãã°ã«èšé²ããããšã©ãŒãçºçããŸãã
ãããããã¯ã®æãäžè¬çãªå åã¯ã次ã®ãããªãšã©ãŒ ã¡ãã»ãŒãžã§ãã
- SQLãµãŒããŒïŒ
Transaction (Process ID 82) was deadlocked on resources with another process and has been chosen as the deadlock victim. - PostgreSQLïŒ
deadlock detected - OracleïŒ
ORA-00060: deadlock detected while waiting for resource
ãããã®ãšã©ãŒã¯æ£çºçã«çºçããããšãå€ããåçºçãªäºè±¡ã§ãããšãã誀ã£ãå°è±¡ãäžããŸããå®éã«ã¯ãåæå®è¡èšèšäžã®æ¬ é¥ãç¹°ãè¿ãçºçããŠããå¯èœæ§ããããŸãã
ã¿ã€ã ã¢ãŠããã°ãéèŠãªæ å ±ãæäŸããŸãããã©ã³ã¶ã¯ã·ã§ã³ãããã¯ããããªãœãŒã¹ã§é·æéåŸ æ©ããèšå®ãããã¿ã€ã ã¢ãŠããããå€ãè¶ ãããšãããŒã¿ããŒã¹ã¯æäœããã£ã³ã»ã«ããŸããå¿ ããããããããã¯ãåå ã§ã¯ãããŸãããããããã®ã¿ã€ã ã¢ãŠãã¯ãé«è² è·æã«ãããããã¯ã«ã€ãªããå¯èœæ§ã®ãããæ ¹æ¬çãªããã¯ç«¶åã瀺ããŠããããšããããããŸãã
ããã¯ãããããã¯ã°ã©ãããã£ããã£ããã©ã®ã»ãã·ã§ã³ãšãªãœãŒã¹ãé¢äžããŠãããã瀺ããŸããããŒã«ã¯ãŸãã ãããã®ã°ã©ããèŠèŠåãã åæã容æã«ããããã
ãããããã¯ãåãªãåç¬ã®ãšã©ãŒãšããŠæããã®ã§ã¯ãªããã¢ããªã±ãŒã·ã§ã³ã®åäœãã¯ãŒã¯ããŒãèšèšã®ãã¿ãŒã³ãšé¢é£ä»ããããšã§ãããŒã ã¯ãããããã¯ãã¢ããªã±ãŒã·ã§ã³ã®åäœãã¯ãŒã¯ããŒãèšèšã®ãã¿ãŒã³ãšé¢é£ä»ããããšãã§ããŸããç£èŠã·ã¹ãã ã§ã¯ããããããã¯ã®é »åºŠãåãªããšã©ãŒãã°ã®ãšã³ããªã§ã¯ãªããéèŠãªå¥å šæ§ææšãšããŠæ±ãå¿ èŠããããŸãã
å¯äœçšã®èгå¯: ã¹ã¬ããã®æ¯æžãCPU ã¯ãªãŒããæ¥ç¶ããŒã«ã®æ¯æž
åæå®è¡æ§ã®é«ãç°å¢ã§ã¯ãããã¯ã®åé¡ã«ãã鿥çãªåœ±é¿ãããã¯èªäœãããæ·±å»ã«ãªãå¯èœæ§ããããŸããç«¶åãå¢å ãããšããããã¯ããããã©ã³ã¶ã¯ã·ã§ã³ã¯ã¢ã€ãã«æã§ãã£ãŠã貎éãªã·ã¹ãã ãªãœãŒã¹ãæ¶è²»ããŸãã
ãããã¯ãããã¹ã¬ããã¯æ¥ç¶ã¹ããããå æããã¡ã¢ãªå²ãåœãŠãä¿æããå®è¡ãšã³ãžã³å ã§ã¢ã¯ãã£ããªãŸãŸã«ãªããŸããæéãçµã€ã«ã€ããŠãã¹ã¬ããæ¯æžã«ã€ãªããããã¹ãŠã®ã¯ãŒã«ãŒãããã¯åŸ ã¡ã§ææãããæ°ããã¯ãšãªãåŠçã§ããªããªããŸããããã¯ããŒããŠã§ã¢ããã£ãã·ãã£ã®åé¡ãšèª€èšºãããããšããããããŸãããæ ¹æ¬çãªåå ã¯ããŒã¿ããŒã¹ã®ããã¯åäœã«ãããŸãã
ã¹ã¬ããã®å®äºåŸ ã¡æéãé·ããªããšãæ¥ç¶ããŒã«ãæ¯æžããå¯èœæ§ããããŸããJDBCã.NETã®SqlClientãªã©ã®ããŒã«æ©æ§ã«äŸåããã¢ããªã±ãŒã·ã§ã³ã¯ãã¿ã€ã ã¢ãŠãã«ããæ°èŠæ¥ç¶ãæåŠãå§ããå¯èœæ§ããããŸããå€éšããèŠããšãã€ã³ãã©ã¹ãã©ã¯ãã£ã¯å¥å šã§ããã«ãããããããçªç¶ã®å¯çšæ§ã®åé¡ã®ããã«èŠããŸãã
CPU䜿çšçãå¢å ããå¯èœæ§ããããŸããã¹ã¬ãããéå¹ççã«ãããã¯ããããããªãã©ã€ããžãã¯ã«ãã£ãŠéå°ãªã¹ãã³ãçºçããããããšãã·ã¹ãã ã¯åŠçãå ã«é²ããã«éå°ãªè² è·ããããŸããJVMããŒã¹ã®ã·ã¹ãã ã§ã¯ã忢ããã¹ã¬ãããäºæ³ä»¥äžã«é·ãã¡ã¢ãªãä¿æãããããã¬ããŒãžã³ã¬ã¯ã·ã§ã³ã®è² è·ãå¢å€§ããããšããããŸãã
ãããã®å¯äœçšãç¹å®ããã«ã¯ãã¹ã¿ãã¯å šäœã®ææšãçžé¢ãããå¿ èŠããããŸããäŸãã°ã以äžã®çµã¿åããã¯åŒ·åãªã·ã°ãã«ãšãªããŸãã
- ããŒã¿ããŒã¹ã¯ãšãªãã°ã®åŸ æ©æéãé·ã
- ã¢ããªã±ãŒã·ã§ã³ã§ã®ã¹ã¬ããããŒã«ã®äœ¿çšéã®å¢å
- ããŒã¿ããŒã¹ã«ãã£ãŠå ±åããããããã¯ãããã»ãã·ã§ã³æ°ã®å¢å
ããŒã¿ããŒã¹ã®æåãšã¢ããªã±ãŒã·ã§ã³ã®ã¹ã¬ããç¶æ ãçµ±åçã«ææ¡ããããšãäžå¯æ¬ ã§ããããã¯ã®åé¡ã¯ããããµãŒãã¹ã§çºçããŠããã«ãããããããå¥ã®ãµãŒãã¹ã§ãçç¶ãåŒãèµ·ãããŠããããšããããããŸãããã¬ãŒã¹ãªãã§ã¯ãçã®åå ãç¹å®ããã®ã¯å°é£ã§ãã
ãããã®ãªã¹ã¯ã軜æžããã«ã¯ãã¯ãšãªãã°ã«ãšã©ãŸããªãæ€ç¥ãå¿ èŠã§ããç£èŠã«ã¯ãããã¯åŸ æ©ã¡ããªã¯ã¹ãã¹ã¬ããããŒã«ã®ç¶æ ããµãŒãã¹å¢çã«ãããã¿ã€ã ã¢ãŠãçãªã©ãå«ããå¿ èŠããããŸãã
ããã¯ã®åé¡ãæªåããåã«çºèŠããæ¹æ³
å®çšŒåã·ã¹ãã ã«ãããããã¯é¢é£ã®åé¡ã¯ãç·æ¥äºæ ãšããŠçºçããã±ãŒã¹ãã»ãšãã©ã§ã¯ãããŸãããæåã¯åŸ®åŠã§ç¹°ãè¿ãçºçããã·ã°ãã«ãšããŠçºçãããã€ãºã®å€ããã¬ã¡ããªã«åãããããä»ã®åé¡ãšèª€èªããããããããšããããŸããããããã³ã°ãã§ãŒã³ã埪ç°åŸ æ©ããŸãã¯ãªãœãŒã¹ã®ã¹ããŒã«ç¶æ ãããŒã ãæ©æã«ç¹å®ã§ããã°ã§ããã»ã©ãããŠã³ã¿ã€ã ãåé¿ããæé©ãªã¹ã«ãŒããããç¶æã§ããå¯èœæ§ãé«ãŸããŸããæ€åºã«ã¯ãã¿ã€ã ã¢ãŠããã¿ãŒã³ããã·ã¹ãã ã¬ãã«ã®åŸ æ©çµ±èšã®è©³çްãªèª¿æ»ãŸã§ãè€æ°ã®ã¢ãããŒããçµã¿åãããå¿ èŠããããŸãã
ã¯ãšãªã¿ã€ã ã¢ãŠããšäžæ¢ããããã©ã³ã¶ã¯ã·ã§ã³ããããããã¯ä¿¡å·ãšããŠ
ããã¯ã®åé¡ã®æãåæãã€ç¢ºå®ãªå åã®äžã€ã¯ãã¿ã€ã ã¢ãŠããšã©ãŒããã©ã³ã¶ã¯ã·ã§ã³ã¢ããŒãã®å¢å ã§ããããŒã¿ããŒã¹ãšã³ãžã³ããããããã¯ãæ€åºãããšãç«¶åãããã©ã³ã¶ã¯ã·ã§ã³ã®1ã€ã匷å¶çã«çµäºããŸããããã¯ã»ãšãã©ã®å Žåããã©ã³ã¶ã¯ã·ã§ã³ã¬ãã«ã®é害ãšããŠèšé²ãããã¹ã¿ãã¯ã«ãã£ãŠã¯ããã©ãŒã«ããã¯ããžãã¯ãã¢ããªã±ãŒã·ã§ã³ã¬ãã«ã®å詊è¡ãå®è¡ãããããšããããŸãã
ã¿ã€ã ã¢ãŠãã¯ãããããã¯ãšã¯ç¬ç«ããŠçºçããããšããããŸããããã¯ããã©ã³ã¶ã¯ã·ã§ã³ãããã¯ãæå®ããããããå€ãããé·ãåŸ æ©ããå Žåã«çºçããŸãããããã®åŸ æ©èªäœã¯èŽåœçã§ã¯ãããŸããããé »ç¹ã«çºçããå Žåã¯ããã©ã³ã¶ã¯ã·ã§ã³ãé·ããããåé¢ã¬ãã«ãé©åã§ãªããè¡ã®ç«¶åãæ¿ãããªã©ãæ§é çãªåæå®è¡æ§ã®åé¡ãçãããŸãã
ããŒã ã¯ãã¿ã€ã ã¢ãŠããã¿ãŒã³ã«äžèŽãããšã©ãŒçã宿çã«åæããçºçæºããšã«ã°ã«ãŒãåããå¿ èŠããããŸããç°ãªããšã³ããã€ã³ããŸãã¯ãµãŒãã¹éã§ç¹°ãè¿ãã¿ã€ã ã¢ãŠããçºçããå Žåã¯ãéåžžãäžæµã®ãããã¯ãçãããŸããåãæäœã§ç¹°ãè¿ãã¿ã€ã ã¢ãŠããçºçããå Žåã¯ãããŒã¿ããŒã¹ã¹ããŒããŸãã¯ããžãã¯ã«ããã¯ã®ãããã¹ããããçºçããŠããå¯èœæ§ããããŸãã
ãã®ææ³ã匷åãªã®ã¯ãååçã«åäœããç¹ã§ããã¢ããªã±ãŒã·ã§ã³ãã°ããšã©ãŒè¿œè·¡ã·ã¹ãã ãã¡ããªã¯ã¹ãã©ãããã©ãŒã ã¯ãå€ãã®å Žåããããã®ãšã©ãŒãæ¢ã«ææããŠããŸãããããã®ãšã©ãŒãã¡ããªã¯ã¹ãšããŠå¯èŠåããæç³»åã§æ¯èŒããããšã§ããŠãŒã¶ãŒãããã©ãŒãã³ã¹ã®äœäžãå ±åããåã«ãå¢å åŸåãæ€åºã§ããŸãã
ããŒã¿ããŒã¹åŸ æ©çµ±èšã®åæ
ææ°ã®ãªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ã¯ãã¹ãŠããšã³ãžã³ã¬ãã«ã§å éšåŸ æ©ã®çš®é¡ãšæéã远跡ããŠããŸãããã®ããŒã¿ã¯ãã¯ãšãªãã©ãã§åæ¢ããŠããããé«è§£å床ã§ç€ºããŸããããã¯ã®åŸ æ©ã¯ç«¶åã®çŽæ¥çãªå åã§ããããããããã¯ã®åå ã§ããããã¯ãã©ããããããã¡ããŒã«ã®åŸ æ©ãªã©ã®åŸ æ©ã«ããŽãªã調æ»ããããšã§ãããŒã¿ããŒã¹ç®¡çè ã¯ããŸã é害ãçºçããŠããªãå Žåã§ãããã«ããã¯ãç¹å®ã§ããŸãã
åŸ æ©çµ±èšã¯ãéåžžéçšæããã³è² è·ãã¹ãæã«èª¿æ»ããå¿ èŠããããŸããæ£åžžã«æ©èœããã·ã¹ãã ã§ã¯ãããã¯é¢é£ã®åŸ æ©ã¯æå°éãã€çæéã§æžãã¯ãã§ããããã¯é¢é£ã®åŸ æ©åæ°ãåŸ æ©æéã®å¢å ã¯ãã€ã³ããã¯ã¹äœæã®äžåããã©ã³ã¶ã¯ã·ã§ã³ã®éè€ããŸãã¯ãããè¡ã®çºçã瀺ããŠããå¯èœæ§ããããŸãã
蚱容å¯èœãªåŸ æ©ãã¿ãŒã³ãšç°åžžãªåŸ æ©ãã¿ãŒã³ãåºå¥ããããšãéèŠã§ããäŸãã°ãè¡ã¬ãã«ããã¯ã®çãåŸ æ©ã¯æžã蟌ã¿è² è·äžã§ã¯æ£åžžã§ããé·ãåŸ æ©ããããã¯ç¹å®ã®ã¯ãšãªã«éäžããåŸ æ©ã¯ãæé©åãå¿ èŠãªã·ã°ãã«ã§ããåŸ æ©æéãã¯ãšãªå®è¡ã¿ã€ã ã©ã€ã³ãšäžŠã¹ãŠèŠèŠåããããšã¯ãçç¶ãšæ ¹æ¬åå ãçžé¢ããã匷åãªæ¹æ³ã§ãã
é«ã¹ã«ãŒãããç°å¢ã§ã¯ã环ç©åŸ æ©çµ±èšã®åŸåãæç³»åã§ææ¡ããå¿ èŠããããŸããããã¯åäœã®çªç¶ã®å€åã¯ã䜿çšãã¿ãŒã³ã®å€åãäžé©åãªãããã€ã¡ã³ãããŸãã¯æå³ããç«¶åãå¢å ãããã¹ããŒã倿Žã瀺ããŠããå¯èœæ§ããããŸãã
ãã©ãããã©ãŒã åºæã®ããŒã«: SQL Server ããããã㯠ã°ã©ããOracle AWRãPostgreSQL ãã¥ãŒ
æ§ã ãªããŒã¿ããŒã¹ãšã³ãžã³ããããã¯åæã®ããã®å°çšããŒã«ãšãã¥ãŒãæäŸããŠããŸãããã©ãããã©ãŒã ãå ¬éããŠããæ å ±ãçè§£ããå¿ èŠã«å¿ããŠæå¹åããããšããæ©æçºèŠãšèšºæã®éµãšãªããŸãã
äŸãã°SQL Serverã¯ããã¬ãŒã¹ãã©ã°ãæ¡åŒµã€ãã³ããéããŠãã£ããã£ã§ãããããããã¯ã°ã©ãããµããŒãããŠããŸãããããã®ã°ã©ãã¯ããããããã¯ã€ãã³ãã«é¢ä¿ããã»ãã·ã§ã³ãšãªãœãŒã¹ãèŠèŠçã«è¡šçŸããŸããããã¯èŠæ±ãšçŸåšã®ææè ããããã³ã°ããããšã§ã埪ç°äŸåé¢ä¿ãæããã«ããåé¡ã®ããã³ãŒããã¹ãæ£ç¢ºã«ç¹å®ããã®ã«åœ¹ç«ã¡ãŸãã
Oracleã¯ãAWRïŒèªåã¯ãŒã¯ããŒãã»ãªããžããªïŒã¬ããŒãã䜿çšããŠãåŸ æ©æéãäžäœã¯ãšãªããããã¯ãã¿ãŒã³ãªã©ãã·ã¹ãã ã¢ã¯ãã£ããã£ã®å±¥æŽã¹ãããã·ã§ããã衚瀺ããŸãããããã®ã¬ããŒãã¯ã环ç©åŸ æ©æéãæãé·ãã¯ãšãªãããã«ããã¯ã®åå ãšãªã£ãŠããã¯ãšãªãç¹å®ããããã«åœ¹ç«ã€ãããããã©ãŒãã³ã¹ã¬ãã¥ãŒãã€ã³ã·ãã³ãäºåŸåæã«ãããŠäžå¯æ¬ ã§ãã
PostgreSQLã¯æ¬¡ã®ãããªããã€ãã®ãã¥ãŒãæäŸããŠããŸãã pg_stat_activity, pg_locks, pg_stat_wait_eventãããã¯ã誰ã誰ããããã¯ããŠããããã©ã®ãã©ã³ã¶ã¯ã·ã§ã³ãåŸ
æ©ããŠããããåã»ãã·ã§ã³ã®çŸåšã®ç¶æ
ãªã©ã«é¢ãããªã¢ã«ã¿ã€ã æ
å ±ãæäŸããŸããPostgreSQLã¯ããã©ã«ãã§ã¯ãããããã¯ã°ã©ããçæããŸãããã詳现ãªããã»ã¹ã¬ãã«ã®ãã¥ãŒã䜿çšããããšã§ãããããã³ã°ãã§ãŒã³ãæåã§åæ§ç¯ããããšãå¯èœã§ãã
ãããã®ããŒã«ã¯ããããããšã³ãžã³å éšã®ãã¥ãŒãã³ã°ãšçè§£ãå¿ èŠã§ããããã©ãŒãã³ã¹ã€ã³ã·ãã³ããçºçããåŸã§ãåææ å ±ãåéã§ããããã«ããã«ã¯ããµã³ããªã³ã°ã¬ãŒããå±¥æŽã®ä¿æãã¢ã¯ã»ã¹æš©éã®èšå®ãäžå¯æ¬ ã§ãã
ãã¿ãŒã³çžé¢ã®ããã®ã«ã¹ã¿ã ã¡ããªãã¯ãšãã°ã®äœ¿çš
è€éãªåæ£ã·ã¹ãã ãéçšããçµç¹ã«ãšã£ãŠããã€ãã£ãããŒã¿ããŒã¹ã®åææ å ±ã ãã§ã¯äžååã§ããé«åæå®è¡ã®åé¡ã¯ã¢ããªã±ãŒã·ã§ã³ã®å¢çãè¶ããŠçºçããããšãå€ãããã¬ãŒã¹ã¯ãã©ã³ã¶ã¯ã·ã§ã³ãã¹å šäœã远跡ããå¿ èŠããããŸãã
ã«ã¹ã¿ã ã¡ããªã¯ã¹ã¯ããã§éèŠãªåœ¹å²ãæãããŸããã¯ãšãªã¬ã€ãã³ã·ããšã©ãŒæ°ãã¹ã¬ããããŒã«ã®é£œå床ãšãã£ãç¹å®ã®ã¢ããªã±ãŒã·ã§ã³ãã€ã³ããã€ã³ã¹ãã«ã¡ã³ãåããããšã§ãããŒã ã¯äžæµã®ããã¯åé¡ã瀺åããçžé¢é¢ä¿ã远跡ã§ããŸãããããã®ã¡ããªã¯ã¹ãããã·ã¥ããŒãããªãã¶ãŒãããªãã£ãã©ãããã©ãŒã ã§é£æºãããããšã§ããã¿ãŒã³ãæµ®ãã³äžãããŸããã¯ãšãªã¬ã€ãã³ã·ã®æ¥äžæã«ç¶ããŠãšã©ãŒçãå¢å ããã·ã¹ãã CPU䜿çšçãäžæãããšããçŸè±¡ã¯ãé£éçãªããã¯åé¡ã®å žåçãªå åã§ãã
æ§é åãã°ã圹ç«ã¡ãŸãããã©ã³ã¶ã¯ã·ã§ã³IDãã»ãã·ã§ã³ã®åŸ æ©æéããªãœãŒã¹ã¢ã¯ã»ã¹ãã¿ãŒã³ããã°ã«èšé²ããããšã§ããªãã©ã€ã³åæã𿩿¢°å¯èªãªçžé¢é¢ä¿ã®è§£æãå¯èœã«ãªããŸããã¿ã€ã ã¹ã¿ã³ãä»ãã®ã¡ã¿ããŒã¿ãšçµã¿åãããããšã§ãéçºè ã¯ã€ãã³ãã®é åºãåæ§ç¯ãããããã©ã³ã¶ã¯ã·ã§ã³ãä»ã®ãã©ã³ã¶ã¯ã·ã§ã³ãç¶ç¶çã«ãããã¯ããŠãããã©ãããç¹å®ã§ããŸãã
ã€ã³ã¹ãã«ã¡ã³ããŒã·ã§ã³ãšã«ã¹ã¿ã ãªãã¶ãŒãããªãã£ãå°å ¥ããããšã§ãããã¯ç«¶åã®æ€åºã¯ç¶ç¶çãªããã»ã¹ã«ãªããŸããã·ã¹ãã ã¯ãŠãŒã¶ãŒããã®èŠæ ãåŸ ã€ããšãªããç°åžžãæ©æã«æ€ç¥ããåŸåãç¹å®ããèªåä¿®åŸ©ã®æºåãæŽããŸãã
æ·±ãæãäžããïŒããã¯ç«¶åã®æ ¹æ¬åå
衚é¢çãªæ€åºã ãã§ã¯ã解決ãžã®éã¯ååããéããŸãããé·æçãªå®å®æ§ã¯ããããããã¯ãããã¯ç«¶åãåŒãèµ·ããæ ¹æ¬çãªåå ãç¹å®ããæé€ããããšã«ããã£ãŠããŸãããããã®åé¡ã¯ãåäžã®ã¯ãšãªã®äžå ·åãåå ã§çºçããããšã¯çšã§ãããããããã©ã³ã¶ã¯ã·ã§ã³èšèšãããŒã¿ã¢ããªã³ã°ããããŠã¢ããªã±ãŒã·ã§ã³ã®åäœã«ãããäœç³»çãªãã¿ãŒã³ããçããŠããŸãããããã®åé¡ã广çã«è§£æ±ºããã«ã¯ãããŒã ã¯åé¡ãæ§é çãªæ ¹æ¬åå ãŸã§é¡ããããŒã¿ããŒã¹å±€ãšã¢ããªã±ãŒã·ã§ã³å±€ã®äž¡æ¹ã§çãçµã£ã倿Žãè¡ãå¿ èŠããããŸãã
äžè¬çãªãããããã¯ãã¿ãŒã³: 埪ç°åŸ æ©ããªãœãŒã¹äžè¶³ãããããªãŒãšã³ãã¬ã€ã¹
ãããããã¯ã¯ã2ã€ä»¥äžã®ã»ãã·ã§ã³ãããã¯ãä¿æããåæã«äºãã®å¿ èŠãªãªãœãŒã¹ã®è§£æŸãåŸ æ©ããŠãããšãã«çºçããŸããããã«ãããããŒã¿ããŒã¹ãšã³ãžã³ããã©ã³ã¶ã¯ã·ã§ã³ã®1ã€ã匷å¶çã«çµäºãããªãéã解決ã§ããªãäŸåé¢ä¿ã®ãµã€ã¯ã«ã圢æãããŸãããã®ãµã€ã¯ã«ã¯æåã¯ãã£ãã«çºçããŸããããåæå®è¡æ§ãé«ãŸãã«ã€ããŠé »ç¹ã«çºçããŸãã
埪ç°åŸ æ©ã®æãäžè¬çãªåå ã®äžã€ã¯ãããã¯é åºã®äžäžèŽã§ããäŸãã°ããããã©ã³ã¶ã¯ã·ã§ã³ãåžžã«ããŒãã«Aãããã¯ããŠããããŒãã«Bãããã¯ããå¥ã®ãã©ã³ã¶ã¯ã·ã§ã³ãéã®é åºã§ããã¯ããå Žåããããããã¯ãçºçããå¯èœæ§ãé«ããªããŸãããŸããå ±æããŒã¿ãžã®æžã蟌ã¿ã¢ã¯ãã£ããã£ã®éè€ã埪ç°åŸ æ©ã®åå ãšãªããç¹ã«åäžãã©ã³ã¶ã¯ã·ã§ã³å ã§è€æ°ã®è¡ãããŒãã«ã«ãŸãããæŽæ°ãçºçããå Žåã«é¡èã«ãªããŸãã
ãªãœãŒã¹äžè¶³ã¯ãé·æéå®è¡ãŸãã¯ãããã¯ããããã©ã³ã¶ã¯ã·ã§ã³ã«ãã£ãŠä»ã®ãã©ã³ã¶ã¯ã·ã§ã³ãããã¯ãååŸã§ããªããšãã«çºçããŸããããã¯å€ãã®å ŽåãäžåºŠã«å€§éã®ããŒã¿ãèªã¿æžããããã©ã³ã¶ã¯ã·ã§ã³ã«ãã£ãŠçºçããIOããã®ä»ã®ãµãŒãã¹ã®åŸ æ©äžã«è€æ°ã®è¡ãŸãã¯ããŒãã«ã人質ã«åãããç¶æ ã«ãªããŸãã
ããããªãŒã»ãšã³ãã¬ã€ã¹ã»ãã¿ãŒã³ãšã¯ã2ã€ã®ãã©ã³ã¶ã¯ã·ã§ã³ãããããã仿¹ã®ãã©ã³ã¶ã¯ã·ã§ã³ãèŠæ±ããããã¯ãä¿æããŠãããšããç¹æ®ãªã±ãŒã¹ã§ããããã¯å žåçãªãããããã¯ã®ã·ããªãªã§ãããããã¯é åºã«äºæãã¬åœ±é¿ãäžããåçã¯ãšãªãæ¡ä»¶ä»ãã¯ãšãªã䜿çšããå Žåãæãåé¿ãå°é£ãªã±ãŒã¹ãšãªãããšããããããŸãã
ãããã®ãã¿ãŒã³ãèªèããã«ã¯ããã°ã ãã§ã¯äžååã§ãããã©ã³ã¶ã¯ã·ã§ã³ãããŒã¿ãšã©ã®ããã«çžäºäœçšãããã€éè€ããããå¯èŠåããå¿ èŠããããŸãããããããã¯ã°ã©ããããããã³ã°ã»ãã·ã§ã³ããªãŒã¯ããããã®çžäºäœçšããããã³ã°ããäžã§ç¹ã«åœ¹ç«ã¡ãŸãã
ãã©ã³ã¶ã¯ã·ã§ã³èšèšã®èœãšã穎: é床ã«åºãããã¯ãäžé©åãªåé¢ã¬ãã«ã®éžæ
ãã©ã³ã¶ã¯ã·ã§ã³ã®æ§é ãšããžãã¯ã¯ãåæå®è¡æ§ãžã®åœ±é¿ã«çŽæ¥åœ±é¿ããŸããèšèšã®äžé©åãªãã©ã³ã¶ã¯ã·ã§ã³ã¯ããããããã¯ãšããã¯ç«¶åã®äž¡æ¹ã®æãäžè¬çãªæ ¹æ¬åå ã®äžã€ã§ãããã©ã³ã¶ã¯ã·ã§ã³ãããã¯ãä¿æããæéãé·ããªãã»ã©ãä»ã®ãã©ã³ã¶ã¯ã·ã§ã³ã«å¹²æžããæéãé·ããªããŸãããŸããã¢ã¯ã»ã¹ããããŒã¿ãå¢ããã»ã©ãå ±æã¡ã¢ãªãšãã£ã¹ã¯IOã«ããããããããªã³ãã倧ãããªããŸãã
è¡ãé床ã«å€æŽãããã©ã³ã¶ã¯ã·ã§ã³ããããããŒãã«ãžã®ãµãã¯ãšãªãå«ããã©ã³ã¶ã¯ã·ã§ã³ãé©åãªãã£ã«ã¿ããªããã©ã³ã¶ã¯ã·ã§ã³ã¯ãæå³ãã以äžã®ããã¯ãçºçãããããšããããããŸããäŸãã°ãWHEREå¥ã®ãªãäžæ¬æŽæ°ããç·©ãã€ã³ããã¯ã¹ã®åã«åºã¥ãæŽæ°ã¯ãããŒãã«å šäœãã¹ãã£ã³ããç¡é¢ä¿ãªãŠãŒã¶ãŒãæäœã«åœ±é¿ãäžããåºç¯ãªããã¯ããããå¯èœæ§ããããŸãã
éžæããåé¢ã¬ãã«ãéèŠãªåœ¹å²ãæãããŸããã·ãªã¢ã©ã€ã¶ãã«ãªã©ã®é«ãåé¢ã¬ãã«ã¯ç°åžžã鲿¢ã§ããŸãããããã¯ã®è² è·ãå¢å€§ããŸããéã«ãã³ããããããŠããªãèªã¿åããªã©ã®äœãåé¢ã¬ãã«ã¯ç«¶åã軜æžããŸãããäžæŽåãçºçããå¯èœæ§ããããŸããç¹å®ã®ã¯ãŒã¯ããŒãã«å¯ŸããŠäžé©åãªã¬ãã«ãéžæãããšãå®å šæ§ãšåæå®è¡æ§ã®éã§ãã¬ãŒããªããçããæ éã«ç®¡çããå¿ èŠããããŸãã
ãã®ä»ã®ããããåé¡ãšããŠã¯ããŠãŒã¶ãŒå ¥åäžãå€éšAPIåŒã³åºãäžã®ããã¯ä¿æãã³ãããããã«è€æ°ã®DMLæäœãé£éããããå¹ççãªãããæžã蟌ã¿ã®å€±æãªã©ãæããããŸãããããã®ãã¹ã¯ãã©ã³ã¶ã¯ã·ã§ã³ãããããªã³ããå¢å€§ããããããã¯ã®å¯èœæ§ãé«ããŸãã
ãã©ã³ã¶ã¯ã·ã§ã³èšèšã®æ¹åã¯ãå€ãã®å Žåãåæããå§ãŸããŸããæãé »ç¹ã«å®è¡ãããããŸãã¯æãè² è·ã®é«ããã©ã³ã¶ã¯ã·ã§ã³ãç¹å®ããŸãããããã®èªã¿åã/æžã蟌ã¿ãã¿ãŒã³ãå®è¡æéã圱é¿ãåãããªããžã§ã¯ãã確èªããŸããæ¬¡ã«ãã¹ã³ãŒããšããŒã«ãæéãçž®å°ããããã«ãã©ã³ã¶ã¯ã·ã§ã³ãåæ§ç¯ããçæ³çã«ã¯äœæ¥ãè«ççã«å®äºãããããã«ã³ãããããŸãã
ã³ãŒãã¬ãã«ã®ããªã¬ãŒ: ORM ã®åäœãç¡å¶éã®çµæã»ãããN+1 ã¯ãšãªãã§ãŒã³
ããã¯ç«¶åã¯ãå¿ ãããããŒã¿ããŒã¹ã¹ããŒããSQLèªäœã®ããã§ã¯ãããŸãããå€ãã®å Žåãæ ¹æ¬çãªåå ã¯ã¢ããªã±ãŒã·ã§ã³ã³ãŒããšããŒã¿ããŒã¹ã®ããåãã«ãããŸããORMïŒãªããžã§ã¯ããªã¬ãŒã·ã§ãã«ããããŒïŒã®ãããªé«ã¬ãã«ã®æœè±¡åã¯ãéçºè ãæç€ºçã«èšèšããŠããªãã¯ãšãªãçæããããšã§ãéå¹çæ§ãããããå¯èœæ§ããããŸãã
å žåçãªäŸãšããŠãN+1ã¯ãšãªåé¡ãæããããŸãããã®ã·ããªãªã§ã¯ãã¢ããªã±ãŒã·ã§ã³ã¯ã¬ã³ãŒãã®ãªã¹ããèªã¿èŸŒã¿ãåé ç®ã«å¯ŸããŠåå¥ã®ã¯ãšãªãå®è¡ããŠé¢é£ããŒã¿ãååŸããŸãããã©ã³ã¶ã¯ã·ã§ã³å ãŸãã¯æžã蟌ã¿ã䌎ãã»ãã·ã§ã³äžã«ãã®ãã¿ãŒã³ãå®è¡ãããšãæ°åãŸãã¯æ°çŸã®éè€ããããã¯ãäºãã«ãããã¯ãåããŸãã
ããäžã€ã®åé¡ã¯ãçµæã»ãããç¡å¶éã§ããããšã§ããããŒãžããŒã·ã§ã³å¥ãlimitå¥ãé©çšããŠããªãã¢ããªã±ãŒã·ã§ã³ã¯ãããŒãã«ã®å€§éšåãã¹ãã£ã³ããæå³ãããããå€ãã®è¡ãããã¯ããŠããŸãå¯èœæ§ããããŸãããã®çµæãç¹å®ã®ç¶æ³äžã§å ±æããã¯ãæä»ããã¯ã«ãšã¹ã«ã¬ãŒãããä»ã®ãŠãŒã¶ãŒã®ã¯ãšãªã«åœ±é¿ãäžããããšããããããŸãã
ã³ãŒãå ã®æäœã®é åºãããéèŠã§ããè€æ°ã®ãšã³ãã£ãã£ã«äºæž¬äžå¯èœãªé åºã§ã¢ã¯ã»ã¹ãããšãåçãªããã¯ãã¿ãŒã³ãçºçããŸããè€æ°ã®ãµãŒãã¹ãé¡äŒŒã®ããŒã¿ãç°ãªãæ¹æ³ã§äœ¿çšãããšããã®å€åã«ãã£ãŠããã¯ååŸã®äžæŽåãçããããŒã¿ããŒã¹ãããã¯ã¹ã±ãžã¥ãŒã«ãæé©åããããšãå°é£ã«ãªããŸãã
ã¢ããªã±ãŒã·ã§ã³ãã¬ãŒã ã¯ãŒã¯ã®åäœã圱é¿ããŸããäžéšã®ORMã§ã¯ãç¹å®ã®æ¡ä»¶ãæºãããããããã¹ãŠã®ããŒã¿ãåéããããŸã§ãã¯ãšãªã®å®éã®å®è¡ãå»¶æããŸããããã«ãããããã¯åäœããã©ã³ã¶ã¯ã·ã§ã³ã®æ³å®ãããåŸã®æç¹ã«ãããç«¶åãçºçããå¯èœæ§ãé«ãŸããŸãã
ã³ãŒãã¬ãã«ã®åé¡ã解決ããã«ã¯ããŸãç«¶åãæ¿ããæé垯ã®ã¯ãšãªãã°ã確èªããŸããå°ããªSELECTæã®ç¹°ãè¿ããããŒãã«å šäœã®ã¹ãã£ã³ããªããžã§ã¯ãã®ãã€ãã¬ãŒã·ã§ã³ã«ãŒãã®é å»¶ãšãã£ããã¿ãŒã³ãç¹å®ããŸãããããåºç€ãšãªãSQLã®ç¥èãšçµã¿åãããããšã§ãåé¡ãšãªã£ãŠããã¢ããªã±ãŒã·ã§ã³ããžãã¯ãç¹å®ããŸããå€ãã®å Žåãä¿®æ£ã«ã¯ãããåŠçãé å»¶èªã¿èŸŒã¿ãã€ã³ããã¯ã¹ã®è¿œå ãããŒã¿ã¢ã¯ã»ã¹ãããŒã®åèšèšãªã©ãå«ãŸããŸãã
å®è·µçãªãã©ãã«ã·ã¥ãŒãã£ã³ã°: éçºè åãã¬ã€ã
ãªã¢ã«ã¿ã€ã ã®ããã©ãŒãã³ã¹åé¡ã衚é¢åããå Žåãæ€åºã ãã§ã¯äžååã§ããéçºè ãããŒã¿ããŒã¹ãšã³ãžãã¢ã¯ãç¹ã«è€éãªæ¬çªç°å¢ã«ãããŠãããã¯é¢é£ã®åé¡ãçºçæã«èª¿æ»ããããã®å®çšçãªææ³ãå¿ èŠãšããŸãã以äžã®ææ³ã¯ãã©ã€ãã»ãã·ã§ã³ããŒã¿ãããããã³ã°ãã§ãŒã³ããããŠç¹°ãè¿ãå¯èœãªãã¹ãã·ããªãªã«çŽæ¥ã¢ã¯ã»ã¹ãããããããã¯ãããã¯ç«¶åã®åå ç©¶æã«åœ¹ç«ã¡ãŸãã
ã©ã€ãããã¯ã¡ã¿ããŒã¿ã®ã¯ãšãª
ã»ãšãã©ã®ãªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ã¯ãã©ã®ãã©ã³ã¶ã¯ã·ã§ã³ãããã¯ãä¿æãŸãã¯åŸ æ©ããŠãããããšã³ãžãã¢ãæ€æ»ã§ããããã«å éšãã¥ãŒãå ¬éããŠããŸãããããã®ã·ã¹ãã ãã¥ãŒã¯ãããã¯ãããŒãžã£ãŒã®ãªã¢ã«ã¿ã€ã ã®åäœãçè§£ããåé¡ã®ããã»ãã·ã§ã³ãèŠã€ããããã«äžå¯æ¬ ã§ãã
ããšãã°SQL Serverã§ã¯ã sys.dm_tran_locks ã©ã®ãããªããã¯ãçŸåšä¿æãããŠãããã誰ãä¿æããŠããããç¹å®ããããã«äœ¿çšã§ããŸããPostgreSQLã¯ãåæ§ã®æ
å ±ã pg_locks ãã¥ãŒããããã®ã¡ã¿ããŒã¿ãã¥ãŒã«ã¯ãããã¯ã®çš®é¡ããªãœãŒã¹ã®çš®é¡ãã¢ãŒãããããã¯ç¶æ
ãªã©ã®è©³çްã衚瀺ãããŸããã»ãã·ã§ã³ãã¥ãŒãããã»ã¹ãã¥ãŒãšçµã¿åããããšã pg_stat_activityãšã³ãžãã¢ã¯ããã¯ãã¢ã¯ãã£ããªã¯ãšãªã«äžèŽãããããšãã§ããŸãã
ã©ã€ãã¡ã¿ããŒã¿ã¯ãããã©ãŒãã³ã¹ãçªç¶äœäžãããã®åå ãäžæãªå Žåã«åœ¹ç«ã¡ãŸãããšã³ãžãã¢ã¯ããããã¯ãããã»ãã·ã§ã³ãç¹å®ã®ãªãœãŒã¹ãã¯ãšãªãšçžé¢ãããäºæ³ãããé·ãããã¯ãä¿æããŠããé·æéå®è¡ãã©ã³ã¶ã¯ã·ã§ã³ãç¹å®ã§ããŸããããã¯ãã€ã³ã·ãã³ã察å¿ãããã©ãŒãã³ã¹æŠç¥äŒè°ãªã©ãè¿ éãªæææ±ºå®ãå¿ èŠãªå Žé¢ã§ç¹ã«åœ¹ç«ã¡ãŸãã
è² è·ãããŒã¯æãŸãã¯ããã©ãŒãã³ã¹ãäœäžããæé垯ã«ãããã®ãã¥ãŒãã¯ãšãªããããšã§ãéçºè ã¯ãããŸã§é ããŠãããããã¯ãã¿ãŒã³ãçºèŠã§ããå Žåãå€ããããŸããç¹°ãè¿ãçºçããåé¡ã®å Žåããã®ã¯ãšãªã瀟å ããã·ã¥ããŒããã¢ã©ãŒãã·ã¹ãã ã«èªååããããšã§ãé倧ãªã€ã³ã·ãã³ãã«ã€ãªããåã«ç«¶åãæ€åºã§ããŸãã
ãããã¯ãããŠããã»ãã·ã§ã³ããªã¢ã«ã¿ã€ã ã§è¿œè·¡
ããã¯ã®ç«¶åã¯åžžã«éçã§ã¯ãããŸãããæ°ãããã©ã³ã¶ã¯ã·ã§ã³ãéå§ãããå€ããã©ã³ã¶ã¯ã·ã§ã³ãå®äºããã«ã€ããŠãããããã³ã°ãã§ãŒã³ã¯å€åããŸããå®çšŒåã·ã¹ãã ã§ã¯ãã©ã®ã»ãã·ã§ã³ãçŸåšä»ã®ã»ãã·ã§ã³ããããã¯ããŠããããææ¡ããããšããã¬ã¹ãã³ã¹ã®åªå é äœä»ããšé å»¶ã®åå ã®ç¹å®ã«éèŠã§ãã
ã»ãšãã©ã®ããŒã¿ããŒã¹ã¯ãããããã³ã°é¢ä¿ããªã¢ã«ã¿ã€ã ã§è¿œè·¡ããã¡ã«ããºã ãæäŸããŠããŸãããããã®ã¡ã«ããºã ã«ã¯ãã»ãã·ã§ã³ç¶æ
ãã¥ãŒãã¢ã¯ãã£ããã£ã¢ãã¿ãŒãç¹æ®ãªããããã³ã°ããªãŒãªã©ããããŸããMySQLã§ã¯ã次ã®ãããªã³ãã³ãã䜿çšã§ããŸãã SHOW ENGINE INNODB STATUS ããã¯ããã³ãããã¯ã»ãã·ã§ã³ã«é¢ããæ
å ±ãå«ãŸããŸããSQL Server ã¯ããããã¯ãããã»ãã·ã§ã³ ID ãšãããã¯ãããã»ãã·ã§ã³ ID ã衚瀺ããåç管çãã¥ãŒãæäŸããŸããPostgreSQL ã¯ãã©ã®ããã¯ãšã³ããäœãåŸ
æ©ããŠãããã远跡ããåŸ
æ©ã€ãã³ããã¥ãŒãæäŸããŸãã
å®éã«ã¯ããããã¯ããŠããã»ãã·ã§ã³ãç¹å®ããããšã¯å§ãŸãã«éããŸãããæ¬¡ã®ã¹ãããã¯ããããã¯ããŠããã»ãã·ã§ã³ãäžæ£ãªåäœãããŠããã®ããé床ãé ãããã®ãããããšãåã«éãæªãã ããªã®ãã倿ããããšã§ããããã¯ã®çš®é¡ãå®è¡äžã®æäœãä¿çæéãªã©ã®èŠå ã«åºã¥ããŠããã©ã³ã¶ã¯ã·ã§ã³ãæé©åãããããã£ã³ã»ã«ãããããããšããã®ãŸãŸå®äºããããã倿ããŸãã
ãã®ææ³ã¯ã1ã€ã®é å»¶æäœãããã«ããã¯ãšãªããäžæµã®æ°çŸã®ãã©ã³ã¶ã¯ã·ã§ã³ã«åœ±é¿ãäžããå¯èœæ§ãããé«ã¹ã«ãŒãããç°å¢ã§ç¹ã«åšåãçºæ®ããŸããSREãšéçºè ã¯ããªã¢ã«ã¿ã€ã ã®ãã¬ãŒã¹ããŒã¿ã䜿çšããããšã§ããããã«ãŒã匷å¶çµäºããããè² è·ãåã¹ã±ãžã¥ãŒã«ãããããããã¯ç«¶åãå®å šã«åé¿ããããã«ããžãã¯ãåèšèšãããã倿ã§ããŸãã
äžéšã®çµç¹ã§ã¯ãããããã³ã°ãã§ãŒã³ãããªãŒãã°ã©ããšããŠèŠèŠåããã©ã€ãããã·ã¥ããŒããæ§ç¯ããããšã§ããã®ããã»ã¹ã匷åããŠããŸãããã®èŠèŠåã«ãããã«ãŒãããããã³ã°ã®çºçæºã容æã«ææ¡ããã·ã¹ãã å šäœã®ããã¯ç¶æ ãäžç®ã§è©äŸ¡ã§ããŸãã
ãããããã¯ã®åçŸïŒã¹ããŒãžã³ã°ç°å¢ã§ã®å¶åŸ¡ããããã¹ãæŠç¥
ãããããã¯ã®è§£æ±ºã«ã¯ããã°ãçµ±èšæ å ±ã®ç¢ºèªã ãã§ã¯äžååãªå Žåãå€ããããŸããå€ãã®å Žåã解決çã確å®ã«æ€èšŒããå¯äžã®æ¹æ³ã¯ãå¶åŸ¡ãããæ¡ä»¶äžã§åé¡ãåçŸããããšã§ããã¹ããŒãžã³ã°ç°å¢ã¯ããã®ããã»ã¹ã«æé©ãªå Žæã§ãã
åçŸã¯ãæ¬çªç°å¢ããå¯èœãªéãå€ãã®ã³ã³ããã¹ããåéããããšããå§ãŸããŸããããã«ã¯ããã©ã³ã¶ã¯ã·ã§ã³ã®ã¿ã€ãã³ã°ãããŒãã«ãžã®ã¢ã¯ã»ã¹é åºãåé¢ã¬ãã«ãçºçé »åºŠãªã©ãå«ãŸããŸããåæ§ã®åæå®è¡æ§ãšããŒã¿åœ¢ç¶ãæã€ãã©ã³ã¶ã¯ã·ã§ã³ãããŒãè€è£œããããšã§ãããŒã ã¯ã¹ããŒãžã³ã°ç°å¢ã§åãããã¯ãã¿ãŒã³ãããªã¬ãŒã§ããŸãã
åæå®è¡ã®ã·ãã¥ã¬ãŒã·ã§ã³ã¯éåžžã«éèŠã§ããããã«ã¯ãå€ãã®å Žåã䞊åã»ãã·ã§ã³ã®å®è¡ããè² è·ãã¹ãããŒã«ãçšããå®éã®ã¢ã¯ã»ã¹ãã¿ãŒã³ã®åçŸãå«ãŸããŸããç®æšã¯ãåã«è² è·ãçºçãããã ãã§ãªããç«¶åãããã©ã³ã¶ã¯ã·ã§ã³éã®é©åãªã¿ã€ãã³ã°ã®éè€ã調æŽããããšã§ãã
äŸãã°ã2ã€ã®ãã©ã³ã¶ã¯ã·ã§ã³ã䞊åå®è¡ãããããããéè€ããè¡ãç°ãªãé åºã§æŽæ°ããå Žåãåºç€ãšãªãããã¯é åºã«äžè²«æ§ããªããšãããããã¯ãçºçããå¯èœæ§ããããŸãããšã³ãžãã¢ã¯ãããããã¯ã®çºçç¶æ³ã芳å¯ããããŒã¿ããŒã¹èšºæã§ç¢ºèªããããšãã§ããŸãã
ãã®ãã¹ãã¢ãããŒãã«ã¯ãããªãå©ç¹ããããŸããã¯ãšãªã®é åºå€æŽããã©ã³ã¶ã¯ã·ã§ã³ã®ççž®ãåé¢ã¬ãã«ã®èª¿æŽãšãã£ãä¿®æ£ãæ¬çªç°å¢ã«é©çšããåã«æ€èšŒã§ããŸãããŸããåæå®è¡è² è·äžã§ã®ã·ã¹ãã ã®åäœã«é¢ããçµç¹çãªçè§£ãæ·±ãŸããŸãã
广çãªåçŸæŠç¥ã¯ãååçãªèšºæãèœåçãªåé¡è§£æ±ºãžãšè»¢æããŸãããããããã¯ããã¹ãå¯èœã§åçŸå¯èœãªã€ãã³ããšããŠæ±ãããšã§ãããŒã ã¯äºåŸå¯Ÿå¿çãªä¿®æ£ããäºé²çãªèšèšãžãšç§»è¡ã§ããŸãã
ããŸããã SMART TS XL éåŽåãããªã
æåããã¯åæã«ã¯ãããŒã¿ããŒã¹ã«é¢ããæ·±ãå°éç¥èãçµ¶ãéãªãç£èŠããããŠãµãŒãã¹ãã¯ãšãªã¬ã€ã€ãŒå šäœã«ããããã¿ãŒã³ã®çžé¢é¢ä¿ãææ¡ããèœåãå¿ èŠã§ããé«ã¹ã«ãŒãããã·ã¹ãã ãå®è¡ããŠããçµç¹ã§ã¯ããã®ã¢ãããŒãã¯æ¡åŒµæ§ã«æ¬ ããŸãã SMART TS XL ãããããã¯ãšããã¯ç«¶åã®æ€åºãåæããããŠè§£æ±ºèšç»ãèªååããããšã§ããã®ããã»ã¹ãå€é©ããŸããããã«ãããæäœæ¥ã«ããæ€æ»ã®è² æ ã軜æžãããã¹ã¿ãã¯å šäœããªã¢ã«ã¿ã€ã ã§å¯èŠåããã€ã³ããªãžã§ã³ããªãã¿ãŒã³ããªãã³èšºæãå¯èœã«ãªããŸãã
ãµãŒãã¹éã®ããã¯ç«¶åã®ãã¿ãŒã³ããŒã¹ã®æ€åº
忣ã·ã¹ãã ã§ã¯ãçç¶ãçŸããŠãããµãŒãã¹ãšã¯å¥ã®ãµãŒãã¹ã«æ ¹æ¬åå ãååšããå¯èœæ§ããããããããã¯ç«¶åã®è¿œè·¡ãå°é£ãªå ŽåããããããŸãã SMART TS XL ã¯ããµãŒãã¹éã®çžé¢é¢ä¿ã«ãã£ãŠãã®èª²é¡ã«å¯ŸåŠãããã©ã³ã¶ã¯ã·ã§ã³ããã¥ãŒãAPIãããã¯ã°ã©ãŠã³ã ã¯ãŒã«ãŒããŸãã¯ãã€ã¯ããµãŒãã¹ã«ãŸãããå Žåã§ãç«¶åãã¿ãŒã³ãèå¥ããŸãã
ãã©ãããã©ãŒã ã¯ããã©ã³ã¶ã¯ã·ã§ã³ã®ãã¬ãŒã¹ãšããŒã¿ããŒã¹ã®ã€ã³ã¿ã©ã¯ã·ã§ã³ãç¶ç¶çã«ç£èŠããããããããã¯åŸ æ©ã¿ã€ã ã©ã€ã³ãšãªãœãŒã¹äœ¿çšéã«ãããã³ã°ããŸãããããè¡ã®ããããã³ã°ãã§ãŒã³ã人æ°ã®ã€ã³ããã¯ã¹ã®éå¹ççãªæŽæ°ãåãè«çãªãœãŒã¹ãžã®ç«¶åæžã蟌ã¿ãªã©ãç¹°ãè¿ãçºçããç«¶åã·ããªãªãèªèããŸãã
ãããã®ãã¿ãŒã³ãã¢ããªã±ãŒã·ã§ã³ã®ãšã³ããã€ã³ããšããŒã¿ããŒã¹æ§é ã«ãããã³ã°ããããšã§ã SMART TS XL ãšã³ãžãã¢ãéèŠãªè³ªåã«çããã®ã«åœ¹ç«ã¡ãŸã: ã©ã®ã¯ãšãªãé¢ä¿ããŠããã? ã©ã®ãµãŒãã¹ãããããéå§ããŠããã? æéã®çµéãšãšãã«é床ãäœäžããŠããã?
ãã¿ãŒã³ããŒã¹ã®æ€åºã¯ãäºåŸå¯Ÿå¿åã®ã¢ã©ãŒããã€ã³ããªãžã§ã³ããªæ ¹æ¬åå ã¢ããªã³ã°ã«çœ®ãæããŸãããŠãŒã¶ãŒããã®èŠæ ãåããŠé ãã¯ãšãªã«å¯Ÿå¿ããã®ã§ã¯ãªããããŒã ã¯ç«¶åã®çºçãäºæž¬ããã©ã®ãµãŒãã¹ãé¢äžããŠããããææ¡ãããŠãŒã¶ãŒã«åœ±é¿ãäžããåã«æ ¹æ¬çãªåäœã«å¯ŸåŠããããšãã§ããŸãã
忣ãã©ã³ã¶ã¯ã·ã§ã³ãã¬ãŒã¹ãããããããã¯ãã§ãŒã³ãèŠèŠåãã
SMART TS XL ãããããã¯ãããããã³ã°ã€ãã³ãã®å šå®¹ã調æ»ããããã®ã€ã³ã¿ã©ã¯ãã£ããªããžã¥ã¢ã«ã€ã³ã¿ãŒãã§ãŒã¹ãæäŸããŸãããšã³ãžãã¢ã¯ããã°ã粟æ»ããããã»ãã·ã§ã³IDãæåã§ç §åããããã代ããã«ããã©ã³ã¶ã¯ã·ã§ã³ã°ã©ããæ¢çŽ¢ããã»ãã·ã§ã³ãæéãšãšãã«ã©ã®ããã«çžäºäœçšãããã確èªã§ããŸãã
åãããããã¯ã€ãã³ãã¯æ§é åãããã°ã©ããšããŠè¡šç€ºãããã©ã®ã»ãã·ã§ã³ãã©ã®ãªãœãŒã¹ãä¿æããŠããããã©ã®ã»ãã·ã§ã³ãåŸ æ©ããŠãããããããŠãµã€ã¯ã«ãã©ã®ããã«åœ¢æããããã瀺ããŸããããã«ãããããŒã ã¯ç«¶åããæäœã ãã§ãªããç«¶åãåŒãèµ·ãããããã¯ã®é åºãšã¿ã€ãã³ã°ãç¹å®ã§ããŸãã
å¯èŠåã¯ããŒã¿ããŒã¹ãªããžã§ã¯ãã«éå®ãããŸããããã©ãããã©ãŒã ã¯ãµãŒãã¹ã³ã³ããã¹ãããªãŒããŒã¬ã€è¡šç€ºãããã©ã³ã¶ã¯ã·ã§ã³ãéå§ããã¢ããªã±ãŒã·ã§ã³ãåäœãããªã¬ãŒããAPIããããŠãã®ç¶æ³ã«å¯äžããäžæµã®ã¢ã¯ãã£ããã£ã衚瀺ããŸãã
ãã®ã¬ãã«ã®ãã¬ãŒãµããªãã£ã¯ãã€ã³ã·ãã³ã察å¿ã«ãããŠç¹ã«éèŠã§ããé害ãã¹ãã€ã¯ã®çºçãããã¯ã®æåã«é¢é£ããŠããå ŽåãããŒã ã¯å¯Ÿççæ³çãªä¿®æ£ã«ãšã©ãŸãããåå ãšãªã£ãŠããã·ã¹ãã å šäœã®èšèšäžã®æ¬ é¥ãçªãæ¢ããããšãã§ããŸãããŸããéå»ã®ãããããã¯ãã¿ã€ã ã©ã€ã³ã§åçŸããããšã§ãå°æ¥ã®ã³ãŒã倿Žã«ãããååž°ãæ€åºããããšãå¯èœã§ãã
ç°åžžãªããã¯åŸ æ©ãšãããå€éåã«é¢ããããã¢ã¯ãã£ããªã¢ã©ãŒã
SMART TS XL åŠç¿ããããŒã¹ã©ã€ã³ãšã«ã¹ã¿ãã€ãºå¯èœãªãããå€ã«ç §ãããŠãã·ã¹ãã ã®åäœãåžžã«è©äŸ¡ããŸããããã¯åŸ æ©æéãéåžžã®æéãè¶ ããå ŽåããŸãã¯ç°åžžãªããããã³ã°ãã§ãŒã³ãçºçããå Žåã顧客ã«åœ±é¿ãåºãåã«ãšã³ãžãã¢ãªã³ã°ããŒã ã«èŠåãçºããŸãã
ããã¢ã¯ãã£ãæ€åºã«ã¯æ¬¡ã®ãã®ãå«ãŸããŸãã
- ç¹å®ã®ããŒãã«ãŸãã¯ã€ã³ããã¯ã¹ã«ãããããã¯åŸ æ©æéã®æ¥å¢æ€åº
- ãããããã¯ã®å€±æã«ãããã©ã³ã¶ã¯ã·ã§ã³å詊è¡ã®å¢å åŸå
- ç«¶åé »åºŠã«åºã¥ãããããªãœãŒã¹æ€åº
- ãããã¯æéãŸãã¯ã»ãã·ã§ã³æ·±åºŠã®ç°åžžãªå¢å
ãããã®ã¢ã©ãŒãã¯ããªãã¶ãŒãããªãã£ã»ãã©ãããã©ãŒã ãŸãã¯ã¡ãã»ãŒãžã³ã°ã»ããŒã«ã«ã«ãŒãã£ã³ã°ããã峿ã®å¯Ÿå¿ã«å¿ èŠãªæ§é åããŒã¿ãå«ãŸããŠããŸãããšã³ãžãã¢ã¯ãã€ãã³ãã®è©³çްãããªã«ããŠã³ããé¢é£ãããã¬ãŒã¹ã衚瀺ããã¯ã³ã¯ãªãã¯ã§ãããã¯åäœã調æ»ã§ããŸãã
æ©æèŠåã«ãããããŒã ã¯å¯Ÿå¿ããäºé²ãžãšç§»è¡ã§ããŸããã·ã¹ãã ã®é床äœäžåŸã«åé¡ã蚺æããã®ã§ã¯ãªããããã¯å§åãé«ãŸãå§ããæç¹ã§éç¥ãåãåãããšã§ããªã¢ã«ã¿ã€ã ãŸãã¯èšç»ãããã¡ã³ããã³ã¹æéäžã«ç·©åçãè¬ããããšãã§ããŸãã
ã¯ãšãªãšããã¯åäœãæé©åããããã®èªåçæãããæšå¥šäºé
ç«¶åããããããã¯ãç¹å®ãããããæ¬¡ã®èª²é¡ã¯ããã解決ããæ¹æ³ãç¥ãããšã§ãã SMART TS XL æ€åºã ãã«çãŸããŸãããããŒã¿ããŒã¹ã®åäœãšã¢ããªã±ãŒã·ã§ã³ã®ã³ã³ããã¹ãã«é¢ããç¥èãæŽ»çšããå®çšçã§å®çšçãªæé©åã¬ã€ãã³ã¹ãçæããŸãã
æšå¥šäºé ã®äŸã¯æ¬¡ã®ãšããã§ãã
- 埪ç°ããã¯ãé²ãããã«ãã©ã³ã¶ã¯ã·ã§ã³ã®é åºãåæ§ç¯ãã
- æŽæ°é »åºŠã®é«ãããŒãã«ã®ã¹ãã£ã³ç¯å²ãæžããããã«ã€ã³ããã¯ã¹ã远å ãã
- éå¹ççãªããã¯ãã¿ãŒã³ãçæããORMã¯ãšãªãä¿®æ£ãã
- å®å šãªæ¡ä»¶äžã§ã®èªã¿åãå°çšã¯ãšãªã®åé¢ã¬ãã«ãäžãã
- ç«¶åã®å¯èœæ§ãäžããããã«ããããžã§ããããå°ããªã¢ãããã¯ã¹ãããã«åå²ãã
åæšå¥šäºé ã«ã¯ãå®éã®ç«¶åã·ããªãªããåŸãããè£ä»ããšãªã蚌æ ãå«ãŸããŠããŸãããšã³ãžãã¢ã¯å®éã®ãã¬ãŒã¹ããŒã¿ãçšããŠã¬ã€ãã³ã¹ãæ€èšŒããèªä¿¡ãæã£ãŠå€æŽãé©çšã§ããŸãã
èªååãšéçºè äžå¿ã®ã€ã³ãµã€ããçµã¿åãããããšã§ãæ ¹æ¬åå ã®è§£æ±ºãå éããå¹³ååŸ©æ§æéãççž®ãããŸããæéã®çµéãšãšãã«ããã©ãããã©ãŒã ã¯ç¹°ãè¿ãçºçããåäœãåŠç¿ãããµãŒãã¹å šäœã«ããã£ãŠããé©åãªããã¯ç®¡çäœå¶ãæ§ç¯ã§ããããæ¯æŽããŸãã
å®äžçã®å埩ïŒãããããã¯è§£æ±ºã®ã±ãŒã¹ã¹ã¿ãã£
æœè±¡çãªèª¬æãæè¡ææžã¯åœ¹ç«ã¡ãŸãããçŸå®äžçã®ã·ããªãªã«ä»£ãããã®ã¯ãããŸããã以äžã®ã±ãŒã¹ã¹ã¿ãã£ã¯ãçç£ããŒã ãæ§é åããã調æ»ã¯ãŒã¯ãããŒãšããããµããŒãããããŒã«ãçšããŠãç¹°ãè¿ãçºçãããããããã¯ã®åé¡ãç¹å®ã蚺æããããŠè§£æ¶ããæ¹æ³ã瀺ããŠããŸãã SMART TS XL.
ã¢ããªã±ãŒã·ã§ã³ã®èæ¯ãšåæçç¶
圱é¿ãåããã·ã¹ãã ã¯ãã¢ãã€ã«ã¢ããªãããŒãããŒAPIã瀟å ããŒã«ãªã©ãè€æ°ã®ãã£ãã«ããŸããã§å€§éã®éèååŒãåŠçããæ±ºæžåŠçããã¯ãšã³ãã§ãããã¢ãŒããã¯ãã£ã¯ãã€ã¯ããµãŒãã¹ã¢ãã«ãæ¡çšããŠãããæ®é«èª¿æŽãååŒæ€èšŒãç£æ»ãã°ã®åãµãŒãã¹ãåå¥ã«æ åœããŠããŸããã
ãã®åé¡ã¯ããã©ãã£ãã¯ã®ããŒã¯æã«ãšã©ãŒçãæ£çºçã«å¢å ããããšããå§ãŸããŸããããšã³ãžãã¢ãªã³ã°ããŒã ã¯ããã©ã³ã¶ã¯ã·ã§ã³ã®ããŒã«ããã¯ãæ¥å¢ãããŠãŒã¶ãŒã«è¡šç€ºãããã¿ã€ã ã¢ãŠãã¡ãã»ãŒãžã衚瀺ãããããšã«æ°ä»ããŸãããåœåã¯ã€ã³ãã©ã¹ãã©ã¯ãã£é¢é£ã®åé¡ãšæ³å®ãããŠããŸããããã³ã³ãã¥ãŒãã£ã³ã°ãªãœãŒã¹ãã¹ã±ãŒã«ã¢ããããAPIã¬ã€ã€ãŒã®ã¬ã€ãã³ã·ãåæžããåŸããåé¡ã¯è§£æ±ºããŸããã§ããã
ããŒã¿ããŒã¹ãã°ã«ã¯ã account_balance ããŒãã«ãåããŒã«ããã¯ã¯ãé«é »åºŠé¡§å®¢ã¢ã«ãŠã³ãã«ãªã³ã¯ãããè¡ã®æŽæ°ã«å¯Ÿå¿ããŠããŸããããã®åé¡ã¯ãç
§åãžã§ããšã¬ããŒãçæã«åœ±é¿ãåãŒãå§ãã財åå ±åã®é
å»¶ãåŒãèµ·ããããããããã«æ·±å»åããŸããã
çç¶ã¯ãã©ã³ã¶ã¯ã·ã§ã³ ããžãã¯ã«èµ·å ããããã¯ç«¶åã瀺ããŠããŸããããæ£ç¢ºãªåå ãç¹å®ããã«ã¯ãåæå®è¡ãµãŒãã¹éã®ã¯ãšãªæ§é ãã¢ã¯ã»ã¹ ãã¿ãŒã³ããã㯠ã·ãŒã±ã³ã¹ã®è©³çްãªèª¿æ»ãå¿ èŠã§ããã
èªå®æ¡ä»¶ SMART TS XL æ ¹æ¬çãªå¯Ÿç«ãçªãæ¢ãã
ããŒã 㯠SMART TS XL éèŠãªãµãŒãã¹å
šäœã«ããã£ãŠç£èŠããæ¬çªç°å¢ã®ããŒã¿ããŒã¹ã«ãªã³ã¯ããŸãããæ°æé以å
ã«ãã©ãããã©ãŒã ã¯ãã¬ãŒã¹ããŒã¿ãåéããç«¶åãªã¹ã¯ãæµ®ã圫ãã«ãå§ããŸããã account_balance (NAIST) ãš transactions ããŒãã«ã
SMART TS XL å£åº§éééäžã«ãç¹°ãè¿ãçºçãããããããã¯ãã¿ãŒã³ãèªåçã«æ€åºããŸããããããã®å Žåãã2ã€ã®ãµãŒãã¹ãæ®é«ã¬ã³ãŒããéé ã«æŽæ°ããŠããŸããã1ã€ã¯å£åº§Aãããã¯ããæ¬¡ã«å£åº§Bãããã¯ãããã1ã€ã¯ãã®éã®é åºã§æŽæ°ããŠããŸãããé«è² è·æã«ã¯ããã®åŠçã«ãã£ãŠåŸªç°åŸ æ©ãçºçããããŒã¿ããŒã¹ã¯1ã€ã®ãã©ã³ã¶ã¯ã·ã§ã³ãç ç²ãšããŠçµäºãããããšã§ãã®åé¡ã解決ããŸããã
ãããããã¯ã°ã©ããèŠèŠåãããšã SMART TS XL ãã©ã³ã¶ã¯ã·ã§ã³ã®ã¿ã€ã ã©ã€ã³ãããã¯ååŸã·ãŒã±ã³ã¹ããããŠããªã¬ãŒãšãªãSQLæãæç¢ºã«è¡šç€ºãããŸãããããã«ãããæšæž¬äœæ¥ãäžèŠã«ãªããŸããããšã³ãžãã¢ã¯ãããããã¯ã€ãã³ãã ãã§ãªãããã®åå ãšãªã£ããµãŒãã¹ããšã³ããã€ã³ãããããŠæäœãææ¡ã§ããããã«ãªããŸããã
éå»ã®ãããããã¯ããŒã¿ãåæãããµãŒãã¹éã®ã¿ã€ã ã©ã€ã³ãæ¯èŒããããšã§ã SMART TS XL ãŸããåãå°æ°ã®ã¢ã«ãŠã³ãéã§ã®åæééã®åæ°ãå¢ãããšããããããã¯ã®é »åºŠãå¢å ããããšã倿ããŸããããã®ç¥èŠã¯ãåãªãå¶ç¶ã®äžèŽã§ã¯ãªããç«¶åã®æ¿ããããŒã¿ã¯ã©ã¹ã¿ãŒã®ååšã瀺åããŠããŸãã
ããŒã ã¯ãå éšãµãŒãã¹ã® 1 ã€ãæè¿ã転éã®ãããåŠçã䞊ååããããã«æé©åãããããšã§ãå ±æãªãœãŒã¹ã®åæå®è¡æ§ãæå³ããå¢å ããããã¯ã®éè€ãæªåããŠããããšã«æ°ä»ããŸããã
ãœãªã¥ãŒã·ã§ã³ã®å®è£ ãšæž¬å®å¯èœãªæ¹å
ç«¶åãç¹å®ãããåŸãéçºããŒã ã¯ã³ãŒããšã¹ããŒãã®å€æŽãçµã¿åãããŠå®è£ ããŸãããæãéèŠãªä¿®æ£ã¯ãæŽæ°ãå®è¡ããåã«ã¢ã«ãŠã³ãIDããœãŒãããããšã§ãäžè²«ããããã¯ååŸé åºã匷å¶ããããšã§ãããããã«ãã埪ç°çãªåŸ æ©ãè§£æ¶ãããã¢ã«ãŠã³ãéæäœã«ãããå°æ¥ã®ãããããã¯ã鲿¢ããŸããã
ãŸããORMã®åäœã調æŽããåäžã®ã¯ãšãªã§é¢é£ãããã¹ãŠã®è¡ãæç€ºçã«ããŒãããŠããã¯ããããã«ããŸãããããã«ããã以åã¯å®è¡ãã¹ããšã«ç°ãªã£ãŠããé å»¶ããã¯ãåé¿ã§ããŸããããã«ãé«ãªã¹ã¯æäœã«å¯ŸããŠè¡ã¬ãã«ã®å詊è¡ããžãã¯ãå°å ¥ããçæçãªããã¯åŸ æ©ãå³åº§ã«å€±æãããã®ã§ã¯ãªããããã¯ãªããé©çšããŠå詊è¡ã§ããããã«ããŸããã
ãããã®å€æŽã¯æ®µéçã«å°å ¥ããã SMART TS XL å±éå šäœãéããŠã©ã€ãåäœãã¢ãã¿ãªã³ã°ããŸãããå°å ¥åŸã®ææšã§ã¯ããããããã¯ãšã©ãŒã·ã°ããã£ãå®å šã«è§£æ¶ãããããšã瀺ãããŸãããããŒã¯æã®ãã©ã³ã¶ã¯ã·ã§ã³æåçã¯3.2%åäžãã転éé å»¶ã«é¢ãã顧客ããã®èŠæ ã¯ãŒãã«ãªããŸããã
ããã«ã SMART TS XL ãã©ãããã©ãŒã ããŒã ã¯ãããã©ãŒãã³ã¹ãããå€ã®èª¿æŽããå°æ¥ã®ç«¶åãªã¹ã¯ã«å¯Ÿããããã¢ã¯ãã£ããªã¢ã©ãŒãèšå®ã«ãããŠãæ°ããªåãåŸãããšãã§ããŸãããé·å¹Žã®èª²é¡ã§ãã£ãããã©ãŒãã³ã¹ã®è¬ã¯ãé·æçãªå®å šçã«ãã£ãŠè§£æ±ºãããŸããã
ç©æ¥µçãªé²åŸ¡ïŒæ¡åŒµå¯èœãªèšèšæŠç¥
ãããããã¯ãããã¯ç«¶åã®åé¡ã解決ããããšã¯éèŠã§ããããããæ¬¡ã®åé¡ãé²ãããšã¯ããã«éèŠã§ããã·ã¹ãã ã®è€éããšã¹ã«ãŒããããå¢å€§ããã«ã€ããŠãããã¢ã¯ãã£ããªèšèšå€æãæãä¿¡é Œæ§ã®é«ãåæå®è¡å¶åŸ¡ã®åœ¢æ ãšãªããŸãããã®ã»ã¯ã·ã§ã³ã§ã¯ããã©ã³ã¶ã¯ã·ã§ã³ãã¹ããŒãèšèšãã¢ããªã±ãŒã·ã§ã³ã¢ãŒããã¯ãã£ã®ã¬ãã«ã§ããã¯ã®åé¡ãæå°éã«æããããã®å®çšçãªæŠç¥ãæŠèª¬ããŸãã
ãã©ã³ã¶ã¯ã·ã§ã³ã®ãã¹ããã©ã¯ãã£ã¹: çãæéãçãããã¯ç¯å²
ãã©ã³ã¶ã¯ã·ã§ã³ã®å®è¡æéãé·ããªãã»ã©ãä»ã®ãã©ã³ã¶ã¯ã·ã§ã³ãšè¡çªããå¯èœæ§ãé«ããªããŸããé·æéå®è¡ããããã©ã³ã¶ã¯ã·ã§ã³ã¯ããã¯ãé·æéä¿æãããããå¥ã®ã»ãã·ã§ã³ãåããªãœãŒã¹ãå¿ èŠãšããŠãããã¯ãããå¯èœæ§ãé«ããªããŸãããã®ãããæã广çãªæŠç¥ã®äžã€ã¯ããã©ã³ã¶ã¯ã·ã§ã³ãå¯èœãªéãçãããããšã§ãã
ãã©ã³ã¶ã¯ã·ã§ã³ã¯ãéèŠãªæäœãäžå¿ã«å³å¯ã«ã¹ã³ãŒããéå®ããå¿ èŠããããŸããèªã¿åããæžã蟌ã¿ãå€éšãµãŒãã¹åŒã³åºããåé¢ã§ããå Žåã¯ãåããã©ã³ã¶ã¯ã·ã§ã³å ã§æ··åšãããªãã§ãã ããããã©ã³ã¶ã¯ã·ã§ã³å ã§äžèŠãªé å»¶ãçºçãããšãããã¯ã®æç¶æéãé·ããªããç«¶åãªã¹ã¯ãé«ãŸããŸãã
å¯èœãªéããæžãèŸŒã¿æäœã§ã¯ãåããã©ã³ã¶ã¯ã·ã§ã³å ã§å€§èŠæš¡ãªçµæã»ããã®ã¯ãšãªãé¿ããå¿ èŠããããŸããããŒã¿ãäžæ¬åŠçããå¿ èŠãããå Žåã¯ãããŒã¿ãå°ããªãããã«åå²ãããããããç¬ç«ããŠã³ãããããããšãæ€èšããŠãã ããããã®ã¢ãããŒãã«ãããããã¯ãããæ©ãè§£æŸãããããã¯ã®ãšã¹ã«ã¬ãŒã·ã§ã³ãé²ãããšãã§ããŸãã
ããäžã€ã®éèŠãªãã©ã¯ãã£ã¹ã¯ãæäœã®é åºãäžè²«ããŠè¡ãããšã§ãããã©ã³ã¶ã¯ã·ã§ã³ãè€æ°ã®ãªãœãŒã¹ã«ã¢ã¯ã»ã¹ããå Žåã埪ç°çãªåŸ æ©ç¶æ ãåé¿ããããã«ãåºå®ãããã¢ã¯ã»ã¹é åºã«åŸãå¿ èŠããããŸããããŒã ã¯ãäºæž¬å¯èœæ§ã確ä¿ããããã«ããã®é åºãã¢ããªã±ãŒã·ã§ã³ã¬ãã«ã§æšæºåããå¿ èŠããããŸãã
åé¢ã¬ãã«ãéèŠãªåœ¹å²ãæãããŸããããŒã¿ã®æ£ç¢ºæ§ãç¶æããªãããæã蚱容床ã®é«ãã¬ãã«ãéžæããŠãã ãããèªã¿åãäžå¿ã®ã¯ãŒã¯ããŒãã§ãããçšåºŠã®å€ãã蚱容ããå Žåã¯ãåé¢ã¬ãã«ãäœãããããšã§ã粟床ãæãªãããšãªãããã¯ã®è² è·ã軜æžã§ããŸãã
ãããã®ååã«åŸãããšã§ãã·ã¹ãã ã¯ããã¯ã®å¯¿åœãšè¡šé¢ç©ãå¶éããé«ãåæå®è¡æ§ã®äžã§ã®è¡çªã®å¯èœæ§ãå€§å¹ ã«æžããããšãã§ããŸãã
ã¹ããŒãã¬ãã«ã®ãã¥ãŒãã³ã°ïŒæ£èŠåãšéæ£èŠåã®ãã¬ãŒããªã
ããŒã¿ã¢ãã«ã®æ§é ã¯ãããã¯ã®ååŸãšè§£æŸã®æ¹æ³ã«çŽæ¥åœ±é¿ããŸããã¹ããŒãã®èšèšãé©åã§ãªããšãããã¯ã®ãããã¹ããããéå°ãªã¹ãã£ã³ãããŒãã«éã®äŸåé¢ä¿ãçããããã¯ç®¡çã®è€éããå¢ãå¯èœæ§ããããŸãã
é«åºŠã«æ£èŠåãããã¹ããŒãã¯ããŒã¿ã®æŽåæ§ãé«ããŸãããé¢é£æ å ±ãååŸããããã«è€æ°ã®çµåãå¿ èŠã«ãªãå ŽåããããŸãããããã®çµåã¯è€æ°ã®ããŒãã«ã«ãŸãããå Žåããããåäžã®ãã©ã³ã¶ã¯ã·ã§ã³äžã«ä¿æãããããã¯ã®ç¯å²ãæ¡å€§ããŸããäžæ¹ã鿣èŠåãããããŒãã«ã¯çµåã®è€éãã軜æžããŸãããåãã¬ã³ãŒããžã®æžã蟌ã¿é »åºŠãå¢å ãã人æ°ã®ããè¡ã§ç«¶åãçºçããå¯èœæ§ããããŸãã
é©åãªãã©ã³ã¹ãèŠã€ããããšãéèŠã§ãã倧éã®èªã¿åããšææã®æŽæ°ãè¡ãã·ã¹ãã ã§ã¯ã鿣èŠåã«ãã£ãŠçµåãåæžãããã¹ã«ãŒããããåäžããå¯èœæ§ããããŸããäžæ¹ãæžã蟌ã¿äžå¿ã®ã·ã¹ãã ã§ã¯ãæ£èŠåã«ãã£ãŠãããã现ããªããã¯ãå¯èœã«ãªããè¡ã¬ãã«ã®ç«¶åã®ãªã¹ã¯ã軜æžãããå¯èœæ§ããããŸãã
ã€ã³ããã¯ã¹ãéèŠãªèŠçŽ ã§ããã€ã³ããã¯ã¹ãé©åã§ãªããšãããŒãã«å šäœã®ã¹ãã£ã³ãçºçããããã¯ç¯å²ãåºããªããŸããé »ç¹ã«ã¯ãšãªããã£ã«ã¿ãªã³ã°ãè¡ãããåã«éžæçãªã€ã³ããã¯ã¹ã远å ãããšãããã¯ã®ãããããªã³ããçãŸããŸããããããã€ã³ããã¯ã¹ãé床ã«äœæãããšãæ¿å ¥ãæŽæ°æã®ããã¯æéãé·ããªãå¯èœæ§ãããããããã¥ãŒãã³ã°ã¯ã¯ãŒã¯ããŒããèæ ®ããŠè¡ãå¿ èŠããããŸãã
ããŒãã£ã·ã§ãã³ã°ã¯ãããã¯ã¢ã¯ãã£ããã£ã®åæ£ã«ã广çã§ããå€§èŠæš¡ãªããŒãã«ããŠãŒã¶ãŒã°ã«ãŒããæéç¯å²ããŸãã¯ããžãã¹æ©èœããšã«åå²ããããšã§ãããã¯ãã¡ã€ã³ãåé¢ãããç¡é¢ä¿ãªæäœéã§ç«¶åãé£éããã®ãé²ããŸãã
ã¹ããŒãèšèšãã¢ã¯ã»ã¹ ãã¿ãŒã³ã«åãããŠèª¿æŽããããšã§ããšã³ãžãã¢ãªã³ã° ããŒã ã¯åæå®è¡æ§ãæãªãã®ã§ã¯ãªããåæå®è¡æ§ããµããŒãããããŒã¿ ã¢ãã«ãäœæã§ããŸãã
ã¢ããªã±ãŒã·ã§ã³èšèšãã¿ãŒã³: å詊è¡ããžãã¯ãã¹ãçæ§ãã¿ã€ã ã¢ãŠã管ç
åæå®è¡æ§ãèæ ®ããã¢ããªã±ãŒã·ã§ã³ããžãã¯ã¯ãããŒã¿ããŒã¹ã®ãã¥ãŒãã³ã°ãšåããããéèŠã§ãããµãŒãã¹ãå詊è¡ã倱æãç«¶åãåŠçããæ¹æ³ã¯ãããã¯ã®åé¡ã«å¯Ÿããã·ã¹ãã ã®èæ§ã«çŽæ¥åœ±é¿ããŸãã
ãããããã¯ãçºçãããšãããŒã¿ããŒã¹ã¯ãã©ã³ã¶ã¯ã·ã§ã³ã®1ã€ãäžæ¢ããŸããã¢ããªã±ãŒã·ã§ã³ããã®ãšã©ãŒãé©åã«æ€ç¥ããŠå¯Ÿå¿ã§ããªãå Žåãæäœã倱æãããããšã©ãŒãäžäœã«é£éãããããå¯èœæ§ããããŸããææ°ããã¯ãªããçšããæ§é åãããå詊è¡ããžãã¯ãå®è£ ããããšã§ãã¢ããªã±ãŒã·ã§ã³ã¯å³æå詊è¡ã«ãã£ãŠããŒã¿ããŒã¹ãå§è¿«ããããšãªãããããããã¯ããé©åã«å埩ã§ããŸãã
å詊è¡ãå®å šã«ãµããŒãããã«ã¯ãæäœã¯åªçã§ããå¿ èŠããããŸããã€ãŸããåãã¢ã¯ã·ã§ã³ãè€æ°åå®è¡ããå ŽåãåãçµæãçæãããŸããããã¯ãéšåçãªæŽæ°ãããŒã¿ã®ç Žæã«ã€ãªããå¯èœæ§ã®ããéèã¢ã¯ã·ã§ã³ãç¶æ 倿Žã¢ã¯ã·ã§ã³ã«ãããŠç¹ã«éèŠã§ããåªçæ§ã«ããã倱æãããã©ã³ã¶ã¯ã·ã§ã³ãå詊è¡ããŠãããã®å¹æãåå¢ããããšã¯ãããŸããã
ã¿ã€ã ã¢ãŠããæ éã«ç®¡çããå¿ èŠããããŸããé©åãªãããå€ãèšå®ããããšã§ããŠãŒã¶ãŒãžã®åœ±é¿ãåºãåã«ç«¶åãæ€åºã§ããŸãããããå€ãçããããšããã©ã³ã¶ã¯ã·ã§ã³ãäžå¿ èŠã«å€±æããå¯èœæ§ããããŸããäžæ¹ãé·ããããšãããããã³ã°ãã§ãŒã³ãæ·±ããªããŸããã¢ããªã±ãŒã·ã§ã³ã¬ãã«ã®ã¿ã€ã ã¢ãŠãèšå®ã¯ãããŒã¿ããŒã¹ã®ã¿ã€ã ã¢ãŠããšãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ã®æåŸ å€ãšæŽåãããå¿ èŠããããŸãã
ããäžã€ã®ãã¿ãŒã³ã¯ãé«ãªã¹ã¯ãªæäœãå°çšã®åŠçãã¥ãŒãŸãã¯ããã¯ã°ã©ãŠã³ãã¿ã¹ã¯ã«åé¢ããããšã§ããããã«ãããããã¯åäœã®ç¯å²ãå¶éãããåæå®è¡ãããŒãããé©åã«å¶åŸ¡ã§ããããã«ãªããŸããäŸãã°ãé »ç¹ã«çºçããæžã蟌ã¿ãã¹ã±ãžã¥ãŒã«ããããããã«çµ±åããããšã§ãç«¶åãããã©ã³ã¶ã¯ã·ã§ã³ãåæã«çºçããã®ãé²ãããšãã§ããŸãã
ãããã®ãã©ã¯ãã£ã¹ããµãŒãã¹èšèšã«çµã¿èŸŒãããšã§ãçµç¹ã¯ããã¬ãã·ã£ãŒã®äžã§ãå ç¢ã§ãããã¯ã®ç«¶åãçºçãããšãã«èªå·±å埩ã§ããã·ã¹ãã ãæ§ç¯ã§ããŸãã
ã¬ãžãªãšã³ã¹ãåããæ§ç¯: é·æçãªããã¯ç«¶åã®é²æ¢
å¿æ¥åŠçœ®ã§åœé¢ã®çç¶ã¯è§£æ±ºã§ãããããããŸããããä¿¡é Œæ§ã®é«ãé«ã¹ã«ãŒãããã·ã¹ãã ã«ã¯ãããã¯ç«¶åãæ ¢æ§çãªåé¡ã«ãªããªãããã«ããããã®æŠç¥ãå¿ èŠã§ããé·æçãªå埩åã確ä¿ããã«ã¯ãããã¯ãå¯èŠåãè¿œè·¡ãæž¬å®ã§ãããã©ã¯ãã£ã¹ãæ¡çšããå¿ èŠããããŸãããŸãããããã®ãã©ã¯ãã£ã¹ããšã³ãžãã¢ãªã³ã°ã¯ãŒã¯ãããŒå ã§ç¹°ãè¿ãå®è¡ã§ããããã«ããããšãéèŠã§ããäºé²ã¯ã³ãŒãã®åé¡ã ãã§ãªããæèåäžãšç¶ç¶çãªæ€æ»ã®æåãç¯ãããšãéèŠã§ãã
ãµãŒãã¹å šäœã§å®æçã«ããã¯ç«¶åç£æ»ãå®è¡ãã
ããã¯ç«¶åã¯äžæçãªããã©ãŒãã³ã¹äœäžãšæããããããšãå€ãã§ãããå®éã«ã¯æéã®çµéãšãšãã«éãã«èç©ãããŠããåŸåããããŸãã宿çãªæ€æ»ããªããã°ãå°ããªéå¹çæ§ã¯ãè² è·ãããã£ããšãã«é¡åšåãããŸã§æ°ã¥ãããŸãããã ãããããã·ã¹ãã ã®å¥å šæ§ãç¶æããã«ã¯ã宿çãªç£æ»ãäžå¯æ¬ ãªã®ã§ãã
ç£æ»ã«ã¯ãã¹ããŒã¯ãšãªãã°ã®ç¢ºèªãåŸ æ©çµ±èšã®ç¢ºèªããããã¯ããŠããã»ãã·ã§ã³å±¥æŽã®èª¿æ»ãªã©ãå«ãŸããŸããç®æšã¯ãéåžžã®ãã©ãã£ãã¯ã§ã¯æ£åžžã«åäœãããã®ã®ãåæå®è¡æ§ãé«ãŸããšããã©ãŒãã³ã¹ãäœäžãå§ããã¯ãšãªããã©ã³ã¶ã¯ã·ã§ã³ãç¹å®ããããšã§ããããã«ã¯ãäžæ¬æäœããã©ã³ã¶ã¯ã·ã§ã³ã«ãŒããæ§æããŒãã«ãªã©ã®åäžã®ç«¶åãã€ã³ããå«ãŸããå ŽåããããŸãã
ããŒã ã¯ç£æ»çµæãå®éã®ãããã€ã¡ã³ãã€ãã³ããšé¢é£ä»ããããšãéèŠã§ããæè¿ã®ã¹ããŒã倿Žã«ãã£ãŠäºæãã¬ãããã¯ãçºçããŸãããïŒæ°æ©èœã«ãã£ãŠå ±æããŒãã«ãžã®ã¢ã¯ã»ã¹é »åºŠãå¢å ããŸãããïŒããããé¢é£æ§ãããã³ãŒã倿Žãã©ã€ããµã€ã¯ã«å šäœã«ããã£ãŠããã¯åäœã«ã©ã®ãããªåœ±é¿ãäžãããã«ã€ããŠã®æŽå¯ãåŸãããŸãã
ããã«è¯ãã®ã¯ããã®ç£æ»ã®äžéšãèªååããããšã§ãã SMART TS XL ãŸãã¯é¡äŒŒã®ããŒã«ã䜿çšããããšã§ãããã¯ã®åŸåã远跡ããç«¶åã¬ãã«ã®çµæçãªå€åãæããã«ã§ããŸããæ§é åãããããã·ã¥ããŒããã¬ããŒããçšãã宿çãªã¬ãã¥ãŒã¯ãããŒã ãäºåŸå¯Ÿå¿çã§ã¯ãªããç©æ¥µçãªå¯Ÿå¿ãç¶æããã®ã«åœ¹ç«ã¡ãŸãã
ããã¯ç£æ»ã宿çãªéçšã¿ã¹ã¯ã«ããããšã§ãçµç¹ã¯ç«¶åãªã¹ã¯ãåé¿ããç·æ¥ä¿®æ£ã®å¿ èŠæ§ã軜æžã§ããŸãã
ãšã³ãžãã¢ãªã³ã°æšæºã«ããããã¯ãèæ ®ããã³ãŒãã£ã³ã°ã®ä¿é²
ã³ãŒãã¬ãã¥ãŒããµãŒãã¹èšèšã®æ±ºå®ã«ãããŠãããŒã¿ãžã®ã¢ã¯ã»ã¹æ¹æ³ãç¡èŠãã¹ãã§ã¯ãããŸãããéçºè ã¯ãå€§èŠæš¡ãªããã¯ã®åœ±é¿ãçè§£ããã«ãã¯ãšãªã®æåã«ã€ããŠåççãªæšæž¬ãããŠããŸãããšããããããŸãããã®ãªã¹ã¯ã軜æžããã«ã¯ãããã¯ãèæ ®ããã³ãŒãã£ã³ã°ããšã³ãžãã¢ãªã³ã°æšæºããªã³ããŒãã£ã³ã°ããã»ã¹ã«çµã¿èŸŒãå¿ èŠããããŸãã
ãŸããäžè¬çãªããã¯ã®ã¢ã³ããã¿ãŒã³ãææžåããããšããå§ããŸããããããã«ã¯ãã«ãŒãå ã§ã®å ±æã¬ã³ãŒãã®æŽæ°ãæžã蟌ã¿è² è·ã®é«ãããŒãã«éã®çµåãäžèŠãªãã©ã³ã¶ã¯ã·ã§ã³ã¹ã³ãŒãã®äœ¿çšãªã©ãå«ãŸããŸããããããã®ã¢ã³ããã¿ãŒã³ãšãããå®å šãªæ§é ã䜿ã£ãŠæžãçŽãæ¹æ³ã®äŸãçµã¿åãããŸãããã
圱é¿ã®å€§ãããã©ã³ã¶ã¯ã·ã§ã³ã³ãŒãã«ã¯ã䞊è¡åŠçã«ãããæ³å®ãããåäœã«é¢ããæ³šéãä»ããããšããå§ãããŸããããã«ãããã¬ãã¥ã¢ãŒãå°æ¥ã®ã¡ã³ãããŒã¯ã倿Žããããã€ããåã«ããã€æ³šæãã¹ãããããã¯ã®ãªã¹ã¯ãã©ã®ããã«è©äŸ¡ãã¹ãããçè§£ã§ããããã«ãªããŸãã
é«åºŠãªåæå®è¡ç°å¢ã§ã¯ãã¯ãšãªã®é åºãããéèŠã§ããéçºè ã¯ãèªã¿åããšæžã蟌ã¿ã®ã·ãŒã±ã³ã¹ãæšæºåããããšã楜芳çããã¯ãšæ²èгçããã¯ãæå³çã«äœ¿çšããããšããããŠæ¬çªç°å¢ã«ç§»è¡ããåã«ã·ãã¥ã¬ãŒã·ã§ã³ã«ããåæå®è¡æ§ãã¹ããè¡ãããšãæå°ããå¿ èŠããããŸãã
ããã¯ãæèããã³ãŒãã£ã³ã°æåã¯ãç¹°ãè¿ãã®å®è·µãéããŠè²ãŸããŸããèšèšã¬ãã¥ãŒãäºåŸæ€èšŒãããã«ã¯æ¡çšé¢æ¥ã«ããäžŠè¡æ§ã«çŠç¹ãåœãŠã質åãçµã¿èŸŒã¿ãŸããããåºè·åã«ãããã®åé¡ãçºèŠããæªç¶ã«é²ãã ãšã³ãžãã¢ã«ã¯ãå ±é ¬ãäžããŸãããã
ãã®èãæ¹ãéçºæåã«çµã¿èŸŒãããšã§ãããã¯ã®å®å šæ§ã¯ããŒã¿ããŒã¹ç®¡çè ã®åç¬ã®æžå¿µäºé ã§ã¯ãªããå ±æè²¬ä»»ã«ãªããŸãã
CI/CDå質ã²ãŒãã«ããã¯æ€åºãçµ±åãã
ããã¯ã«ããååž°ã®é²æ¢ã¯ãä»ã®ãã¹ããšåæ§ã«èªååã§ããŸããCI/CDãã€ãã©ã€ã³ã«ããã¯åæã远å ããããšã§ãæ°ãã倿Žãæ¬çªç°å¢ã«åœ±é¿ãäžããåã«ãªã¹ã¯è©äŸ¡ã確å®ã«è¡ãããšãã§ããŸããããã«ãããåé¡è§£æ±ºã®ããã®äœæ¥ãåæžãããä¿¡é Œæ§ãããªããªãŒããã»ã¹ã«çµã¿èŸŒãŸããŸãã
éçã³ãŒãåæããŒã«ã¯ãããŒãã«å šäœã®æŽæ°ãé·ããã©ã³ã¶ã¯ã·ã§ã³ã¹ã³ãŒããªã©ãåé¡ã®ããSQLãã¿ãŒã³ããã©ã°ä»ãã§ããŸãããã¹ãç°å¢ã§ã¯ãã¹ãã¬ã¹ããŒã«ãèšé²ããããã©ãã£ãã¯ã䜿çšããŠé«åæå®è¡æ§ãã·ãã¥ã¬ãŒãããããšã§ã倿Žã«ãã£ãŠçããæ°ããªç«¶åãã€ã³ããæ€åºã§ããŸãã
ããç·å¯ãªçµ±åãå®çŸããããã«ãããŒã ã¯ã¹ããŒãžåºæã®ããã¯ãã«ã¹ãã§ãã¯ãå®è£ ã§ããŸããã¹ããŒãžã³ã°ç°å¢ãžã®ãããã€åŸãè² è·æã®ããã¯åŸ æ©ããªãã©ã€åæ°ããããã¯ã»ãã·ã§ã³ãèªåçã«åæããŸããã¡ããªã¯ã¹ãæ¢ç¥ã®å®å šãããå€ãè¶ ããå Žåãã¬ãã¥ãŒãè¡ããããŸã§æ¬çªç°å¢ãžã®ææ Œããããã¯ããŸãã
SMART TS XL ããªãããã¯ã·ã§ã³ç°å¢ãç£èŠããããã«èšå®ããããšãã§ããŸããããã«ããããã©ã³ããæ©èœãã©ã°ã«ãã£ãŠå°å ¥ãããããã¯ã®å€æŽããªã¢ã«ã¿ã€ã ã§èŠèŠåã§ããŸãããšã³ãžãã¢ã¯ãæ£ç¢ºæ§ã ãã§ãªããåæå®è¡ããã©ãŒãã³ã¹ã«é¢ãããã£ãŒãããã¯ãåãåãããšãã§ããŸãã
ããã¯ç«¶åããããã€ã¡ã³ãåè³ªã®ææšãšããŠæ±ãããšã§ã説æè²¬ä»»ãæç¢ºã«ãªããŸããè°è«ã¯ãã³ãŒãã¯æ©èœãããïŒããããå®éã®ç¶æ³ã§ã¹ã±ãŒã«ãããïŒããžãšç§»è¡ããŸãã
ããã¯ã®å®å šæ§ãã·ããã¬ããããããšã§ããšã³ãžãã¢ãªã³ã° ããŒã ã¯ãé«éãªã ãã§ãªãããã¬ãã·ã£ãŒã®äžã§ãå埩åãããäºæž¬å¯èœãªã·ã¹ãã ãæ§ç¯ããŸãã
æ··æ²ããå¶åŸ¡ãžïŒå€§èŠæš¡ãªç¿çã®ç¢ºç«
é«ã¹ã«ãŒãããã·ã¹ãã ã¯ãã€ã³ãã©ã¹ãã©ã¯ãã£ã®éçãšãã©ã³ã¶ã¯ã·ã§ã³ã®äžè²«æ§ãšãã課é¡ã«åžžã«çŽé¢ããŸããããããããŒã¿ããŒã¹ã®ãããããã¯ãããã¯ç«¶åã¯ãå¿ ãããæé·ã«äŒŽãäºæž¬äžå¯èœãªå¯äœçšã§ã¯ãããŸãããé©åãªæ€åºãèšèšèŠåŸããããŠèªååãçµã¿åãããããšã§ãããŒã ã¯äºåŸå¯Ÿå¿åã®å¯Ÿå¿ãããããã¢ã¯ãã£ãã§ã¹ã±ãŒã©ãã«ãªæŠç¥ãžãšç§»è¡ã§ããŸãã
æ€åºããã³é²æ¢æŠç¥ã®æŠèŠ
ãããããã¯ãšããã¯ç«¶åã¯ãã³ãŒãã ãã§ãªããã¿ãŒã³ã«ãã£ãŠãçºçããŸãããããã®ãã¿ãŒã³ã¯ããã©ã³ã¶ã¯ã·ã§ã³æ§é ãã¹ããŒãã¬ã€ã¢ãŠãããµãŒãã¹ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ãåæå®è¡å¶åŸ¡ã«ãŸã§åã³ãŸããããããæ€åºããã«ã¯ãåŸæ¥ã®ãã°ãã¹ããŒã¯ãšãªãã£ãŒãã ãã§ã¯äžååã§ããã·ã¹ãã å šäœã®åäœããã¬ãŒã¹ããåŸ æ©ç¶æ ãåæããããããã³ã°ãã§ãŒã³ããªã¢ã«ã¿ã€ã ã§ææããå¿ èŠããããŸãã
ãã¹ããã©ã¯ãã£ã¹ãšããŠã¯ããã©ã³ã¶ã¯ã·ã§ã³ã®ççž®ãã¢ã¯ã»ã¹é åºã®æšæºåãã€ã³ããã¯ã¹ãšããŒãã£ã·ã§ã³ã®ãã¥ãŒãã³ã°ãå詊è¡ãå®å šã§ã¹ãçãªã¢ããªã±ãŒã·ã§ã³ããžãã¯ã®æ§ç¯ãªã©ãæããããŸãããããã®æŠè¡ã¯ãç«¶åã軜æžããç¹ã«é«è² è·æã®ã·ã¹ãã ã®å®å®æ§ãåäžãããŸãã
é·æçãªå埩åã¯ã宿çãªç£æ»ãããã¯ãèæ ®ããéçºç¿æ £ããããŠCI/CDå質ãã§ãã¯ã«ããã¯ã®å¥å šæ§ãå«ããããšã§å®çŸããŸããäºé²ã¯ãåãªãåå£å Žã®ããŒã¿ããŒã¹ãã¥ãŒãã³ã°ã¿ã¹ã¯ã§ã¯ãªããéçºã©ã€ããµã€ã¯ã«ã®äžéšãšãªããŸãã
æŠç¥çåœ¹å² SMART TS XL ããã¯ç®¡çèªåå
SMART TS XL æšæž¬äœæ¥ãæé€ããå šäœåãæããã«ããŸãããããããã¯ã°ã©ããã€ãªãåãããããããããã³ã°ãã¥ãŒãæåã§ã¯ãšãªããããã代ããã«ããšã³ãžãã¢ã¯ãµãŒãã¹ã¬ãã«ãšãã©ã³ã¶ã¯ã·ã§ã³ã¬ãã«ã§å®çšçãªæŽå¯ãåŸãããšãã§ããŸããããã¢ã¯ãã£ããªã¢ã©ãŒããããå¯èŠåãããããããã³ã°ãããŒãã€ã³ããªãžã§ã³ããªæšå¥šäºé ãŸã§ããã®ãã©ãããã©ãŒã ã¯åæå®è¡ç®¡çãåãªã調æ»äœæ¥ããéçšå¹çã®åäžãžãšå°ããŸãã
ãã¿ãŒã³æ€åºãèªååãããµãŒãã¹éã®åäœããªã³ã¯ããããšã§ã SMART TS XL ããŒã ãåé¡ãããè¿ éã«è§£æ±ºããèªä¿¡ãæã£ãŠä¿®æ£ãæ€èšŒããããã¯ã®å¯èŠæ§ãé·æçãªã¢ãŒããã¯ãã£ã®æ±ºå®ã«çµã¿èŸŒãããšãå¯èœã«ãªããŸãã
ããã¯åãªããã©ãã«ã·ã¥ãŒãã£ã³ã° ããŒã«ã§ã¯ãªããã¹ã±ãŒã«ãèæ ®ããèšèšãšä¿¡é Œæ§ã®é«ãå±éã®åºç€ãšãªããŸãã
å¯èŠ³æž¬æ§ãšããã¢ã¯ãã£ããªãã¥ãŒãã³ã°ã®æåãè²ã
ããã¯ç«¶åã¯ããŒã¿ããŒã¹ã ãã®åé¡ã§ã¯ãããŸãããã¢ããªã±ãŒã·ã§ã³ã³ãŒãããã€ã³ãã©ã¹ãã©ã¯ãã£ã«è³ããŸã§ãããããã¬ã€ã€ãŒã«åœ±é¿ãåãŒãã·ã¹ãã å šäœã®èª¿æŽåé¡ã§ããããã¯ç«¶åã®é²æ¢ã«æåããããŒã ã¯ããããéšé暪æçãªè²¬ä»»ãšããŠæããŠããŸãã圌ãã¯ãã¹ãŠã®ãµãŒãã¹ã«å¯èŠ³æž¬æ§ãçµã¿èŸŒã¿ããã¬ãŒã¹ãè² è·ã·ãã¥ã¬ãŒã·ã§ã³ãããã¯ç£æ»ãæ¥åžžçãªãšã³ãžãã¢ãªã³ã°æ¥åã®äžéšãšããŠæšæºåããŠããŸãã
åæå®è¡ãžã®ãã¬ãã·ã£ãŒãé«ãŸãäžãããã¢ã¯ãã£ããªãã¥ãŒãã³ã°ãšã€ã³ããªãžã§ã³ããªããŒã«ãå°å ¥ããçµç¹ã¯ç«¶äºåªäœæ§ãç²åŸããŸããããè¿ éãªæ¡åŒµãããä¿¡é Œæ§ã®é«ãããªããªãŒããããŠã·ã¹ãã ã®ããã©ãŒãã³ã¹ããã«ããã¯ãšãªãç®ã«èŠããªãåé¡ã®è¿œè·¡ã«ãããæéã®ççž®ãå®çŸããŸãã
仿¥ãããã¯ã®åäœãå¶åŸ¡ããããšã§ãããã¹ã ãŒãºã§ãããé«éã§ãããä¿¡é Œæ§ã®é«ãææ¥ã®åºç€ãç¯ãããšãã§ããŸãã