ETL ããã»ã¹ (æœåºã倿ãããŒã) ã¯ããªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ãšããŒã¿çµ±åã®ã³ã³ããã¹ãã«ãããŠéèŠãªã³ã³ããŒãã³ãã§ãããã®ããã»ã¹ã¯ 3 ã€ã®éèŠãªæ®µéã§æ§æãããŠãããéçºè ãšããŒã¿ ã¢ããªã¹ããããŸããŸãªãœãŒã¹ããæ å ±ãåéããåŠçããæ§é åãããçµ±äžãããæ¹æ³ã§ä¿åããŠããããªãåæãšã¬ããŒãäœæãè¡ãããšãã§ããŸãã
æœåº ãã§ãŒãºã§ã¯ãããŒã¿ããŒã¹ããã¡ã€ã«ãAPIãããã«ã¯ã¯ã©ãŠãããŒã¹ã®ã¢ããªã±ãŒã·ã§ã³ãªã©ãããŸããŸãªãœãŒã¹ããããŒã¿ãåéãããŸãããã®ãã§ãŒãºã¯ãããã»ã¹å šäœãéããŠæ£ç¢ºã§é¢é£æ§ã®ããææ°ã®æ å ±ã確å®ã«äœ¿çšãããããã«ããããã«éèŠã§ããäžéšã®æœåºã¿ã¹ã¯ã¯ç¹å®ã®ããŒã¿ã»ããã«å¯ŸããåçŽãªã¯ãšãªã§ããããã®ä»ã®ã¿ã¹ã¯ã§ã¯è€éãªãã£ã«ã¿ãªã³ã°ãéèšããŸãã¯ããŒã¿ã®çµåãå¿ èŠã«ãªãå ŽåããããŸãã AppMasterããŒã¿ ãœãŒã¹ã®åºç¯ãªãªã¹ãããµããŒãããPostgreSQL äºæããŒã¿ããŒã¹ãªã©ã®ããŸããŸãªããŒã¿ããŒã¹ã«æ¥ç¶ããREST API ã WebSocket ãµãŒãã¹ãªã©ã®ã«ã¹ã¿ã endpointsãå®çŸ©ããæ©èœãæäŸããŸãã
倿 ãã§ãŒãºã«ã¯ãæœåºãããããŒã¿ã®åŠçãšæäœãå«ãŸããã¿ãŒã²ããã®ã¹ãã¬ãŒãžãŸãã¯ã¢ããªã±ãŒã·ã§ã³ãç°¡åã«çè§£ããŠäœ¿çšã§ãã圢åŒã«ããŒã¿ã倿ããŸãããã®æ®µéã«ã¯ãããŒã¿ã®å質ãšäžè²«æ§ã確ä¿ããããã®ããŒã¿ ã¯ã¬ã³ãžã³ã°ãæ£èŠåãéè€æé€ã匷åããŸãã¯ããžãã¹ ããžãã¯ã®é©çšãå«ãŸããå ŽåããããŸãã AppMasterã® Business Process Designer ã¯ããããã®å€æã¿ã¹ã¯ãå®è¡ããããã«å¿ èŠãªããžãã¹ ããžãã¯ãèšèšããã³éçºããããã®ããžã¥ã¢ã« ã€ã³ã¿ãŒãã§ã€ã¹ãæäŸããŸããããã«ããã®ãã©ãããã©ãŒã ã䜿çšãããšããŠãŒã¶ãŒã¯ JavaScriptãTypeScriptãKotlin ãªã©ã®åºã䜿çšãããŠããèšèªã§å€æããžãã¯ãäœæã§ããçæãããã¢ããªã±ãŒã·ã§ã³ã Web ã¢ããªã±ãŒã·ã§ã³çšã® Vue3 ãªã©ã®ä»ã®ãã¬ãŒã ã¯ãŒã¯ãšã·ãŒã ã¬ã¹ã«é£æºã§ããããã«ãªããŸãã
æåŸã® 3 çªç®ã®ã¹ããŒãžã§ãã Load ã§ã¯ã倿ãããããŒã¿ãã¿ãŒã²ãã ã¹ãã¬ãŒãž ã·ã¹ãã ãŸãã¯ããŒã¿ããŒã¹ã«ä¿åããŠæ°žç¶åããŸãããã®ãã§ãŒãºã§ã¯ãããŒã¿ã®æŽåæ§ãšäžè²«æ§ãç¶æããããã«ã倿ãããããŒã¿ãã¿ãŒã²ããã®ãªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ã«é©åã«æ¿å ¥ããå¿ èŠããããŸãã Go (golang) ã§çæãããAppMasterã®ããã¯ãšã³ã ã¢ããªã±ãŒã·ã§ã³ã¯ã倿ãããããŒã¿ãããŒã¿ããŒã¹ã«ä¿åããããã®åºç€ãšãªãæ§é ãšããŠæ©èœããããŒã¿ ã¢ãã«ã®äœæã容æã«ããŸãããã®ãã©ãããã©ãŒã ã¯ããã¹ãŠã®ã¢ããªã±ãŒã·ã§ã³ã®ãã©ã€ã㪠ããŒã¿ããŒã¹ãšã㊠PostgreSQL ããµããŒãããå¹ççã§ä¿¡é Œæ§ã®é«ãããŒã¿ ã¹ãã¬ãŒãžãä¿èšŒããŸãã
AppMasterãã©ãããã©ãŒã ã®ã³ã³ããã¹ãã§ã¯ãETL ããã»ã¹ã¯ã¯ã©ã€ã¢ã³ããè¿ éã§ä¿¡é Œæ§ãé«ããå ç¢ãªããŒã¿çµ±åã¯ãŒã¯ãããŒãå®çŸã§ãããããããã«éèŠæ§ãå¢ããŸãã ETL ããã»ã¹ã®å€ãã®ã³ã³ããŒãã³ããèªååããããšã§ããŠãŒã¶ãŒã¯ããžãã¹ ããžãã¯ã®å®çŸ©ããŠãŒã¶ãŒ ã€ã³ã¿ãŒãã§ã€ã¹ã®èšèšãè€éãªã¢ããªã±ãŒã·ã§ã³æ§é ã®æ§ç¯ãšããéèŠãªåŽé¢ã«éäžã§ããŸãã
AppMasterãã©ãããã©ãŒã ã®äž»ãªå©ç¹ã® 1 ã€ã¯ããªã¯ãšã¹ãããšã«ã¢ããªã±ãŒã·ã§ã³ãæåããçæã§ããããšã§ãæè¡çè² åµãæé€ããETL ããã»ã¹ãå«ãã¢ããªã±ãŒã·ã§ã³ã®ãã¹ãŠã®ã³ã³ããŒãã³ããéçºäžã«å ãããã倿Žãšç¢ºå®ã«åæããããã«ã§ããããšã§ããããã«ãããäžå°äŒæ¥ãããšã³ã¿ãŒãã©ã€ãºã¬ãã«ã®ã¢ããªã±ãŒã·ã§ã³ã«è³ããŸã§ãããŸããŸãªãŠãŒã¹ã±ãŒã¹ã«é©ãããå¹ççã§é«æ§èœãã¹ã±ãŒã©ãã«ãªãœãªã¥ãŒã·ã§ã³ãä¿èšŒãããŸãã
ããã«ã AppMasterã®èªåããã¥ã¡ã³ãçææ©èœãå©çšããããšã§ãéçºè ã¯ã¢ããªã±ãŒã·ã§ã³ã®ããã¯ãšã³ã ããã»ã¹ãææ°ãã€å æ¬çã«çè§£ããããŒã éã®ã³ã©ãã¬ãŒã·ã§ã³ãæ¯æŽããéçºæéãççž®ããããšãã§ããŸãããã®ãã©ãããã©ãŒã ã¯ããµãŒããŒendpointsãšããŒã¿ããŒã¹ ã¹ããŒãç§»è¡ã¹ã¯ãªããçšã® Swagger (OpenAPI) ããã¥ã¡ã³ããçæããã¢ããªã±ãŒã·ã§ã³ã®ããŒã¿çµ±åã¯ãŒã¯ãããŒã®ããããåŽé¢ã®å®å šãªæŠèŠãæäŸããŸãã
çµè«ãšããŠãETL ããã»ã¹ (æœåºã倿ãããŒã) ã¯ããªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ ã³ã³ããã¹ãå ã®ããŒã¿çµ±åã¯ãŒã¯ãããŒã®éèŠãªã³ã³ããŒãã³ãã§ãã AppMasterãã©ãããã©ãŒã 㯠ETL ããã»ã¹ãå·§ã¿ã«çµã¿èŸŒãã§ãã®å®è¡ãåçåãããŠãŒã¶ãŒãããŒã¿çµ±åã«äŒŽãè€éãã«å¯ŸåŠããè² æ ã軜æžããªãããã¢ããªã±ãŒã·ã§ã³éçºã®éèŠãªèŠçŽ ã«éäžã§ããããã«ããŸãã AppMasterã®å ç¢ãã€å¹çç㪠ETL æ©èœã掻çšããããšã§ãéçºè ã¯çŸä»£ã®ããžãã¹ã®å€æ§ãªèŠä»¶ãæºããé«å質ã§ã¹ã±ãŒã©ãã«ã§ä¿å®å¯èœãªã¢ããªã±ãŒã·ã§ã³ãäžè²«ããŠçæã§ããŸãã