ããã£ã¼ã»ã¨ãã»ã¨ã¼ã¯29æ¥ãæè¡ã»ããã¼ãDeNA Technology Seminar #2ããéå¬ãããã½ã¼ã·ã£ã«ãã©ãããã©ã¼ã ã®è£å´ã«ãã©ã¼ã«ã¹ãã¦3æã«éå¬ãããã»ããã¼ã«ç¶ãã2åç®ã®éå¬ã¨ãªããä»åã®ãã¼ãã¯ãMySQLãã社å¤ã®è¬å¸«ã交ããã¢ãã²ã¼ã¿ã¦ã³ã®è¨å¤§ãªãã©ãã£ãã¯ãæ¯ãããã£ã¼ã»ã¨ãã»ã¨ã¼ãªãã§ã¯ã®å®è·µçãªãã¥ã¼ãã³ã°ãã¿ãããã¯ãã¿ãç´¹ä»ãããã
ã¢ããªã«å¤æ´ãå ããã«DBã®åæ£ç®¡çãå®ç¾ãã
ãSpiderã¹ãã¬ã¼ã¸ã¨ã³ã¸ã³ã
ãMySQLã®ç¹å¾´ã®ä¸ã¤ã«ããã¹ãã¬ã¼ã¸ã¨ã³ã¸ã³ãï¼SQLãã¼ãµã¼ã¨åé¢ããããã¼ã¿ç®¡çé¨åã®å®è£ ï¼ãèªç±ã«é¸ã¹ããã¨ããããæ¯æ³¢å¥å¾³æ°ã¯ãã®å®è£ ã®ä¸ã¤ããSpiderã¹ãã¬ã¼ã¸ã¨ã³ã¸ã³ãã«ã¤ãã¦ç´¹ä»ããã
ãSpiderã¹ãã¬ã¼ã¸ã¨ã³ã¸ã³ã¯ã大è¦æ¨¡ãã¼ã¿ãã¼ã¹ãç´°ããåæ£ç®¡çãããDatabase Shardingããå¯è½ã«ããã¹ãã¬ã¼ã¸ã¨ã³ã¸ã³ãè¤æ°ã®ãã¼ã¿ãã¼ã¹ãµã¼ãã¼ã«åæ£ãããã¼ãã«ãæãã1ã¤ã®ãã¼ãã«ã¨ãã¦å©ç¨ã§ããããã«ãããã©ã³ã¶ã¯ã·ã§ã³ããµãã¼ããããã¢ããªã±ã¼ã·ã§ã³ã®å¤æ´ãä¸è¦ãªãããå°å ¥ã容æã
ãå°å ¥äºä¾ã¨ãã¦ãåç»æ¤ç´¢ãµã¤ãã®ãsagool.tvãããè§å·ã°ã«ã¼ãã®ã³ã³ãã³ãã横ææ¤ç´¢ã§ãããµã¼ãã¹ãKADOKAWord.jpããè¡åã¿ã¼ã²ãã£ã³ã°åºåé ä¿¡æè¡ã®ããã¤ã¯ãã¢ãããç´¹ä»ãããããããã¬ã³ã¼ãæ°ããã©ãã£ãã¯ã®å¢å ã«ä¼´ããã¼ã¿ãã¼ã¹åç §æ§è½ã®ä½ä¸ãæ¹åãããä¾ã ã
ãä»å¾ã®äºå®ã«ã¤ãã¦ã¯ãMySQLã®ãã©ã¼ã¯ã®ä¸ã¤ã§ãããMariaDBãã¸ã®ãã³ãã«ãMariaDB 5.3ã§å©ç¨å¯è½ãªBKAï¼ãã¼ãã«ã®JOINãé«éåããæ©è½ï¼ã¸ã®å¯¾å¿ãã¬ããªã±ã¼ã·ã§ã³ã®ã¨ã©ã¼çºçæã«ãªãã©ã¤ãè¡ãããããªã©ãæããã
SQLãã·ã§ã¼ãã«ãããã¦
ããã©ã¼ãã³ã¹ãåä¸ããããã©ã°ã¤ã³
ãæ ªå¼ä¼ç¤¾ãã£ã¼ã»ã¨ãã»ã¨ã¼ ã·ã¹ãã çµ±æ¬æ¬é¨ ITåºç¤é¨ã®æ¨å£è¨¼æ°ã¯ãéSQLå¦çã§MySQLã®ããã©ã¼ãã³ã¹æé©åãè¡ããã©ã°ã¤ã³ãMySQL handlersocket pluginããç´¹ä»ãããMySQLãµã¼ãã¼ã®SQLãã¼ãµã¼ãä»ããã«ãç¬èªãããã³ã«ã§ã¹ãã¬ã¼ã¸ã¨ã³ã¸ã³ãç´æ¥ããããã¨ã§ãåç´ãªCRUDå¦çã®é«éå®è¡ãå®ç¾ãããã®ã§ãã¯ã©ã¤ã¢ã³ãã©ã¤ãã©ãªã¯C++ã¨Perlã®2ã¤ãç¨æããã¦ããã
ãåç´ãªåç §ã¯ã¨ãªã§ã®æ¤è¨¼ã§ã¯ãæ°åï½10åç¨åº¦ã®å·®ãåºãã¨ãããé«éåã®è¦å ã¨ãã¦ã¯ããSQLãã¼ã¹å¦çããã¦ããªããã¨ãããªã¯ã¨ã¹ããéç´å®è¡ãã¦ãããã¨ããç¬èªãããã³ã«ã§éä¿¡ãããã¨ãã®3ç¹ãæãããä¸ã§ãç¬èªãããã³ã«ã«ã¤ãã¦ã¯ããã¨ãã¨ã®çµæã»ããã®ã¡ã¿ãã¼ã¿ã大ãããããæ³å®ããå¹æããã£ãã¨è¿°ã¹ã¦ããã
ãä»å¾ã®èª²é¡ã¨ãã¦ã¯ããã«ãæã«mysqlã®ã½ã¼ã¹ã³ã¼ããå¿ è¦ãªããå°å ¥ãå¤å°é¢åãªãã¨ããã¼ã¸ã§ã³ããã«ããªãã·ã§ã³ã®éãã«ããäºææ§ã®åé¡ãInnoDB以å¤ã§ã®æ¤è¨¼ãé¨åçãªread-modify-writeæä½ã®ãµãã¼ããã¯ã©ã¤ã¢ã³ãã©ã¤ãã©ãªã®æ´åãªã©ãæããã
ããã¹ãéç¨ä¸ã®ããä¸è¬å ¬éã¯ãã¦ããªãããä»å¾BSDã©ã¤ã»ã³ã¹ã§ã®å ¬éãäºå®ãã¦ããã¨ãããå ¬éã®éã«ã¯ããã£ã¼ã»ã¨ãã»ã¨ã¼ã®æè¡è ããã°ã§åç¥ãããããã ã
MySQL 5.5ã®æ°æ©è½
ãæå¾ã«ããæ¼¢ã®ã³ã³ãã¥ã¼ã¿ã¼éãã®å¥¥éå¹¹ä¹æ°ããç¾å¨ãã¤ã«ã¹ãã¼ã³ãªãªã¼ã¹ï¼ãã¼ã¿çï¼ã§æä¾ããã¦ããMySQL 5.5ã®æ°æ©è½ãç´¹ä»ããã
ãInnoDB Plugin 1.1ã«ããInnoDBã®æ§è½æ¹åãã4ãã¤ãUTF-8対å¿ãæºåæã®ã¬ããªã±ã¼ã·ã§ã³ãããæè»ã«ãªã£ããã¼ãã£ã·ã§ãã³ã°ã¨ãã£ãæ©è½è©³ç´°ãé 次解説ãã¤ã¤ãç·è©ã¨ãã¦ãæ§è½ãåä¸ãã¤ã¤å©ä¾¿æ§ãåä¸ããMySQL 5.5ã¯æ£ããé²æ©ãéãããã¨ã¾ã¨ããã詳細ã«ã¤ãã¦ã¯ãslideshareã§å ¬éããã¦ããçºè¡¨è³æãåç §ããã¨ããã ããã
ãã¾ããå®å®æ§ãéè¦ãã¦è¨è¨ããã¦ããMySQLã«ããã¦ããã¬ããªã±ã¼ã·ã§ã³ã¾ãããåãã¨ãããã©ãã«ã¯é¿ããããªãã¨è¿°ã¹ããã©ãã«ã·ã¥ã¼ãã£ã³ã°ã®å¿æ§ãã¨ãã¦ããã©ãã«ã¯æ³å®å¤ã®äºè±¡ã®ãã決ã¾ã£ãã»ãªãªã¼ã¯ãªãããä»æ§ãç解ããããèªåã§åç¾ãã¦ã¿ãããã½ã¼ã¹ã³ã¼ããèªãããOSã«è©³ãããªããã¨ãã£ãMySQLã«è©³ãããªãåªåãèè¦ã ã¨è¿°ã¹ãã
ãä»åã®ã»ããã¼ã¯çºè¡¨ãã4æ¥ã»ã©ã§æºå¸ã«ãªã人æ°ã»ããã¼ã ã£ãããã ãå½æ¥ã®æ§åã¯Ustreamï¼ã®é²ç»çªçµï¼ã#denatechã§ã確èªã§ããã
ããã£ã¼ã»ã¨ãã»ã¨ã¼ã§ã¯ãä»å¾ã2ãæã«1åç¨åº¦ã®ãã¼ã¹ã§ç¶ç¶çã«éå¬ãã¦ããããã¨ãã¦ãããèå³ãæã£ãæ¹ã¯ããã°ãtwitterããã§ãã¯ãã¦ããã¨ããã ããã