Ö÷Á÷µÄ´óÊý¾Ý»ù±¾¶¼ÊÇMapReduceµÄÑÜÉú£¬È»¶ø°ÑÄ¿¹â¾Û½¹µ½ÊµÊ±ÉϾͻᷢÏÖ£ºMapReuceµÄ¾ÖÏÞÐÔÒѾ½¥½¥¸¡ÏÖ¡£ÏÂÃæ½«ÌÖÂÛÒ»ÏÂ×Ô´óÊý¾Ý¿ªÊ¼£¬Google¹«²¼µÄ´óÊý¾ÝÏà¹Ø¼¼Êõ£¬ÒÔ¼°ÕâЩ¼¼ÊõµÄÏÖ×´¡£
MapReuce¡¢Google File SystemÒÔ¼°Bigtable£º´óÊý¾ÝËã·¨µÄÆðÔ´
°´Ê±¼äËãµÚһƪµÄÂÛÎÄÓ¦¸Ã2003Ä깫²¼µÄ Google File System£¬ÕâÊÇÒ»¸ö·Ö²¼Ê½Îļþϵͳ¡£´Ó¸ù±¾ÉÏ˵£ºÎļþ±»·Ö¸î³ÉºÜ¶à¿é£¬Ê¹ÓÃÈßÓàµÄ·½Ê½´¢´æÓÚÉÌÓûúÆ÷¼¯ÈºÉÏ£»ÕâÀï²»µÃ²»Ëµ»ù±¾ÉÏGoogleÿƪÂÛÎͼÊ**ØÓÚ¡°ÉÌÓûúÐÍ¡±¡£
½ôËæÆäºóµÄ¾ÍÊÇ2004Äê±»¹«²¼µÄ MapReduce£¬¶ø½ñMapReuce»ù±¾ÉÏÒѾ´ú±íÁË´óÊý¾Ý¡£´«ËµÖУ¬GoogleʹÓÃËü¼ÆËãËûÃǵÄËÑË÷Ë÷Òý¡£¶øMikio L. BraunÈÏΪÆä¹¤×÷ģʽӦ¸ÃÊÇ£ºGoogle°ÑËùÓÐץȡµÄÒ³Ãæ¶¼·ÅÖÃÓÚËûÃǵļ¯ÈºÉÏ£¬²¢ÇÒÿÌ춼ʹÓÃMapReduceÀ´ÖØËã¡£
Bigtable·¢²¼ÓÚ2006Ä꣬Æô·¢ÁËÎÞÊýµÄNoSQLÊý¾Ý¿â£¬±ÈÈ磺Cassandra¡¢HBaseµÈµÈ¡£Cassandra¼Ü¹¹ÖÐÓÐÒ»°ëÊÇÄ£·ÂBigtable£¬°üÀ¨ÁËÊý¾ÝÄ£ÐÍ¡¢SSTablesÒÔ¼°ÌáǰдÈÕÖ¾£¨ÁíÒ»°ëÊÇÄ£·ÂAmazonµÄDynamoÊý¾Ý¿â£¬Ê¹Óõã¶Ôµã¼¯ÈºÄ£Ê½£©¡£
Percolator£º´¦Àí¸öÌåÐÞ¸Ä
Google²¢Ã»ÓÐÖ¹²½ÓÚMapReduce¡£ÊÂʵÉÏ£¬Ëæ×ÅInternetµÄÖ¸ÊýÔö³¤£¬´ÓÁã¿ªÊ¼ÖØËãËùÓÐËÑË÷Ë÷Òý±äµÃ²»ÇÐʵ¼Ê¡£È¡¶ø´úÖ®£¬Google¿ª·¢ÁËÒ»¸ö¸üÓмÛÖµµÄϵͳ£¬Í¬ÑùÖ§³Ö·Ö²¼Ê½¼ÆËã¡£
ÕâÒ²ÊÇÆäÓÐȤµÄµØ·½£¬ÌرðÊÇÔڶԱȳ£¼ûµÄÖ÷Á÷´óÊý¾ÝÖ®ºó¡£¾Ù¸öÀý×Ó£¬PercolatorÒýÈëÁËÊÂÎñ£¬¶øÒ»Ð©NoSQLÊý¾Ý¿âÈÔÈ»ÔÚÇ¿µ÷µÃµ½¸ßÀ©Õ¹ÐÔµÄͬʱÄã±ØÐëÎþÉü£¨»òÕß²»ÔÙÐèÒª£©ÊÂÎñ´¦Àí¡£
ÔÚ2010ÄêÕâÆª PercolatorµÄÂÛÎÄÖУ¬GoogleչʾÁËÆäÍøÂçËÑË÷ÊÇÈçºÎ±£³Ö×ÅÓëʱ¾ã½ø¡£Percolator½¨Á¢ÓÚÒÑ´æÀàËÆBigtableµÄ¼¼Êõ£¬µ«ÊǼÓÈëÁËÊÂÎñÒÔ¼°ÐкͱíÉϵÄËøºÍ±í±ä»¯µÄ֪ͨ¡£ÕâЩ֪֮ͨºó»á±»ÓÃÓÚ´¥·¢²»Í¬½×¶ÎµÄ¼ÆË㡣ͨ¹ýÕâÑùµÄ·½Ê½£¬¸öÌåµÄ¸üоͿÉÒÔ¡°ÉøÍ¸¡±Õû¸öÊý¾Ý¿â¡£
ÕâÖÖ·½·¨»áÈÃÈËÁªÏëµ½ÀàËÆStorm£¨»òÕßÊÇYahooµÄS4£©µÄÁ÷´¦Àí¿ò¼Ü£¨SPF£©£¬È»¶øPercolatorÄÚÔÚÊÇÒÔÊý¾Ý×÷Ϊ»ù´¡¡£SPFʹÓõÄÒ»°ãÊÇÏûÏ¢´«µÝ¶ø²»ÊÇÊý¾Ý¹²Ïí£¬ÕâÑùµÄ»°¸üÈÝÒ×ÍÆ²â³ö¾¿¾¹ÊÇ·¢ÉúÁËʲô¡£È»¶øÎÊÌâÒ²ËæÖ®²úÉú£º³ý·ÇÄãÊÖ¶¯µÄÔÚij¸öÖÕ¶ËÉÏ´¢´æ£¬·ñÔòÄ㽫ÎÞ·¨·ÃÎʼÆËãµÄ½á¹û¡£
Pregel£º¿ÉÀ©Õ¹µÄͼ¼ÆËã
×îÖÕGoogle»¹ÐèÒªÍÚ¾òͼÊý¾Ý£¬±ÈÈçÔÚÏßÉç½»ÍøÂçµÄÉ罻ͼÆ×£»ËùÒÔËûÃÇ¿ª·¢ÁË Pregel£¬²¢ÔÚ2010Ä깫²¼ÆäÂÛÎÄ¡£
PregelÄÚÔڵļÆËãÄ£ÐͱÈMapReduce¸´ÔӵĶࣺ»ù±¾ÉÏÿ¸ö½Úµã¶¼ÓµÓÐÒ»¸ö¹¤×÷ÕßỊ̈߳¬²¢ÇÒ¶ÔÖڶ๤×÷ÕßÏ߳̽øÐеü´ú²¢ÐС£ÔÚÿһ¸öËùνµÄ¡°superstep¡±ÖУ¬Ã¿Ò»¸ö¹¤×÷ÕßÏ̶߳¼¿ÉÒÔ´Ó½ÚµãµÄ¡°ÊÕ¼þ¼Ð¡±ÖжÁÈ¡ÏûÏ¢ºÍ°ÑÏûÏ¢·¢Ë͸øÆäËü½Úµã£¬ÉèÖúͶÁÈ¡½ÚµãÏà¹ØÖµÒÔ¼°±ß½ç£¬»òÕßͶƱֹͣ¡£Ï̻߳áÒ»Ö±ÔËÐУ¬Ö±µ½ËùÓеĽڵ㶼±»Í¶Æ±Í£Ö¹¡£´ËÍ⣬»¹ÓµÓÐAggregatorºÍCombiner×öÈ«¾Öͳ¼Æ¡£
ÂÛÎijÂÊöÁËÐí¶àËã·¨µÄʵÏÖ£¬±ÈÈçGoogleµÄPageRank¡¢×î¶Ì·¾¶¡¢¶þ·ÖͼƥÅäµÈ¡£Mikio L. BraunÈÏΪ£¬¶Ô±ÈMapReduce»òSPF£¬PregelÐèÒª¸ü¶àʵÏÖµÄÔÙ˼¿¼¡£
Dremel£ºÔÚÏß¿ÉÊÓ»¯
ÔÚ2010Ä꣬Google»¹¹«²¼ÁË DremelÂÛÎÄ¡£Ò»¸öΪ½á¹¹»¯Êý¾ÝÉè¼Æ£¬²¢ÓµÓÐÀàSQLÓïÑԵĽ»»¥Ê½Êý¾Ý¿â¡£È»¶øÈ¡´úSQLÊý¾Ý¿âʹÓÃ×Ö¶ÎÌî²¹µÄ±í¸ñ£¬DremelÖÐʹÓõÄÊÇÀàJSON¸ñʽÊý¾Ý£¨¸ü׼ȷµÄ˵£¬Ê¹ÓÃGoogle Protocol buffer¸ñʽ£¬Õ⽫¼ÓÇ¿¶ÔÔÊÐí×ֶεÄÏÞÖÆ£©¡£ÄÚ²¿£¬Êý¾Ý±»Ê¹ÓÃÌØÊâ¸ñʽ´¢´æ£¬¿ÉÒÔÈÃÊý¾ÝɨÃ蹤×÷À´µÄ¸ü¸ßЧ¡£²éѯ±»ËÍÍù·þÎñÆ÷£¬¶øÓÅÐãµÄ¸ñʽ¿ÉÒÔ×î´óÐÔÄܵÄÊä³ö½á¹û¡£
Spanner£ºÈ«Çò·Ö²¼

