ãªã³ãã¬Oracleããã¯ã©ãŠãMySQLãžã忢10åã§åãæ¿ãã話
ðŠ ããŒã¿ãéã³ãæåŸã®å€æŽãŸã§ç¢ºèª
æåã«ç¢ºãããããšïŒåŒã£è¶ãåŸãåãæå³ïŒ
ããŒã¿ããŒã¹ã®ç§»è¡ã¯ãç®±ã®äžèº«ãéã¶ã ãã§ã¯ãããŸãããäœæé²ãå¥ã®åœ¢åŒãžç§»ããšãã«ãæ¥ä»ãæåã空æ¬ã®æå³ãåããããããªäœæ¥ã§ãã
ãã®èšäºã®ç§»è¡äºäŸãšã以äžã®å°ããªåŠç¿çšããŒã¿ã¯å¥ã®ãã®ã§ããåŠç¿çšã®äŸã§ããŸãæ¥æãšç©ºæ¬ãã©ãå€ããããèããŠã¿ãŸãããã
| æ¶ç©ºã®æ³šæ | å ã®æå³ | åŒã£è¶ãåŸã«ç¢ºèªããããš |
|---|---|---|
| æ³šææ¥æïŒ2026-10-09 15:30:00 | æ¥ä»ãšæå» | 15:30:00ãä¿ãããŠããã |
| é£çµ¡å ïŒäžæ | å€ãããããªã | NULLã§æ±ãçŽæã«ãªã£ãŠããã |
| åååïŒã²ããã»ãã | æ¥æ¬èªã®åå | æ¬ ããã«ä¿åã»æ€çŽ¢ã§ããã |
ããã¯ç§»è¡ã®å®è¡çµæã§ã¯ãªãããã¹ãã±ãŒã¹ã®äŸã§ããå®éã®ç§»è¡å ã§ãã¢ããªã®ç»é²ã»è¡šç€ºã»æ€çŽ¢ã»éèšãŸã§ç¢ºãããææã«ããŸãã
ååã䌌ãŠããŠããããŒã¿åã®æå³ã¯éã
Oracleã®DATEã¯ãå¹Žã»æã»æ¥ã ãã§ãªãæã»åã»ç§ãæã¡ãŸããMySQLã®DATEã¯æ¥ä»ã ãã§ããæå»ãä¿ã€ãªããDATETIMEãªã©ãåè£ã«ããæ±ãç¯å²ãã¿ã€ã ãŸãŒã³ã®çŽæã確èªããŸããååã眮ãæããã ãã§ã¯æžã¿ãŸããã
Oracleã¯ãçŸåšã®ä»æ§ã§ã¯é·ã0ã®æååãNULLãšããŠæ±ããŸããäžæ¹ãMySQLã§ã¯ç©ºæåãšNULLã¯å¥ã§ããããšãã°ãé£çµ¡å ãNULLã®è¡ãæ¢ãæ¡ä»¶ãšã空æåã®è¡ãæ¢ãæ¡ä»¶ã¯éããŸãã
IS NULLã§æ¢ãã®ãã= ''ã§æ¢ãã®ãããã¢ããªã®å
¥åèŠåãšåãããŠæ±ºããŸããããNULLã®æ¯èŒã= NULLã§æžããã®ã§ã¯ãããŸããã
æååããOracleã®VARCHAR2ã§ã¯BYTE/CHARã®æå®ããããŸããMySQLã®VARCHARã®é·ãã¯æåæ°ã§æå®ããŸãããè¡ãµã€ãºãªã©ã®ãã€ãäžéãé¢ãããŸããæ¥æ¬èªãé·ãæååãæ«å°Ÿã®ç©ºçœãæåã®æ¯èŒãäžŠã¹æ¿ãããã¹ãã«å«ãããšãåçŽãªè±æ°åã ãã§ã¯èŠã€ãããªãéãã«æ°ä»ããŸãã
ãã«ããŒããšCDCãåãã
ãã«ããŒãã¯ãæ¢åããŒã¿ãç§»ãæ®µéã§ããCDCã¯ããã®åŸã®å€æŽãç¶ç¶çã«ååŸããŠåæ ããæ®µéã§ãã倧éã®ããŒã¿ãäºåã«éã³ãæåŸã®å·®åãå°ãªãããèãæ¹ã§ãçã忢æéãç®æããŸãã
ãã ããAWS DMSã®CDCã¯ãªã¢ã«ã¿ã€ã æ§ãäžå®ã®é å»¶ãä¿èšŒããŠããŸãããå DBã®è² è·ããããã¯ãŒã¯ãç§»è¡çšã®ãªãœãŒã¹ãç§»è¡å ã®åŠçãªã©ã§é ããŸããOracleããœãŒã¹ã«ããå Žåã¯ããã°ã®ä¿æã远å ã®ãã°èšå®ãæš©éãªã©ã®åæãå¿ èŠã§ãã
äžéDBã¯ã倿ãªã©ã®äœæ¥ãåé¢ããããã«éžã¶æ§æã§ããè€è£œå ã®èªã¿èŸŒã¿ããã°ã®ååŸãŸã§ç¡è² è·ã«ãªãããã§ã¯ãããŸãããå ã®æŽæ°ãäžéåŽãžã©ã远åŸãããããå«ããæ§æã«åãããŠç¢ºèªããŸãã
åãæ¿ãã®åæ Œæ¡ä»¶ãå ã«æ±ºãã
- æžã蟌ã¿ãæ¢ããããç¯å²ãšãæ¢ããæ åœã決ããŸããã¢ããªä»¥å€ã®ããããªã©ãå«ããŸãã
- æåŸã®å€æŽãç§»è¡å ãžåæ ããããšã©ãŒãæªåæ ã®ããŒã¿ããªãã確ãããŸãã
- éèŠãªããŒãã«ã®ä»¶æ°ãååŒã®åèšã代衚çãªããŒã¿ãšãã¢ããªã®åäœãç §åããŸãã
- æ¥ç¶å ãåãæ¿ããå€ãæ¥ç¶ãæ®ã£ãŠããªãããåäœã»ç£èŠã確èªããŸãã
- åé¡ããã£ãå Žåã«ããã€èª°ãäžæ¢ããã©ã®ç¶æ ãžæ»ãããæ±ºããŠãããŸãã
åæã®é ããå°ããããšãšãç§»è¡ãæ£ããããšã¯å¥ã§ããDNSã®ãã£ãã·ã¥ãæ¢åã®æ¥ç¶ãæ®ãå ŽåããããããDNSã®å€æŽã ãã§å šåŠçãåæã«æ°ããåŽãžç§»ããšã¯éããŸããã
åãæ¿ãåŸã®æžã蟌ã¿ãæ°ããDBã ãã«å ¥ã£ãå Žåããã®ãŸãŸå€ãåŽãžæ»ããšããã®å€æŽã倱ãå¯èœæ§ããããŸããæ»ãéã®ããŒã¿ã®æ±ããèšç»ããŸãã
ããŒã¿ä»¥å€ã確èªãã
ã¹ãã¢ãããã·ãŒãžã£ã玢åŒãå¶çŽãæ¡çªãSQLãã¢ããªã®æ¥ç¶èšå®ã確èªå¯Ÿè±¡ã§ããDMSã®ããŒã¿ç§»è¡ãšãã¹ããŒãã»ã³ãŒãã®å€æã¯åããŠèããŸããSchema Conversionã®è©äŸ¡çµæã§ãèªå倿ã§ããªãé ç®ã確èªããå¿ èŠãªä¿®æ£ãšãã¹ããè¡ããŸãã
å ·äœçãªDBã®çã»ã¯ã©ãŠãæ§æã»æ¥åã®æ¡ä»¶ã§æé ã¯å€ãããŸãããã®èšäºã ããæ¬çªã®äœæ¥æé ãšãããæ€èšŒç°å¢ã§ãªããŒãµã«ããåæ Œæ¡ä»¶ãšåŸ©æ§æ¹æ³ã確èªããŠãã ããã
次ã«åŠã¶ãªã
ç§»è¡åŸã®DBãéžã¶èгç¹ã¯MySQLãšPostgreSQLã®æ¯èŒã倿Žã確å®ããåäœã¯ãã©ã³ã¶ã¯ã·ã§ã³ã®ä»çµã¿ãžé²ããŸãã
åèè³æ
以äžã¯æè¡çãªä»çµã¿ãšå¶çŽã確èªããè³æã§ãããã®äºäŸã®èŠæš¡ã忢æéã蚌æããè³æã§ã¯ãããŸããã
- OracleïŒData Types â DATEã®æå»ã»VARCHAR2ã®BYTE/CHARæå®
- OracleïŒNulls â é·ã0ã®æååãšNULL
- MySQL 8.4ïŒDATEã»DATETIMEã»TIMESTAMP â æ¥ä»ã𿥿ã®åºå¥
- MySQL 8.4ïŒNULL â 空æåãšã®åºå¥ã»IS NULL
- MySQL 8.4ïŒCHARã»VARCHAR â æåæ°ã»ãã€ãäžéã»æåéåã»ç §åé åº
- AWS DMSïŒCDC â ãã«ããŒããšCDCã»é å»¶ã»ãã°ããã®å€æŽååŸ
- AWS DMSïŒOracleãœãŒã¹ â ãã°ã»æš©éã»supplemental loggingãªã©ã®åæ
- AWS DMSïŒSchema Conversion â 倿ã§ããªãèŠçŽ ãšæå察å¿ã®è©äŸ¡