ãªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ã®ã³ã³ããã¹ãã§ã¯ããããŒã«ããã¯ããšã¯ãããŒã¿ããŒã¹ã以åã®ç¶æ ã«æ»ãããã«ãããŒã¿ããŒã¹ã«å¯ŸããŠå®è¡ãããäžé£ã®å€æŽãŸãã¯æäœãå ã«æ»ããŸãã¯å ã«æ»ãããã»ã¹ãæããŸããããã¯ãäºæããªããšã©ãŒãã·ã¹ãã é害ããŸãã¯æªæã®ããã¢ã¯ãã£ããã£ã«çŽé¢ããå Žåã§ãããŒã¿ã®æŽåæ§ãšäžè²«æ§ãä¿èšŒããããããªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ç®¡çã·ã¹ãã (RDBMS) ã§ã¯éèŠãªæ©èœã§ãã
ãªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ã®ããŒã«ããã¯æäœã«é¢é£ããéèŠãªæŠå¿µã® 1 ã€ã¯ãã©ã³ã¶ã¯ã·ã§ã³ã®æŠå¿µã§ãããã©ã³ã¶ã¯ã·ã§ã³ã¯åºæ¬çã«ãåäžã®ã¢ãããã¯ãªäœæ¥åäœãšããŠå®è¡ãããäžé£ã®ããŒã¿æäœæäœ (INSERTãUPDATEãDELETE ãªã©) ã§ãããã©ã³ã¶ã¯ã·ã§ã³ã¯ãåºãåãå ¥ããããŠãã ACID ãããã㣠(AtomicityãConsistencyãIsolationãDurability) ã«åŸããããŒã¿ããŒã¹æäœã®ä¿¡é Œæ§ãšæ£ç¢ºæ§ãä¿èšŒããŸãã
ããŒã«ããã¯ã¯ããã©ã³ã¶ã¯ã·ã§ã³ã®ååæ§ãšäžè²«æ§ã®ããããã£ãç¶æããäžã§éèŠãªåœ¹å²ãæãããŸããããšãã°ãããå£åº§ããå¥ã®å£åº§ã«è³éãééããéè¡ã¢ããªã±ãŒã·ã§ã³ãèããŠã¿ãŸãããããã®æäœã¯ 2 ã€ã®äž»ãªã¹ãããã§æ§æãããŸãã1 ã€ã¯è»¢éå å£åº§ããã®è»¢ééé¡ã®æžç®ããã 1 ã€ã¯è»¢éå å£åº§ãžã®åé¡ã®è¿œå ã§ããã¹ãããã® 1 ã€ã倱æããå Žå (ãœãŒã¹å£åº§ã®è³éäžè¶³ãªã©ã«ãã)ããã©ã³ã¶ã¯ã·ã§ã³å šäœãäžæ¢ããæäœããªãã£ããã®ããã«ããŒã¿ããŒã¹ãåæç¶æ ã«æ»ãå¿ èŠããããŸããããã¯ãé¢ä¿ããããŒã¿ããŒã¹ ã¬ã³ãŒãã«å ãããã倿Žãå ã«æ»ãããŒã«ããã¯ã«ãã£ãŠå®çŸãããŸãã
ããŒã«ããã¯æäœã¯æé»çãŸãã¯æç€ºçã«éå§ã§ããŸããæé»çãªããŒã«ããã¯ã¯ããšã©ãŒãŸãã¯ã·ã¹ãã ã¯ã©ãã·ã¥ã«å¿ã㊠RDBMS ã«ãã£ãŠèªåçã«ããªã¬ãŒãããå ŽåããããŸãããã®å Žåãã·ã¹ãã ã¯ãã©ã³ã¶ã¯ã·ã§ã³ã倱æããããæªå®äºã®ãŸãŸã§ããããšãæ€åºããé¢é£ãã倿Žãèªåçã«å ã«æ»ããŸããäžæ¹ãæç€ºçãªããŒã«ããã¯ã¯ããŠãŒã¶ãŒã (ROLLBACK ã³ãã³ããçºè¡ãããªã©ããŠ) æåã§èŠæ±ããããããªãšã³ããã£ããªãšã©ãŒ ãã§ã㯠ã¡ã«ããºã ãéããŠã¢ããªã±ãŒã·ã§ã³ ããžãã¯ã«ããã°ã©ã ãããŸãã
AppMasterãªã©ã®åŒ·åãªno-codeãã©ãããã©ãŒã ã䜿çšãããšãããŒã«ããã¯æ©èœãã·ã¹ãã ã«ã·ãŒã ã¬ã¹ã«çµ±åãããçæãããã¢ããªã±ãŒã·ã§ã³ãä¿¡é Œæ§ãšããŒã¿ã®æŽåæ§ã®ç¹ã§ãã¹ã ãã©ã¯ãã£ã¹ã«æºæ ããŠããããšãä¿èšŒãããŸãã AppMasterã®ããã¯ãšã³ã ã¢ããªã±ãŒã·ã§ã³ãšçæããã Web ããã³ã¢ãã€ã« ã¢ããªã±ãŒã·ã§ã³ã¯ãPostgreSQL äºæããŒã¿ããŒã¹ãšå¯Ÿè©±ã§ãããã®ãããªããŒã¿ããŒã¹ã®çµã¿èŸŒã¿ãã©ã³ã¶ã¯ã·ã§ã³ããã³ããŒã«ããã¯æ©èœã掻çšããŠãã¢ããªã®äžè²«ããä¿¡é Œæ§ã®é«ãæäœãæäŸããŸãã
ããŒã«ãã㯠ã¡ã«ããºã ã®å®è£ ã¯ãå€ãã®å Žåãå ã«æ»ããã°ãããçŽããã°ãå è¡æžã蟌ã¿ãã° (WAL) ãªã©ã®ããŒã¿æ§é ãšæè¡ã«äŸåããŸãã Undo ãã°ã«ã¯ã倿Žãè¡ãããåã®ããŒã¿ã®ä»¥åã®ç¶æ ã«é¢ããæ å ±ãä¿åãããŸããããŒã«ããã¯ã®å Žåãã·ã¹ãã ã¯å ã«æ»ããã°ãåç §ããŠãããŒã¿ããŒã¹ãå ã®ç¶æ ã«æ»ãéã®æäœãçæããŸãã REDO ãã°ã¯éã®ç®çãæãããŸããã€ãŸãããã©ã³ã¶ã¯ã·ã§ã³ãã³ããããããåŸããã®å€æŽãããŒã¿ããŒã¹ã«æžã蟌ãŸããåã«ã·ã¹ãã ã¯ã©ãã·ã¥ãçºçããå Žåã«ã倿Žãåé©çšããŸããå è¡æžã蟌ã¿ãã°ã¯ãå®éã®å€æŽãè¡ãããåã« REDO ãã°ãæ°žç¶ã¹ãã¬ãŒãžã«æžã蟌ãŸããããšãä¿èšŒããæŠç¥ã§ãããããã«ãã£ãŠã³ãããããããã©ã³ã¶ã¯ã·ã§ã³ã®èä¹ æ§ãä¿èšŒãããŸãã
å€§èŠæš¡ãªãšã³ã¿ãŒãã©ã€ãº ããŒã¿ããŒã¹ã§ã¯ãè€æ°ã®åæãã©ã³ã¶ã¯ã·ã§ã³ã忣ã·ã¹ãã ãããã³é·æéå®è¡ãããæäœãååšããããšãèæ ®ãããšãããŒã«ããã¯æäœãç¹ã«è€éã«ãªãå ŽåããããŸãããã®ãããªã·ããªãªã§ã¯ããã«ãããŒãžã§ã³åæå®è¡å¶åŸ¡ (MVCC)ãã»ãŒããã€ã³ãã2 ãã§ãŒãº ã³ããã (2PC) ãããã³ã«ãªã©ã®é«åºŠãªæè¡ã䜿çšããŠãããŒã«ããã¯ãå¹ççã«ç®¡çããããŒã¿ããŒã¹ ã·ã¹ãã ã®å šäœçãªããã©ãŒãã³ã¹ãšäžè²«æ§ãç¶æã§ããŸãã
çµè«ãšããŠãããŒã«ããã¯ã¯ãªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ ã·ã¹ãã ã®éèŠãªã³ã³ããŒãã³ãã§ããããšã©ãŒãã·ã¹ãã é害ããŸãã¯äžå®å šãªãã©ã³ã¶ã¯ã·ã§ã³ãçºçããå Žåã«å€æŽãå ã«æ»ããããŒã¿ã®äžè²«æ§ãç¶æããããã«å¿ èŠãªææ®µãæäŸããŸãã AppMasterãªã©ã®No-codeãã©ãããã©ãŒã ã§ã¯ãããŒã«ããã¯æ©èœã¯çæãããã¢ããªã±ãŒã·ã§ã³ãšåºç€ãšãªãããŒã¿ããŒã¹ ã·ã¹ãã ãšã®çžäºäœçšã«çµ±åãããŠãããããéçºè ãããŒã«ããã¯æ©èœãæåã§å®è£ ããå¿ èŠã¯ãããŸãããããŒã«ãã㯠ã¡ã«ããºã ã¯ãæ¥çæšæºã®ãã©ã¯ãã£ã¹ãšæè¡ã䜿çšããããšã«ãããææ°ã®ããŒã¿ããŒã¹é§ååã¢ããªã±ãŒã·ã§ã³ã®ä¿¡é Œæ§ãæŽåæ§ãããã©ãŒãã³ã¹ã®ç¢ºä¿ã«è²¢ç®ããŸãã