以äžã¯ãã¬ããŒã+ãããª+ãªãŒãã£ãªããã³ãã¬ãŒã³ããŒã·ã§ã³ã¹ã©ã€ãã®ããã¹ãããŒãžã§ã³ã§ãã ã¬ããŒãã®ãã¬ãŒã³ããŒã·ã§ã³ã«åãçµãã§ãããbelonesoxã«æè¬ããŸãã
åé¡ã®æŽå² ã
- ããå€ãã®ããŒã¿ãåŠçããåé¡ãããéèŠã«ãªã£ãŠããã®ã¯ãªãã§ããïŒç°ãªãé åã§ã®ããŒã¿éã®å¢å ã®äŸïŒã
- MapReduceãã©ãã€ã ã«é¢ããGoogleã®èšäºã ãã©ãã€ã ã®ç°¡åãªèª¬æã
- é£æ¥é åã®ç°¡åãªèª¬æïŒåæ£ãã¡ã€ã«ã·ã¹ãã ãbigtableã®ãããªã¹ãã¬ãŒãžïŒã
- Apache Hadoopãã©ãããã©ãŒã ã®æŽå²ãšç°¡åãªèª¬æã
䜿çšäŸ
- last.fmïŒæ§ç¯ãã£ãŒãïŒããªã³ã©ã€ã³åºåïŒæ§ç¯çµ±èšïŒãYahooïŒæ§ç¯æ€çŽ¢ã€ã³ããã¯ã¹ïŒã®3ã€ã®å¥ã ã®é åã§hadoopãã©ãããã©ãŒã ã䜿çšããŸãã
- åŸæ¥ã®ã¢ãããŒãïŒSQLããŒã¿ããŒã¹ïŒããã³äžèšã®ååé¡ã«å¯ŸããŠHadoopã䜿çšããã¢ãããŒãã®èª¬æã SQL / Hadoopã¢ãããŒãã®é·æãšçæ
- SQLã¯ãšãªã®äžéšã®ãµãã¿ã€ããMapReduceãžã§ãã«å€æããäžè¬çãªååã
Hadoopã®äžã«æ§ç¯ããããã©ãããã©ãŒã ã
- Hadoopã®äžã«æ§ç¯ãããHiveããã³Pig ETLãã¬ãŒã ã¯ãŒã¯ã®ç°¡åãªèª¬æã
- 䜿çšäŸïŒfacebook.comãYahooãªã©ïŒ; æšæºSQLã¢ãããŒããšã®æ¯èŒ
Apache Hadoopã䜿çšããå Žåã®ãªã¢ã«ã¿ã€ã ããŒã¿ã¢ã¯ã»ã¹ã®åé¡ ã
- ãªã¢ã«ã¿ã€ã ãå¿ èŠãªå Žåãšããã§ãªãå Žåã®èª¬æã
- ãªã¢ã«ã¿ã€ã ã§ã®åçŽãªåé¡ã®è§£æ±ºã®èª¬æïŒã¡ã¢ãªãžã®ãã£ãã·ã¥ïŒmemcachedïŒãSQLãšã®å ±ç
- äŸãšããŠHBaseã䜿çšããbigtableã®ãããªããŒã¿ããŒã¹ãšã®å ±çã HBaseã®çã説æã
ãã¬ã³ããšããŠã®Hadoop ã
- Hadoopã䜿çšããæè¡ããã³ããžãã¹ã®åé¡ã®æŠèŠ
- Hadoopããã³NoSQLã¢ãããŒãã«é¢ããèªå€§åºåã SQLã䟿å©ãªå Žåã®èª¬æã
æ å
衚瀺ã«åé¡ãããå Žåã¯ã ãªã³ã¯ã䜿çšã§ããŸãã
é³å£°
ã¬ããŒãã®é³å£°çã¯ãã¡ãããå ¥æã§ããŸã ã
ã¬ããŒãçºè¡š
ã¬ããŒãã®ãã¬ãŒã³ããŒã·ã§ã³ã¯ãã¡ãããå ¥æã§ããŸã ã
ããŒã¿é
ãã®ããããããäœã§ããããã©ã®ãããªããŒã¿éã§ããããæ³åããããšãã§ããŸãã ããšãã°ã誰ããç¥ã£ãŠããFacebookã®äŒç€Ÿããããã誰ããããã«ãããã¡ã€ã«ãæã£ãŠããŸãããã®ãœãŒã·ã£ã«ãããã¯ãŒã¯ã«ã¯1æ¥ã« 40ãã©ãã€ãã®æ°ããããŒã¿ïŒåçãæçš¿ãã³ã¡ã³ãïŒããããŸãã
次ã«ããã¥ãŒãšãŒã¯èšŒåžååŒæ -1æ¥ããã1ãã©ãã€ãã®ååŒãååŒãæ ªåŒã®å£²è²·ãªã©ã«é¢ããããŒã¿ããããŸãã
倧åã®ã¢ã³ããã³ã³ã©ã€ã㌠ïŒããã¯ã1æ¥ã«çŽ40ãã©ãã€ãã®å®éšããŒã¿ãç²åã®é床ãšäœçœ®ã«é¢ããæ å ±ãªã©ã§ãã
ããšãã°ãå°ããªäŒç€Ÿã§äœãèµ·ãã£ãŠããããæ³åããŠã¿ãŠãã ãããContextWebã¯å®éã«åããŠããã¢ã¡ãªã«ã®å°ããªäŒç€Ÿã§ãããªã³ã©ã€ã³åºåã«åŸäºããåžå Žã®å²åãéåžžã«å°ããã«ããããããã 115ã®ã¬ãã€ãã®ãã°ããããŸã 1æ¥ãããã®ã³ã³ãã³ãåºåã衚瀺ããŸãã ããã«ããããã¯åãªãããã¹ããã¡ã€ã«ã§ã¯ãªãã115ã®ã¬ãã€ãã®å§çž®ããŒã¿ã§ãã å®éããããããã£ãšå€ãã®ããŒã¿ããããŸãã
DFS / MapReduce
質åãçºçããŸããå®éã«ããããã©ããããïŒ ã©ããããããããããåŠçããå¿ èŠãããããã ããã ãã§ã¯ããã®ãããªéã®ããŒã¿ã¯èª°ã«ãšã£ãŠãèå³ããªããã»ãšãã©åœ¹ã«ç«ããªãã
ãã®éã®ããŒã¿ãåŠçãã1ã€ã®æ¹æ³ã¯ãGoogleã«ãã£ãŠèæ¡ãããŸããã 2003幎ã«ãGoogleã¯åæ£ãã¡ã€ã«ã·ã¹ãã ãããŒã¿ãšã€ã³ããã¯ã¹ã®ä¿åæ¹æ³ããŠãŒã¶ãŒããŒã¿ãªã©ã®å éšã«é¢ããããªãæåãªèšäºããªãªãŒã¹ããŸããã
2004幎ã«ããGoogleã¯MapReduceãšåŒã°ãããã®ãããªå€§éã®ããŒã¿ãåŠçãããã©ãã€ã ã説æããèšäºããªãªãŒã¹ããŸããã
å®éãããã¯ãŸãã«ãããã説æããå 容ã§ãããäžè¬çã«ã©ã®ããã«é 眮ãããApache Hadoopãã©ãããã©ãŒã ã«ã©ã®ããã«å®è£ ããããã§ãã
åæ£FS
åæ£ãã¡ã€ã«ã·ã¹ãã -ããã¯äœã§ããïŒ åæ£ãã¡ã€ã«ã·ã¹ãã ã«ã¯ã©ã®ã¿ã¹ã¯ãå²ãåœãŠãããŠããŸããïŒ
- ãŸããããã¯å€§éã®ããŒã¿ã®ã¹ãã¬ãŒãžã§ã-ä»»æã®ãµã€ãºã®ãã¡ã€ã«...
- 第äºã«ãããã¯åãªãéææ§ã§ãããã®ãã¡ã€ã«ã·ã¹ãã ãéåžžã®ãã¡ã€ã«ã·ã¹ãã ãšããŠäœ¿çšããŸãããã¡ã€ã«ãéããŠãããã«äœããæžã蟌ã¿ããã¡ã€ã«ãéããŠããã©ãã©ã§å€§ããªãã®ã§ã¯ãªããšèããŸãã
- ãŸããä»ã«ãå¿ èŠãªã®ã¯ã¹ã±ãŒã©ããªãã£ã§ãã ã¯ã©ã¹ã¿ãŒã«ãã¡ã€ã«ãä¿åããéåžžã«ç°¡åã«ã¹ã±ãŒãªã³ã°ãããã®ã§ãã ããšãã°ãããžãã¹ã2åã«ãªããããŒã¿éã2åã«ãªããŸãããã¢ãŒããã¯ãã£ãä¿®æ£ããããšãªããããŒã¿ã2åä¿åãããã·ã³ã2åè¿œå ããã ãã§ãã
- ãŸããä¿¡é Œæ§ã ã€ãŸã ã¯ã©ã¹ã¿ãŒããããŸãã100å°ã®ãã·ã³ã®ãã¡ã5å°ãªã©ãæ éããŠããŸããããã«æ°ä»ããªãããã«ããå¿ èŠããããŸãããã¡ã€ã«ã«ã¢ã¯ã»ã¹ããããèªã¿æžããããããããã§ãããããã®5å°ã®è»ã«æ°ä»ããŸã§ã
DFSïŒã¢ãŒããã¯ãã£
å³å¯ã«èšãã°ããããã©ã®ããã«å®è£ ãããŠãããã å°ããªã¹ã±ãžã¥ãŒã«ãããããããã衚瀺ãããŸããããäžè¬çã«ã¯è¡šç€ºãããŸããã¯ãã
ãã·ã³ã®ã¯ã©ã¹ã¿ãŒãããããã®äžã«ã¯å€ãã®ããŒã¿ãä¿åãããŠããŸãã ãã¹ã¿ãŒããŒããšåŒã°ãã1ã€ã®ãã·ã³ãããããã¹ãŠã調æŽããŸãã
ãã¹ã¿ãŒããŒãã«ã¯äœãä¿åãããŸããïŒ ãã¹ã¿ãŒããŒãã¯åã«ãã¡ã€ã«ããŒãã«ãä¿åããŸãã ãã¡ã€ã«ã·ã¹ãã ã®æ§é ãåãã¡ã€ã«ã¯ãããã¯ã«åå²ãããç¹å®ã®ã¯ã©ã¹ã¿ãŒãã·ã³äžã«ãã¡ã€ã«ã®ãããã¯ãä¿åãããŸãã
èªã¿æžãã¯ã©ãã§ããïŒ ããçš®ã®ãã¡ã€ã«ãèªã¿ããã®ã§ããã®ãããªãã¡ã€ã«ã®ãããã¯ãä¿åãããŠãããã¹ã¿ãŒããŒãã«å°ããç¹å®ã®ãããã¯ãä¿åããŠãããã·ã³ãæããŠãããŸãããã§ã«ã¯ã©ã¹ã¿ãŒãã·ã³ããçŽæ¥èªã¿èŸŒãã§ããŸãã
èšé²ã«ã€ããŠãåãããšãè¡ããŸãããã¹ã¿ãŒããŒãã«ãã©ãã«ãã©ã®ç¹å®ã®ãããã¯ã«ãã©ã®ç¹å®ã®ãã·ã³ã«æžã蟌ã¿ãè¡ãããå°ããããã«çŽæ¥èšé²ããŸãã
ãŸããä¿¡é Œæ§ã確ä¿ããããã«ãåãŠãããã¯è€æ°ã®ãã·ã³ã®è€æ°ã®ã³ããŒã«ä¿åãããŸãã ããã«ãããããšãã°ã¯ã©ã¹ã¿ãŒå ã®ãã·ã³ã®10ïŒ ã«é害ãçºçããå Žåã§ããããããäœã倱ãããªãä¿¡é Œæ§ã確ä¿ãããŸãã ã€ãŸã ã¯ããããã€ãã®ãããã¯ã倱ãããŸããããããã®ãããã¯ã¯è€æ°ã®ã³ããŒã«æ ŒçŽãããŠãããããåã³èªã¿æžãã§ããŸã
æ§æ
ããšãã°ãåœç€Ÿã§äœ¿çšãããŠããå žåçãªæ§æã ããšãã°ãåœç€Ÿã§ã¯å€§éã®ããŒã¿ãä¿åããããã«70ãã©ãã€ãã§ãããå®æçã«åæããããã䜿ã£ãŠäœããè¡ããŸããçŽ40å°ã®ãã·ã³ã§ãåãã·ã³ã¯åŒ±ããµãŒããŒã§ããæ¥çãèŠããšã 16ã®ã¬ãã€ãã®RAMãŸãã¯8ã®ã¬ãã€ãããã©ãã€ãã®ãã©ã€ããRAIDãªããåãªãéåžžã®ãã©ã€ãã
ããã€ãã®Intel Xeonãäžè¬ã«ãããçš®ã®å®äŸ¡ãªãµãŒããŒã ãŸãããã®ãããªãµãŒããŒã¯40å°ãããããã«ãããæ°çŸãã©ãã€ããªã©ã®ããŒã¿éãä¿åã§ããŸãã
Mapreduce
ãã¹ãŠã®ãã¡ã€ã«ãåæ£ãã¡ã€ã«ã·ã¹ãã ã«ä¿åãããããåé¡ã¯ãããã®åŠçæ¹æ³ã§ãã ãã®ãããGoogleã¯MapReduceãšåŒã°ãããã©ãã€ã ãçºæããŸããã 圌女ã¯ããªãå¥åŠã«èŠããŸãã ããã¯ã3ã€ã®æäœã§ã®ããŒã¿åŠçã§ãââã
æåã®æäœ...ãããã€ãã®å ¥åããŒã¿ãããšãã°ããã€ãã®å ¥åã¬ã³ãŒãããããŸãã
MapãšåŒã°ããæåã®æäœã¯ãåå ¥åã¬ã³ãŒãã«å¯ŸããŠãããŒâå€ãã®ãã¢ãæäŸããŸãã ãã®åŸãå éšã§ã¯ããããã®ããŒãšå€ã®ãã¢ãã°ã«ãŒãåãããŸããåããŒã¯ããã¹ãŠã®å ¥åã¬ã³ãŒããåŠçãããšãã«ãããã€ãã®å€ãæã€ããšãã§ããŸãã ãããã¯ã°ã«ãŒãåãããReduceããã·ãŒãžã£ã«çºè¡ãããŸããReduceããã·ãŒãžã£ã¯ããŒãåãåããããã«å¿ããŠå€ã®ã»ãããåãåããæçµçã«æçµçµæãè¿ããŸãã
ãããã£ãŠãå ¥åã¬ã³ãŒãã®ã»ããããã§ã«ãããŸããããšãã°ããããã¯ãã°ãã¡ã€ã«ã®è¡ã§ãããåºåã¬ã³ãŒãã®ã»ãããååŸããŸãã
é¢æ°ããã°ã©ãã³ã°ã®ãããªé«åºŠã«ç¹æ®åããããã®ã®ããã«ãããã¯ãã¹ãŠå¥åŠã«èŠããŸããããããã©ã®ããã«åºãå®è·µã«é©çšããããã¯ããã«ã¯ããããŸããã
äŸ
å®éãäžè¬çãªæ £è¡ã§ã¯éåžžã«ããŸãé©çšã§ããŸãã
æãåçŽãªäŸã ç§ãã¡ãFacebookã®äŒç€Ÿã§ãããå€ãã®ããŒã¿ããããšããŸãã...ãŸãããã°ã¯Facebookã®ããŒãžã衚瀺ããŸãã ãããŠã䜿çšãããã©ãŠã¶ãèšç®ããå¿ èŠããããŸãã
MapReduceãã©ãã€ã ã䜿çšãããšããããè¡ãã®ã¯éåžžã«ç°¡åã§ãã
Mapæäœãå®çŸ©ããŸããããã¯ãã¢ã¯ã»ã¹ãã°ã®è¡ã«ãã£ãŠãããŒãšå€ãå®çŸ©ããŸããããã§ãããŒã¯ãã©ãŠã¶ãŒã§ãããå€ã¯1ã®ã¿ã§ãã
ãã®åŸãReduceæäœãè¡ãå¿ èŠããããŸããReduceæäœã¯ããã©ãŠã¶ãŒã®ã»ãããšãã®ã»ããã«åºã¥ããŠãåçŽã«åèšãè¡ããåºåã§åãã©ãŠã¶ãŒã«å¯ŸããŠåãåã£ãåèšãåºåããŸãã
ãã®MapReduceã¿ã¹ã¯ãã¯ã©ã¹ã¿ãŒã§å®è¡ããŸããæåã¯éåžžã«å€ãã®ãã°ãã¡ã€ã«ããããæåŸã«ã¯ãã©ãŠã¶ãŒããããããã«å¿ããŠã€ã³ãã¬ãã·ã§ã³ã®æ°ãå°ãªãå°ããªãã¡ã€ã«ããããŸãã ãã®æ¹æ³ã§çµ±èšãååŸããŸãã
å¹³è¡åºŠ
MapReduceãè¯ãã®ã¯ãªãã§ããïŒ
ãã®ãããªããã°ã©ã ã¯ãMapãèšå®ããReduceãèšå®ãããšãéåžžã«ãã䞊åããŸãã
äœããã®çš®é¡ã®å ¥åããããšããŸããããã¯å€§ããªãã¡ã€ã«ãŸãã¯ãã¡ã€ã«ã®ã»ããã§ãããã®ãã¡ã€ã«ã¯ãããšãã°ã¯ã©ã¹ã¿ãŒå ã®ãã·ã³ã®æ°ãªã©ã«ãã£ãŠãå€æ°ã®å°ããªæçã«åå²ã§ããŸãã ãããã£ãŠãMapé¢æ°ãå®è¡ããåããŒã¹ã§ãããã¯äžŠè¡ããŠå®è¡ã§ããã¯ã©ã¹ã¿ãŒã§ãã¹ãŠéå§ãããéãã«èšç®ãããåãããã®çµæãå éšã§ãœãŒããããReduceã«éä¿¡ãããŸãã
åãããšãããçš®ã®ãããã®çµæã倧éã®ããŒã¿ãããå Žåããã®ããŒã¿ãåã³æçã«åå²ããåã³ã¯ã©ã¹ã¿ãŒäžã§ãå€ãã®ãã·ã³äžã§å®è¡ã§ããŸãã
ããã«ãããã¹ã±ãŒã©ããªãã£ãå®çŸããŸãã 2åã®é床ã§ããŒã¿ãåŠçããå¿ èŠãããå Žåã2åã®ãã·ã³ãè¿œå ããã ãã§ãéã¯æ¯èŒçå®äŸ¡ã«ãªããŸããã ã¢ãŒããã¯ãã£ãå€æŽããããšãªãã2åã®çç£æ§ãåŸãããŸãã
Apache Hadoop
Apache Hadoop-ããã¯äœã§ããïŒ Googleããããã®èšäºãå ¬éããåŸã誰ããéåžžã«äŸ¿å©ãªãã©ãã€ã ã§ãããšå€æããŸãããç¹ã«ãApache Hadoopãããžã§ã¯ããçºçããŸããã 圌ãã¯ãåæ£ãã¡ã€ã«ã·ã¹ãã ãšMapReduceãã©ãã€ã ã«é¢ãããããã®èšäºã«æžãããŠããããšãããªãŒãã³ãœãŒã¹ã®Javaãããžã§ã¯ããšããŠå®è£ ããããšã決å®ããŸããã
2004幎ã«å§ãŸãã人ã ããªãŒãã³ãªæ€çŽ¢ãšã³ãžã³ã§ããNutchãäœæããããšèããŠããŸããããã®åŸã2005幎é ãApache Hadoopã¯åæ£ãã¡ã€ã«ã·ã¹ãã ãšMapReduceãã©ãã€ã ã®å®è£ ãšããŠãå¥ã®ãããžã§ã¯ããšããŠéç«ã£ãŠããŸããã åœåã¯éåžžã«å®å®ããŠããªãå°ããªãããžã§ã¯ãã§ãããã2006幎ã®ã©ããã§Yahooããããžã§ã¯ãã§Hadoopã䜿çšããããšãå§ãã2008ã2009幎ã«Yahooã¯æ€çŽ¢ããŸãã¯æ€çŽ¢ã§ã¯ãªãã€ã³ããã¯ã¹äœæãéå§ããŸããã Apache Hadoopãã©ãããã©ãŒã ããããŠçŸåšYahooã¯Apache Hadoopãã©ãããã©ãŒã ã䜿çšããŠã€ã³ã¿ãŒãããã®ã€ã³ããã¯ã¹ãäœæããŠããŸãã ã€ã³ããã¯ã¹ã¯åæ£ãã¡ã€ã«ã·ã¹ãã ã«ä¿åãããã€ã³ããã¯ã¹èªäœã®æ§ç¯ã¯äžé£ã®Map-Reduceã¿ã¹ã¯ãšããŠå®è¡ãããŸãã
ã¯ããç¹°ãè¿ããŸãããHadoopã¯æè¿ããŒã¿ãœãŒãã£ã³ã°ã³ã³ãã§åªåããŸãããäžéšã®äººã ã1ãã©ãã€ãã®ããŒã¿ãããéããœãŒãããããšãããšãã1TBãœãŒãã³ã³ãã¹ããããããŸãã Yahooã¯ã©ã¹ã¿ãŒã§å®è¡ãããApache Hadoopã«åºã¥ããŠæ§ç¯ãããã·ã¹ãã ãå®æçã«åã¡ãŸãã
Hadoopã¢ãžã¥ãŒã«
Hadoopã¯2ã€ã®ã¢ãžã¥ãŒã«ã§æ§æãããŠããŸãã ããã¯ãHDFSããã³MapReduceãšåŒã°ããåæ£ãã¡ã€ã«ã·ã¹ãã ãã©ãã€ã ã®å®è£ ã§ãã MapReduceãã¬ãŒã ã¯ãŒã¯ã®å®è£ ã
YahooïŒWebã°ã©ã
YahooãHadoopãã©ã®ããã«äœ¿çšããŠãããã®äŸãããã€ã瀺ããŸãã ããšãã°ãYahooã¯ã€ã³ã¿ãŒãããå šäœã®ã°ã©ããäœæããå¿ èŠããããŸãã ããŒãžãé ç¹ãšããŠäœ¿çšããŸããããããŒãžããå¥ã®ããŒãžãžã®ãªã³ã¯ãããå Žåãããã¯ã°ã©ãã®ãšããžã«ãªãããã®ãšããžã¯ãªã³ã¯ããã¹ãã§ããŒã¯ãããŸãã
ããšãã°ãYahooããããè¡ãæ¹æ³ã ããã¯ãMap-Reduceã·ãªãŒãºã®ã¿ã¹ã¯ããã§ããããŸãã ãŸããYahooã¯ã€ã³ããã¯ã¹äœæã«é¢å¿ã®ãããã¹ãŠã®ããŒãžãããŠã³ããŒãããåã³HDFSã«ä¿åããŸãã ãã®ãããªã°ã©ããäœæããã«ã¯ãmap-reduceã¿ã¹ã¯ãèµ·åãããŸãã
ããã§ãããããç§ãã¡ã¯ããŒãžãååŸãããªã³ã¯å ãèŠãŠãããŒãã¿ãŒã²ããURLãã€ãŸã ããŒãžãåç §ããå Žæãå€âSourceURLãã€ãŸã ãªã³ã¯å ãšãªã³ã¯ããã¹ãã
Reduceã¯ãããããã¹ãŠã®ãã¢ãååŸããã ãã§ãã ããŒãååŸããŸããããã¯TargetURLãšå€ã®ã»ãããã€ãŸã SourceURLãšããã¹ãã®ã»ããã¯äœããã®ãã£ã«ã¿ãŒåŠçãè¡ããŸããæããã«ãã€ã³ããã¯ã¹ã«ç»é²ããããªãã¹ãã ãªã³ã¯ãããã€ãããããããã¯ãã¹ãŠTargetURLãSourceURLãããã¹ãã®åœ¢åŒã§è¿ãããŸãã
ãã®ãããªããŒãã«ã¯ãã€ã³ã¿ãŒãããå šäœã®ã°ã©ãã§ãã
Last.fm
ç¹°ãè¿ããŸãããLast.fmã§ã¯ãããããå€ãã®äººã䜿çšããŸããã䜿çšããªã人ã¯å°ã説æããŸãã ããã¯ãã®ãããªãµãŒãã¹ã§ããiTunesãŸãã¯WinAmpã«ãã©ã°ã€ã³ãé 眮ãããªã¢ã«ã¿ã€ã ã§last.fmã«èãããã®ãéä¿¡ããŸãããã®åŸãLast.fmã¯2ã€ã®ããšãè¡ããŸããããšãã°ãçŸãããã£ãŒããäœæããŸããã€ãŸã éå»7æ¥éãŸãã¯3ãæéãã©ã®ãã³ããèŽããããããªãã®æã¯äœã§ããããlast.fmã¯ããçš®ã®??? ããªããèããæ²ã®çµ±èšã«åºã¥ããã©ãžãªã圌ãã¯ããªãã«ä»ã®äœããããªãã«ãšã£ãŠæ°ãããŠé¢çœããã®ãããªããèå³ãæã£ãŠããããšã«ãªã£ãŠãããã®ããå§ãããŸãã 誰ããæ°ä»ããå Žåããããã®ãã£ãŒãã¯ããªã¢ã«ã¿ã€ã ã§æŽæ°ãããã1æ¥ã«1åãäžè¬çã«ããŸãã«èŠããŠããŸããã
å®éããããã®ãã£ãŒãã¯ãApache Hadoopãã©ãããã©ãŒã ã§åæ§ç¯ãããŠããŸãã æ§æãèããšãããã®ãããªèå¥åãæã€ãŠãŒã¶ãŒããã®ãããªã°ã«ãŒãã®æ§æãèããããšããè¡ããã°ãã¡ã€ã«ã«æžã蟌ãŸããŸãã ãã®åŸãMap-Reduceã¿ã¹ã¯ã¯1æ¥ã«1åèµ·åãããŸãã 圌女ã¯ã©ã®ããã«èŠããŸããïŒ
- å ¥åã¯ããããã®ãªã¹ãã³ã°ã®ãŸãã«ãã°ãã¡ã€ã«ã§ãã
- ãããã¯æ¬¡ã®ããã«ãªããŸã-ãã®ãã°ãã¡ã€ã«ãšãã®parsimãã1è¡ãååŸããããŒãšããŠããŠãŒã¶ãŒãšã°ã«ãŒããã®ãã¢ããå€ãšããŠ-1ãæå®ããŸãã
- ãããã£ãŠãããã¯ãã¹ãŠããŠãŒã¶ãŒãšã°ã«ãŒããã®ãã¢ã®åœ¢ã§ããŠãããã®åœ¢ã®å€ã§Reduceã«ãªãããã¹ãŠã®æåŸã«ããŠãŒã¶ãŒã°ã«ãŒããšåçåæ°ããšããŠãã¡ã€ã«ã«æžã蟌ãŸããŸãã
ãã®åŸãããŒãžã«ã¢ã¯ã»ã¹ãããšããã®ãã¡ã€ã«ã解æããããŠãŒã¶ãŒã«é¢é£ããã¬ã³ãŒãããããæåŸã®ã¹ã©ã€ãã«ãã®ãããªãã£ãŒããæãããŸãã
SQL
å®éãå€æ°ã®SQLã¯ãšãªã¯...ãšããŠç°¡åã«äžŠååã§ããMap-Reduceã¿ã¹ã¯ãšããŠç°¡åã«è¡šçŸã§ããŸãã ããšãã°ãæšæºSQLãå€ãã®èšè¿°ãå€ãã¯ããã䜿çšããŸã-ãã£ãŒã«ãã®ã»ãããf1ãf2ãsumãwhereãäœããã®æ¡ä»¶ãããã³ã°ã«ãŒãåã
ã€ãŸã ããã¯æšæºã®SQLã¯ãšãªã§ãããã¬ããŒããçµ±èšæ å ±ãäœæããå Žæã§å€ã䜿çšãããŸãã
ãã®ããããã®ãããªèŠæ±ã¯map-reduceãšããŠç°¡åã«äžŠååãããŸãã ããŒãã«ã®ä»£ããã«ãããŒã¿ã¹ãã¬ãŒãžãšããŠããã¹ããã¡ã€ã«ããããšããŸãã SQLã®ä»£ããã«ãmap-reduceããããŸãã ã¯ãšãªçµæã®ä»£ããã«ãããã¹ããã¡ã€ã«ããããŸãã
å®éãã©ã®ããã«æ©èœãããã
ãããããã»ã¹ã å ¥åãšããŠããã°ãã¡ã€ã«ã«è¡ããããåºåãšããŠãã®è¡ãããŒãšããŠè§£æããŸãããã®å Žåãã°ã«ãŒãåãã察象ã®ãã£ãŒã«ããå€ãšããŠéçŽãããã£ãŒã«ãã解æããŸãã aã®éãèæ ®ããŸãã
Reduceã¯ãå®éã«ã¯ãããã®ãã£ãŒã«ããããŒãšããŠãå€ãšããŠãéèšããäžé£ã®ãã£ãŒã«ããã€ãŸã ããã€ãã®A1ã.... Anãããã³åã«åèšãè¡ããŸãã
å®éãããã§ãã¹ãŠã§ãããã®ãããªmap-reduceããã·ãŒãžã£ãã¯ã©ã¹ã¿ãŒã«èšå®ãããã®ãªã¯ãšã¹ãã®çµæãåŸãŸããã
SQLïŒåå
å®éãå€ãã®SQLã¯ãšãªã䞊ååããããšãã§ããŸã...ãmap-reduceãžã§ãã®èŠ³ç¹ããè¡šçŸã§ããŸãã
GROUP BYãããå ŽåãGROUP BYãMapããã»ã¹ã®ããŒãšããŠäœ¿çšãããã£ãŒã«ããå®çŸ©ããŸãã
WHEREã¯ãMapããã»ã¹ã§ãã£ã«ã¿ãªã³ã°ããŠããã ãã§ãã
ç¹°ãè¿ããŸãããReduceã¹ããŒãžã§ãã¹ãŠã®éé¡ãAVGãããã³ãã®ä»ã®éèšé¢æ°ãèæ ®ããŸãã
HAVINGãJOINãªã©ã®æ¡ä»¶ã¯éåžžã«ç°¡åã«å®è£ ã§ããŸãã
SQLïŒããŒãã£ã·ã§ãã³ã°
ããŒãã£ã·ã§ãã³ã°ã«ã€ããŠå°ãã ãã®ããã«ããŒã¿ãåŠçãããšããããšãã°ãåãlast.fmã§ãããã®çµ±èšãäœæããããŒã¿ããã¡ã€ã«ã«ä¿åããŸãããã¹ãŠã®ãã¡ã€ã«ã§map-reduceãžã§ããå®è¡ãããšãé·ããŠééã£ãŠããŸãã
éåžžãããŒã¿ã®ããŒãã£ã·ã§ã³åå²ã¯ãããšãã°æ¥ä»ããšã«äœ¿çšãããŸãã ã€ãŸã 1ã€ã®ãã°ãã¡ã€ã«ã«ãã¹ãŠãä¿åããã®ã§ã¯ãªããæéãŸãã¯æ¥ããšã«åå²ããŸãã 次ã«ãMapReduceãžã§ãã®SQLã¯ãšãªãããããããšããæåã«å ¥åããŒã¿ã®ã»ããã...å®éã«ã¯ãã¡ã€ã«ããšã«å¶éããŸãã æçµæ¥ã®ããŒã¿ã«èå³ãããå Žåãæçµæ¥ã®ããŒã¿ã®ã¿ãååŸããŠãããmap-reduce-jobsãå®è¡ãããšããŸãã
Apacheãã€ã
å®éããã®ååã¯Apache Hiveãããžã§ã¯ãã«å®è£ ãããŠãããHadoopã«åºã¥ããŠæ§ç¯ããããã¬ãŒã ã¯ãŒã¯ã§ãã
ãŠãŒã¶ãŒã®èŠ³ç¹ããèŠããšãã©ã®ããã«èŠããŸããïŒ SQLã¯ãšãªãèŠæ±ããããŒã¿ã®å Žæãç¹å®ããŸãããã®åŸããã®ãã¬ãŒã ã¯ãŒã¯ã¯ããã®SQLã¯ãšãªãmap-reduceã¿ã¹ã¯ã®åœ¢åŒã§ã1ã€ãŸãã¯å šäœã®ã·ãŒã±ã³ã¹ã®åœ¢åŒã§è¡šçŸããããããèµ·åããŸãã
ã€ãŸã å ¥åããŒã¿ã®ã»ããã決å®ããSQLã¯ãšãªãèšå®ããäœããã®çš®é¡ã®ããŒãã«ãååŸããŸããã
ã¢ãããè±
2çªç®ã®ãã¬ãŒã ã¯ãŒã¯ã§ããApache Pigã¯åãã§ããããããããåãåé¡ã解決ããŸãã ã³ãŒããèšè¿°ããããšãªãããŠãŒã¶ãŒãã¬ã³ããªãŒãªmap-reduceãžã§ãã®äœæã
ãã®ETLèšèªã§ãå¿ èŠãªã·ãŒã±ã³ã¹ãããŒãå ãããŒã¿ã®ãã£ã«ã¿ãªã³ã°æ¹æ³ãé¢å¿ã®ããåãèŠæ±ããããããã¹ãŠãmap-reduceãžã§ãã«å€æãããŸãã
é©çšåé
å³å¯ã«èšãã°ãã¹ã³ãŒãããã®Hadoopãªã©ãã¹ãŠã®ãã®ã§ãã
Hadoopã¯ãçµ±èšã¢ãã«ã®æ§ç¯ãããã³äžè¬çãªããŒã¿åæã«éåžžã«ãã䜿çšãããŸãã
å€ãã®ãã°ãã¡ã€ã«ãããå Žåãäœããã®çžé¢é¢ä¿ããŠãŒã¶ãŒãã©ã®ããã«åäœããããHadoopã®å©ããåããŠãã®ãããªã¿ã¹ã¯ãããããéåžžã«ãã解決ãããããšãèŠã€ããããšæããŸããã¬ããŒãã¯åã³åãLast.fmã§ãã 倧éã®ããŒã¿ããããäœããã®ã¬ããŒããäœæããå¿ èŠãããå Žåããªã¢ã«ã¿ã€ã ã¯å¿ èŠãããŸããã1æ¥1åããŸãã¯æ°æé以å ã«ãã¹ãŠãæŽæ°ããæºåãæŽã£ãŠããŸãã
é·æ
ãã®ã¢ãããŒãããã®ãã©ãããã©ãŒã ã®å©ç¹ã éåžžã«åªããã¹ã ãŒãºãªã¹ã±ãŒã©ããªãã£ã ã€ãŸã 2åã®ããŒã¿ãåŠçããå¿ èŠãããå ŽåããŸãã¯2åã®ããŒã¿ãä¿åããå¿ èŠãããå Žåã¯ãã¯ã©ã¹ã¿ãŒã«2åã®ãã·ã³ãè¿œå ããã ãã§ãã ã€ãŸã æ£ç¢ºã«2åã§ã¯ãªããã»ãŒ2åã§ãã
ãŒãã³ã¹ãã®ãœãããŠã§ã¢ã ããã«ã¯å€§éã®ããŒã¿ããããOracleã«ã¢ã¯ã»ã¹ããŠOracleã®ã¯ã©ã¹ã¿ãŒãæ°çŸäžãã«ã§è³Œå ¥ã§ããŸããå€ãã®ã³ã³ãµã«ã¿ã³ããããã§ããããã«ãããã¯ãã¹ãŠã®äŒæ¥ãç¹ã«ã¹ã¿ãŒãã¢ããã«ã¯é©ããŠããŸããã ããçš®ã®æ°ãããœãŒã·ã£ã«ãããã¯ãŒã¯ã¯ããããŸããããæ°çŸäžãOracleã«è²»ããäœè£ããªãã ãã§ãã Hadoopãè³Œå ¥ããäœè£ããããã¯ã©ã¹ã¿ãŒã䜿çšããŠãããŒã¿ãåæããã³ä¿åããããã®ã·ã¹ãã ãšããŠãªãŒãã³ãœãŒã¹ã®Hadoopã䜿çšã§ããŸãã
Hadoopã¯ãç 究ã¿ã¹ã¯ã«ã䟿å©ã§ãã ããšãã°ãããªãã¯ç 究è ã§ããããŠãŒã¶ãŒã®è¡åãšFacebookäžã®äœãããœãŒã·ã£ã«ãããã¯ãŒã¯äžã®ä»ã®å Žæãå€ãã®ãã¡ã€ã«ããããhadoopã¯Amazonã®ãªã³ããã³ããµãŒãã¹ãšããŠå©çšå¯èœã§ãã
ã€ãŸã èªå® ã§äœããæžããŠãããŒã«ã«ã§ãããã°ããŠããOKããšèšããŸããä»ã100å°ã®ãã·ã³ã®ã¯ã©ã¹ã¿ãŒã2æéå¿ èŠã§ããããã«Amazonã100å°ã®ãã·ã³ã®ã¯ã©ã¹ã¿ãŒãæ瀺ããŸããã«ãªããŸãã
Amazonã§1æéã«100å°ã®è»ã¯æ¯èŒçå®ããèªå® ã«ã¯ã©ã¹ã¿ãŒãä¿ç®¡ãããããå®ããªã£ãŠããŸãã ç 究ã«ã¯ãããã¯ååã«äŸ¿å©ã§ããé±ã«äžåºŠããããã¹ãŠå¿ èŠãšãããšããæå³ã§ãã¯ã©ã¹ã¿ãŒãèªåã§ä¿åããå¿ èŠã¯ãªããAmazonã«æ³šæã§ããŸãã
èŽè¡ããïŒæ°åã®é åºã¯ãããã§ããïŒ
1æé...ãŸããããã¯çŽ100ãã«ã§ãã æ£çŽãªãšãããAmazonã®äŸ¡æ Œã¯èŠããŠããŸããããããªãå®ããæé ãªäŸ¡æ Œã§ãã
èŽè¡ããïŒ1æéããã50ã»ã³ã...
ã¯ãããã ããHadoopã«ã¯ããå€ãã®ã€ã³ã¹ã¿ã³ã¹ãå¿ èŠã§ããããããããã倧ããªã¯ã©ã¹ã¿ãŒãå¿ èŠã§ãã ããã¯ãã®ãããªæ³šæã§ããã倧ããªã¿ã¹ã¯ã§ããã°ãããã¯1æéã§ã¯ãªã10æéã§ãããããã§ãæ°çŸãã«ãã€ãŸã ããŸã倧ãããªããã®ã«ã€ããŠ
çæ
ãããŠãHadoopã®æ¬ é¥ã¯äœã§ããïŒ
ãŸããããã¯ããªãé«ããµããŒãã³ã¹ãã§ãã å€ãã®ãã·ã³ããHadoopã¯ã©ã¹ã¿ãŒã䜿çšããŠããå ŽåãHadoopã¢ãŒããã¯ãã£ããã®ä»çµã¿ãããã³ããããã¹ãŠããµããŒãããã¹ããŒãã·ã¹ãã 管çè ãèŠã€ããå¿ èŠããããŸãã ã€ãŸã ããã¯æ¬åœã«ç°¡åã§ã¯ãããŸãããæ¬åœã«æéãããããŸãã
ããã¯ãç£æ¥çšã®é«äŸ¡ãªã¹ãã¬ãŒãžæœèšãšã¯ç°ãªããæ°ããããŒã¿åŠçããã»ã¹ã®ã³ã¹ããéåžžã«é«ããªããŸãã ã€ãŸã äœããã®OracleãŸãã¯ãã®ã¹ã¿ã€ã«ã®é¡äŒŒåãè³Œå ¥ããå ŽåãååãšããŠãSQLã¯ãšãªã®ã¿ãèšè¿°ããŠçµæãåŸãããžãã¹ã¢ããªã¹ããéãã ãã§ååã§ãã ãã®å Žåãããã¯Hadoopã§ã¯æ©èœããŸãããããžãã¹ã®éšåãèãåºã人ã ãå¿ èŠãªããŒã¿ã®çš®é¡ãããã³ãããã®map-reduceãžã§ããäœæããJavaéçºè ã®ããŒã ãå¿ èŠã«ãªããŸãã
ããŒã ã¯ããã»ã©å€§ããã¯ãããŸããããããã§ããªãè²»çšãããããéçºè ã¯éåžžã«é«äŸ¡ã§ãã
ç¹°ãè¿ããŸãããåé¡ã¯ãªã¢ã«ã¿ã€ã ã«ãããŸãã Hadoopã¯ãªã¢ã«ã¿ã€ã ã·ã¹ãã ã§ã¯ãããŸããã äžéšã®ããŒã¿ãåä¿¡ãããå ŽåããŠãŒã¶ãŒããµã€ãã«ã¢ã¯ã»ã¹ãããšãã«map-reduceãžã§ããå®è¡ã§ããããã«ããŒã¿ãæ©èœããŸããã ããã¯ã°ã©ãŠã³ãã§å°ãªããšã1æéã«1åããŒã¿ãæŽæ°ãããŠãŒã¶ãŒãæ¢ã«èšç®ãããããŒã¿ã衚瀺ããããã«ããå¿ èŠããããŸãã
ãªã¢ã«ã¿ã€ã ïŒ
real-timã§ã¯ãåé¡ã¯æ¯èŒç解決å¯èœã§ãã ããšãã°ãåœç€Ÿã§ã®æ±ºå®æ¹æ³ã ä¿æããŠããå šããŒã¿ã«ãªã¢ã«ã¿ã€ã ã§ã¢ã¯ã»ã¹ããå¿ èŠã¯ãããŸãããmap-reduceãžã§ããå®è¡ããéåžžã«äŸ¡å€ããããªãã劥åœãªãµã€ãºã®çµæãååŸããSQLããŒã¿ããŒã¹ã«ä¿åããŸãããã ããã¡ã¢ãªå ã®MemCacheã§ã¯ããã®ããŒã¿ã倧éã«ããå Žåã¯æ©èœããŸããã
ã ããä»...ãŸã æéãæ®ã£ãŠããŸããïŒ
æ®ã10åãªã®ã§ãåæåã®ããŒã¿ããŒã¹ã«ã€ããŠèª¬æããŸããããã¯ããªã¢ã«ã¿ã€ã ã¢ã¯ã»ã¹ãå¿ èŠãªå€§éã®ããŒã¿ãä¿åããæ¹æ³ã§ããããŸãã
åæåããŒã¿ããŒã¹
ã©ã®ããã«æ©èœããŸããïŒ SQLã®äžè¬çãªåé¡ã¯äœã§ããïŒ SQLã§ã¯ãMySQLã§ã¯ãããšãã°æ°ãã©ãã€ãã§ããªã¥ãŒã ãä¿åããããšã¯ã§ããŸããããã®ãããªããŒãã«ã¯åã«æ©èœãããããŒã¿ãåä¿¡ã§ããŸããã
SQLã«é¢ãããã®ä»ã®åé¡ãããšãã°ALTER TABLEãªã©ã®ã¹ããŒããå€æŽããå Žåã倧ããªããŒãã«ã«ããã€ãã®åãè¿œå ããã®ã¯é·ããŠåé¡ããããŸãã ããã¯éåžžã«åé¡ãå€ããå¿ èŠãªããšããæ§é åããŒã¿ãä¿åããå¿ èŠããªããšããå¶éãåé€ãããšã... SQLæ©èœãæ§é åããŒã¿ãªããžããªãšããŠäœ¿çšããªãã§ããªã¬ãŒã·ã§ãã«ã䜿çšããªãã§ããããã«å¹ççãªæ§é ã§ããŒã¿ãä¿åã§ããŸããçŽ æŽãããããã©ãŒãã³ã¹ãåŸãŠããŸãã
ããã¯ãåæåããŒã¿ããŒã¹ãšåŒã°ãããããã«ç°ãªãã¢ãããŒãã§ãã
ããã°ããŒãã«
ããã¯Googleã«ãã£ãŠå°å ¥ããããã®ã§ãä»ã§ã䜿çšãããŠããŸããç§ã®èšæ¶ã圹ç«ã£ãå Žåãããã¯2004幎ã«å ¬éãããèšäºãBigTableãã§ãã
å®éãBigTableãšã¯äœã§ããïŒ
ããã€ãã®ååã«åºã¥ããŠããŸãã
ããŒãã«ã®ãã£ãŒã«ãã«ããã€ã³ããã¯ã¹ä»ãããããªã¬ãŒã·ã§ãã«ãæåŠããæåã®ååã¯ãæ€çŽ¢ãããã£ãŒã«ãã1ã€ã ãã§ãrowkeyãšåŒã°ãããã®ã§ãã¢ããã°ã¯ããŒãã«ã®äž»ããŒã§ãã
ä»ã®ãã¹ãŠã®ãã£ãŒã«ãã«ã€ã³ããã¯ã¹ãä»ããããæ€çŽ¢ããããæ§é åãããããããšã¯ãããŸããã2çªç®ã®ååã¯ãããŒãã«ãåºãããšã§ãã ã©ããªããŒã¿åã§ãããã€ã§ãåãè¿œå ã§ããŸããããã¯å®ããŠè¯ãã¯ãã§ãã
BigTableã®äŸ
ããã䜿çšããå Žåã®äŸãæããŸãããã ãµã€ãã®ãŠãŒã¶ãŒã«é¢ããããŒã¿ãä¿åãããã Googleã®å Žåããµã€ãã«ã¢ã¯ã»ã¹ããŠãããã€ãã®ã¢ã¯ã·ã§ã³ãå®è¡ããŸãããããã€ãã®ãªã¯ãšã¹ããè¡ããäœããèŠãŠãããã€ãã®åºåãèŠãŠãããã¯å¿åãŠãŒã¶ãŒã§ãã ãã®åé¡ã¯ã©ã®ããã«è§£æ±ºãããŸããïŒ å€ãã®äººã ã¯ããŠãŒã¶ãŒã«é¢ããæ å ±ã圌ãããããšã圌ãèŠãããŒãžã圌ãèŠãåºåã圌ãã¯ãªãã¯ãããã®ã«ã¯ãããŒã«é¢ããæ å ±ãä¿åããŸãã ãã®ã¢ãããŒãã«ã¯å€§ããªåé¡ããããŸã-Cookieã®ãµã€ãºã¯éåžžã«éãããŠãããããå æã®ãŠãŒã¶ãŒã¢ã¯ã·ã§ã³ã®å±¥æŽãæžãçããããšã¯ã§ããŸãããæ©èœããŸãããå ŽæããããŸããã ãã®åé¡ã¯BigTableã§ã©ã®ããã«è§£æ±ºã§ããŸããïŒ
BigTableã®ãããªã¹ãã¢ãããå ŽåãCookieã«ãã©ã¡ãŒã¿ãŒïŒäžæã®ãŠãŒã¶ãŒIDïŒã®ã¿ãä¿åã§ããŸãã BigTableã§ã¯ãUserUIDãããŒãã«ã®ã¡ã€ã³ããŒãšããŠä¿åãã蚪åå±¥æŽãåºåã®ã¯ãªãã¯ããªã³ã¯ã®ã¯ãªãã¯ãªã©ãèå³ã®ããå€ãã®ãã£ãŒã«ããä¿åããŸãã
ããã¯ã©ãã§ããïŒ æ®ãã®ãã£ãŒã«ãã§äœããæ¢ãå¿ èŠããªãããšã¯æããã§ãã é©åãªåºåã衚瀺ããããã«ãŠãŒã¶ãŒã«é¢ããæ å ±ãç¥ãããå Žåã¯ãUserIDã§æ å ±ãæ€çŽ¢ããã ãã§æžã¿ãŸãã
ãŸããããžãã¹ã¯å€åããå¯èœæ§ããããããå€ãã®ç°ãªããã£ãŒã«ããè¿œå ã§ããå®äŸ¡ã§åªããŠããããšãè¯ãããšã§ãã å®éã«ã¯ãrowkeyã®ãããªBigTableãuserIDãããã³ããŒãã«ã®ãããªä»ã®ãã¹ãŠã®ããŒã¿ã䜿çšãããšéåžžã«äŸ¿å©ã§ãã
BigTableïŒãã¶ã€ã³
ã©ã®ããã«æ©èœããŸããïŒ BigTableã®ãããªã¢ãããŒãã§ãããå€æ°ã®ã³ã³ãã¥ãŒã¿ãŒã«éåžžã«ããŸã察å¿ããŸãã ã€ãŸã åã®äŸã§åŒçšããããã«ãè¡ããŒãããããŠãŒã¶ãŒIDãªã©ã®è¡ããŒã®ã¿ã§æ€çŽ¢ããå Žåããã®ãŠãŒã¶ãŒã§ãã¹ãŠã®ããŒã¿ã䞊ã¹æ¿ãããã®ããŒã¿ã®ç°ãªãç¯å²ãç°ãªããµãŒããŒã«ä¿åã§ããŸãã ã€ãŸã ãªã¯ãšã¹ãã¯ã©ã®ããã«ããã®ãŠãŒã¶ãŒIDã«é¢ãããã¹ãŠã®æ å ±ãååŸããŸããïŒã ãã¹ã¿ãŒããŒãã¯ãã©ã®ç¯å²ãã©ã®ãµãŒããŒã«ä¿åãããŠãããã«é¢ããæ å ±ãä¿åããŸãããŸããèå³ã®ããããŒã¿ãä¿åãããŠãããã¹ã¿ãŒããŒãã§ã次ã«ãã®ããŒãã«çŽæ¥ã¢ã¯ã»ã¹ããŠãããããããŒã¿ãèªã¿åããŸãã
ç¹°ãè¿ããŸããã2åã®ããŒã¿â2åã®ãã·ã³ãè³Œå ¥ããã¹ãã¬ãŒãžããããã«åæ§ç¯ããŸããããåæ§ç¯ã¯ããŸããã§ããããã¢ã¯ã»ã¹ãå¯èœã«ããã·ã¹ãã ãã€ãŸãã2åã®ããŒã¿ãä¿åã§ããŸãã
Hbase
Apache Hadoopã®äžéšãšããŠéçºãããŠãããã®BigTableãã©ãã€ã ã¯ã HBaseãšåŒã°ãããããžã§ã¯ããå®è£ ããŠããŸãã
Hadoop Distributed File System, , Hadoop-, , - map-reduce job, - , , .. Reduce . Reduce , , HBase, , Hadoop, .
HBase:
, . , , â 16 8 , , 10 RPM, - Intel Xeon, .
, , 3-5 ⊠300 , - 18 , ââ , - 10 . - MySQL . HBase .
HBase:
HBase, , BigTable ? , .. . , , join-, WHERE, , , , .
, HBase , , , , , , , .
Hadoop:
, , map-reduce , research, , , HBase BigTableâŠ, , HBase-, , , , - , , , , , , , .
HBase , , , , . , , .⊠⊠( ).
, â , (. ) .