×îºó Spanner¡ª¡ª È«Çò·Ö²¼Ê½Êý¾Ý¿â£»GoogleÔÚ2009ÄêÌá³öÁËSpannerÔ¶¾°¼Æ»®£¬²¢ÔÚ2012Äê¶ÔÍ⹫²¼SpannerÂÛÎÄ¡£SpannerµÄ¹«²¼¿ÉÒÔ˵ÊÇGoogleÏò´óÊý¾Ý¼¼ÊõÖÐÌíµÄÓÖÒ»°Ñ»ð£¬Spanner¾ßÓиßÀ©Õ¹ÐÔ¡¢¶à°æ±¾¡¢È«Çò¼¶·Ö²¼ÒÔ¼°Í¬²½¸´ÖƵÈÌØÐÔ¡£
¿çÊý¾ÝÖÐÐĵĸßÀ©Õ¹ÐÔ¼°È«Çò·Ö²¼»á¶ÔÒ»ÖÂÐÔ±£ÕÏÌá³ö¿Á¿ÌµÄÐèÇó ¡ª¡ª ¶ÁдµÄÍⲿһÖÂÐԺͻùÓÚʱ¼ä´ÁµÄÈ«¾Ö¶ÁÒ»ÖÂÐÔ¡£ÎªÁ˱£ÕÏÕâÒ»µã£¬GoogleÒýÈëÁËTrueTime API¡£TureTime API¿ÉÒÔͬ²½È«ÇòµÄʱ¼ä£¬ÓµÓÐÒ»¸öTT.now£¨£©µÄ·½·¨£¬½«»ñµÃÒ»¸ö¾ø¶Ôʱ¼ä£¬Í¬Ê±»¹Äܵõ½Ê±¼äÎó²î¡£ÎªÁ˱£Ö¤ÍòÎÞһʧ£¬TrueTime API¾ßÓÐGPSºÍÔ×ÓÖÓË«±£ÏÕ¡£Ò²Ö»ÓÐÕâÑùµÄ»úÖÆ²ÅÄÜÈÃÈ«Çò·¶Î§ÄڵIJ¢·¢´¦ÀíµÃµ½±£ÕÏ¡£
´óÊý¾Ý³¬Ô½MapReduce
Google²¢Ã»ÓÐÖ¹²½ÓÚMapReduce£¬ËûÃÇÔÚMapReduce²»ÊÊÓõĵط½¿ª·¢Ð·½·¨£»µ±È»£¬¶ÔÓÚ´óÊý¾ÝÁìÓòÀ´ËµÕâÊǸö¸£Òô¡£MapReduce²»ÊÇÍòÄܵ컵±È»£¬Äã¿ÉÒÔ¸üÉîÈëÒ»²½£¬±ÈÈç˵½«´ÅÅÌÊý¾ÝÒÆÈëÄڴ棬Ȼ¶øÍ¬Ñù»¹´æÔÚһЩÈÎÎñµÄÄÚ²¿½á¹¹²¢²»ÊÇMapReduce¿ÉÒÔÀ©Õ¹µÄ¡£
ÔÚGoogle˼·ÒÔ¼°ÂÛÎĵįô·¢Ï£¬Í¬ÑùÓ¿ÏÖ³öһЩ¿ªÔ´ÏîÄ¿£¬±ÈÈ磺Apache Drill¡¢Apache Giraph¡¢Ë¹Ì¹¸£GPSµÈµÈ¡£
Google½üÄêÀ´Ã¿ÆªÂÛÎͼÓÐ×ÅÉîÔ¶µÄÓ°Ï죬ͬʱ´óÊý¾ÝÁìÓòÄÚÓкܶàÈ˱ØÈ»ÔÚÇÌÊ×ÒÔÅÎGoogleµÄÏÂһƪÂÛÎÄ¡£
http://www.csdn.net/article/2013-02-28/2814298-google-bigdata-papers