PostgreSQLã¯ãã§ã«ãã®äŸ¡å€ã蚌æããŠããŸããããã¯ããŸãæ©èœããAlibabaãTripAdvisorãªã©ã®ãã¬ã³ãã£ãªããžã¿ã«ããžãã¹ã§äœ¿çšãããŠããŸãããŸãããã€ã€ã«ãã£ããªããããMSSQLãOracleDBãªã©ã®ã¢ã³ã¹ã¿ãŒã«ä»£ããé åçãªéžæè¢ãšãªã£ãŠããŸãããããããšã³ã¿ãŒãã©ã€ãºã©ã³ãã¹ã±ãŒãã§PostgreSQLã«ã€ããŠèãå§ãããšããã«ãå³ããèŠä»¶ã«ééããŸãããããããæ§æã®èé害æ§ã«ã€ããŠã¯ã©ãã§ãããããèçœå®³æ§ïŒå æ¬çãªç£èŠã¯ã©ãã«ãããŸããïŒèªåããã¯ã¢ããã¯ã©ãã§ããïŒçŽæ¥ã¹ãã¬ãŒãžãšã»ã«ã³ããªã¹ãã¬ãŒãžã®äž¡æ¹ã§ããŒãã©ã€ãã©ãªã䜿çšããã®ã¯ã©ãã§ããïŒã
äžæ¹ã§ã¯ãPostgreSQLã«ã¯ãRMANãOracle DBãSAP DatabaseBackupãªã©ã®ãã¢ãã«ããDBMSã®ãããªçµã¿èŸŒã¿ã®ããã¯ã¢ããæ©èœããããŸãããäžæ¹ãäŒæ¥ã®ããã¯ã¢ããã·ã¹ãã ïŒVeeamãVeritasãCommvaultïŒã®ãµãã©ã€ã€ã¯ãPostgreSQLããµããŒãããŠããŸãããå®éã«ã¯ãç¹å®ã®ïŒéåžžã¯ã¹ã¿ã³ãã¢ãã³ã®ïŒæ§æãšäžé£ã®ããŸããŸãªå¶éã§ã®ã¿æ©èœããŸãã
BarmanãWal-gãpg_probackupãªã©ã®PostgreSQLçšã«ç¹å¥ã«èšèšãããããã¯ã¢ããã·ã¹ãã ã¯ãPostgreSQL DBMSã®å°èŠæš¡ãªã€ã³ã¹ããŒã«ããITã©ã³ãã¹ã±ãŒãã®ä»ã®èŠçŽ ã®å€§éã®ããã¯ã¢ãããå¿ èŠãªãå Žåã«éåžžã«äººæ°ããããŸããããšãã°ãPostgreSQLã«å ããŠãã€ã³ãã©ã¹ãã©ã¯ãã£ã«ã¯ãç©çââãµãŒããŒãšä»®æ³ãµãŒããŒãOpenShiftãOracleãMariaDBãCassandraãªã©ãå«ããããšãã§ããŸããããã¯ãã¹ãŠãå ±éã®ããŒã«ã䜿çšããŠããã¯ã¢ããããå¿ èŠããããŸãã PostgreSQLå°çšã®å¥ã®ãœãªã¥ãŒã·ã§ã³ãé 眮ããããšã¯æªãèãã§ããããŒã¿ã¯ãã£ã¹ã¯ã®ã©ããã«ã³ããŒãããŠãããããŒãã«åé€ããå¿ èŠããããŸãããã®ããã¯ã¢ããã®éè€ã«ãããããã¯ã¢ããæéãé·ããªããããã«éèŠãªããšã«ããªã«ããªãé·ããªããŸãã
ãšã³ã¿ãŒãã©ã€ãºãœãªã¥ãŒã·ã§ã³ã§ã¯ãã€ã³ã¹ããŒã«ã¯å°çšã¯ã©ã¹ã¿ãŒå ã®ç¹å®ã®æ°ã®ããŒãã§ããã¯ã¢ãããããŸããåæã«ãããšãã°ãCommvaultã¯ããã©ã€ããªãšã»ã«ã³ããªãç¹å®ã®ããŒãã«å³å¯ã«å²ãåœãŠãããŠãã2ããŒãã¯ã©ã¹ã¿ã§ã®ã¿æ©èœããŸãããŸããã»ã«ã³ããªã§ã®ããã¯ã¢ããã«ã¯å¶éãããããããã©ã€ããªã§ã®ã¿ããã¯ã¢ããããããšã¯çã«ããªã£ãŠããŸãã DBMSã®ç¹æ§ã«ãããã»ã«ã³ããªã§ãã³ããäœæãããªãããããã¡ã€ã«ããã¯ã¢ããã®å¯èœæ§ã®ã¿ãæ®ããŸãã
ããŠã³ã¿ã€ã ã®ãªã¹ã¯ã軜æžããããã«ããã©ãŒã«ããã¬ã©ã³ãã·ã¹ãã ãäœæãããšãã©ã€ãã¯ã©ã¹ã¿ãªã³ã°æ§æãäœæããããã©ã€ããªã¯ç°ãªããµãŒããŒéã§åŸã ã«ç§»è¡ã§ããŸããããšãã°ãPatroniãœãããŠã§ã¢èªäœã¯ãã©ã³ãã ã«éžæãããã¯ã©ã¹ã¿ãŒããŒãã§ãã©ã€ããªãèµ·åããŸãã SRKã«ã¯ããããããã«è¿œè·¡ããæ¹æ³ããªããæ§æãå€æŽããããšãããã»ã¹ãäžæããŸããã€ãŸããå€éšå¶åŸ¡ã®å°å ¥ã«ãããSRKãå¹æçã«æ©èœããªããªããŸããããã¯ãå¶åŸ¡ãµãŒããŒãã©ãããã©ã®ããŒã¿ãã³ããŒããå¿ èŠãããããåã«ç解ããŠããªãããã§ãã
ãã1ã€ã®åé¡ã¯ãPostgresã§ã®ããã¯ã¢ããã®å®è£ ã§ããããã¯ãã³ããä»ããŠå¯èœã§ãããããã¯å°ããªããŒã¹ã§åäœããŸãããã ãã倧èŠæš¡ãªããŒã¿ããŒã¹ã§ã¯ããã³ãã«æéãããããå€ãã®ãªãœãŒã¹ãå¿ èŠã«ãªããããŒã¿ããŒã¹ã€ã³ã¹ã¿ã³ã¹ã®é害ãçºçããå¯èœæ§ããããŸãã
ãã¡ã€ã«ããã¯ã¢ããã¯ç¶æ³ãä¿®æ£ããŸããã倧èŠæš¡ãªããŒã¿ããŒã¹ã§ã¯ãã·ã³ã°ã«ã¹ã¬ããã¢ãŒãã§åäœããããäœéã§ããããã«ããã³ããŒã«ã¯ããã€ãã®è¿œå ã®å¶éããããŸãããã¡ã€ã«ãšãã³ãã®ããã¯ã¢ãããåæã«äœ¿çšã§ããªãããéè€æé€ããµããŒããããŠããŸãããå€ãã®åé¡ããããã»ãšãã©ã®å ŽåãPostgresã®ä»£ããã«é«äŸ¡ã§å®çžŸã®ããDBMSãéžæããæ¹ãç°¡åã§ãã
åŸéããå Žæã¯ãããŸããïŒã¢ã¹ã¯ã¯ã®éçºè
ã®åŸãã«ïŒ
ããããæè¿ãç§ãã¡ã®ããŒã ã¯å°é£ãªèª²é¡ã«çŽé¢ããŸãããITã€ã³ãã©ã¹ãã©ã¯ãã£ãäœæããAIS OSAGO 2.0ãäœæãããããžã§ã¯ãã§ãæ°ããã·ã¹ãã ã®éçºè ã¯PostgreSQLãéžæããŸããã
倧èŠæš¡ãªãœãããŠã§ã¢éçºè ã«ãšã£ãŠãããã¬ã³ãã£ãªããªãŒãã³ãœãŒã¹ãœãªã¥ãŒã·ã§ã³ã䜿çšããæ¹ãã¯ããã«ç°¡åã§ããFacebookã«ã¯ããã®DBMSã®äœæ¥ããµããŒãããã®ã«ååãªã¹ãã·ã£ãªã¹ããããŸãããããŠPCAã®å Žåãã2æ¥ç®ãã®ãã¹ãŠã®ã¿ã¹ã¯ãç§ãã¡ã®è©ã«ããã£ãããã©ãŒã«ããã¬ã©ã³ã¹ãæäŸããã¯ã©ã¹ã¿ãŒãçµã¿ç«ãŠããããŠãã¡ããããã¯ã¢ããã確ç«ããå¿ èŠããããŸãããã¢ã¯ã·ã§ã³ã®ããžãã¯ã¯æ¬¡ã®ãšããã§ãã
- ã¯ã©ã¹ã¿ãŒã®ãã©ã€ããªããŒãããããã¯ã¢ãããäœæããããã«SRKã«æ瀺ããŸãããããè¡ãã«ã¯ãSRKããããèŠã€ããå¿ èŠããããŸããã€ãŸããPostgreSQLã¯ã©ã¹ã¿ãŒã管çããããã®1ã€ãŸãã¯å¥ã®ãœãªã¥ãŒã·ã§ã³ãšã®çµ±åãå¿ èŠã§ããPCAã®å Žåãããã«ã¯PatroniãœãããŠã§ã¢ã䜿çšãããŸããã
- ããŒã¿éãšãªã«ããªèŠä»¶ã«åºã¥ããŠãããã¯ã¢ããã®ã¿ã€ãã決å®ããŸããããšãã°ãããŒãžããã现ãã埩å ããå¿ èŠãããå Žåã¯ãã³ãã䜿çšããããŒã¿ããŒã¹ã倧ãããŠãã现ãã埩å ãå¿ èŠãªãå Žåã¯ããã¡ã€ã«ã¬ãã«ã§äœæ¥ããŸãã
- ãããã¯ããã¯ã¢ããæ©èœããœãªã¥ãŒã·ã§ã³ã«ã¢ã¿ããããŠããã«ãã¹ã¬ããããã¯ã¢ãããäœæããŸãã
åæã«ãç§ãã¡ã¯åœåãè¿œå ã®ã³ã³ããŒãã³ãããã®å·šå€§ãªã¹ãã©ãããªãã§ãå¹æçã§ã·ã³ãã«ãªã·ã¹ãã ã®äœæã«çæããŸãããã¯ã©ãããå°ãªãã»ã©ãã¹ã¿ããã®äœæ¥è² è·ãå°ãªããªããIBSé害ã®ãªã¹ã¯ãäœããªããŸãã2ã€ã®ãœãªã¥ãŒã·ã§ã³ã®ã»ããããã§ã«ã·ã¹ãã ã®ä¿¡é Œæ§ã®äœãã瀺åããŠãããããVeeamãšRMANã䜿çšããã¢ãããŒããããã«é€å€ããŸããã
äŒæ¥ã«ãšã£ãŠã¡ãã£ãšããéæ³
ãã®ãããåãã€ã³ãã©ã¹ãã©ã¯ãã£ãããã¯ã¢ããããŒã¿ã»ã³ã¿ãŒã«ãã©ãŒãªã³ã°ãããŠããéããããã3ããŒãã®10ã¯ã©ã¹ã¿ãŒã«å¯ŸããŠä¿¡é Œæ§ã®é«ãããã¯ã¢ãããä¿èšŒããå¿ èŠããããŸããã PostgreSQLèšç»ã®ããŒã¿ã»ã³ã¿ãŒã¯ãã¢ã¯ãã£ã-ããã·ãã®ååã«åºã¥ããŠæ©èœããŸããããŒã¿ããŒã¹ã®ç·éã¯50TBã§ãããäŒæ¥ã¬ãã«ã®SRCã§ããã°ããããç°¡åã«åŠçã§ããŸãããããããã¥ã¢ã³ã¹ã¯ãæåã¯Postgresã«ããã¯ã¢ããã·ã¹ãã ãšã®å®å šãã€æ·±ãäºææ§ã®ããã®ããã¯ããªããšããããšã§ãããããã£ãŠãæåã«PostgreSQLãšçµã¿åãããŠæ倧ã®æ©èœãåãããœãªã¥ãŒã·ã§ã³ãæ¢ããã·ã¹ãã ãæ¹è¯ããå¿ èŠããããŸããã
ç§ãã¡ã¯3ã€ã®å éšãããã«ãœã³ããå®æœããŸããã50ãè¶ ããéçºã調æ»ãããã¹ããã仮説ã«é¢é£ããŠå€æŽãå ããå床ãã¹ãããŸãããå©çšå¯èœãªãªãã·ã§ã³ãåæããåŸãCommvaultãéžæããŸãããç®±ããåºããŠããã®è£œåã¯æãåçŽãªã¯ã©ã¹ã¿ãŒåãããPostgreSQLã€ã³ã¹ããŒã«ã§åäœããå¯èœæ§ãããããã®ãªãŒãã³ã¢ãŒããã¯ãã£ãŒã¯ãæåããæ¹è¯ãšçµ±åãžã®åžæãçã¿åºããŸããïŒããã¯å®çŸããŸããïŒããŸããCommvaultã¯PostgreSQLãã°ãããã¯ã¢ããã§ããŸããããšãã°ãPostgreSQLéšåã®Veritas NetBackupã¯ãå®å šããã¯ã¢ããã®ã¿ãäœæã§ããŸãã
ã¢ãŒããã¯ãã£ã®è©³çŽ°ãã芧ãã ããã Commvault管çãµãŒããŒã¯ãCommServHAæ§æã®2ã€ã®ããŒã¿ã»ã³ã¿ãŒã®ããããã«ã€ã³ã¹ããŒã«ãããŸãããã·ã¹ãã ã¯ãã©ãŒãªã³ã°ãããåäžã®ã³ã³ãœãŒã«ãä»ããŠç®¡çãããHAã®èŠ³ç¹ããã¯ããã¹ãŠã®äŒæ¥èŠä»¶ãæºãããŠããŸãã
ãŸããåããŒã¿ã»ã³ã¿ãŒã«2ã€ã®ç©çã¡ãã£ã¢ãµãŒããŒãç«ã¡äžãããã¡ã€ããŒãã£ãã«ãä»ããSANãä»ããããã¯ã¢ããå°çšã®ãã£ã¹ã¯ã¢ã¬ã€ãšããŒãã©ã€ãã©ãªãæ¥ç¶ããŸãããæ¡åŒµãããéè€æé€ããŒã¹ã«ãããã¡ãã£ã¢ãµãŒããŒã®åŸ©å åã確ä¿ãããåãµãŒããŒãåCSVã«æ¥ç¶ããããšã§ãã³ã³ããŒãã³ãã«é害ãçºçããå Žåã®ç¶ç¶çãªéçšãä¿èšŒãããŸãããã·ã¹ãã ã®ã¢ãŒããã¯ãã£ã«ãããããŒã¿ã»ã³ã¿ãŒã®1ã€ãããŠã³ããå Žåã§ãããã¯ã¢ãããç¶è¡ã§ããŸãã
Patroniã¯ãåã¯ã©ã¹ã¿ãŒã®ãã©ã€ããªããŒããå®çŸ©ããŸããããŒã¿ã»ã³ã¿ãŒå ã®ä»»æã®ç©ºãããŒãã«ããããšãã§ããŸãããã¡ã€ã³ã®ã¿ã§ããããã¯ã¢ããã§ã¯ããã¹ãŠã®ããŒããã»ã«ã³ããªã§ãã
Commvaultãã©ã®ã¯ã©ã¹ã¿ãŒããŒãããã©ã€ããªã§ããããç解ããããã«ãã·ã¹ãã ãPostgresãšçµ±åããŸããïŒãœãªã¥ãŒã·ã§ã³ã®ãªãŒãã³ã¢ãŒããã¯ãã£ã®ãããã§ïŒããããè¡ãããã«ããã©ã€ããªããŒãã®çŸåšã®å ŽæãCommvault管çãµãŒããŒã«å ±åããã¹ã¯ãªãããäœæãããŸããã
äžè¬ã«ãããã»ã¹ã¯æ¬¡ã®ãã
ã«ãªããŸããPatroniããã©ã€ããªãéžæâKeepalivedãIPã¯ã©ã¹ã¿ãŒãèµ·åããã¹ã¯ãªãããå®è¡ããŸãâã¯ã©ã¹ã¿ãŒã®éžæãããããŒãäžã®CommvaultãšãŒãžã§ã³ãããã©ã€ããªã§ãããšããéç¥ãåä¿¡ããŸãâCommvaultãç䌌ã¯ã©ã€ã¢ã³ãå ã®ããã¯ã¢ãããèªåçã«åæ§æããŸãã
ãã®ã¢ãããŒãã®å©ç¹ã¯ããœãªã¥ãŒã·ã§ã³ããã°ã®äžè²«æ§ãæ£ç¢ºæ§ããŸãã¯Postgresã€ã³ã¹ã¿ã³ã¹ã®å埩ã«åœ±é¿ãäžããªãããšã§ãããŸããCommvaultã®ãã©ã€ããªããŒããšã»ã«ã³ããªããŒããä¿®æ£ããå¿ èŠããªããããç°¡åã«æ¡åŒµã§ããŸããã·ã¹ãã ããã©ã€ããªã®å Žæãç解ããã ãã§ååã§ãããããŒãã®æ°ãã»ãŒãã¹ãŠã®å€ã«å¢ããããšãã§ããŸãã
ãã®ãœãªã¥ãŒã·ã§ã³ã¯çæ³çãªãµãããããã®ã§ã¯ãªããç¬èªã®ãã¥ã¢ã³ã¹ããããŸãã Commvaultã¯ãåã ã®ããŒã¿ããŒã¹ã§ã¯ãªããã€ã³ã¹ã¿ã³ã¹å šäœã®ã¿ãããã¯ã¢ããã§ããŸãããããã£ãŠãããŒã¿ããŒã¹ããšã«åå¥ã®ã€ã³ã¹ã¿ã³ã¹ãäœæãããŠããŸããå®éã®ã¯ã©ã€ã¢ã³ãã¯ãä»®æ³ç䌌ã¯ã©ã€ã¢ã³ãã«çµåãããŸããåCommvaultç䌌ã¯ã©ã€ã¢ã³ãã¯UNIXã¯ã©ã¹ã¿ãŒã§ãã Postgresçšã®CommvaultãšãŒãžã§ã³ããã€ã³ã¹ããŒã«ãããŠããã¯ã©ã¹ã¿ãŒããŒããè¿œå ããŸãããã®çµæãç䌌ã¯ã©ã€ã¢ã³ãã®ãã¹ãŠã®ä»®æ³ããŒãã1ã€ã®ã€ã³ã¹ã¿ã³ã¹ãšããŠããã¯ã¢ãããããŸãã
åç䌌ã¯ã©ã€ã¢ã³ãå ã§ãã¯ã©ã¹ã¿ãŒã®ã¢ã¯ãã£ãããŒãã瀺ãããŸããããã¯ãCommvaultã®çµ±åãœãªã¥ãŒã·ã§ã³ãå®çŸ©ãããã®ã§ãããã®åäœã®åçã¯éåžžã«åçŽã§ããã¯ã©ã¹ã¿ãŒIPãããŒãã§çºçããå Žåãã¹ã¯ãªããã¯CommvaultãšãŒãžã§ã³ããã€ããªã«ãã¢ã¯ãã£ãããŒãããã©ã¡ãŒã¿ãŒãèšå®ããŸããå®éãã¹ã¯ãªããã¯ã¡ã¢ãªã®å¿ èŠãªéšåã«ã1ããèšå®ããŸãããšãŒãžã§ã³ãã¯ãã®ããŒã¿ãCommServeã«éä¿¡ããCommvaultã¯ç®çã®ããŒãããããã¯ã¢ãããäœæããŸããããã«ãæ§æã®æ£ç¢ºæ§ãã¹ã¯ãªããã¬ãã«ã§ãã§ãã¯ããããããããã¯ã¢ããéå§æã®ãšã©ãŒãåé¿ã§ããŸãã
åæã«ã倧èŠæš¡ãªããŒã¿ããŒã¹ã¯è€æ°ã®ã¹ã¬ããã§ãããã¯åäœã§ããã¯ã¢ãããããRPOãšããã¯ã¢ãããŠã£ã³ããŠã®èŠä»¶ãæºãããŸããã·ã¹ãã ã®è² è·ã¯ãããã§ãããã«ã³ããŒã¯ããã»ã©é »ç¹ã«ã¯çºçããŸãããä»ã®æ¥ã«ã¯ããã°ã®ã¿ãåéãããããã«è² è·ãäœãæéã«åéãããŸãã
ã¡ãªã¿ã«ãPostgreSQLã¢ãŒã«ã€ããã°ã®ããã¯ã¢ããã«ã¯åå¥ã®ããªã·ãŒãé©çšããŸããããããã®ãã°ã«ã¯äžæã®ããŒã¿ãå«ãŸããŠãããããç°ãªãã«ãŒã«ã«åŸã£ãŠä¿åãããç°ãªãã¹ã±ãžã¥ãŒã«ã«åŸã£ãŠã³ããŒãããéè€æé€ã¯æå¹ã«ãªããŸããã
ITã€ã³ãã©ã¹ãã©ã¯ãã£å šäœã®äžè²«æ§ã確ä¿ããããã«ãåå¥ã®Commvaultãã¡ã€ã«ã¯ã©ã€ã¢ã³ããåã¯ã©ã¹ã¿ãŒããŒãã«ã€ã³ã¹ããŒã«ãããŸãããããã¯Postgresãã¡ã€ã«ãããã¯ã¢ããããé€å€ããOSããã³ã¢ããªã±ãŒã·ã§ã³ã®ããã¯ã¢ããã®ã¿ã察象ãšããŠããŸããããŒã¿ã®ãã®éšåã«ããç¬èªã®ããªã·ãŒãšç¬èªã®ä¿åæéããããŸãã
çŸåšãSRKã¯çç£ãµãŒãã¹ã«åœ±é¿ãäžããŸããããç¶æ³ãå€åããå ŽåãCommvaultã§è² è·å¶éã·ã¹ãã ãæå¹ã«ããããšãå¯èœã«ãªããŸãã
ããã§ããïŒè¯ãïŒ
ãã®ãããå®è¡å¯èœã§ããã ãã§ãªããã¯ã©ã¹ã¿ãŒåãããPostgreSQLã€ã³ã¹ããŒã«ã®å®å šã«èªååãããããã¯ã¢ãããååŸããŸãããããã¯ããšã³ã¿ãŒãã©ã€ãºåŒã³åºãã®ãã¹ãŠã®èŠä»¶ãæºãããŠããŸãã
1æéãš2æéã®RPOãã©ã¡ãŒã¿ãšRTOãã©ã¡ãŒã¿ã¯ããŒãžã³ã§ãªãŒããŒã©ããããŠããŸããããã¯ãä¿åãããããŒã¿ã®éãå€§å¹ ã«å¢å ããŠããã·ã¹ãã ããããã«æºæ ããããšãæå³ããŸããå€ãã®çåã«ãããããããPostgreSQLãšãšã³ã¿ãŒãã©ã€ãºç°å¢ã¯å®å šã«äºææ§ããããŸãããããŠä»ãç§ãã¡èªèº«ã®çµéšããããã®ãããªDBMSã®ããã¯ã¢ããã¯ããŸããŸãªæ§æã§å¯èœã§ããããšãããããŸããã
ãã¡ãããéäžã§7çµã®éã®ããŒãã磚èãããå€ãã®å°é£ãå æããããã€ãã®ã¬ãŒããèžãã§ãå€ãã®ééããä¿®æ£ããªããã°ãªããŸããã§ããããããçŸåšããã®ã¢ãããŒãã¯ãã§ã«ãã¹ããããŠãããéé ·ãªãšã³ã¿ãŒãã©ã€ãºç°å¢ã§ç¬èªã®DBMSã®ä»£ããã«ãªãŒãã³ãœãŒã¹ãå®è£ ããããã«äœ¿çšã§ããŸãã
äŒæ¥ç°å¢ã§PostgreSQLãè©ŠããŸãããïŒ
èè ïŒ
Oleg LavrenovãJetInfosystemsããŒã¿ã¹ãã¬ãŒãžã·ã¹ãã ã®
èšèšãšã³ãžãã¢DmitryErykinãJet Infosystems ComputingSystemsã®èšèšãšã³ãžãã¢