ããŒã¿ããŒã¹ã®ã³ã³ããã¹ãã§ã¯ã ã¿ã€ã ã¹ã¿ã³ãã¯ãéåžžããªç§ã®ç²ŸåºŠã§äžæã®é£ç¶ããæç¹ã衚ããããŒã¿è¿œè·¡ãåæãåæå®è¡å¶åŸ¡ãªã©ã®ããŸããŸãªç®çã«äœ¿çšã§ããŸããã¿ã€ã ã¹ã¿ã³ãã¯ãææ°ã®ããŒã¿ããŒã¹ ã·ã¹ãã ã«ãããŠéèŠãªåœ¹å²ãæãããããŒã¿ã®æŽåæ§ãäžè²«æ§ãæäœã®å¹ççãªåŠçãä¿èšŒããŸããããã¯ãããŒã¿ããŒã¹ç®¡çã®é åã§æåŸ ãããéèŠãªç¹æ§ã§ãã
ã¿ã€ã ã¹ã¿ã³ãã¯åæ£ããŒã¿ããŒã¹ ã·ã¹ãã ããã«ããŠãŒã¶ãŒ ã¢ããªã±ãŒã·ã§ã³ã§åºã䜿çšãããŠãããè€æ°ã®ã·ã¹ãã ããã³ãŠãŒã¶ãŒéã§åæã«ããŒã¿ã管çããã³åæã§ããããã«ãªããŸããã¿ã€ã ã¹ã¿ã³ãã®å®äžçã®ã¢ããªã±ãŒã·ã§ã³ã«ã¯ããªã³ã©ã€ã³ ãã©ã³ã¶ã¯ã·ã§ã³åŠçãããŒã¿ ãŠã§ã¢ããŠãžã³ã°ãæç³»ååæãªã©ãå«ãŸããŸãã
ããŒã¿ããŒã¹ ã·ã¹ãã ã®é åå ã§ã¯ãã¿ã€ã ã¹ã¿ã³ãã¯äžè¬ã«ã ã·ã¹ãã ã¿ã€ã ã¹ã¿ã³ã ãš è«çã¿ã€ã ã¹ã¿ã³ã ã® 2 ã€ã®äž»èŠãªã¿ã€ãã§å®è£ ãããŸãã
- ã·ã¹ãã ã¿ã€ã ã¹ã¿ã³ã: ãããã¯ããµãŒããŒãŸãã¯ãã·ã³ã®æèšããååŸãã絶察æéã«åºã¥ããŠçæãããŸããã·ã¹ãã ã¿ã€ã ã¹ã¿ã³ãã¯ãæ£ç¢ºãªã€ãã³ã ã¿ã€ãã³ã°ããã°èšé²ããŸãã¯å€éšããã»ã¹ãšã®åæãå¿ èŠãšããã¢ããªã±ãŒã·ã§ã³ã«åœ¹ç«ã¡ãŸãããã ããã¯ãã㯠ããªããããããã¯ãŒã¯é å»¶ãªã©ã®æœåšçãªã¯ããã¯åæã®åé¡ã®åœ±é¿ãåãããããªããŸãããããã®åé¡ã解決ããããšã¯ã忣ã·ã¹ãã éã§ããŒã¿ã®äžè²«æ§ãç¶æããããã«éèŠã§ãã
- è«çã¿ã€ã ã¹ã¿ã³ã: ã·ã¹ãã ã¿ã€ã ã¹ã¿ã³ããšã¯ç°ãªããè«çã¿ã€ã ã¹ã¿ã³ãã¯å®éã®æéã«åºã¥ããŠããŸããããã·ã¹ãã å ã§æ°ããæäœãçºçãããã³ã«å¢åãããã·ãŒã±ã³ã·ã£ã« ã«ãŠã³ã¿ãéããŠçæãããŸããè«çã¿ã€ã ã¹ã¿ã³ãã¯ãã€ãã³ãã®çžå¯Ÿçãªé åºãæäŸããããã«äœ¿çšãããé垞㯠Lamport ã¿ã€ã ã¹ã¿ã³ããŸãã¯ãã¯ã¿ãŒ ã¿ã€ã ã¹ã¿ã³ããä»ããŠå®è£ ãããŸããããããæŽ»çšããããšã§ãã¢ããªã±ãŒã·ã§ã³ã¯ã·ã¹ãã ã¯ããã¯é¢é£ã®åé¡ãåé¿ããªããããŒã¿æäœã管çã§ããŸãã
åè¿°ã®ãŠãŒã¹ã±ãŒã¹ã«å ããŠãã¿ã€ã ã¹ã¿ã³ãã¯ãã¿ã€ã ã¹ã¿ã³ãããŒã¹ã®åæå®è¡å¶åŸ¡ããã«ãããŒãžã§ã³åæå®è¡å¶åŸ¡ (MVCC) ãªã©ã®åæå®è¡å¶åŸ¡ã¡ã«ããºã ã«ã广çã«å©çšã§ããŸãããããã®ã¡ã«ããºã ã«ãããå颿§ãšæ£ããé åºãç¶æããªããããã©ã³ã¶ã¯ã·ã§ã³æäœãæ£ç¢ºãã€äžè²«ããŠå®è¡ãããããšãä¿èšŒãããŸãã
ããã«ãã¿ã€ã ã¹ã¿ã³ãã¯ç£æ»ãšããŒã¿åæã®å®è·µã容æã«ããããŒã¿ã®äœæãšå€æŽã®æ£ç¢ºãªæå»ã«é¢ããæ å ±ãæäŸããŸããããžãã¹ ã€ã³ããªãžã§ã³ã¹ãåæãæ³èŠå¶é å®ãªã©ã®ã¢ããªã±ãŒã·ã§ã³ã¯ãã¿ã€ã ã¹ã¿ã³ããå©çšããŠããŒã¿äž»å°ã®æææ±ºå®ãè¡ããå±¥æŽããŒã¿ãæ£ç¢ºã«è©äŸ¡ã§ããŸãã
ããã¯ãšã³ããWebãã¢ãã€ã« ã¢ããªã±ãŒã·ã§ã³éçºåãã®äž»èŠãª ããŒã³ãŒã ãã©ãããã©ãŒã ã§ãã AppMaster ã¯ãçæãããã¢ããªã±ãŒã·ã§ã³ã®äžå¯æ¬ ãªéšåãšããŠã¿ã€ã ã¹ã¿ã³ããæ¡çšããŠããŸãã AppMasterã䜿çšãããšããŠãŒã¶ãŒã¯ã·ãŒã ã¬ã¹ãªããŒã¿ç®¡çãæäœãåæã®ããã«ã¿ã€ã ã¹ã¿ã³ãã䜿çšãããã¹ã±ãŒã©ãã«ã§ä¿¡é Œæ§ã®é«ãã¢ããªã±ãŒã·ã§ã³ãå¹ççã«æ§ç¯ã§ããŸãã AppMasterãšäºææ§ã®ãããã©ã€ã㪠ããŒã¿ããŒã¹ã§ãã POSTGRESQL ã¯ãTIMESTAMPãTIMESTAMP WITH TIME ZONEãTIMESTAMP WITHOUT TIME ZONE ãªã©ã®ããŸããŸãª TIMESTAMP ããŒã¿åããµããŒãããŸãããã®æè»æ§ã«ãããéçºè ã¯ç¹å®ã®èŠä»¶ã«åºã¥ããŠæéã«ææãªããŒã¿ãå¹ççã«ç®¡çã§ããŸãã
AppMasterã䜿çšããŠããŒã¿ããŒã¹ ã¹ããŒãç§»è¡ã¹ã¯ãªãããçæãããšãéçºè ã¯ã¿ã€ã ã¹ã¿ã³ããå©çšããŠã¹ããŒãã®å€æŽã远跡ããããŒã¿ã®åŸåãåæããããŒã¿ã®äžè²«æ§ãç¶æã§ããŸããããã«ã AppMasterã®èªåçæããã Swagger (Open API) ããã¥ã¡ã³ãã䜿çšã§ãããããè€æ°ã®ã¢ããªã±ãŒã·ã§ã³ãšã®ã·ãŒã ã¬ã¹ãª API çµ±åãå¯èœã«ãªããŸãã
ã¿ã€ã ã¹ã¿ã³ãã¯ãããŒã¿ã®æŽåæ§ãäžè²«æ§ãåæã«å€ãã®ã¡ãªãããããããéèŠãªããŒã¿ããŒã¹ ã³ã³ããŒãã³ãã§ãããããã¯ãè€éãªã¢ããªã±ãŒã·ã§ã³ã管çããæ£ç¢ºãªæäœãšããã©ãŒãã³ã¹ãä¿èšŒããããã«éèŠã§ãã AppMasterã®é©æ°çãªno-codeãã©ãããã©ãŒã ã¯ãã¿ã€ã ã¹ã¿ã³ããã¢ããªã±ãŒã·ã§ã³ã«çµã¿èŸŒãããã»ã¹ãç°¡çŽ åããéçºè ã匷åã§ã¹ã±ãŒã©ãã«ã§æéã«ææãªã¢ããªã±ãŒã·ã§ã³ãç°¡åã«äœæã§ããããã«ããŸãã