ããã«ã¡ã¯
æšå¹Žãç§ã¯ããžã¿ã«ããžãã¹ã®å€é©ã®ãããã¯ã«é¢ããäžé£ã®ããã°ã©ã /ã€ã³ã¿ãã¥ãŒã®æ®åœ±ãéå§ããŸããïŒ èå³ã®ãã人ã®ããã«ããã«ããŸã-ãµã€ã³ã¢ãã ïŒ ãããã®ããã°ã©ã ã¯ãITãšããžãã¹ã®äº€å·®ç¹ã«ãããŸããããããã§ãããžãã¹ã«é¢ãããã®ã§ããã
ãã®éçšã§ãããã°ã©ããŒã®èŠ³ç¹ããããªãã®æ·±ããæã€å€ãã®ãã®ãããããšãæããã«ãªããŸããã ãããŠä»å¹Žãç§ãã¡ã¯å
±éã®ã©ãã«ãDZ Online Techãã®äžã§äžé£ã®ã€ã³ã¿ãã¥ãŒã®æ®åœ±ãéå§ããŸãã-ä»ã§ã¯å
éšã«ãããã®ã«éç¹ã眮ããŠããŸãã ãã¡ããã誰ãããããªãèŠãã®ãé¢åãªã®ã§ããããã®ã€ã³ã¿ãã¥ãŒã¯è§£èªãããä»æ¥ç§ã¯æåã®ã€ã³ã¿ãã¥ãŒãå
¬éããŸã-Postgres Professionalã®Ivan Panchenkoãšã
誰ããªãªãžãã«ãæ°ã«ããŠãã-ããã«ããïŒ
ïŒãšããã§ããã¹ãŠã®åé¡ã埩å·åãããããšãèªãããšã¯ã§ããŸããã®ã§ãæ°ã«å
¥ã£ãå Žåã¯YouTubeã«ãµã€ã³ã¢ããããŠãã ããã
èªãã®ã奜ããªäººã®ããã«-埩å·åïŒ
ããã«ã¡ã¯ãã€ãŽã¡ã³ã Postgresã¯ãã€ã³ããŒã眮æããŒã«ãšããŠåºãåãå
¥ããããŠããŸãã ãããŠããã®ã¢ããªã±ãŒã·ã§ã³ã®æãæåãªãã©ã€ããŒã¯ãã西éšã®DBMSãPostgresã«çœ®ãæããŸãããããšããã¢ã€ãã¢ã§ãã ããã«ã圌ã«ã¯å€ãã®åœŒèªèº«ã®äŸ¡å€ãããããšãç¥ãããŠããŸãã ãããã«ã€ããŠç°¡åã«èª¬æããããšæããŸãã ãã€ã³ããŒã-ã€ã³ããŒãã§ã¯ãªããã§ã¯ãªãããŒãããéžæããå Žåããªãã§ããïŒ
ããã«ã¡ã¯ 第äžã«ãã»ãšãã©ã®Postgresã¯ã€ã³ããŒã眮æã®ããéžæããŸããã å€åœã®ãœãããŠã§ã¢ã®èŒžå
¥ã«ã¯ãå®éã«æ¿åºã®æªçœ®ãšå¶éãããããšã¯æããã§ãã Postgres Proã¯ã¬ãžã¹ããªã«ãããããã€ã³ããŒã眮æã«é©ããŠããŸãã å®éãããã¯PostgresããŸããŸãéžæããäžççãªåŸåã§ãã ãã®åå°ã®ã¿ã衚瀺ãããŸãã 茞å
¥ä»£æ¿ã§è¡šçŸããããã®ã¯ãå®éã«ã¯ãããæ·±ããããåºæ¬çãªããã»ã¹ã®çµæã§ããå¯èœæ§ããããŸãã
Postgresã¯çããŠããŸãã ããã¯ãå€ãåçšããŒã¿ããŒã¹ã®åªãã代æ¿æ段ã§ãã äžçäžã§ã圌ãã¯Postgresãã¯ãžã©ãšåãã¯ã©ã¹ã®è£œåã§ããããšãç解ããŠããŸãïŒOracleãMicrosoft SQL ServerãDB2ãæåŸã®ãã®ã¯ã»ãšãã©å¿ããããŠããŸãããããã«ãããããããããã¯è¯ã補åã§ãã
ãããããããã«ãããDB2ã¯ã©ããããåŸã
ã«åžå Žããé¢ããŠãããOracleãMicrosoft SQLãåžå Žã«åºãŠããŸãã ãããŠãPostgresã¯ä»ãäžçèŠæš¡ã§åžå Žã«æµã蟌ãã§ãã3çªç®ã®ååšã§ãã ããªãåã«æµ®ããã ãšèšããªããã°ãªããªã-10幎åãPostgresã«Windowsã®è¯ããµããŒããç»å Žãããšãã è€è£œã圌ã«çŸãããšãã圌ãã¯åœŒãç¥èŠãå§ããŸããã 圌ãã¯åœŒãããžãã¹ãç£æ¥ããããŠæ·±å»ãªäœãã®ããŒã¿ããŒã¹ãšããŠè©±ãå§ããŸããã
ããªãã¯ãŸã åçã®äžã«ã2ã€ã®è¯ããã®ãããããã1ã€è¯ããã®ããããŸãããšèšããŸãã ãããã圌ãåã«åºããä»ã®äººã奜ãããã«ãããã®ã¯ç¢ºãã«ãããŸãã
ã¯ãããã®ãããªããšãããã€ããããŸãã 1ã€ç®ã¯ãPostgresãç¹å®ã®ã©ã€ã»ã³ã¹ãæã€ãªãŒãã³ãœãŒã¹è£œåã§ããããšã§ãã 圌ã¯åçšã¯ããŒã³ãæã£ãŠããŸãã ãããã®1ã€ã¯ç§ãã¡ã®ãã®ã§ãã ããããããããªãŒãã³ãœãŒã¹è£œåã«ç±æ¥ãããšããäºå®èªäœã倧ããªå©ç¹ã§ãã
2çªç®ã®ãããã¯ã¯ãPostgresãé«åºŠã«æ¡åŒµå¯èœãªããŒã¿ããŒã¹ã§ããããšã§ãã ãããéçºã®æšé²åã§ããã
Postgresã®æ¡åŒµæ§ã®çšåºŠã¯ããã·ã¢ã®è²¢ç®ãæãé¡èã§ããå Žæã§ãããšèšããªããã°ãªããŸããã éå»15ã17幎éãç§ãã¡ã®ããŒã ã¯äž»ã«æ¡åŒµã¡ã«ããºã ã«åãçµãã§ããŸãã
ããšãã°ã2000幎ã«çŸåšã®äŒç€Ÿã®ååãšåããŠä»äºãããRamblerã§ã¯ãPostgresã®æ¡åŒµæ§ã䜿çšããŠãRamblerãã¥ãŒã¹ãµãŒãã¹ã®ããã©ãŒãã³ã¹ã30ååäžãããŸããã ã©ããã£ãŠïŒ ç§ãã¡ã¯ããã¥ã¡ã³ããèªãããšãã§ããCããã°ã©ãã§ãã ãããã®2ã€ã®ããšã«ãããé
åããã°ããæ€çŽ¢ããããã®æ°ããã¿ã€ãã®ã€ã³ããã¯ã¹ãäœæã§ããŸãããããã¯ãåŸæ¥ã®ãªã¬ãŒã·ã§ãã«ã¢ãã«ã®ç¯å²ãè¶
ããŠããŸãããæçšã§ãã
ç¹ã«ãã©ã³ãã©ãŒã§ã¯ãäœåãªçµåãããªãããŒãªã€ã³ããã¯ã¹ã§æ€çŽ¢ã§ããé
åã«çœ®ãæãããšãçç£æ§ã30ååäžããŸããã ããããããã¹ãŠã®ã©ã³ãã©ãŒã³ã³ãã³ããããžã§ã¯ãã¯ãææ°ã®ã¹ããŒããã©ã³ã®ãã¯ãŒãè¶
ããªãã¿ã€ãã©ã€ã¿ãŒïŒPentium 2ã400 MHzã500 MBã®ã¡ã¢ãªïŒã§ã¹ãã³ããããšãç解ããå¿
èŠããããŸãã éããããã°ãPentium 3ïŒåœæç»å ŽããïŒæ倧800 MHzã ãµãŒããŒã«ã¯ããã®ãããªPentium 3ã2ã€ããå¯èœæ§ããããŸãã ãããŠãããããã¹ãŠãäœçŸäžãã®ãªã¯ãšã¹ãã«å¿ããŸããã
åœæã¯ã³ãŒããéåžžã«çå£ã«æé©åããå¿
èŠããã£ãããšã¯æããã§ãããã§ãªããã°æ©èœããŸããã Postgresã®æ¡åŒµæ§ã圹ç«ã¡ãŸããã ç§ãã¡ã¯åº§ã£ãŠèãã蚱容å¯èœãªæéæ å
ã§ã1ãæéèšãããšãã§ããŸãããããŠãå
šææ€çŽ¢ã䜿çšããŠãJSONã«é¢é£ããçŸåšã®Postgresã«ãããã¹ãŠã®åºç€ã圢æããŸããã
ãã®ãããPostgresã¯æ§é åãããŠããªãããŒã¿ã®ãµããŒããè¿
éã«éçºããŸããã ããã¯äœã§ãã ãããã¯ããããŸããªããŒããªã¥ãŒã§ãã 2004幎ã«ãåãããŒã¿ããŒã¹ãã£ãŒã«ãã«ããŒãšå€ã®æ
å ±ãä¿åããããã«ãPostgresã§Hstoreãæ¡åŒµããŸããã ããã¯ãŸã JSONã§ã¯ãªããåŸã«æµè¡ã«ãªããŸããã ãããŠãHstoreããããŸããã ãªãhstoreãªã®ãïŒ ããã·ã¥ãæã€PerlãèŠãŠãPostgresã§ã»ãŒåãæ§æã§ããã·ã¥ãäœæããŸããã
æåã¯ããã®ããšã¯å¥åã®æ¡åŒµïŒæ¡åŒµïŒãšããŠååšããŠããŸããããPostgresã«å«ãŸãããã®ã®ã¡ã€ã³ã»ããã§ã³ãããïŒã³ãããïŒãããŸããã ãããŠåœŒå¥³ã¯åãããã«äººæ°ããããŸããã ã€ãŸããJSONã¯æè¿ããã®äººæ°ãäžå·¡ããŸããã
ããæå³ã§ãåæã«äž¡æ¹ã®ããããã£ãæã€DBMSãäœæããããšã«ãããSQLãšnoSQLã®ãã®æããªè°è«ã«çµæ¢ç¬Šãæã€ããšãããããŸãã
ããæå³ãã¯ãã noSQLããã¯ããã©ã³ã¶ã¯ã·ã§ã³ã®æ倱ãããŒã¿ã®æŽåæ§ãããã³éåžžã®DBMSã§éåžžçºçãããã¹ãŠã®æ倱ãªãã«ãåªããæ¯èŒæè»æ§ãåŸãããŸããã
ã ãããHstoreã ããããHstoreã¯å
åŒã§ããã ã€ãŸããããã·ã¥ã¯åäžã¬ãã«ã§ãã ããã¯JSONã§ã¯ãªããåãªãããã·ã¥ã§ãã ãããŠãPostgresã®ãã©ã¹é
åã¯ç§ãã¡ã®åã«ãããŸããã ã€ã³ããã¯ã¹ããµããŒãããŸãããã€ãŸããé
åã«å«ãŸãããã®ãšãHstoreå
ã«ãããã®ãããŒãšå€ã®äž¡æ¹ã§ãã°ããæ€çŽ¢ã§ããŸãã ããã¯äŸ¿å©ãªããšã§ãã 人ã
ã¯äžçäžã§ããã䜿ãå§ããŸããã 次ã«JSONãç»å ŽããŸããã 圌ã¯æè¿ãPostgresã§2011幎ãã2012幎ã«ç»å ŽããŸããã ãããå®è£
ããããã®3ã€ã®ç°ãªãè©Šã¿ããããŸããã ãã®åŸãããããã¹ãŠã®è©Šã¿ãã¹ããŒãããç°ãªãæ¹æ³ã§è¡ãããŸããã æåã¯ãJSONã¯ç¹å¥ãªãã£ãŒã«ãã«ããåãªãããã¹ãã§ããã
ããªãã®ããŒã ã¯JSONãå®è¡ããŠããŸãããïŒ
ããããç§ãã¡ã®ããŒã ã¯JSONã«å¯ŸããŠéèŠãªããšãããŸããã JSONãPostgresã«ç»å Žãããšããããã¯åãªãããã¹ããã£ãŒã«ãã§ãããããããäœããæœåºããããã«ãæ€çŽ¢å€ã¯æ¯åJSONã解æããå¿
èŠããããŸããã ãã¡ãããããã¯ãã£ãããšåããŸãããããã«ãã¬ãã«ã®ããŒã¿ãä¿åã§ããŸããã
ãããããã®ãããªããã¹ãããã¯ã¹ã«ã¯ããŸãæå³ããããŸããã ããšãã°ãç§ã®ãããžã§ã¯ãã§ã¯ãç¹æ®ãªã¿ã€ãã®ãã£ãŒã«ããšåŒã°ããããšãªãã匱ãæ§é ã®ããŒã¿ãããã¹ããã£ãŒã«ãã«æ¢ã«æ ŒçŽããŠããŸãã ããããåé¡ã¯ããã®JSONã§ã¯å¹æçã«æ©èœããããšãå¿
èŠã ã£ãããšã§ãã ãããŠã2014幎ã«ããŒã ã§æ¢ã«è¡ã£ãããšã¯JSON-Bã§ãã
ãã§ã«ã¬ã€ã¢ãŠãããã³è§£æãããŠãããããé«éã§ãã ããªããããã«éèŠãªäŸ¡å€ãåŸãããšãã§ããããã«èžããŸããã JSON-Bãäœæãããšãã«ãã€ã³ããã¯ã¹ã§æ€çŽ¢ããæ©èœãåºå®ãããããéåžžã«äººæ°ãåããŸããã
ããã£ã ç¹å®ã®ããããã£ã«æ»ãïŒPostgresãšä»ã®DBMSãåºå¥ããä»ã«äœããããããã䜿çšããçç±ã¯äœã§ããïŒ
ãããŸã§é·ãéJSONã«ã€ããŠè©±ããŠããã®ã¯ããã¹ãŠPostgresã®æè»æ§ã§ãã å±éã§ããå ŽæããããããããŸãã æè»æ§ã®ãã1ã€ã®åŽé¢ã¯ããžãªããŒã¿ã®ãµããŒãã§ãã JSONãé
åãããã¹ãã«ããæ€çŽ¢ãªã©ãç¹å¥ãªã€ã³ããã¯ã¹ãäœæãããã®ãšãŸã£ããåãæ¹æ³ã§ãå°çæ
å ±ã空éããŒã¿ã«ããè¿
éãªæ€çŽ¢ã®ããã«ã»ãŒåãå Žæã§ã€ã³ããã¯ã¹ãäœæãããŸããã ãŸãããã®åé¡ã«ããªã倧ããªãã·ã¢ã®æãå
¥ããŸããã
ãã®çµæãPostGISã¯ãå°çæ
å ±ããŒã¿ãæäœããäžçã§éåžžã«äžè¬çãªæ¹æ³ã§ãã
ãŠãŒã¶ãŒã¯ãããžã§ã¯ãçšã«Postgresæ¡åŒµæ©èœãéçºããŠããŸããïŒ ããã¯ã¢ããªã±ãŒã·ã§ã³ã®ããªãã®éã§ããïŒ
ãããããã¡ããããããã¯äžéšã«ãããã¯ãªãŒã ãã®ãããªãã®ã§ãã 圌ãã®ä»äºãããã«æé·ããã®ã§ããããå¿
èŠãšãã人ã
ãããŸãã ãŸã第äžã«ãããã¯ãã¹ãŠã®æšæºãéåžžã«ãããµããŒãããã»ãŒãã¹ãŠã®ã¿ã¹ã¯ã«ç¢ºå®ã«é©ãããŠãããŒãµã«ããŒã¿ããŒã¹ã§ãã
ããšãã°ãã¹ã¿ãŒãã¢ãããéå§ããå Žå-Postgresã䜿çšãããšãééããããŸããã 第äžã«ãæ©èœçã«æ¡åŒµå¯èœã§ããããã§ãã 次ã«ããªãŒãã³ãœãŒã¹ããŒãžã§ã³ã䜿çšããå Žåã¯ã賌å
¥ããå¿
èŠãããã©ã€ã»ã³ã¹ã®äººè³ªã«ãªããªãã§ãã ããã
ããªãã¯ãåæ¥æãã®åŸæ¥å¡ãšããŠããããããããã»ã©å¹žãã§ã¯ãªããšèšã£ãŠããŸããïŒ
ãããã¯èªç¶ã®æ³åã§ãããããã«å¯Ÿããè°è«ã¯ãããŸããã ãªãŒãã³ãœãŒã¹ãããããªãŒãã³ãœãŒã¹ããžãã¹ããããŸãã ãããŠãããã¯éåžžã®ããžãã¹ãšã¯ç°ãªããããªãçããããšã§ãã ããããå°æ¥çã«ã¯ãæããã«ããªãŒãã³ãœãŒã¹ã®åœ¹å²ã¯å€§ãããªãã§ãããã å°ãªããšããããã¯Postgresã®æåãšã誰ã«ãšã£ãŠãéå±ãªGartnerã®ã¹ã±ãžã¥ãŒã«ã§èŠãããšãã§ããŸãããªãŒãã³ãœãŒã¹ããŒã¿ããŒã¹ã¯ãŸããŸã䜿çšãããŠãããåé¿ããããšã¯ã§ããŸããã
ããªãã¯äŒç€ŸãšããŠããªãããªãã¯å¿
èŠãªã®ã§ããïŒ ããã§åœŒã¯ãªãŒãã³ãœãŒã¹ã§ãïŒè¡ã£ãŠãããŠã³ããŒãããŠããã¹ãŠé 調ã§ããïŒ
å®éãããŠã³ããŒãããŠããŠã³ããŒãããŸããããåé¡ã«ééããŸããã é
ããæ©ããã人ã
ã¯åé¡ã«ééããŸãã ã»ãšãã©ã®ãŠãŒã¶ãŒã«ãšã£ãŠããªãŒãã³ãœãŒã¹ããŒãžã§ã³ãæ©èœããããšã¯æããã§ãã 圌ãã«ã¯åé¡ããªããå°ããªåºç€ããããæé·ããŸããã ããããå Žåã«ãã£ãŠã¯ãå°é家ã®å©ããå¿
èŠã§ãã
以åã¯ãã¢ãã«ã¯åçŽã§ããã ãã®å ŽåãããŸããŸãªè£œåããã®é²åã®éçšã®ããŸããŸãªæ®µéã«ãããããPostgresã«ã€ããŠèª¬æããŠããŸãã Postgresã¯ããšããšåãªã倧åŠã®ãããžã§ã¯ãã§ããã 人ã
ã¯ãéã«ã€ããŠèããŸããã§ããã 圌ãã¯åé¡ã®è§£æ±ºã«èå³ãæã£ãŠããŸããã ãããã圌ã¯ãã©ã³ãã£ã¢ãããžã§ã¯ãã§ããïŒäººã
ã¯èªåã§ãããããŸããã ããã«ã圌ãã¯ç§ãã¡ã®ãããªããã€ãã®äŒæ¥ã§åããŠããŸããã
ããŠãã©ã³ãã©ãŒã§ã©ã®ããã«æ±ºæãäžããã®ã§ããïŒ
ã©ã³ãã©ãŒã¯è¯ãäŸã§ãã å¿
èŠã ã£ãã®ã§ãã£ãã ç§ãã¡ã¯ããžãã¹ãŠãŒã¶ãŒã«ãŸã£ããæ°ã«ãªããŸããã§ããã ä»ã®èª°ãããããå¿
èŠãšããŠãããã©ããã
Postgresã®äŒæ¥ã¯åœåããã·ã¢ã§ã¯ãªãä»ã®åœã§çãŸãå§ããŸããã ããããå¯å£«éã®è³éã«ããããã®ãããªäŒç€Ÿãæ¥æ¬ã§åããŠèªçããŸããã ããªãã®æè³ãè¡ãããŠããŸãã ãããŠã圌女ã¯Postgresãšã»ãŒPostgresã®ãã®ã®éçºãå§ããŸããã ãã®åŸãããªãçãæéã§ã2çªç®ã®è±¡éïŒ2çªç®ã®è±¡éïŒãã€ã®ãªã¹ãšã¢ã¡ãªã«ã®ãšã³ã¿ãŒãã©ã€ãºDBã«ç»å ŽããŸããã ãããã¯ãã¹ãŠãPostgresã§åçãäžããäŒæ¥ã§ãã ãããã®äŒç€Ÿã¯ãã¹ãŠã泚æãå·è¡ãããšããäºå®ããå§ãŸããŸãã 圌ãã¯åŸäºããŠããŸã...
ã«ã¹ã¿ã éçºã
DBMSã¬ãã«ã§ã®ã«ã¹ã¿ã éçºã ç§ãã¡ããããè¡ããŸããPostgresãæ¡å€§ããŠããããããŸã äŒç€Ÿã§ã¯ãªããšãã«ãããã®ããšãè¡ããŸããã ããã®ããã«æ€çŽ¢ããã ãã§ãªãããã©ã³ã¹èªã®ã¢ã¯ã»ã³ãããã€ãèªã®ãŠã ã©ãŠããæ£ããç¡èŠããããã«ããå
šææ€çŽ¢ãå¿
èŠã§ãã å®äº-æ¯æããŸããã ãŸãã¯ïŒãJSONã¯éåžžã«è¯ãããšã§ãã ã€ã³ããã¯ã¹ãæ·»ä»ã§ããããšæããŸãã ãããŠãç¡æåºåã®ããŒã¿ã«ã¯ä»ã®èª°ãããå°ãéãé£ã³ãŸããã
ãããã®äººãã¡ã¯ãåã
ã®éçºè
ã«ãéãæã£ãããå Žåã«ãã£ãŠã¯è¥ãæ°èäŒæ¥ã«åœŒããæã«å
¥ãããæ©èœã泚æãããããŠãéçºã«è³éãæäŸããŸããã ãããŠåŸã
ã«ãPostgresã®åçšããŒãžã§ã³ã®å¿
èŠæ§ãçãå§ããŸããã
ãªãããããŠäžè¬çã«ããããã®åçšãã©ãŒã¯ã¯ã©ãããæ¥ãã®ã§ããïŒ ãŸã第äžã«ãPostgresã«ã¯åçšè£œåãåæ³çã«è£œé ããããšãæ³çã«èš±å¯ãããããªããªãããŒãªã©ã€ã»ã³ã¹ããããŸãã BSDã©ã€ã¯ã©ã€ã»ã³ã¹ã ããã¯GPLã§ã¯ãããŸããã å€æŽãå ããªããŠããå°ãªããšãåãã³ãŒããååŸããããã«ã©ã€ã»ã³ã¹å¥çŽã®2è¡ãæ®ããŠãããã«äœããè¿œå ãããããç§ã®ãVasya Pupkin DBããšæžããŠè²©å£²ããŠããŸãã åžå Žã«è¡ããå°ãªããšãäœååãã«ã売ãããšã¯éèŠã§ãã å°ãªããšãVasya PupkinãããVasya Pupkin DBãã賌å
¥ãããã©ããã¯å¥ã®åé¡ã§ãã ã»ãšãã©ãããŸããã ãããŠã圌ã圌èªèº«ã®ãã®ãããã«æã£ãŠãããïŒ ãããŠã圌ãã¯ãããå§ããŸããã
ç·ãšèµ€ã®æãPostgresã®åçšããã³éåçšã®åå²ç¹ã瀺ããŠããåçããããŸãã ãããããããŸãã 40ã50åãæ°ããŸããã ãããã®ã»ãšãã©ã¯ãåœç¶ãæåããŠããŸãããæ²ãã£ãŠãããå¿ããããŠããŸãã ããšãã°ãAmazonãSalesforceãªã©ã®äžéšã®å€§èŠæš¡ãªçµç¹ã¯ãèªåã§åå²ã§ããŸãã æãæåãªåçšãã©ãŒã¯ã¯ããã¡ãããEnterpriseDBã®Greenplumã§ãã Postgres Proãå«ããæ¥æ¬ã®å¯å£«éãšã³ã¿ãŒãã©ã€ãºPostgresã
ã€ã®ãªã¹äººãæè¿ãPostgresã®ãšã³ã¿ãŒãã©ã€ãºããŒãžã§ã³ãäœæããŸããã äœã®ããã«ïŒ ããšãã°ãGreenplumã¯ãé«åºŠãªäžŠåæ§ãåãã倧èŠæš¡ãªåæèšç®çšã®ããŒã¿ããŒã¹ã§ãã çŽ10幎åã«Postgresã䜿çšããã¹ã±ãžã¥ãŒã©ã倧å¹
ã«å€æŽããããã«åæ£ãªã¯ãšã¹ããè¿œå ããŸãããããã©ã³ã¶ã¯ã·ã§ã³ã®æŽåæ§ã¯å€±ãããŸããã ãã ããåæããŒã¿ããŒã¹ã®å Žåãããã¯éèŠã§ã¯ãããŸããããã¹ãŠããã§ã«ååšããŠãããããèŠæ±ãåéããŠãµãŒããŒéã§æ£ããåæ£ããå¿
èŠããããŸãã 圌ãã¯GreenplumãäœããŸããã
ãã®ããšã¯ããã·ã¢ã§ã䜿çšãããŠããŸãã ç¹ã«ããã£ã³ã³ãéè¡ã¯ãããæã£ãŠãããšèªæ
¢ããŸããã åæ¥çã«ã¯ããçšåºŠæåããŠããããé«ãã¬ãã«ã®éäºææ§ãããããããªãŒãã³ãœãŒã¹ã«é
ãããšã£ãŠããŸãã 圌ãã¯ã¹ã±ãžã¥ãŒã©ã倧ããå€æŽããå€ãã®è¯ãããšãããŸããããã¡ããã圌ãã¯ããã称è³ããããšãã§ããŸããããªãŒãã³ãœãŒã¹ã®éçºã¯ä»ã®æ¹æ³ã§é²ãã§ããŸãã ãããŠãããã§ã®äž»ãªããšã¯é ããŸã§è¡ããªãããšã§ãã é ãã«è¡ãã»ã©ãåŸã§ããŒãžããã®ãé£ãããªããŸãã
æåã®äŸã¯ãç¹å®ã®æ©èœãåããPostgresããŒãžã§ã³ãäœæãããå Žåã§ãã ããã¯ãåæ¥äŒæ¥ãçãŸããçç±ã®äžäŸã§ãã ãããŠãä»ã«äœããããŸããïŒ
Greenplumã¯ãPostgresãéåžžã«æšªæ¹åã«åããéåžžã«å€§ããªæ©èœãå®è¡ããŸããã ããã«ãããã¯ãã¯ãæ®éçãªè£œåã§ã¯ãããŸããããéèŠãªèŠæ±ã¿ã¹ã¯ãååã«è§£æ±ºããŸãã
å¥ã®ã°ã«ãŒãã®ãã©ãŒã¯ã¯ãPostgres Proããã³Enterprise DBã§ãã å¥åŠãªããšã«ãåŸè
ã¯ãã¢ã¡ãªã«ã®æ§æ Œã«ãããããããOracleããã®ç§»è¡ã«åŸäºããŠããŸãã
ã¢ã¡ãªã«ã§ã¯ãããããã¿ãããšã«æ¯æãã®ã«è²»çšãããããããOracleããåãæ¿ããŸãã 誰ãããããæãã§ããããã§ã¯ãªãã誰ããæ¯æãã¹ããã®ãæã£ãŠããããã§ããªãã ãã®ãããEnterprise DBã¯Oracleããã®äžççãªç§»è¡ãµãŒãã¹ãæäŸããŠããŸãã ãŸããã¯ããŒã«ãç°¡åã«ããããã«ãOracleã§å©çšå¯èœãªããã€ãã®æ©èœãEnterprise DBã«å®è£
ããéãæ©ã¿ãŸããã
ãããŠãPostgres Proãšã¯äœã§ããïŒ Oracleã®æ©èœïŒéåæèªåŸåãã©ã³ã¶ã¯ã·ã§ã³ãªã©ïŒãããã€ãå®è¡ããŸãããããã®éããã©ããªãããšã«ããŸããã ããããé·æçã«ã¯ã次ã®Oracleã®ãã¹ã¯è¡šç€ºãããŸããã ããã©ããŒããšã¯ãåžžã«é
ãããšãããšãæå³ãããšã«ãã100ïŒ
ã®äºææ§ã¯æ±ºããŠãªããå°ãªããšãéšåçãªäºææ§ãåžžã«èšŒæããå¿
èŠãããããã§ãã ããã¯é£ããåé¡ã§ãã
Oracleã®PSQLã®ããŒãµãŒãäœæã§ãããšããäºå®ã«ããããããã ç¥ã«æè¬ããŸããæ§æçã«ææžåãããŠããŸããããã®ã»ãã³ãã£ã¯ã¹ã«é¢ããéåžžã«å³å¯ãªææžã¯èŠã€ãããŸããã ããã«ãå®å
šãªäºææ§ã®ããã«ãããã°ãããã°ããåçŸããå¿
èŠããããŸãã ãããè©ŠããŠã¿ãŠããããæ¬åœã«ããã§ããããšã蚌æããŠãã ããã ããã¯ã移è¡ã®åé¡ãå®éã«ã¯è§£æ±ºããªãããšãããã£ãã åé²ããæ¹ãè¯ããšå€æããŸããã æé«ã®è£œåãäœãæ¹ãè¯ãã
ãã®äžæ¹ã§ãããã°ãããã°ãã¯èšããŸã§ããªãããã®ãããªç»åã®å®å
šãªã«ãã¬ããžã®ã¬ãã«ã§äºææ§ãæãããå¿
èŠããããŸããïŒ ã¿ã¹ã¯ã¯ã移è¡ã³ã¹ãã®æ¡ä»¶ä»ã80ïŒ
ãçµäºããããšã§ãã
æ¬åœã«ããæãããŸãããå®éã«ã¯ãã·ã¹ãã ã移è¡ãããšã次ã®ããã«ãªããŸããå®æããã·ã¹ãã ãæäŸããŸãã ããã¯é»ãçŽã§å
ãŸããé»ãç®±ã§ãé»ãããŒãã§çžãããŠããŸãã äœãå
¥ã£ãŠããã®ãåãããŸããã ãããã®80ïŒ
ã¯ãããŸããããããšãå°ãsheãåºããŠããŸããïŒ 3é建ãŠã®ãã¿ã€ãã³ã°ãã©ã³ããæ¹åŒã§éçºãããããšãããããã1éã®å»ºç¯æ¥è
ã¯ã©ããã§é·ãéæ²ãã§ããŸããã
ã§ãããããã®ããšã«ç§»è¡ããããã«ã¯ããªããŒã¹ãšã³ãžãã¢ãªã³ã°ãè¡ãå¿
èŠããããŸããæžãçŽãããã§ãªããŠãããããæ©èœãããã©ãããç解ããããã§ãã ããã¯ãããªããå®ç§ãªãã¹ãã«ãã¬ããžãæã£ãŠãããªã-ã¯ããããªãã¯è©±ãããšãã§ããŸã...
決ããŠèµ·ãããªãããšã¯ãã¡ãã..
...èšãããšãã§ããŸããããšã³ãžã³ã亀æãããã¹ããå®è¡ããŸãã 100ïŒ
åæ Œããã¹ãŠãæ€èšŒãããŸããã è¡ãããã å®éã«ã¯ãããã¯èµ·ãããŸããã ããã¯çæ³çãªã±ãŒã¹ã§ãã ãã®ãããããªãã¯80ïŒ
ã§è²©å£²ããŠãããæ®ãã¯äŸç¶ãšããŠèŠããã§ãããåãã£ãŠäœãããããªãããšãããããŸãã 移è¡ã«ã¯ãããã«é倧ãªåé¡ããããŸãã
å補åãåDBMSã«ã¯å©ç¹ããããŸãã ããšãã°ãPostgresã®å Žåãããã¯JSONããã³å
ã»ã©èª¬æããé
åã§æ©èœããŸãã ãã®ããã«Oracleã§æé©ã«èšè¿°ãããå€ãã®ããšã¯ãç°ãªãæ¹æ³ã§Postgresã«èšè¿°ããæ¹ãé©åã§ãã ãããã£ãŠããæãã«ã移è¡ããå Žåãäž¡æ¹ãšäºææ§ã®ããæå°éã®æ©èœã®ãµãã»ãããåŸãããŸãã å€ãããŒã¿ããŒã¹ãæ°ããããŒã¿ããŒã¹ãå©çšããŸããã
æªæ¥ã«ã€ããŠå°ã話ããŠã¿ãŸãããã ããã¯ã©ãã«è¡ãã®ã§ããïŒ ãã¹ãŠã®ç«¶åä»ç€Ÿã殺ããŸããïŒ
ãã¹ãŠã®ç«¶åä»ç€Ÿã殺ããšã¯æããŸããã ååãšããŠãç§ãã¡ã«ã¯ãã®ãããªãææ
æ·±ããç®æšããããŸãã ç§ãã¡ã¯æ®ºãããã«æ¥ãã®ã§ã¯ãªãã建ãŠãããã«æ¥ãŸããã ç§ãã¡ã®ã¿ã¹ã¯ã¯ãéåžžã«åªããããŒã¿ããŒã¹ãäœæããããšã§ãã æé«ã®ããã«ã
ãªã«ïŒ ãã®è¯ãã®åºæºã¯äœã§ããïŒ Microsoftãéåžžã«æªãããŒã¿ããŒã¹ãäœæããã¿ã¹ã¯ãæã£ãŠããããšãçããŸãã
ã¯ãããã¡ããã誰ããããã«è¡ããŸãã ãã®ãããããŒã¿ããŒã¹ã®äžçã«ã¯çŸåšããã€ãã®åŸåããããŸãã ãŸããããŒã¿éã¯ä»ã®ãã¹ãŠãããæ¥éã«å¢å ããŠãããããçŸåšã®ããŒã¿ããŒã¹ã®äž»ãªåŸåã¯åæ£ã§ãã åæ£ããŒã¿ããŒã¹ã®åé¡ããããã解決ã§ãã人-ãããã¯ããŸããããã§ãããã
ã€ã¯ã³ã»ãã³ãã§ã³ã³ãäžç·ã«ããŸããã ããããšããã€ãŽã¡ã³ã
ããããšã