æ®å¿µãªããã ããªãã®è³ªåã¯12ææ«ãããã£ãšåã«ã¢ã³ãã£ã«éä¿¡ããããšããäºå®ã«ããããããã圌ã¯èšç»ããå°ãé
ããŠçããããšãã§ããŸããã ã圌ã®çãã®èå³ãšé¢é£æ§ãæãªãããšã¯ãããŸããïŒ ãã€ã±ã«ã®å
ã®è±èªã®çãã¯ããããããŠã³ããŒãã§ããŸã ïŒRTFãã¡ã€ã«ã16.6 Kãã€ãïŒ;以äžã«ç¿»èš³ã瀺ããŸãããå®ç§ã§ã¯ãªããããããŸããã®ã§ããšã©ãŒã®å¯èœæ§ãææããŠããã ããã°å¹žãã§ã ïŒã
Michaelâ Montyâ Videinusã¯äººæ°ã®é«ãMySQL DBMSã®äž»èŠãªéçºè
ã®1人ã§ãããOracle Corporationã¯ãããæã«å
¥ããããšèããŠããŸãã æãããªçç±ãããã¢ã³ãã£ã¯ãã®ç¶æ³ã«æºè¶³ããŠããããããã«é¢é£ããŠæšå¹ŽåœŒã®ããã°ã§å¯Ÿå¿ããã¡ã¢ãå
¬ââéããã³ãã¥ããã£ã«å©ããæ±ããŸããã
ã¢ã³ãã£ãHabrahabr.ruãã質åãåããŸãããïŒ äººã
ã¯ããªããããã»ã©é·ãçããªãããšãå¿é
ããŸãã
æ°ãã€ããã é
ããŠç³ãèš³ãããŸãããhelpmysql.orgã«å€åœèªã®ãµããŒããè¿œå ããŸãããæè¿ã§ã¯ã»ãšãã©ãã¹ãŠã®æéãããããŸããã
1994幎ã«MySQLãäœæãããšããã¢ã€ãã¢ãã©ã®ããã«ããŠæãã€ããã®ã§ããïŒ ãªããããããããšã«ããã®ã§ããïŒ æ¢åã®ãœãªã¥ãŒã·ã§ã³ã«é©ããªããã®ã¯äœã§ããïŒ
MySQLã¯ã1982幎ã«éçºãéå§ããå€ãUniregããŒã¿ããŒã¹ããã°ã©ã ã«åºã¥ããŠããŸããã ttyïŒã¹ã¯ãªãŒã³ïŒããŒã¹ã®ã¢ããªã±ãŒã·ã§ã³ãžã§ãã¬ãŒã¿ãŒã§ããã Uniregã䜿çšããŠã顧客åãã®ã¢ããªã±ãŒã·ã§ã³ããã°ã©ã ãäœæããŸããã
1993幎ã«ã¯ãã€ã³ã¿ãŒãããçµç±ã§UniregããŒã¿ããŒã¹ãžã®ã¢ã¯ã»ã¹ã顧客ã«æäŸããå¿
èŠããããŸããã ãã®åé¡ã解決ããããã«ãODBCãã©ã€ããŒãšåæ§ã«ãUniregã®äžã«SQLã¬ã€ã€ãŒãäœæããŸããïŒSQLã¯HTMLã¹ã¯ãªããã«ç°¡åã«åã蟌ãããšãã§ãããšæã£ãããïŒã
èšãæãããšãMySQLã®åœåã®ç®æšã¯ãã客æ§ã«ããŒã¿ãžã®ã¢ã¯ã»ã¹ãæäŸããããã«ãç§ãã¡èªèº«ã®åé¡ã解決ããããšã§ããã
å¥ã®æ¹æ³ãšããŠãSybaseãæ€èšããŸãããããã®DBMSã¯ïŒUniregã«æ¯ã¹ãŠïŒååã«é«éã§ã¯ãªããHTMLããŒãžã«ç°¡åã«åã蟌ãããšãã§ããŸããã§ããã
çŸåšãMySQLã¯ïŒä»ã®ãªã¬ãŒã·ã§ãã«DBMSãšåæ§ã«ïŒå®éã«ãããŒã¿ã®ä¿åãšååŸã®ãã¹ãŠã®åé¡ã«å¯Ÿãããããã©ã«ããœãªã¥ãŒã·ã§ã³ãã«ãªã£ãŠããŸãã ãããããåãã®ãšãããäžè¬çãªãœãªã¥ãŒã·ã§ã³ã¯é«åºŠã«å°éåããããœãªã¥ãŒã·ã§ã³ã«è² ããŠããŸãã RDBMSã®äœ¿çšã¯ã»ãŒã©ãã§ãæ£åœåãããŠãããšæããŸããããŸãã¯ç°ãªãã¢ãããŒãã䜿çšããæ¹ãè¯ãå¹
åºãã¿ã¹ã¯ããããäžè¬çãªæ¯èŒå¯èœãªå¹çãåŸãããã«åŸæ¥ã®RDBMSããã·ã£ãŒããã«ãããããäžè¬çã«ç¬èªã®ãœãªã¥ãŒã·ã§ã³ãæžãæ¹ãéããšæããŸããïŒ RDBMSã䜿çšããå Žæ-誀ã£ã決å®ã§ãããããã€ãã®å®äŸãæããŠãã ããã
ç¹ã«SQLã«åºã¥ãRDBMSã®äž»ãªå©ç¹ã¯ãèªã¿ããããç¶æããªãããã¢ããªã±ãŒã·ã§ã³ã³ãŒãïŒç¹ã«PHPãªã©ã®ã¹ã¯ãªããïŒã«ç°¡åã«çµ±åã§ããããšã§ãã SQLæååã®éåžžã®ä¿®æ£ã«ãããã¢ããªã±ãŒã·ã§ã³èªäœã®ã³ãŒããã»ãšãã©å€æŽããããšãªããããŸããŸãªã¬ããŒããååŸã§ããŸãã
æãRDBMSã®æ倧ã®åé¡ã¯ãç¹æ®ãªã·ã¹ãã ãšæ¯èŒããŠãããå€ãã®ã·ã¹ãã ã¡ã¢ãªãšãã£ã¹ã¯ã¹ããŒã¹ãå¿
èŠãšãããããæ®éçãªãœãªã¥ãŒã·ã§ã³ã§ãã£ãããšã§ããã ã³ã³ãã¥ãŒã¿ã®ããã©ãŒãã³ã¹ãåäžãã倧éã®å®äŸ¡ãªãã©ã€ããåºçŸãããããéåžžã¯ããã¯ãã¯ãåé¡ã§ã¯ãããŸããã
ãããããã¡ãããç¹å®ã®ã¿ã¹ã¯ã解決ããããã«åžžã«æé©ãªããŒã«ãéžæããå¿
èŠããããRDBMSã¯å Žåã«ãã£ãŠã¯çæ³çãªãœãªã¥ãŒã·ã§ã³ã§ã¯ãããŸããã
-ããã°ã©ã ã®ãµã€ãºãéèŠãªå Žåã ããšãã°ãå°åãŸãã¯éåžžã«å®äŸ¡ãªã¢ãã€ã«ããã€ã¹ã
-å¯èœãªéãæé«ã®é床ãååŸãããå Žåãè·è¡ã®å©äŸ¿æ§ãç ç²ã«ããããšãã§ããŸãã ããšãã°ããã¿ãã€ãã®ããŒã¿ãåŠçããå¿
èŠãããå Žåã
-ããŒã«ã䜿çšããŠãã¹ãŠã®ããŒã¿ãã¡ã¢ãªã«ããŒãã§ããå ŽåïŒãã ããæ¢åã®RDBMSã¯äœ¿çšããªãå ŽåïŒã
-RDBMSèšèªãé©åã§ãªããã¿ãŒã³ã§ããŒã¿åŠçãå¿
èŠãªå ŽåïŒããšãã°ãå人ã®å人ããå人ãæ€çŽ¢ããå ŽåïŒã
-æŽæ°/åé€/æ¿å
¥ãªã©ã®æäœã§å€ãã®è€éãªããã±ãŒãžãå®è¡ããå¿
èŠãããå Žåãç¹æ®ãªã¢ããªã±ãŒã·ã§ã³ã§ãã¹ãŠã1ã€ã®ããã±ãŒãžã§å®è¡ã§ããå ŽåãRDBMSã§ã¯10xããã±ãŒãžãå®è¡ããå¿
èŠããããŸãã ïŒããã¯ãUniregãSQLããŒã¹ã®RDBMSãããåªããŠããå Žåã§ãïŒã
-ããŒã¿ãµã€ãºãéåžžã«éèŠãªå ŽåïŒRDBMSã§ã¯ãéåžžãããªã¥ãŒã ã®åé·æ§ã芳å¯ãããŸãïŒã
é«è² è·ã·ã¹ãã ã®èšèš/éçºã«æºãã£ãããšã¯ãããŸããïŒãŸãããªã¬ãŒã·ã§ãã«DBMSã®å¶éãã©ã®ããã«åé¿ããŸãããïŒ
TCXïŒç§ã¯Unireg / MySQLã®éçºäžã«åããŠããŸããïŒã§ã¯ãé«è² è·ã«ã¯UniregããããŒã¿ã®è¡šç€ºã«ã¯MySQLã䜿çšããŸããã
çŸåšãMySQLã®ã¿ã䜿çšãããŠããå Žåãå€ãã®äžŠåã¹ã¬ãŒãããã»ã¹ãè€è£œããŠèµ·åããããšã§ããã©ãŒãã³ã¹ãéæã§ããŸãã
NoSQLãã©ãã€ã ã«ã€ããŠã©ãæããŸããïŒ Webéçºã«ãšã£ãŠããææãªãã®ã¯äœã§ããïŒãªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ãŸãã¯NoSQLïŒ
NoSQLã¯ãç§ãåã«æããã¿ã¹ã¯ã®å€ãã解決ããããã«ãã§ã«ãã®åœ¹å²ãæãããŠããŸãã
SQLã¯ã³ãŒãã«ç°¡åã«åã蟌ãããšãã§ããRDBMSãè¡ãæ©èœïŒã°ã«ãŒãåã䞊ã¹æ¿ããªã©ïŒãè€è£œããå¿
èŠããªããããWebéçºã§ã¯éåžžããªã¬ãŒã·ã§ãã«DBMSãåªããŠããŸãã
ãªã©ã¯ã«ã¯ã©ã®ããã«MySQLãè
ãããŸããããã®åé¡ã«é¢ãã欧å·å§å¡äŒã®æ±ºå®ã¯äžèœè¬ã§ããïŒ
OracleãMySQLãç Žå£ããæ¹æ³ã¯ããã€ããããŸãã
-ãã¹ãŠã®éçºããã»ã¹ãã¯ããŒãºããœãŒã¹ã®MySQLã®äŒæ¥ããŒãžã§ã³ã«è»¢éãããªãŒãã³ãœãŒã¹ããŒãžã§ã³ã«æå°é/ãŒãã®ããã°ã©ããŒãæ®ããŸãã
-MySQLã©ã€ã»ã³ã¹ã®è²©å£²ãåæ¢ããããäŸ¡æ ŒãåŒãäžããŸãïŒããã«ãããMySQLãåãå·»ãçµæžçãšã³ã·ã¹ãã ãç Žå£ãããŸãïŒã
-Oracleãœãªã¥ãŒã·ã§ã³ã®è²©å£²ã«ç©æ¥µçã«åå ããããMySQLã«ã¯ç©æ¥µçã«åå ããªãã
-ã¯ããŒãºããœãŒã¹ã®MySQLã®ææçãŸãã¯OracleãµãŒããŒãžã®ãŠãŒã¶ãŒã®è»¢éãéå§ããŸãã
-ä»ã®äŒæ¥ã競äºåã®ããããžãã¹ãéçºããã®ãå°é£ã«ãªãããã«ããŠãŒã¶ãŒããã©ãŒã¯ã«ããŸãã«ãæ©ãåãæ¿ããªãããã«ãMySQLã®ãµããŒããšãªãŒãã³ãœãŒã¹ããŒãžã§ã³ã®æå°éã®éçºïŒæééå®ïŒãæäŸããŸãã
Oracleããã©ãŒã¯ã®çåãã»ãŒäžå¯èœã«ããä»ã®å€ãã®æ¹æ³ããããŸãã é©åãªãã©ãŒã¯ããã¹ãŠãªããªããšãOracleã¯MySQLãå®å
šã«åŒ·å¶çµäºã§ããŸãã
欧å·å§å¡äŒã¯ãOracle / Sunã®ååŒãåŒãç¶ããããã¯ããå¯èœæ§ããããŸãã æçµæ±ºå®ã¯1æ11ã15æ¥ã«çºè¡šãããŸãã helpmysql.orgã«å¯Ÿããç³ãç«ãŠãååãªçœ²åãåéããå Žåã欧å·å§å¡äŒã¯ååŒããããã¯ããOracleã¯Sunã賌å
¥ããªãããMySQLãå¥ã®ããžãã¹ã«åé¢ããããMySQLåžæ³ä¿è·ã«å¯Ÿããçã®ä¿èšŒãæäŸããå¿
èŠããããŸãã MySQLãOracleã«å¯ŸããŠç«¶äºåãæã¡ç¶ããããã«ã
Oracleãªãã§ã³ãã¥ããã£ã代æ¿MySQLãã©ã³ããéçºããããšã¯å¯èœã§ããïŒ
æè¡çã«ã¯ãã ãããMySQLããã©ãŒã¯ã§ããŸãããåçšç®çã§äœ¿çšããããšã¯ã§ããŸããã ãããã£ãŠããã®ãããªæ·±å»ãªéçºããµããŒãããã®ã«ååãªãéã皌ãããšã¯ã»ãšãã©äžå¯èœã§ãã
ãããã£ãŠãOracleãæ¬åœã«MySQLã殺ãããã®ã§ããã°ã圌ãã¯æããªããããããããšãã§ããŸãã ããã«ã¯é·ãæéãããããŸãããæçµçã«ã¯åœŒããæããã®ãæã«å
¥ããããšãã§ããŸãã
ãã®ãããã¯ãããã°ã§ã«ããŒããããšããŸããã
Drizzleã«ã€ããŠã©ãæããŸããïŒ ãã©ãŒã¯ããã®ã¯äŸ¡å€ããã£ãã®ã§ããããããšãäœããã®åœ¢ã§MySQLèªäœãã¢ãžã¥ãŒã«åããŠãç°ãªããã«ããªãã·ã§ã³ã䜿çšããŠã¿ãŠãã ãã
Drizzleã¯èå³æ·±ããããžã§ã¯ãã ãšæããŸãã ã³ãŒããè©Šãããšã§ã圌ãã¯èª°ã«ãšã£ãŠã圹ç«ã€æ°ãããã®ãçºèŠããã§ãããã ãã¡ããããããžã§ã¯ãã®å°æ¥ã¯OracleãšSunã®å¥çŽã«ãäŸåããŠããããã次ã«äœãèµ·ãããèŠãŠã¿ãŸãããã
MySQLã®ç®¡çïŒããã³å°å
¥ãããã«ãŒã«ïŒã®ããã«Brian AkerãMySQLã«å€æŽãå ããèœåã倱ã£ããããåå²ããå¿
èŠããã£ãããã圌ã®ã¢ã€ãã¢ãå®è£
ããå¯äžã®æ¹æ³ã¯å¥ã®ãããžã§ã¯ããäœæããããšã§ããã
PostgreSQLãªã©ãä»ã®ç¡æDBMSã®å人çãªèŠè§£ã¯äœã§ããã 圌ããããªãã®ç«¶äºçžæãšèããŠããŸããïŒ
ãã®äžã§ãæã泚ç®ã«å€ããïŒãããŠãã䜿çšãããïŒãã®ã¯PostgreSQLãšSQL-liteã§ãã ã©ã¡ããåªããDBMSã§ãããç¬èªã®ã¢ããªã±ãŒã·ã§ã³ããããŸãã
SQL-liteã«ã¯ç«¶äºã®ãªãæ確ãªãããããããŸãã äž»ã«1人ã®ãŠãŒã¶ãŒã®ããã«ãéåžžã«äœ¿ãããããã¡ã¢ãªãã»ãšãã©æ¶è²»ããªããã®ãå¿
èŠãªå Žåã¯ããããæåã®éžæè¢ã§ãã
PostgreSQLãšMySQLã¯äºãã«è£å®ããŸãã ã¢ããªã±ãŒã·ã§ã³ã«ãã£ãŠã¯ãã©ã¡ããäžæ¹ã®æ¹ãåªããŠããŸãïŒPostgreSQL / MySQLã«ã€ããŠã¯ãåžžã«holivarã§çµãããããè°è«ãå§ããããããŸããïŒã å€ãã®å Žåãã¢ããªã±ãŒã·ã§ã³ãPostgreSQLããMySQLã«ããŸãã¯ãã®éã«ç§»æ€ã§ããŸãããã¢ããªã±ãŒã·ã§ã³ã倧ãããªãã䜿çšããã¢ãžã¥ãŒã«ãå¢ããã»ã©é£ãããªããŸãã ãŸããã¬ããªã±ãŒã·ã§ã³ãšã¢ãã¿ãŒã«ãã ãã£ãŠããå Žåã¯ãããã«é£ãããªããŸãã
äž»ã«å€§äŒæ¥ãç§ãã¡ã®åŸãã«ããŠãã©ãã§ããµããŒããæäŸãããšããäºå®ã«ãããMySQLã¯åžžã«PostgreSQLãããåæ¥åžå Žã§ã¯ããã«å€§ããªã·ã§ã¢ãå ããŠããŸãã
FireBird / InterbaseããŒã¿ããŒã¹ã«ã€ããŠã©ãæããŸããïŒ
ç§ã¯ãã®ãããžã§ã¯ãã«ã€ããŠããŸãç¥èããããŸããããèè
ã§ãããžã ã»ã¹ã¿ãŒããŒãšã¢ã³ã»Wã»ããªãœã³ã«ç²ŸéããŠããŸãã
MySQLãPostgreSQLãšæ¯èŒãããšãããã»ã©æ®åããŠããããåæ¥åžå Žã§éèŠããã£ãããšã¯ãããŸããã
Falconãããžã§ã¯ãã®å°æ¥ã¯äœã§ããïŒ
ç§ã®ç¥ãéãããããžã§ã¯ãã¯æ»ãã§ããŸãã Falconã¯InnoDBã眮ãæããããã«äœæãããŸããããMySQLã®è³Œå
¥ã«å¯ŸããOracleã®é¢å¿ã®åºçŸã«ããããã®äœ¿åœã¯å°œããŸããã
ããã¯ãFalconãäž»èŠãªæ©èœã§ãã£ãMySQL 6.0ã§ã®äœæ¥ã®äžæã«ãã確èªãããŠããŸãã
MySQL 6.0ã®æ©èœã®ãªã¹ãã¯ãŸã äžæã§ãããFalconã¯ååšããªãã¯ãã§ãã
MySQLã§ååž°ã¯ãšãªã®å°æ¥çãªãµããŒãã¯ãããŸããïŒ ãããããªãããã€èšç»ãããŸããïŒ
CONNECT BYãæå³ããå Žåãã¯ããããã¯èšç»äžã§ãã å®è£
äœæ¥ã®è²»çšãæ¯æãææã®ãã顧客ãèŠã€ããå¿
èŠããããŸãã ãŸãã¯ãç§ãã¡ãšäžç·ã«ä»äºãããããšã«åæãã人ãã³ãã¥ããã£ã§èŠã€ããŠãã ããã
äžè¬ã«ãç§ã®æ°ããäŒç€ŸMonty Program Abã¯ãMariaDB DBMSã«æ°ããæ©èœãå®è£
ããããšã§åçãäžããŠããŸããããã¯MySQLãã©ã³ãã§ãã ç§ãã¡ã¯ãæéã®40ïŒ
ãã³ãã¥ããã£ãšååãã60ïŒ
ã顧客ã®æ³šæã«ããæ©èœã®å®è£
ã«è²»ãããŠããŸãã
MySQLã¯ãããŒã«ã«ããã°ã©ã ã§MySQL Embeddedã䜿çšããããã«ãçµã¿èŸŒã¿ããŒãžã§ã³ã䜿çšããŠããã°ã©ã ã®è²©å£²ã³ããŒããšã«250ãŠãŒãã®æ¯æããèŠæ±ããŸããã ã»ãšãã©ã®å Žåããã®äŸ¡æ Œã¯ãœãããŠã§ã¢ã®ã³ã¹ããè¶
ããŠãããããå°ããªåçšè£œåã§ã©ã€ãã©ãªã䜿çšããããšã¯äžå¯èœã«ãªããŸããã MySQL Embeddedã®éçºèšç»ã¯ã©ã®ãããªãã®ã§ããïŒãŸããåçšè£œåã§ã©ã€ãã©ãªã䜿çšããå®éã®æ³çæ©äŒã¯ãããŸããïŒ
250ãŠãŒãã¯ãåäžã®ã³ããŒã®æšæºäŸ¡æ Œã§ããã ããã«è³Œå
¥ãããšãäŸ¡æ Œã¯1ã³ããŒããã1ãŠãŒãã«äžããå¯èœæ§ããããŸãã
äŸ¡æ Œã¯ãã¢ããªã±ãŒã·ã§ã³ã®ã³ã¹ãã«ãäŸåããŸãã ã³ã¹ããäœãå Žåãéåžžã«å®äŸ¡ãªã©ã€ã»ã³ã¹ããµã³ãã賌å
¥ããããšãã§ããŸãã
äžè¬çã«ãç§ã¯å人çã«ãçµã¿èŸŒã¿ãµãŒããŒã®ã³ã¹ãã¯ã¢ããªã±ãŒã·ã§ã³ã®ã³ã¹ãã«æ¯äŸãã¹ãã§ãããšèããŠããŸãããã10ïŒ
ãè¶
ããŠã¯ãªããŸããã ãŸããä»æ¥ã®DBMSåžå Žã§ã®ç«¶äºã«ããããã®å²åã¯ããã«äœããªãã¯ãã§ãã
SunãšOracleãå䜵ããåŸãMySQLéçºã®åªå
é äœã¯å€ãããŸããïŒ
Oracleãã§ããéãæ©ããéçºã®å€§éšåãã¯ããŒãºãããŒãžã§ã³ãŸãã¯ãã©ã€ããŒãã¢ãžã¥ãŒã«ã«ç§»è¡ãããšä¿¡ããŠããŸãã
ãªã©ã¯ã«ã¯ãäž»å補åã§ãã11gã«é¢ããŠãMySQLããã競äºåã®ããDBMSã«ã§ããæ©èœãå®è£
ããããšããããŸããã ã©ãã¯ã®ãããªæ©èœãé害æã®èªåå¶åŸ¡ã€ã³ã¿ãŒã»ããã䜿çšããè€è£œããã«ãã³ã¢ããã»ããµã®ãµããŒãã®æ¹åããªããã£ãã€ã¶ãŒã®æ¹åãªã©ãåŸ
ã€å¿
èŠã¯ãããŸããã
ãã®ã·ããªãªãåé¿ããæãç°¡åãªæ¹æ³ã¯ã helpmysql.orgãžã®è«é¡æžã«çœ²åããããšã§ã ã 声ã¯éèŠã§ããã圌ã¯äžçã®ã©ãããæ¥ãªãã®ã§ãããã ãã®å£°ã¯ã欧å·é£åãšãã·ã¢ã®äž¡æ¹ã§æªæ¥ã«åœ±é¿ãäžããå¯èœæ§ããããŸãã
èå³æ·±ã質åãããããšãããããŸã:)