çŸåšãèŒžå ¥ä»£æ¿ãåœå ã移åãããšããå ¬å ±éšéã¯ïŒã ãã§ãªãïŒç¡æã®DBMSããµããŒãããDLPã®éèŠãçã¿åºããŠããŸãã ããã¯éåžžã«å ·äœçãªè¡åã§ãããç¡æã®DBMSã«æ¥ãã§ããããã補åã®å©äŸ¿æ§ãããã©ãŒãã³ã¹ãæ©èœãç¶æããããšãéèŠã§ãã ãã®èšäºã§ã¯ãPostgreSQLãµããŒããå®è£ ããSolar Dozorã§ããŒãã£ã·ã§ã³ã¹ããŒã ãéçºããŠããã®åé¡ãã©ã®ããã«è§£æ±ºãããã«ã€ããŠèª¬æããŸãã
Oracle vs PostgreSQL
Solar Dozorã·ã¹ãã ã¯ããªã¬ãŒã·ã§ãã«DBMSãã¡ã€ã³ã¹ãã¬ãŒãžã·ã¹ãã ãšããŠäœ¿çšããŸãã æè¿ãŸã§ãDBMSãéžæããããã®åºæºã¯éåžžã«åçŽã§ãããã€ãŸããããªã¥ãŒã ãšãã¢ãŒã«ã€ããéçšå¯èœãšããªã³ããã³ããã«åå²ããèœåã§ãã
ããŒã¿ããŒã¹ã®ããªã¥ãŒã ã«é¢ããŠãçµéšçã«å°ãåºãããç¹å®ã®å¶éããããŸããã3ã4 TBãè¶ ããŠã¯ãªããŸããïŒããã¯çŽ500äžä»¶ã®ååã¡ãã»ãŒãžã§ãïŒã ãããã®å€ãè¶ ãããšãã·ã¹ãã ã®å€§å¹ ãªäœäžã芳å¯ãããŸãããå€ãããŒã¿ãåé€ããã¯ãšãªãå®æçã«å®è¡ããå¿ èŠãããããã«IOã«è² è·ãããããããã¥ãŒã åŠçãè¡ãããã¯ãšãªã®å®è¡é床ãäœäžããŸããïŒå€§ããªãµã³ãã«ã§ã¯ãââããŒãã«ã¯å®éã«å®å šã«ã¹ãã£ã³ãããŸããïŒã ãããã£ãŠãå¿ èŠãªããªã¥ãŒã ã®æšå®å€ããããã®æ°å€ãè¶ ããå ŽåãããŒã¿ã¹ãã¬ãŒãžã«ã¯åžžã«Oracle DBMSã䜿çšãããŸããã
2çªç®ã®åºæº-ã¢ãŒã«ã€ããéçšãšããªã³ããã³ããã«åå²ããèœåã¯ãDBMSã§ããŒãã£ã·ã§ã³ãå®è£ ããå¿ èŠããããšèªãããšãã§ããŸãã 2016幎ãŸã§ãSolar Dozor DLPã·ã¹ãã ã¯ãOracle DBMSã§ã®ããŒãã£ã·ã§ãã³ã°ã®ã¿ããµããŒãããŠããŸããã
ã客æ§ã®äºç®ã¯éãããŠãããå Žåã«ãã£ãŠã¯åã«Oracleã©ã€ã»ã³ã¹ãè³Œå ¥ããäœè£ããªãããšããããŸããã ãã®ããã10ã15 TBã®ã¹ãã¬ãŒãžå®¹éãæã€äžéšã®ãããžã§ã¯ãã§ã¯ãPostgreSQLã®äœ¿çšãéå§ããŸããã
PostgreSQLã§ã®ããŒãã£ã·ã§ã³åå²ã®å®è£ æ¹æ³
Solar Dozorã·ã¹ãã ã®ã¢ãŒããã¯ãã£ãšæ©èœã«ãããOracleãšPostgreSQLã®äž¡æ¹ã®ããŒã¿ããŒã¹ãããã€ã§ãæ¥ç¶ã§ããŸãã åæã«ãããŒã¿ããŒã¹ããšã«ãããŒã¿ããŒã¹ã§æ€çŽ¢ããããã¡ãã»ãŒãžãã¢ãŒã«ã€ãããããæå®ã§ããŸãã ãã®ãããæåã«1ã€ãŸãã¯ç°ãªããµãŒããŒäžã«è€æ°ã®PostgreSQL DBMSã€ã³ã¹ã¿ã³ã¹ãäœæãã1ãæããšã«é çªã«ããŒã¿ãæžã蟌ãããšã«ããŸããã ä¿ç®¡æéã®çµäºåŸãæãå€ãããŒã¹ãåäœæãããŸãã-çã ã ãããããã®ãœãªã¥ãŒã·ã§ã³ã¯ãµããŒãã®ç¹ã§éåžžã«é«äŸ¡ã§ãããéåžžã«çã顧客局ã«ã®ã¿é©ããŠããŸããã
ããŒã¿ããŒãã£ã·ã§ãã³ã°ã®æ¬¡ã®å®è£ ãã1ã€ã®ã»ã¯ã·ã§ã³-1ã€ã®ããŒã¿ããŒã¹ããšããèãæ¹ã«åºã¥ããŠæ§ç¯ãããŸããããçŸåšã¯ãã¹ãŠã®ããŒã¿ããŒã¹ãåãPostgreSQLã€ã³ã¹ã¿ã³ã¹å ã«äœæãããŠããŸãã 察å¿ãããŠãŒãã£ãªãã£ã¯ãã»ã¯ã·ã§ã³ãå«ããã¹ãŠã®æäœçšã«äœæãããŠããããã®ãããªã¹ããŒã ã¯è€æ°ã®é¡§å®¢ã«ãšã£ãŠéåžžã«ããŸãæ©èœããŸããã ããã«åºã¥ããŠãäžéšã¯Oracleã«ç§»è¡ããŸããã
ãã ãããã®å®è£ ã«ã¯ãSolar Dozorã®å€ãã®ãµãŒãã¹ã®æ©èœã«é¢é£ããå€ãã®åé¡ããŸã ãããŸããã å€æ°ã®ã»ã¯ã·ã§ã³ãããå Žåãã€ã³ã¹ã¿ã³ã¹ããšã«åæã«1000以äžã®æ¥ç¶ãç¶æããå¿ èŠããããŸããã ããã«ãæ°ãããªãªãŒã¹ããªãªãŒã¹ããããšãã«ããŒã¿ã¹ããŒããæŽæ°ããããšã¯ããŸã䟿å©ã§ã¯ãããŸããã§ããã
æçµçã«ãPostgreSQLèªäœãæäŸããããŒãã£ã·ã§ã³åå²ã䜿çšããããšã«ããŸããã ã€ãŸããã¡ãã»ãŒãžãé 眮ãããæ¥ä»ãåç §ããããŒããããã¹ãŠã®ããŒãã«ã«ã€ããŠããã®ããŒã«å¶éãå ããç¶æ¿ã©ãã«ãäœæãããŸãã ããŒã¿ã¯ãã»ã¯ã·ã§ã³ããšã«åå¥ã«äœæãããããªã¬ãŒã«ãã£ãŠãç®çã®ããŒãã«ã»ããã«é 眮ãããŸãã ãã®ãããªã¹ããŒã ã«ãããå¿ èŠãªãã¹ãŠã®æ©èœãæäŸãããŸããã¯ãšãªãå®è¡ãããšãèŠæ±ãè¡ãããŠããæéäžããããã®ããŒã¿ã»ã¯ã·ã§ã³ã®ã¿ããã£ã¹ã¯ããçæãããŸãã ã»ã¯ã·ã§ã³ã埪ç°ããåé€ããå¿ èŠãããå ŽåãããŒãã«ã¯åºæ¬ç¶æ¿ããåé€ããããã®åŸãã³ããããŸãã 管çãŠãŒãã£ãªãã£ã¯ããªãã©ã€ã³/ãªã³ã©ã€ã³ç¿»èš³ãè¿œå ãåé€ããã³ããªã©ã®ãã¹ãŠã®ã»ã¯ã·ã§ã³çšã«äœæãããŠããŸãã
ãã®å®è£ ã¯Oracleã®çã®ä»£æ¿ãšãªããæ°åãã©ãã€ãã®ããŒã¿ããªã³ã©ã€ã³ã§ä¿æããäœéã®ã¹ãã¬ãŒãžã·ã¹ãã ã®ã¢ãŒã«ã€ãã«æ°ååã®ããŒã¿ãä¿æã§ããããã«ãªããŸããã ãã¹ãŠã®æ°èŠé¡§å®¢ã«ãPostgreSQLã§ã®ããŒãã£ã·ã§ã³åå²ãæäŸããŠããŸãã OracleããŒãã£ã·ã§ãã³ã°ã䜿çšããŠããæ¢åã®ã客æ§ãPostgreSQLã«åãæ¿ãããå Žåã¯ãæ°ããããŒã¿ãPostgreSQLã«æžã蟌ã¿ãå€ãããŒã¿ã¯å»æ¢ããããŸã§Oracleã«æ®ãããšããå§ãããŸãã
ç¹ã«é¡§å®¢ã補åã®å€ãããŒãžã§ã³ã®ããŒã¿ãç¡å¹ã«ããŠããå Žåãéçºãšå®éã®ç§»è¡äœæ¥ã®äž¡æ¹ãéåžžã«é«äŸ¡ã§ãããããOracleããPostgreSQLãžã®ç¹å¥ãªããŒã¿ç§»è¡æé ãèšè¿°ããããšã¯äžé©åã§ããããšãããããŸããã ãããŠããã®ãããªãªã¯ãšã¹ãã¯ã»ãšãã©ãããŸããã
DLPã·ã¹ãã ã§ããŒã¿ããŒã¹ããŒãã£ã·ã§ãã³ã°ã䜿çšããŠéæãããããš
çç£æ§ãåäž
ååãããã¡ãã»ãŒãžã¯ãã¹ãŠDLPã·ã¹ãã ã«ä¿åãããŸãã DLPã¿ã¹ã¯ã®å Žåãæ å ±ããã€éä¿¡ãããååãããããç¥ãããšãéèŠã§ãã ãããã£ãŠãã€ã³ã¿ãŒã»ããããããã¹ãŠã®ã¡ãã»ãŒãžã«ã¯ã¿ã€ã ã©ã€ã³ãžã®æ確ãªãªã³ã¯ããããŸãã ãããã£ãŠãååã®æ¥ä»ãããæ£ç¢ºã«ã¯ãååã®ç¬éã«æãè¿ããã®ãšããŠDLPã·ã¹ãã ã§åŠçããã¡ãã»ãŒãžã®åä¿¡ã®æ¥ä»ã«ããRANGEããŒãã£ã·ã§ãã³ã°ã䜿çšããŸãã ãã®ãããããŒãã£ã·ã§ã³åå²ã䜿çšããå ŽåãããŒã¿ã¯æéããšã«çŽ°ååãããŸãã éåžžã1é±éã®æéã䜿çšãããŸãã
ãã®ãããªå èš³ã®å©ç¹ã¯äœã§ããïŒ ã»ãšãã©ã®å ŽåãDLPã·ã¹ãã å ã®èŠæ±ã¯ãéåžžã«éãããçãæéã ãè¡ãããŸãã ãããã£ãŠã3ã6ãæéããŒã¿ãä¿åãã1-2ã4é±éæ å ±ãèŠæ±ãããšããã£ã¹ã¯ã·ã¹ãã ããèªã¿åãããããŒã¿ãå°ãªããªãããããœãªã¥ãŒã·ã§ã³ã®é床ãå€§å¹ ã«åäžããŸãã ããŒãã£ã·ã§ã³åãããåè·¯ãšããŒãã£ã·ã§ã³åãããŠããªãåè·¯ã®äž¡æ¹ããããªãã®æ°ã®ç°ãªãã€ã³ããã¯ã¹ã䞊åã«æ§ç¯ããããšã¯æããã§ãã ãã ããããã§ã¯ããã«ã¹ãã£ã³ãå®è¡ããå¿ èŠãããããã€ã³ããã¯ã¹ã䜿çšããæ¹ãè¯ããã¯ãDBãªããã£ãã€ã¶ãŒã«ä»»ããŠããŸãã ããŒãã£ã·ã§ãã³ã°ã䜿çšãããå Žåãéãããéã®ãã£ã¹ã¯ã¹ããŒã¹ãå æãããåžžã«ããªãæ確ãªããŒã¿ã®äžéšã«ãªããŸãã
管çäœæ¥ã®è»œæž
ã¯ãšãªå®è¡é床ã¯ãããŒãã£ã·ã§ã³åå²ã䜿çšããå©ç¹ã®1ã€ã«ãããŸããã ãã1ã€ã®å©ç¹ã¯ãããŒã¿ä¿ææéã®ç®¡çãå€§å¹ ã«ç°¡çŽ åããæ©èœã§ãã ããŒãã£ã·ã§ãã³ã°ããªãå Žåãå€ãããŒã¿ãæ¯æ¥ãŸãã¯æ¯é±åé€ããããã«èŠæ±ããå¿ èŠããããŸããããããªããšãããŒã¿ããŒã¹ã®ç¹å®ã®ããªã¥ãŒã ã«éãããšãããã©ãŒãã³ã¹ãšã¡ã³ããã³ã¹ã®åé¡ãå§ãŸããŸãã ããŒãã£ã·ã§ãã³ã°ã¯ãç¹å®ã®ã»ã¯ã·ã§ã³ã®å€ãããŒã¿ã®åé€ãããåçŽãªåé€æäœã«æžãããŸãã Oracleã§ã¯ããã®ããã«2ã€ã®ããŒãã£ã·ã§ã³ããŒãã«ã¹ããŒã¹ãšãããã®ããŒã¿ãã¡ã€ã«ããã£ã¹ã¯ã·ã¹ãã ããåé€ããã ãã§ååã§ãã PostgreSQLã§ã¯ããã®ã»ã¯ã·ã§ã³çšã«äœæãããããŒã¿ããŒã¹ãåé€ããå¿ èŠããããŸãã
ä»åŸã®Solar DozorãªãªãŒã¹ã§ã¯ãç¶æ¿ããŒãã«ã䜿çšããæšæºçãªæ¹æ³ã䜿çšããŠãPostgreSQLã®ããŒãã£ã·ã§ã³åå²ãå®è£ ãããŸãã ãããã£ãŠãæ°ããããŒãžã§ã³ã§ã¯ãã»ã¯ã·ã§ã³ãåé€ãããšããã®ã»ã¯ã·ã§ã³ãæ åœããããŒãã«ãåé€ãããŸãã
ããŒã¿ã¹ãã¬ãŒãžã³ã¹ããåæžãã
DLPã§ã®ããŒã¿ããŒãã£ã·ã§ãã³ã°ã®å€§ããªå©ç¹ã¯ãããŒã¿ã¢ãŒã«ã€ããéçšå¯èœãªããããããããã³ãã¢ãŒã«ã€ããã«åå²ã§ããããšã§ãã ãã®åé¢ã®æ¬è³ªã¯äœã§ããïŒ
ã»ãšãã©ã®ã客æ§ã«ãšã£ãŠãçŽè¿/éçšã¢ã¯ã»ã¹ã§éå»3ã6ãæã®ããŒã¿ãååããããšãéèŠã§ãã ãã®æéãããå€ããã®ã¯ãäžè¬çã«åé€ããæºåãã§ããŠããŸãã ãã ããå€ãã®äººã¯ãååããã¡ãã»ãŒãžã®å šéã«åºã¥ããŠèª¿æ»ãå®è¡ã§ããããã«ããã®ããŒã¿ãä¿æããããšèããŠããŸãã ããã¯ãäŒç€Ÿã®å éšã»ãã¥ãªãã£æšæºãšãå€ãã®æšæºã«æºæ ããããã®èŠä»¶ã®äž¡æ¹ã«ãã£ãŠæ±ºå®ãããŸãã é·ãä¿åæéã«ã¯ãæ°åãã©ãã€ãã®ãã£ã¹ã¯å®¹éãå¿ èŠã§ãã ããã«ãSAS 10kãã£ã¹ã¯ã¯éåžžãªã³ã©ã€ã³ã¢ãŒã«ã€ãçšã«èšèšãããŠããããããã®æ°åãã©ãã€ãã®å ¥åã¯éåžžã«é«äŸ¡ã§ãã ããŒãã£ã·ã§ã³ã¹ããŒã ã§ã¯ãéçšäžã®å¯çšæ§ã®æéãè¶ ããããŒã¿ãæ€çŽ¢ãšã³ãžã³ããç°¡åã«åæããäœéã§å®äŸ¡ãªã¹ãã¬ãŒãžã·ã¹ãã ã«é 眮ã§ããŸãã å€ãã®ã客æ§ããªãã©ã€ã³ã¢ãŒã«ã€ãã¹ãã¬ãŒãžçšã«SATAãã£ã¹ã¯ãè³Œå ¥ããŠããŸãããä»ã®ã客æ§ã¯ããŒãã©ã€ãã©ãªã䜿çšããŠããŸããããã¯ãå šã¹ãã¬ãŒãžæéäžã«æ°åã ãå¿ èŠãšãªã200ã300ãã©ãã€ãã®ããŒã¿ãä¿åããå¿ èŠãããå Žåã«ç¹ã«éèŠã§ãã 次ã®æ¹æ³ã§å®è£ ãããŸãã
ãªã©ã¯ã«
å»æ¢ãããã»ã¯ã·ã§ã³ã®è¡šã¹ããŒã¹ã¯ãªãã©ã€ã³ã§è»¢éããããã®åŸããã®ã»ã¯ã·ã§ã³ã®ããŒã¿ãã¡ã€ã«ã¯ããããã®ããã«æºåãããã¹ãã¬ãŒãžã«è»¢éãããŸãã åæãããã»ã¯ã·ã§ã³ã«é¢é£ããæéãæ€çŽ¢ããå¿ èŠãçããå ŽåãããŒã¿ãã¡ã€ã«ãæ»ãããã»ã¯ã·ã§ã³ãæ¥ç¶ãããã¯ãšãªãå®è¡ã§ããŸãã ãã®åŸãã»ã¯ã·ã§ã³ã¯ãªãã«ãªããæ ŒçŽãããŸãã
PostgreSQL
å»æ¢ãããã»ã¯ã·ã§ã³ã¯ãªãã©ã€ã³ã«åãæ¿ãããããã®ã»ã¯ã·ã§ã³ãæ åœããããŒãã«ïŒãŸãã¯ããŒã¿ããŒã¹ïŒããã³ãïŒpg_dumpïŒããããŒã¿ããŒã¹ãããããã®ããŒãã«ãåé€ããŸãã ãã³ãã¯ãæºåããããªãã©ã€ã³ã¹ãã¬ãŒãžã«ä¿åãããŸãã ããã«ãOracleãšã®é¡æšã«ããããã®ããŒã¿ãèŠæ±ããããšãåé€ãããããŒãã«ã¯ãã³ãïŒpg_restoreïŒãã埩å ãããŸãã ã»ã¯ã·ã§ã³ã¯ãªã³ã©ã€ã³ã§è»¢éããããã®åŸãã»ã¯ã·ã§ã³ãæ€çŽ¢ã§ããŸãã 調æ»ã®æåŸã«ãã»ã¯ã·ã§ã³ããªãã©ã€ã³ã«ãªããããŒãã«ãåé€ãããŸã-å Žæã解æŸãããŸãã
ããããã¹ãŠã®åæ/æ¥ç¶æäœãå®è¡ããã«ã¯ãè³æ Œã®ããOrââacleãŸãã¯PostgreSQL DBMS管çè ã§ããå¿ èŠã¯ãããŸããã ãããè¡ãã«ã¯ãã»ã¯ã·ã§ã³ã®ã¹ããŒã¿ã¹ã®è¡šç€ºãæ¥ç¶ãåæãåé€ãªã©ãå¯èœã«ããç¹å¥ãªãŠãŒãã£ãªãã£ããããŸãã Oracleã®å Žåãã»ã¯ã·ã§ã³ãåæ/æ¥ç¶ããã»ã¯ã·ã§ã³ãå¥ã®ãã£ã¬ã¯ããªã«ç§»åããæäœã®äžéšã¯ãWebã€ã³ã¿ãŒãã§ã€ã¹ããçŽæ¥å©çšã§ããŸãã DBMSå ã§ããŒãã£ã·ã§ã³ãäœæããã³ç¡å¹åããèªååã«ãããã¡ã³ããã³ã¹ã®äººä»¶è²»ã®åé¡ããªããªããŸãã æ®ã£ãŠããã®ã¯ãç¡å¹ãªã»ã¯ã·ã§ã³ãæºåæžã¿ãªããžããªã«ã³ããŒããããšã ãã§ããã管çè ã®ç¹å¥ãªè³æ Œã¯å¿ èŠãããŸããã
ãŸãšã
ãã®çµæãSolar Dozor DBMSã®ããŒãã£ã·ã§ãã³ã°ã®ãããã§ã補åã®ããã©ãŒãã³ã¹ãšæ€çŽ¢é床ãåäžããŸããã ã¢ãŒã«ã€ãã®ç®¡çã容æã«ãªããŸãã-ååããããŒã¿ã¯ç°¡åã«ã¢ã³ããŒãããããã£ã¹ã¯ãªãœãŒã¹ã解æŸãããå¿ èŠã«å¿ããŠå ã«æ»ãããŸãã ãããã¯ãã¹ãŠèªåçã«è¡ããããããDBMSã管çããããã«å¥ã®è³æ Œã®ããå°é家ãéãå¿ èŠã¯ãããŸããã æåŸã«ã顧客ã¯ããŒã¿ãä»»æã®æéä¿åã§ããåæã«ã¹ãã¬ãŒãžã·ã¹ãã ã«å€ããè²»ããå¿ èŠã¯ãããŸããã