ããŒã¿ããŒã¹ã®ã³ã³ããã¹ãã§ã¯ããã©ã³ã¶ã¯ã·ã§ã³ ãã°ã¯ãããŒã¿ã®æŽåæ§ãç¶æããããŒã¿ããŒã¹ã®å埩ããµããŒãããããŒã¿ããŒã¹ ã·ã¹ãã ãé©åã«æ©èœããããšãä¿èšŒããäžã§éèŠãªåœ¹å²ãæãããéèŠãã€åºæ¬çãªã³ã³ããŒãã³ãã§ããããã¯ãããŒã¿ããŒã¹äžã§å®è¡ããããã¹ãŠã®å€æŽãšæäœã®æç³»åã®èšé²ã§ãããé·æã«ãããããŒã¿å€æŽã®è¿œè·¡ãšç®¡çã«åœ¹ç«ã¡ãããŒã¿ããŒã¹ ã¢ã¯ãã£ããã£ã®ç£æ»èšŒè·¡ãšããŠå¹æçã«æ©èœããŸãããã©ã³ã¶ã¯ã·ã§ã³ ãã°ã®äž»ãªæ©èœã«ã¯ãå埩æäœã®æ¯æŽãã¬ããªã±ãŒã·ã§ã³ãŸãã¯åæã¡ã«ããºã ã®ãµããŒããç£æ»èšŒè·¡ã®æäŸãªã©ãå«ãŸããŸãã
AppMaster ãã©ãããã©ãŒã ã®ã³ã³ããã¹ãã§ã¯ããã©ã³ã¶ã¯ã·ã§ã³ ãã°ã¯ãããŒã¿ç®¡çã容æã«ããããŒã¿ããŒã¹ ã¢ããªã±ãŒã·ã§ã³ã®é©åãªæ©èœã確ä¿ããããšã«ãããã¢ããªã±ãŒã·ã§ã³éçºããã»ã¹ã«åœ¹ç«ã¡ãŸãã AppMaster ãé«å質㮠Webãã¢ãã€ã«ãããã¯ãšã³ã ã¢ããªã±ãŒã·ã§ã³ãéçºããããã®å æ¬çãªãœãªã¥ãŒã·ã§ã³ãæäŸããçµ±åããŒã¿ããŒã¹éçºãã©ãããã©ãŒã ã§ãã AppMasterã¯ããµãŒããŒäž»å°ã®ã¢ãããŒããéããŠãã¢ããªã±ãŒã·ã§ã³éçºè ãæŠç¥çãã€å¹ççã«ããŒã¿ã管çã§ããããã«ããŸãã
ãã©ã³ã¶ã¯ã·ã§ã³ ãã°ã¯ãããŒã¿ããŒã¹ç®¡çã·ã¹ãã (DBMS) å ã§å®è¡ããããã¹ãŠã®ãã©ã³ã¶ã¯ã·ã§ã³ãä¿åãããã¡ã€ã«ã§ããããã«ã¯ãæ¿å ¥ãæŽæ°ãåé€ããã®ä»å€ãã®æäœãå«ãŸããŸãããã©ã³ã¶ã¯ã·ã§ã³ ãã°ã®åãšã³ããªã¯ãåäžã®æäœãšããã«é¢é£ããã¡ã¿ããŒã¿ (ã¿ã€ã ã¹ã¿ã³ãããã©ã³ã¶ã¯ã·ã§ã³ ID ãªã©)ãããã³æäœèªäœã«é¢ããæ å ± (ã©ã®ããŒã¿ã圱é¿ãåããã倿Žãããããªã©) ã衚ããŸãããããã®ãã°ã¯ãDBMS å®è£ ã«å¿ããŠãç©çãã¡ã€ã«å ã«ååšããããšããããŒã¿ããŒã¹èªäœå ã®è«çæ§é å ã«ååšããããšãã§ããŸãã
ãã©ã³ã¶ã¯ã·ã§ã³ ãã°ã¯ãããŒã¿ããŒã¹ ã·ã¹ãã ã®åäœã«ãããŠããã€ãã®éèŠãªç®çãæãããŸãã
- ããŒã¿å埩: ãã©ã³ã¶ã¯ã·ã§ã³ ãã°ã®éèŠãªåŽé¢ã¯ãããŒã¿å埩ããã»ã¹ãæ¯æŽããæ©èœã§ããããã«ã¯ãããŒããŠã§ã¢ãŸãã¯ãœãããŠã§ã¢é害ãçºçããå Žåã«ããŒã¿ããŒã¹ãäžè²«ããç¶æ ã«åŸ©å ããããç¹å®ã®æç¹ã«åŸ©å ãããããããšãå«ãŸããå ŽåããããŸãããã©ã³ã¶ã¯ã·ã§ã³ ãã°ã¯ããã©ã³ã¶ã¯ã·ã§ã³ãåçããããã®èšé²ãšããŠäœ¿çšã§ããã³ãããããããã©ã³ã¶ã¯ã·ã§ã³ã¯ä¿æãããã³ããããããŠããªããã©ã³ã¶ã¯ã·ã§ã³ã¯ããŒã«ããã¯ãããæçµçã«ã¯å¿ èŠãªã¬ãã«ã®ããŒã¿ã®äžè²«æ§ãšæŽåæ§ãç¶æããã®ã«åœ¹ç«ã¡ãŸãã
- åæå®è¡å¶åŸ¡: ãã©ã³ã¶ã¯ã·ã§ã³ ãã°ã«ããå¹ççãªåæå®è¡å¶åŸ¡ã容æã«ãªããè€æ°ã®ãŠãŒã¶ãŒãããŒã¿ã®æŽåæ§ãæãªãããšãªãããŒã¿ããŒã¹ã«åæã«ã¢ã¯ã»ã¹ããŠæäœã§ããããã«ãªããŸãããã«ãããŒãžã§ã³åæå®è¡å¶åŸ¡ (MVCC) ããªããã£ãã¹ãã£ãã¯åæå®è¡å¶åŸ¡ (OCC) ãªã©ã®ãããã³ã«ã䜿çšãããšããã©ã³ã¶ã¯ã·ã§ã³ ãã°ã䜿çšããŠåæãã©ã³ã¶ã¯ã·ã§ã³ã管çããå颿§ãšäžè²«æ§ãç¶æããªããç«¶åãæ€åºã§ããŸãã
- ã¬ããªã±ãŒã·ã§ã³ãšåæ: ææ°ã®åæ£ã·ã¹ãã ãšã¯ã©ãŠãããŒã¹ã®ã¢ãŒããã¯ãã£ã§ã¯ããã©ã³ã¶ã¯ã·ã§ã³ ãã°ã«ãããããŸããŸãªããŒããŸãã¯ãµãŒãã¹éã§ã®ããŒã¿ã®ã¬ããªã±ãŒã·ã§ã³ãšåæãå¯èœã«ãªããŸãããããã¯ãäžè²«æ§ãç¶æããã·ã¹ãã å ã®ããŸããŸãªã¬ããªã«éã®äžäžèŽã解決ããã®ã«åœ¹ç«ã¡ãŸããããã¯ãé«å¯çšæ§ããã³ãã©ãŒã«ã ãã¬ã©ã³ããªããŒã¿ããŒã¹ ã·ã¹ãã ã§ã¯ç¹ã«äžå¯æ¬ ã§ãã
- ç£æ»ãšã³ã³ãã©ã€ã¢ã³ã¹: ãã©ã³ã¶ã¯ã·ã§ã³ ãã°ã¯ãããŒã¿ããŒã¹ ã·ã¹ãã å ã®çµæçãªå€æŽãæäœã®è©³çްã瀺ãç£æ»èšŒè·¡ãæäŸããŸãããã®æ å ±ã¯ãæ³èŠå¶ãžã®ã³ã³ãã©ã€ã¢ã³ã¹èŠä»¶ã®æºããããã©ã¬ã³ãžãã¯æŽ»åã®å®è¡ãããã³ã·ã¹ãã å ã®äžæ£ãªã¢ã¯ãã£ããã£ãæœåšçãªåé¡ã®æ€åºã«éåžžã«è²Žéã§ãã
ãã©ã³ã¶ã¯ã·ã§ã³ ãã°ã®åºç€ãšãªããã¯ãããžãå®è£ ãããã³ç®¡çã¯ã䜿çšãããŠããããŒã¿ããŒã¹ç®¡çã·ã¹ãã (DBMS) ã«ãã£ãŠç°ãªããŸãã AppMasterãã©ãããã©ãŒã ãšäºææ§ã®ãã Postgresql ãªã©ã®ç¹å®ã® DBMS ã·ã¹ãã ã¯ãããã©ãŒãã³ã¹ãããŒã¿èä¹ æ§ãã¯ã©ãã·ã¥å埩æ©èœãåäžãããããã®å è¡æžã蟌ã¿ãã° (WAL) ãªã©ã®é«åºŠãªæ©èœãæäŸããŸããããŒã¿ããŒã¹ã®æé©ãªããã©ãŒãã³ã¹ãšæ©èœã確ä¿ããã«ã¯ã宿çãªãã° ããã¯ã¢ããããã§ãã¯ãã€ã³ã ã¡ã«ããºã ãªã©ããã©ã³ã¶ã¯ã·ã§ã³ ãã°ã®ç®¡çãšç¶æã«é¢ãããã¹ã ãã©ã¯ãã£ã¹ãçè§£ããæ¡çšããããšãéèŠã§ãã
ãã©ã³ã¶ã¯ã·ã§ã³ ãã°ã¯ãææ°ã®ããŒã¿ããŒã¹ ã·ã¹ãã ã®éèŠãªã³ã³ããŒãã³ãã§ãããããŒã¿ã®æŽåæ§ã®ç¢ºä¿ãå埩æäœã®æ¯æŽãã¬ããªã±ãŒã·ã§ã³ãããŒã¿ããŒã¹ç£æ»èšŒè·¡ãªã©ã®é«åºŠãªæ©èœã®ãµããŒãã«ãããŠéèŠãªåœ¹å²ãæãããŠããŸãã AppMasterãã©ãããã©ãŒã ã«ã¯ãWebãã¢ãã€ã«ãããã³ããã¯ãšã³ã ã¢ããªã±ãŒã·ã§ã³ã®è¿ éãã€å¹ççãªéçºã®ããã®å æ¬çãªãœãªã¥ãŒã·ã§ã³ã®äžéšãšããŠãã©ã³ã¶ã¯ã·ã§ã³ ãã°ãçµã¿èŸŒãŸããŠããŸãã AppMasterããŒã¿ããŒã¹é§ååã¢ããªã±ãŒã·ã§ã³éçºã®ããã®ä¿¡é Œæ§ãé«ãå¹ççãªãã©ãããã©ãŒã ãå®çŸãããã©ã³ã¶ã¯ã·ã§ã³ ãã°ã®é©åãªç®¡çãšå©çšãéããŠãèŠæ±ã®å³ãããšã³ã¿ãŒãã©ã€ãºãé«è² è·ã®ãŠãŒã¹ã±ãŒã¹ã§ããæé©ãªããŒã¿ç®¡çãšäžè²«æ§ã確ä¿ããŸãã