ãã§ãã¯ãã€ã³ãã«ããå¢åããŒã¿åæïŒã·ã¹ãã ãå®å šã«æŽåããã
ãã§ãã¯ãã€ã³ãã䜿ã£ãå¢åããŒã¿åæã¯ãã«ãŒãœã«ãããã·ã¥ãåéããŒã¯ã³ã§å®å šã«åéã§ããããã«ããåã€ã³ããŒããé¿ããŠã·ã¹ãã ã®æŽåæ§ãä¿ã¡ãŸãã

ãªãå šä»¶åã€ã³ããŒãã¯åé¡ãç¹°ãè¿ãã®ã
ãã«åã€ã³ããŒãã¯èŠãç®ã«ã¯ç°¡åã«èŠããã®ã§å®å¿ã«æããŸãïŒåé€ããŠãåããŒãããŠãçµãããå®éã«ã¯ãé ãåæãã³ã¹ãå¢ãããŒã¿ã®æ··ä¹±ãçãæãç°¡åãªæ¹æ³ã®äžã€ã§ãã
æåã®åé¡ã¯æéãšã³ã¹ãã§ããæ¯åå šããŒã¿ã»ãããååŸãããšãåãã¬ã³ãŒããäœåºŠãããŠã³ããŒãããŸããæ¯æ©50äžä»¶ã®é¡§å®¢ãåæããŠããå Žåãå®éã«å€æŽã200ä»¶ãããªããŠããèšç®ãAPIã³ãŒã«ãããŒã¿ããŒã¹æžã蟌ã¿ã«å¯ŸããŠæ¯æããçºçããŸãã
äºã€ç®ã®åé¡ã¯æ£ç¢ºæ§ã§ãããã«åã€ã³ããŒãã¯éè€ãçãã ãïŒãããã³ã°ã«ãŒã«ãå®ç§ã§ãªãããïŒããšã¯ã¹ããŒãã«å«ãŸããŠããå€ãããŒã¿ã§æ°ããç·šéãäžæžãããŠããŸãããšããããŸããå€ãã®ããŒã ã¯ãåé€ããŠåããŒãããéäžã§éãã«å€±æããŠåèšããããŠããã®ãçµéšããŸãã
å žåçãªçç¶ã¯æ¬¡ã®éãã§ãïŒ
- å®è¡åŸã«ã·ã¹ãã éã§ä»¶æ°ãåããªã
- ã¬ã³ãŒããå°ããªå·®ç°ïŒã¡ãŒã«ã®å€§æåå°æåãé»è©±çªå·ã®æžåŒïŒã§äºéã«ååšãã
- æè¿æŽæ°ããã¯ãã®ãã£ãŒã«ããå€ãå€ã«æ»ã
- åæããå®äºããããããŒã¿ã®äžéšãåãããŒã
- åã€ã³ããŒãåŸã«ãµããŒããã±ãããæ¥å¢ãã
ãã§ãã¯ãã€ã³ãã¯ããããŸã§ã¯åŠçããããšããå°ããªä¿åããŒã«ãŒã«éããŸãããæ¬¡åã¯ãã®ããŒã«ãŒããç¶ããã°ãããæåããããçŽãå¿ èŠã¯ãããŸãããããŒã«ãŒã¯ã¿ã€ã ã¹ã¿ã³ããã¬ã³ãŒãIDãããŒãžã§ã³çªå·ãAPIãè¿ãããŒã¯ã³ãªã©ã«ãªãåŸãŸãã
ããæ¬åœã®ç®çãäºã€ã®ã·ã¹ãã ãé·æçã«æããŠããããšã§ããã°ããã§ãã¯ãã€ã³ãã䜿ã£ãå¢åããŒã¿åæã®æ¹ãéåžžã¯é©åã§ããããŒã¿ãé »ç¹ã«å€ããããšã¯ã¹ããŒãã倧ãããAPIã«ã¬ãŒãå¶éãããããŸãã¯ãžã§ããéäžã§å€±æããå Žåã«å®å šã«åéããå¿ èŠããããšãã«ç¹ã«åœ¹ç«ã¡ãŸãïŒäŸãã°ãAppMasterã®ãããªãã©ãããã©ãŒã ã§ç€Ÿå ããŒã«ãäœã£ãå Žåãªã©ïŒã
æ¹æ³ãéžã¶åã«åæã®ç®çãå®çŸ©ãã
ãã§ãã¯ãã€ã³ãã«ããå¢ååæã¯ããæ£ããããšã¯äœããæç¢ºã§ãªããšäžæãåããŸããããããé£ã°ããŠãããªãã«ãŒãœã«ãããã·ã¥ã«é²ããšãã«ãŒã«ãæžãçããããŠãããåŸã§åæãäœãçŽã矜ç®ã«ãªããŸãã
ãŸãã·ã¹ãã ã®ååãæããã©ã¡ããçå®ã®ææè ïŒsource of truthïŒããæ±ºããŸããäŸãã°ãCRMã顧客åãé»è©±çªå·ã®æ£ããæ å ±ã§ãè«æ±ããŒã«ããµãã¹ã¯ãªãã·ã§ã³ç¶æ ã®æ£ããæ å ±ãããããŸãããäž¡æ¹ã®ã·ã¹ãã ãåããã£ãŒã«ããç·šéã§ãããªããåäžã®ãœãŒã¹ãªããã¥ã«ãŒã¹ã¯ãªããç«¶ååŠçãèšç»ããå¿ èŠããããŸãã
次ã«ãæŽåããŠããããšã¯äœããå®çŸ©ããŸããåžžã«å®å šäžèŽãå¿ èŠã§ããããããšãæ°å以å ã«æŽæ°ãåæ ãããã°ååã§ããïŒå®å šäžèŽã¯é åºãå³å¯ã«ä¿ã€ããšããã§ãã¯ãã€ã³ãåšãã®åŒ·ãä¿èšŒãåé€ã®æ éãªæ±ããæå³ããããšãå€ãã§ããæçµçæŽåæ§ïŒeventual consistencyïŒã¯éåžžã³ã¹ããäœããäžæçãªå€±æã«å¯å®¹ã§ãã
åæã®æ¹åæ§ã決ããŸããäžæ¹åã®åæã¯åçŽã§ãïŒã·ã¹ãã Aãã·ã¹ãã Bãžéããåæ¹ååæã¯é£ããããã¹ãŠã®æŽæ°ãç«¶åã«ãªãå¯èœæ§ããããçæ¹ãããçæ¹ããçŽããç¡éã«ãŒããé¿ããªããã°ãªããŸããã
æ§ç¯åã«çããã¹ã質å
å šå¡ãåæããç°¡åãªã«ãŒã«ãæžãåºããŸãããïŒ
- åãã£ãŒã«ãïŒãŸãã¯åãªããžã§ã¯ãã¿ã€ãïŒã«ã€ããŠã©ã®ã·ã¹ãã ãçå®ã®ææè ãïŒ
- 蚱容ã§ããé å»¶ã¯ã©ã®çšåºŠãïŒç§ãåãæéïŒïŒ
- ããã¯äžæ¹åãåæ¹åããã©ã®ã€ãã³ããã©ã¡ãã®æ¹åã«æµãããïŒ
- åé€ã¯ã©ãæ±ããïŒããŒãããªãŒãããœããããªãŒãããã¥ãŒã ã¹ããŒã³ïŒïŒ
- åæ¹ãåãã¬ã³ãŒãã倿Žãããšãã¯ã©ããããïŒ
å®çšçãªç«¶åã«ãŒã«ã¯ã課éé¢é£ãã£ãŒã«ãã¯billingãåã€ãé£çµ¡å ãã£ãŒã«ãã¯CRMãåã€ããã以å€ã¯ææ°ã®æŽæ°ãåã€ãã®ããã«ã·ã³ãã«ã§ããã§ããAppMasterã®ãããªããŒã«ã§çµ±åãæ§ç¯ãããªãããããã®ã«ãŒã«ãBusiness Processã®ããžãã¯ã«èšé²ããŠå¯èŠåã»ãã¹ãå¯èœã«ããŠãããšã誰ãã®èšæ¶ã«é Œãããå®å šã§ãã
ã«ãŒãœã«ãããã·ã¥ãåéããŒã¯ã³ïŒåºæ¬èŠçŽ
ãã§ãã¯ãã€ã³ãã䜿ã£ãå¢ååæã¯éåžžãä¿åããŠåå©çšã§ããäžã€ã®ãäœçœ®ãã®ããããã«äŸåããŸããã©ããéžã¶ãã¯ããœãŒã¹ã·ã¹ãã ãäœãä¿èšŒã§ããããã©ã®ãããªé害ã«èããããã«ãããŸãã
ã«ãŒãœã«åãã§ãã¯ãã€ã³ãã¯æãåçŽã§ãããæåŸã«åŠçãããã®ããäŸãã°æåŸã®IDãupdated_atã®ã¿ã€ã ã¹ã¿ã³ããã·ãŒã±ã³ã¹çªå·ãªã©ãä¿åããŸããæ¬¡åã¯ãã®ãã€ã³ãããåŸã®ã¬ã³ãŒããååŸããŸãããœãŒã¹ãäžè²«ããŠãœãŒããããIDãã¿ã€ã ã¹ã¿ã³ãã確å®ã«åã«é²ããªãããŸãæ©èœããŸããé
å»¶æŽæ°ãæ¥ããæèšããããŠãããéå»ã«æ¿å
¥ãããå¯èœæ§ãããïŒããã¯ãã£ã«ã®äŸïŒå Žåã«ã¯ç Žç¶»ããŸãã
ããã·ã¥ã¯ã«ãŒãœã«ã ãã§ã¯äžååãªãšãã«å€æŽãæ€åºããã®ã«åœ¹ç«ã¡ãŸããé¢å¿ã®ãããã£ãŒã«ãã«åºã¥ããŠåã¬ã³ãŒããããã·ã¥ããããã·ã¥ãå€ãã£ããšãã ãåæããããšãã§ããŸãããããã¯ãããå šäœãããã·ã¥ããŠããªãããçŽ æ©ãæ€åºããåé¡ãããã°è©³çްã«èª¿ã¹ãŸããã¬ã³ãŒãæ¯ã®ããã·ã¥ã¯æ£ç¢ºã§ããä¿åãšèšç®ã³ã¹ããå¢ããŸãããããããã·ã¥ã¯å®äŸ¡ã§ãããã©ã®ã¢ã€ãã ãå€ãã£ããåããã«ããã§ãã
åéããŒã¯ã³ã¯ããœãŒã¹ãçºè¡ããäžéæãªå€ã§ãããŒãžããŒã·ã§ã³ãã€ãã³ãã¹ããªãŒã ã§ãã䜿ãããŸããè§£éããã«ä¿åããŠæ»ãã ãã§ããAPIãè€éãªå Žåã«äŸ¿å©ã§ãããããŒã¯ã³ãæéåãã«ãªã£ãããä¿ææéã®åŸã«ç¡å¹ã«ãªããç°å¢ããšã«æåãç°ãªãããšãã£ãåé¡ããããŸãã
äœã䜿ãã¹ããããããŠäœãèµ·ããåŸãã
- ã«ãŒãœã«ïŒé«éã§åçŽã ããé åºã厩ãããšå±éºã\n- ã¬ã³ãŒãåäœããã·ã¥ïŒæ£ç¢ºãªå€æŽæ€åºã ãã³ã¹ãé«ã\n- ãããããã·ã¥ïŒå®äŸ¡ãªããªããä¿¡å·ã ãç¹å®ã¯é£ããã\n- åéããŒã¯ã³ïŒããŒãžããŒã·ã§ã³ã§ã¯å®å
šã ãæéåãã1åéãã®æ±ãã«ãªãããšãããã\n- ãã€ããªããïŒã«ãŒãœã«ïŒããã·ã¥ïŒïŒ
updated_atãå®å šã«ä¿¡é Œã§ããªãå Žåã«ãã䜿ãããã
AppMasterã®ãããªããŒã«ã§åæãæ§ç¯ããå Žåããããã®ãã§ãã¯ãã€ã³ãã¯å°ããªãsync stateãããŒãã«ã«æ ŒçŽãããåå®è¡ãæšæž¬ãªãã§åéã§ããããã«ããã®ãäžè¬çã§ãã
ãã§ãã¯ãã€ã³ãä¿åã®èšèš
ãã§ãã¯ãã€ã³ãä¿åã¯ããã§ãã¯ãã€ã³ãã䜿ã£ãå¢ååæãä¿¡é Œã§ãããã®ã«ããå°ããªéšåã§ããèªã¿ã¥ãããäžæžãããããããç¹å®ã®ãžã§ãã«çŽã¥ããŠããªããšãã£ãç¶æ ã ãšãããæç¹ãŸã§ã¯åé¡ãªãèŠããŠãäžåºŠå€±æãããšæšæž¬ã§å¯Ÿå¿ãã矜ç®ã«ãªããŸãã
ãŸãããã§ãã¯ãã€ã³ããã©ãã«çœ®ãããéžã³ãŸããããŒã¿ããŒã¹ã®ããŒãã«ãæãå®å šã§ãããã©ã³ã¶ã¯ã·ã§ã³ãç£æ»ãç°¡åãªã¯ãšãªããµããŒãããŸããããŒã»ããªã¥ãŒ ã¹ãã¢ã§ãååæŽæ°ããµããŒãããŠããã°äœ¿ããŸããèšå®ãã¡ã€ã«ã¯åäžãŠãŒã¶ãŒãäœãªã¹ã¯ã®åæã§ããçŸå®çã§ã¯ãããŸãããããã¯ãé£ããçŽå€±ããããããã§ãã
äœãä¿åãããïŒãªããïŒ
ãã§ãã¯ãã€ã³ãã¯åãªãã«ãŒãœã«ä»¥äžã®æ å ±ãæã€ã¹ãã§ãããããã°ãåéãããªããæ€åºã«ååãªã³ã³ããã¹ããä¿åããŸãããïŒ
- ãžã§ãã®èå¥ïŒãžã§ãåãããã³ãïŒã¢ã«ãŠã³ãIDããªããžã§ã¯ãã¿ã€ãïŒäŸïŒcustomersïŒ
- 鲿ïŒã«ãŒãœã«å€ãŸãã¯åéããŒã¯ã³ãå ããŠã«ãŒãœã«ã®çš®é¡ïŒtime, id, tokenïŒ
- ãã«ã¹ææšïŒæçµå®è¡æå»ãã¹ããŒã¿ã¹ãèªã¿åã£ãä»¶æ°ã»æžã蟌ãã ä»¶æ°
- å®å šæ§ïŒæåŸã«æåããã«ãŒãœã«ïŒè©Šè¡ããæåŸã®ã«ãŒãœã«ã§ã¯ãªãïŒãææ°ã®å€±æã®çããšã©ãŒã¡ãã»ãŒãž
倿޿€åºããã·ã¥ã䜿ãå Žåã¯ãããã·ã¥æ¹æ³ã®ããŒãžã§ã³ãä¿åããŠãã ãããããããªããšåŸã§ããã·ã¥ãå€ãããšãã«ããã¹ãŠãã倿Žããããšèª€èªãããå¯èœæ§ããããŸãã
ããŒãžã§ãã³ã°ãšå€æ°ã®åæãžã§ã
ããŒã¿ã¢ãã«ãå€ãããšãã§ãã¯ãã€ã³ããããŒãžã§ã³ç®¡çããå¿
èŠããããŸããæãç°¡åãªæ¹æ³ã¯ schema_version ãã£ãŒã«ãã远å ããæ°ããããŒãžã§ã³çšã«æ°ããè¡ãäœæããããšã§ããå€ãè¡ã¯ãã°ããä¿æããŠããŒã«ããã¯ã§ããããã«ããŸãã
è€æ°ãžã§ããããå Žåã¯åå空éãåããŸããè¯ãããŒã®äŸã¯ (tenant_id, integration_id, object_name, job_version) ã§ããããã§äºã€ã®ãžã§ãã1ã€ã®ã«ãŒãœã«ãå
±æããŠããŒã¿ãéãã«é£ã°ããšããå€å
žçãªãã°ãé¿ããããŸãã
å ·äœäŸïŒå éšããŒã«ãAppMasterã§äœããªããPostgreSQLã«ããã³ããšãªããžã§ã¯ãããšã«1è¡ãã€ãã§ãã¯ãã€ã³ããä¿åããæåãããããã³ãããã®åŸã ãæŽæ°ããããšããéçšãããããããã§ãã
ã¹ããããã€ã¹ãããïŒå¢ååæã«ãŒãã®å®è£
ãã§ãã¯ãã€ã³ãã䜿ã£ãå¢ååæã¯ãã«ãŒããã€ãŸããªãäºæž¬å¯èœã§ããã»ã©ããŸãåããŸããç®æšã¯åçŽã§ãïŒå®å®ããé åºã§å€æŽãèªã¿ãå®å šã«æžã蟌ã¿ãæžã蟌ã¿ã確å®ã«çµãã£ããšãã ããã§ãã¯ãã€ã³ããåã«é²ããããšã
ä¿¡é Œã§ããã·ã³ãã«ãªã«ãŒã
ãŸããåãã¬ã³ãŒãã«å¯ŸããŠæ±ºããŠå€ãããªãé åºãéžã³ãŸããã¿ã€ã ã¹ã¿ã³ãã¯äœ¿ããŸãããåæå»ã§äžŠã¶æŽæ°ãã·ã£ããã«ããªãããã«ã¿ã€ãã¬ãŒã«ãŒïŒäŸãã°IDïŒãå¿ ãå«ããŠãã ããã
ã«ãŒãã¯æ¬¡ã®ããã«åãããŸãïŒ
- ã«ãŒãœã«ïŒäŸïŒ
last_updated + idïŒãšããŒãžãµã€ãºã決ããã - ä¿åãããã§ãã¯ãã€ã³ãããæ°ããæ¬¡ã®ããŒãžã®ã¬ã³ãŒããååŸããã
- åã¬ã³ãŒããã¿ãŒã²ããã«ã¢ãããµãŒãïŒååšããªããã°äœæãããã°æŽæ°ïŒãã倱æãææããã
- æåããæžã蟌ã¿ãã³ãããããæåŸã«åŠçããã¬ã³ãŒãããæ°ãããã§ãã¯ãã€ã³ããæ°žç¶åããã
- ç¹°ãè¿ããããŒãžã空ãªãã¹ãªãŒãããŠå詊è¡ã
ãã§ãããšãã§ãã¯ãã€ã³ãæŽæ°ã¯åé¢ããŠãã ããããã§ãã¯ãã€ã³ããæ©ãä¿åãããããšãã¯ã©ãã·ã¥ã§ããŒã¿ãéãã«ã¹ãããããŠããŸããŸãã
éè€ãäœããªãããã¯ãªããšãªãã©ã€
åŒã³åºãã¯å€±æããããšãåæã«èšèšããŸãããã§ãããæžã蟌ã¿ã倱æãããçãããã¯ãªãïŒäŸïŒ1sã2sã5sïŒãšæå€§ãªãã©ã€åæ°ã§å詊è¡ããŸãããªãã©ã€ãå®å šã«ããããã«ã¢ãããµãŒãã䜿ããæžã蟌ã¿ãåªçã«ããŸãïŒåãå ¥åãªãåãçµæã«ãªãïŒã
å°ããªå®äŸïŒé¡§å®¢æŽæ°ãæ¯ååæãããªããäžåºŠã«200ä»¶ãã€ååŸããŠã¢ãããµãŒãããæåŸã«åŠçãã顧客㮠(updated_at, id) ãæ°ããã«ãŒãœã«ãšããŠä¿åããŸãã
AppMasterã§äœãå Žåããã§ãã¯ãã€ã³ãã¯åçŽãªããŒãã«ïŒData DesignerïŒã§ã¢ãã«åããBusiness Processã§ååŸã»ã¢ãããµãŒãã»ãã§ãã¯ãã€ã³ãæŽæ°ãäžé£ã®å¶åŸ¡ããããããŒãšããŠå®è¡ããã®ãåãããããã§ãã
åéãå®å šã«ããïŒåªçæ§ãšååçãªãã§ãã¯ãã€ã³ã
åæãåéã§ããããã«ãããšãåéã¯ææªã®ã¿ã€ãã³ã°ã§çºçããŸãïŒã¿ã€ã ã¢ãŠããã¯ã©ãã·ã¥ãéšåçãªãããã€ã®åŸãªã©ã§ããç®çã¯åçŽã§ãåãããããåå®è¡ããŠãéè€ãæŽæ°ã®åªå€±ãèµ·ããªãããšã§ãã
åªçæ§ã¯å®å šç¶²ã§ããç¹°ãè¿ããŠãæçµçµæãå€ãããªãæžãæ¹ãããŸããå®åäžã¯æ¿å ¥ïŒinsertïŒã§ã¯ãªãã¢ãããµãŒãïŒååšããã°æŽæ°ããªããã°æ¿å ¥ïŒã䜿ãããšãå€ãã§ãã
è¯ããæžã蟌ã¿ããŒãã¯ãªãã©ã€äžã§ãä¿¡é Œã§ãããã®ã§ããäžè¬çã«ã¯ãœãŒã¹ã·ã¹ãã ã®èªç¶IDããæåã«èŠããšãã«äœãåæããŒã䜿ãããŸãããŠããŒã¯å¶çŽãä»ããŠãäºã€ã®ã¯ãŒã«ãŒãç«¶åããŠãDBåŽã§ã«ãŒã«ã匷å¶ããã®ãå®å šã§ãã
ãã§ãã¯ãã€ã³ãã®ååæ§ãåããããéèŠã§ããããŒã¿ãã³ããããããåã«ãã§ãã¯ãã€ã³ããé²ãããšãã¯ã©ãã·ã¥ã§ã¬ã³ãŒããæ°žä¹ ã«ã¹ãããããŠããŸãå¯èœæ§ããããŸãããã§ãã¯ãã€ã³ãæŽæ°ãããŒã¿æžã蟌ã¿ãšåãåäœã®äœæ¥ãšããŠæ±ããŸãããã
å¢ååæã®ã·ã³ãã«ãªãã¿ãŒã³ïŒ
- æåŸã®ãã§ãã¯ãã€ã³ãïŒã«ãŒãœã«ãŸãã¯ããŒã¯ã³ïŒä»¥éã®å€æŽãèªãã\n- åã¬ã³ãŒããéè€é€å»ããŒã§ã¢ãããµãŒãããã\n- ãã©ã³ã¶ã¯ã·ã§ã³ãã³ãããããã\n- ãã®åŸã§ã®ã¿æ°ãããã§ãã¯ãã€ã³ããæ°žç¶åããã
é åºãååŸããæŽæ°ãé
ããŠå°çããããŒã¿ãããèµ·ããŸããããã¬ã³ãŒãã¯10:01ã«æŽæ°ãããŠã10:02ã®ã¬ã³ãŒãããåŸã§å±ãããšããããŸãããœãŒã¹ããå€ã倿Žããªãã©ã€ã§å±ãããšããããŸããããã«å¯ŸåŠããã«ã¯ããœãŒã¹ã® last_modified ãä¿åããŠãæåŸã«æžããããã®ãåã€ïŒlast write winsïŒãã«ãŒã«ãé©çšããåä¿¡ããŒã¿ãæ¢åããæ°ããå Žåã«ã®ã¿äžæžãããããã«ããŸãã
ãã匷ãä¿è·ãå¿ èŠãªããå°ããªãªãŒããŒã©ããçªïŒäŸãã°çŽè¿æ°åãåèªïŒãæã¡ãåªçãªã¢ãããµãŒãã§éè€ãç¡èŠããæ¹æ³ãæå¹ã§ããæéã¯å°ãå¢ããŸãããåéãã€ãŸããªããªãïŒïŒå®å®ããïŒã®ã§äŸ¡å€ããããŸãã
AppMasterã§ã¯åãèãæ¹ãBusiness ProcessãããŒã«ãããã§ããŸãïŒãŸãã¢ãããµãŒãããžãã¯ãå®è¡ããŠã³ãããããæåŸã®ã¹ãããã§ã«ãŒãœã«ãåéããŒã¯ã³ãä¿åããŸãã
å¢ååæãå£ãäžè¬çãªãã¹
倧æµã®åæãã°ã¯ã³ãŒãã®åé¡ã§ã¯ãããŸãããå®å šã«æããããã€ãã®ä»®å®ãæ¬çªããŒã¿ã§åŽ©ããããšã§çºçããŸãããã§ãã¯ãã€ã³ãã«ããå¢ååæãä¿¡é Œã§ãããã®ã«ããã«ã¯ã次ã®èœãšãç©Žã«æ©ãã«æ³šæããŠãã ããã
ãããã倱æãã€ã³ã
updated_at ãéä¿¡ããããšã¯ãããããã¹ã§ããäžéšã®ã·ã¹ãã ã¯ããã¯ãã£ã«ãã¿ã€ã ãŸãŒã³ä¿®æ£ããã«ã¯ç·šéããããã¯èªã¿åã修埩ã®éã«ã¿ã€ã ã¹ã¿ã³ããæžãæããŸããã«ãŒãœã«ãã¿ã€ã ã¹ã¿ã³ãã ãã ãšãã¿ã€ã ã¹ã¿ã³ããåŸéããŠã¬ã³ãŒããèŠéããããæ¥ã«åé²ããŠå€§éãååŠçãããããŸãã
å¥ã®èœãšã穎ã¯IDãé£ç¶ããŠãããšãå調å¢å ã ãšä»®å®ããããšã§ããã€ã³ããŒããã·ã£ãŒãã£ã³ã°ãUUIDãåé€ãããè¡ãªã©ã«ãããã®æ³å®ã¯ç Žç¶»ããŸãããæåŸã«èŠãIDãããã§ãã¯ãã€ã³ãã«ãããšã®ã£ãããé åºã®é転ã§ã¬ã³ãŒããåãããŒããŸãã
æãæå®³ãªã®ã¯ãéšåæåã®ç¶æ ã§ãã§ãã¯ãã€ã³ããé²ããŠããŸãããšã§ããäŸãã°1,000ä»¶ãååŸããŠ700ä»¶ãæžã蟌ã¿ãã¯ã©ãã·ã¥ããã«ãããããããã§ããã®ã次ã®ã«ãŒãœã«ããä¿åããŠããŸããšãæ®ãã®300ä»¶ã¯å詊è¡ãããŸããã
åé€ãç¡èŠããã¡ã§ãããœãŒã¹ã¯ãœããããªãŒãïŒãã©ã°ïŒãããŒãããªãŒãïŒè¡åé€ïŒããããã¯ãéå ¬éãã«ããïŒã¹ããŒã¿ã¹å€æŽïŒãªã©æ§ã ã§ããã¢ã¯ãã£ããªã¬ã³ãŒãã ããã¢ãããµãŒãããŠãããšãã¿ãŒã²ããã¯åŸã ã«ãããŠãããŸãã
æåŸã«ãã¹ããŒã倿Žã¯å€ãããã·ã¥ãç¡å¹ã«ããŸããããã·ã¥ããããã£ãŒã«ãã»ããã«åºã¥ããŠããå Žåããã£ãŒã«ãã远å ã»ãªããŒã ãããšã倿Žãªãããã倿Žãããã«èŠãããéã«èŠãããããŸããããã·ã¥ããžãã¯ã¯ããŒãžã§ã³ç®¡çããŸãããã
å®å šãªããã©ã«ãïŒ
- å¯èœãªãå調å¢å ããã«ãŒãœã«ïŒã€ãã³ãIDããã°ããžã·ã§ã³ïŒãçã®ã¿ã€ã ã¹ã¿ã³ããã奜ãã\n- ãã§ãã¯ãã€ã³ãæžã蟌ã¿ãããŒã¿æžã蟌ã¿ãšåãæåå¢çã«çœ®ãã\n- åé€ã¯æç€ºçã«è¿œè·¡ããïŒãã¥ãŒã ã¹ããŒã³ãã¹ããŒã¿ã¹é·ç§»ã宿çãªç §åïŒã\n- ããã·ã¥å ¥åã¯ããŒãžã§ã³ç®¡çããå€ãããŒãžã§ã³ãèªããããã«ããã\n- ãœãŒã¹ãé åºãå ¥ãæ¿ããå¯èœæ§ããããªãå°ããªãªãŒããŒã©ããçªã远å ããïŒæåŸã®Nä»¶ãåèªïŒã
AppMasterã§æ§ç¯ããå Žåããã§ãã¯ãã€ã³ããData Designerã§ããŒãã«åãããããŒã¿æžã蟌ã¿ïŒãã§ãã¯ãã€ã³ãæžã蟌ã¿ããåäžã®Business Processå®è¡ã«ãŸãšããŠããã°ããªãã©ã€ã§äœæ¥ãã¹ããããããªã¹ã¯ãæžãããŸãã
ç£èŠãšããªããæ€åºïŒãã€ãºãå¢ãããªãæ¹æ³ïŒ
ãã§ãã¯ãã€ã³ãã«ããå¢ååæã®è¯ãç£èŠã¯ããã°ãå¢ããããšãã§ã¯ãªããåå®è¡ã§ä¿¡é Œã§ããå°æ°ã®æ°å€ãæã€ããšã§ãããäœãåŠçããããã©ããããæéãããã£ãããã©ãããåéãããããçããããã°ã»ãšãã©ã®åé¡ã¯æ°åã§èª¿æ»ã§ããŸãã
ãŸããåæãå®è¡ããããã³ã«äžã€ã®ç°¡æœãªã©ã³èšé²ãæ®ãããšããå§ããŸãããããããäžè²«ããŠããã°å®è¡ãæ¯èŒããŠåŸåãèŠã€ãããããªããŸãã
- éå§ã«ãŒãœã«ïŒãŸãã¯åéããŒã¯ã³ïŒãšçµäºã«ãŒãœã«\n- ååŸããã¬ã³ãŒãæ°ãæžã蟌ãã ã¬ã³ãŒãæ°ãã¹ãããããã¬ã³ãŒãæ°\n- å®è¡æéãšã¬ã³ãŒãåœããïŒãŸãã¯ããŒãžåœããïŒã®å¹³åæé\n- ãšã©ãŒæ°ãšäžäœã®ãšã©ãŒçç±\n- ãã§ãã¯ãã€ã³ãæžã蟌ã¿ã®ã¹ããŒã¿ã¹ïŒæå/倱æïŒ
ããªããæ€åºã¯æ¬¡ã®å±€ã§ãïŒäž¡æ¹ã®ã·ã¹ãã ããåããŠãããããã«èŠããŠããã£ãããããŠãããšãã«ç¥ãããŠãããŸããåèšã ãã ãšèª€è§£ãçãã®ã§ã軜éãªåèšãã§ãã¯ãšå°ããªãµã³ãã«æ¯èŒãçµã¿åãããŸããäŸãã°1æ¥1åãäž¡ã·ã¹ãã ã®ã¢ã¯ãã£ã顧客æ°ãæ¯èŒãã20ä»¶ã®ã©ã³ãã ãªé¡§å®¢IDããµã³ããªã³ã°ããŠæ°ãã£ãŒã«ãïŒstatus, updated_at, emailïŒã確èªããŸããåèšãéã£ãŠãµã³ãã«ã¯äžèŽãããªãåé€ããã£ã«ã¿ãåå ã®å¯èœæ§ããããŸãããµã³ãã«ãéããªãããã·ã¥ããã£ãŒã«ããããã³ã°ã誀ã£ãŠããå¯èœæ§ãé«ãã§ãã
ã¢ã©ãŒãã¯çšã§ãããè¡åå¯èœã§ããã¹ãã§ããç°¡åãªã«ãŒã«ïŒäººãä»ãã察åŠããªããã°ãªããªããšãã ãã¢ã©ãŒãããã
- ã«ãŒãœã«ãè©°ãŸã£ãŠããïŒNåã®å®è¡ã§çµäºã«ãŒãœã«ãåããªãïŒ\n- ãšã©ãŒçã®äžæïŒäŸãã°1% -> 5%ã1æéã§çºçïŒ\n- å®è¡æéãéåžžã®äžéãè¶ ãã\n- ããã¯ãã°ãå¢ããŠããïŒæ°ãã倿Žã®å°çãåæããéãïŒ\n- ããªããã確èªãããïŒåèšã2åé£ç¶ã§äžäžèŽïŒ
é害åŸã¯æåã§ã¯ãªãŒã³ã¢ããããã«åå®è¡ã§ããã®ãçæ³ã§ããæãç°¡åãªã®ã¯æåŸã«ã³ãããããããã§ãã¯ãã€ã³ãããåéããããšã§ããå°ããªãªãŒããŒã©ããçªïŒæåŸã®ããŒãžãåèªïŒã䜿ãå Žåã¯ãæžã蟌ã¿ãåªçã«ã㊠stable ID ã§ã¢ãããµãŒãããæžãèŸŒã¿æååŸã«ã®ã¿ãã§ãã¯ãã€ã³ããé²ããŸããAppMasterã§ã¯ãããã®ãã§ãã¯ãBusiness Processã«çµã¿èŸŒã¿ãã¡ãŒã«/SMS/Telegramã¢ãžã¥ãŒã«ã§å¯èŠåããããšãå€ãã§ãã
æ¬çªæå ¥åã®ã¯ã€ãã¯ãã§ãã¯ãªã¹ã
ãã§ãã¯ãã€ã³ãã䜿ã£ãå¢ååæãæ¬çªåããåã«ãé ããŠçºçããé©ããé²ãããã®æ°ç¹ãæ°åã§ç¢ºèªããŸãããã
å®éçšã§ããåé¡ãèµ·ãããã§ãã¯ãªã¹ãïŒ
- é åºä»ãã«äœ¿ããã£ãŒã«ãïŒã¿ã€ã ã¹ã¿ã³ããã·ãŒã±ã³ã¹ãIDïŒãæ¬åœã«å®å®ããŠããããœãŒã¹åŽã«ã€ã³ããã¯ã¹ãããã確èªãããåŸããå€ããå¯èœæ§ããããšã«ãŒãœã«ããããã\n- ã¢ãããµãŒãããŒãäžæã§ããããšãããã³äž¡ã·ã¹ãã ãåãæ±ãïŒå€§æåå°æåãããªãã³ã°ãæžåŒïŒãããŠããããšã確èªãããçæ¹ã"ABC"ã§ä»æ¹ã"abc"ã ãšéè€ãçºçããã\n- ãã§ãã¯ãã€ã³ãã¯åãžã§ãã»åããŒã¿ã»ããããšã«åé¢ããŠä¿åããã"ã°ããŒãã«ãªæåŸã®ã«ãŒãœã«"ã¯ç°¡åããã ããããŒãã«ãäºã€ãããã³ããäºã€ããã£ã«ã¿ãäºã€ã«ãªããšå£ããã\n- ãœãŒã¹ãæçµçäžè²«æ§ãªãå°ããªãªãŒããŒã©ããçªã远å ãããäŸãã°
last_updated = 10:00:00ããåéããå Žåã09:59:30ããåéããŠåªçãªã¢ãããµãŒãã§éè€ãç¡èŠããã\n- 軜éãªç §åãèšç»ããïŒå®æçã«100ä»¶çšåºŠã®ã©ã³ãã ãµã³ãã«ãåããäž»èŠãã£ãŒã«ããæ¯èŒããŠéããªããªãããæ€åºããã
çŸå®ãã¹ãïŒåæãéäžã§äžæåæ¢ããåèµ·åããŠåãçµæã«ãªãã確èªããŠãã ãããåèµ·åã§ä»¶æ°ãå€ãã£ããäœåãªè¡ãã§ãããªããæ¬çªååã«ä¿®æ£ããŠãã ããã
AppMasterã§æ§ç¯ããå Žåãåçµ±åãããŒã®ãã§ãã¯ãã€ã³ãããŒã¿ãç¹å®ã®ããã»ã¹ãšããŒã¿ã»ããã«çŽã¥ããç¡é¢ä¿ãªèªååãšå ±æããªãããã«ããŸãããã
äŸïŒäºã€ã®ã¢ããªéã§é¡§å®¢ã¬ã³ãŒããåæãã
ç°¡åãªèšå®ãæ³åããŠãã ããïŒCRMãé£çµ¡å ã®çå®ã§ããµããŒãããŒã«ãã«ã¹ã¿ããŒããŒã¿ã«ã«ãåã人ç©ãå¿ èŠãªã±ãŒã¹ã§ãïŒãã±ãããå®éã®é¡§å®¢ã«çŽã¥ããããŠãŒã¶ãŒãèªåã®ã¢ã«ãŠã³ããèŠããªã©ïŒã
ååã¯ã¯ã³ã¿ã€ã ã®ã€ã³ããŒããè¡ããŸããupdated_at ãš id ãã¿ã€ãã¬ãŒã«ãŒã«ããŠå®å®ããé åºã§ã³ã³ã¿ã¯ããåŒããåããããæžã蟌ãã åŸã« last_updated_at ãš last_id ã®ãããªãã§ãã¯ãã€ã³ããä¿åããŸãããããä»åŸã®èµ·ç¹ã«ãªããŸãã
ç¶ç¶éçšã§ã¯ãã§ãã¯ãã€ã³ãããæ°ããã¬ã³ãŒãã ããååŸããŸããæŽæ°ã¯åçŽã§ãïŒCRMã®ã³ã³ã¿ã¯ããæ¢ã«ããã°ã¿ãŒã²ãããæŽæ°ãããªããã°äœæããŸããããŒãžã¯åä»ã§ããCRMã¯éè€ãããŒãžããŠ1ã€ã®ãåè ãã³ã³ã¿ã¯ããæ®ãããšãå€ãã§ããããã倱ã£ãæ¹ã®ã³ã³ã¿ã¯ããéã¢ã¯ãã£ãã«ããïŒãŸãã¯åè ãžãããã³ã°ããïŒãªã©ããŠãããŒã¿ã«ã«åäžäººç©ã®ãŠãŒã¶ãŒã2ã€ã§ããªãããæ±ããŸãã
åé€ã¯éåžž updated since ã¯ãšãªã«ã¯çŸããªãã®ã§èšç»ãå¿
èŠã§ããäžè¬çãªéžæè¢ã¯ãœãŒã¹ã®ãœããããªãŒããã©ã°ãåé€å°çšã®ãã£ãŒãããããã¯å®æçãªè»œéç
§åã§IDã®æ¬ èœãæ€åºããæ¹æ³ã§ãã
é害ã±ãŒã¹ïŒåæãéäžã§ã¯ã©ãã·ã¥ãããšããŸãããããã®çµããã«ãããã§ãã¯ãã€ã³ããä¿åããŠããªããšã倧éãååŠçãã矜ç®ã«ãªããŸãã代ããã«ãããããšã®åéããŒã¯ã³ãäœ¿ãæ¹æ³ïŒ
- ã©ã³éå§æã«
run_idïŒåéããŒã¯ã³ïŒãçæãã\n- ããããåŠçããã¿ãŒã²ãããžã®å€æŽãæžããæ¬¡ã«run_idã«çŽã¥ããŠãã§ãã¯ãã€ã³ããååçã«ä¿åãã\n- åèµ·åæã«æåŸã«ä¿åãããrun_idã®ãã§ãã¯ãã€ã³ããæ€åºããŠç¶è¡ãã
æåã¯å°å³ã«èŠããŸãïŒæ¥ã ã®ä»¶æ°ãå®å®ããå®è¡æéãäºæž¬å¯èœã§ãåããŠã£ã³ããŠãåå®è¡ããŠãäºæãã¬å€æŽãçºçããªãããšã§ãã
次ã®ã¹ãããïŒãã¿ãŒã³ãéžã³ãææ»ããæžãããŠæ§ç¯ãã
æåã®å¢åã«ãŒããåããããææ»ããé¿ããæéã®æ¹æ³ã¯åæã«ãŒã«ãæžãçããããšã§ããçããŸãšããŠãã ããïŒå¯Ÿè±¡ã¬ã³ãŒããç«¶åæã«åã€ãã£ãŒã«ããåå®è¡ã§ã®ãå®äºãã®å®çŸ©ã
å°ããå§ããŸããããäžã€ã®ããŒã¿ã»ããïŒäŸïŒcustomersïŒãéžãã§ãååã€ã³ããŒããå¢åæŽæ°ãåé€åŠçãæå³çãªé害åŸã®åéãé ã«ãã¹ãããŸããæ³å®ãåŸã§ä¿®æ£ããããä»çŽãæ¹ã楜ã§ãã
ããã§ããã«ãªãã«ãæ£ããå ŽåããããŸãããã§ãã¯ãã€ã³ãç¶æ ãå£ãããšããèå¥åã倿ŽãããšãããŸãã¯ã¹ããŒã倿Žã§å€æŽæ€åºãå£ãããšãïŒäŸïŒããã·ã¥ã®å ã«ãªããã£ãŒã«ãã®æå³ãå€ãã£ãå ŽåïŒã«ã¯åã€ã³ããŒããæ€èšããŸããåã€ã³ããŒãã¯ç·æ¥ãã¿ã³ã§ã¯ãªãã管çãããæäœãšããŠæ±ã£ãŠãã ããã
å®å šãªåã€ã³ããŒãæé äŸïŒ
- ã·ã£ããŠããŒãã«ã䞊åããŒã¿ã»ããã«ã€ã³ããŒãããçŸåšã®ããŒã¿ã»ããã¯çšŒåãããŸãŸã«ããã\n- ä»¶æ°ãšãµã³ãã«ïŒNULLãããŒãžãããã¬ã³ãŒããªã©ã®ãšããžã±ãŒã¹ãå«ãïŒãæ€èšŒããã\n- ãªã¬ãŒã·ã§ã³ãããã¯ãã£ã«ããèšç»çãªåãæ¿ãã§ãªãŒããŒãæ°ããŒã¿ã»ãããžåãæ¿ããã\n- å€ãããŒã¿ã»ããã¯çãããŒã«ããã¯ãŠã£ã³ããŠã®ããã«ä¿æãããã®åŸã¯ãªãŒã³ã¢ããããã
ã³ãŒããæžããã«ãããäœããããªãAppMasterã圹ç«ã¡ãŸãïŒData Designerã§PostgreSQLã«ããŒã¿ãã¢ãã«åããBusiness Process Editorã§åæã«ãŒã«ãå®çŸ©ããã¹ã±ãžã¥ãŒã«ãžã§ãã§ã¬ã³ãŒããååŸã»å€æã»ã¢ãããµãŒãããŸããAppMasterã¯èŠä»¶ãå€ãã£ãŠãã¯ãªãŒã³ãªã³ãŒããåçæãããããããã£ãŒã«ããäžã€è¿œå ãããããšãã£ã倿Žã®ãªã¹ã¯ãäžããŸãã
æ¬çªã§ããã«å€ãã®ããŒã¿ã»ããã«æ¡åŒµããåã«ãåæå¥çŽãææžåãã1ã€ã®ãã¿ãŒã³ïŒã«ãŒãœã«ãåéããŒã¯ã³ããŸãã¯ããã·ã¥ïŒãéžã³ã1ã€ã®åæãå®å šã«ä¿¡é Œã§ããããã«ããŠãã ãããããããæ¬¡ã®ããŒã¿ã»ãããžåãæ§é ãç¹°ãè¿ããŸãããããŸãã¯AppMasterã§ã¢ããªãäœæããå°ããªã¹ã±ãžã¥ãŒã«åæãžã§ããå®è¡ããŠè©ŠããŠã¿ãã®ãæ©éã§ãã


