ÔØÈëÖС£¡£¡£ 'S bLog
 
ÔØÈëÖС£¡£¡£
 
ÔØÈëÖС£¡£¡£
ÔØÈëÖС£¡£¡£
ÔØÈëÖС£¡£¡£
ÔØÈëÖС£¡£¡£
ÔØÈëÖС£¡£¡£
 
ÌîдÄúµÄÓʼþµØÖ·£¬¶©ÔÄÎÒÃǵľ«²ÊÄÚÈÝ£º


 
¼¼ÊõÁìÓò¡ªº£Á¿´æ´¢¼ÆËã
[ 2011/3/15 19:44:00 | By: ÃÎÏè¶ù ]
 

PB ʱ´úµÄÀ´ÁÙ

Petabyte £¬2 µÄ50 ´Î·½¸ö×Ö½Ú¡£Õâ¸ö¶ÔºÜ¶àÈË»¹ÊǺÜİÉúµÄ¼ÆÁ¿µ¥Î»£¬ÒѾ­±äµÃÔ½À´Ô½ÆÕ±éºÍ´¥Êֿɼ°¡£2004 Äê8 Ô£¬GOOGLE ÈÕ³£ÈÎÎñÊäÈëµÄÊý¾ÝÒѾ­´ïµ½ÁË3PB £»2005 ÄêMark Hurd ´ÓTeradata À´µ½HP ³öÈÎCEO £¬¿ªÊ¼½¨Éè»ùÓÚNeo View µÄ8PB µÄHP EDW ¡£2006 Ä꣬YAHOO ¹¹½¨ÁËÊÀ½çÉϵÚÒ»¸ö»ùÓÚORACLE RAC µÄPB ¼¶±ðÊý¾ÝÖÐÐÄ¡£2007 Äê9 Ô£¬GOOGLE µÄÈÕ³£ÈÎÎñµÄÊäÈëÊýÁ¿ÅòÕ͵½403 ¸öPB £¬¶øÊä³öÎļþµÄ³ß´çÒ²´ïµ½ÁË14PB ¡£2008 Äê6 Ô£¬wired ÔÓÖ¾¿¯µÇ±êÌâΪThe Petabyte Age µÄÎÄÕ£¬²»½öÊÇ»¥ÁªÍøÐÐÒµ£¬Ô½À´Ô½¶àµÄ´«Í³ÐÐÒµ¹«Ë¾µÄÊý¾ÝÖÐÐÄÒ²¿ªÊ¼´ïµ½PB µÄÊý¾ÝÁ¿¼¶¡£Ê±ÖÁ½ñÈÕ£¬×î½ü¿´µ½µÄÒ»¸öÐÂÎÅÊÇÒ»¼ÒÃûΪZynga µÄÉç»áÓÎÏ·¹«Ë¾ÔÚ2010 ÄêµÄ Oracle Open World ÉÏÐû²¼£¬ËûÃÇÿÌìµÄÊý¾Ý¾»ÔöÁ¿´ïµ½ÁË1 ¸öPB £¬Ã¿¸öÀñ°ÝÐèÒªÐÂÔö1000 ̨·þÎñÆ÷´æ´¢ÕâЩÊý¾Ý¡£

ÔÙÀ´¿´¿´ÎÒÃÇ×Ô¼º¹«Ë¾ÄÚ²¿µÄÇé¿ö£¬»ùÓÚhadoop µÄÔÆÌÝһȺ¼¯ÒѾ­´ïµ½ÁË1400 ̨·þÎñÆ÷µÄ¹æÄ££¬ÌÔ±¦Êý¾Ý²Ö¿âµÄÊý¾ÝÁ¿ÒѾ­´ïµ½ÁË1PB £¨Êµ¼Ê´æ´¢3PB £©£»B2B µÄÊý¾Ý²Ö¿âµÄÊý¾ÝÁ¿Ò²ÒѾ­´ïµ½ÁË320TB £¬Ô¤¼Æ2011 Äêµ×±ØÈ»»á´ïµ½1PB ¡£Ô½À´Ô½¶àµÄÓû§ºÍÒµÎñÊý¾Ý±»¼Ç¼ÔÚ°¸£¬10 ÒÚÌõ¼Ç¼£¬Ö»ÄÜ´æ·ÅB2B ÖÐÎÄÕ¾2 ÌìµÄÒ³ÃæÆØ¹â·ÃÎÊ(CTR) ¼Ç¼¡£ÔÚÕâÑùÒ»¸öÊý¾Ý²»¶ÏÅòÕ͵Äʱ´úÖУ¬Êý¾ÝÒѾ­ÈçºéË®°ãÐÚÓ¿·ºÀÄ¡£Êý¾Ý²éÕҺ͵÷ÓÃÀ§ÄÑ£¬Ò»Ð©Óû§Ìá³öÉêÇëÖ®ºóÍùÍùÒªµÈµ½µÚ¶þÌì²ÅÄܵÃÖª½á¹û£¬Ö±½ÓÓ°Ïìµ½ÁËÓû§ÂúÒâ¶ÈµÄÌáÉýºÍÐÂÒµÎñµÄ²¼¾Ö¡£ÔÚ¼¼ÊõÉÏ£¬ÎÒÃÇÐèÒªÒ»¸öÔõÑùµÄ¼¼Êõ»ù´¡¼Ü¹¹£¬²ÅÄܹ»Âú×ãÊý¾ÝÁ¿µÄ²»¶ÏÅòÕÍϵļÆËãºÍ´æ´¢ÐèÇó¡£¶øµ±ÎÒÃǽâ¾öÁË×î»ù´¡µÄÊý¾ÝÁ¿ºÍ¼ÆËãÄÜÁ¦Õâ¸öα¥ÎÊÌâºó£¬¿ªÊ¼°ÑÄ¿¹âÒÆÏòÊý¾Ý·þÎñ¡¢Êý¾Ý¼ÛÖµµÄʱºò £¬ÎÒÃÇÓÖÐèÒªÔõÑùµÄ¼¼Êõ»ù´¡¼Ü¹¹£¬Äܹ»½«Èç´Ëº£Á¿µÄÊý¾ÝÌṩ¶ÔÍâµÄ·þÎñ £¬½«ÎÒÃǶÔÊý¾ÝµÄÈÏʶֱ½Óת»»ÎªÊý¾ÝµÄ²úÆ·²¢ÎªÎÒÃǵÄ×îÖÕ¿Í»§´øÀ´ÕæÕýµÄ¼ÛÖµ£¿

 

THE NOSQL MOVEMENT

ÔÚ̸ÂÛÎÒÃǵļ¼Êõ»ù´¡¼Ü¹¹Ç°£¬ÎÒ»¹ÏëÏÈ»¨µãʱ¼ä̸̸×î½ü·Ç³£ÈȵÄNOSQL ¡£¶ÔÓÚ´ó¶àÊý¿ª·¢ÈËÔ±¶øÑÔ£¬NOSQL ¸ü¶àʱºòÒâζ×ÅSay NO to SQL £¬»òÕßNon-Schematic ¡£´«Í³µÄ¹ØÏµÊý¾Ý¿âÄ£ÐͺÍÓ¦ÓôúÂë¶ÔÏóÄ£ÐÍͨ³£ÊÇÒÔ²»Í¬·½Ê½½¨Á¢ÆðÀ´µÄ£¬Õâµ¼Ö¿ª·¢ÈËÔ±ÐèÒª½«´úÂëÓ³Éäµ½¹ØÏµÄ£ÐÍÈ¥¿Ë·þÕâÖÖ²»¼æÈÝÐÔ¡£Õâ¸ö¹ý³Ì±»³ÆÎª¶ÔÏó/ ¹ØÏµÓ³Éä¡£¶ø»ùÓÚK/V µÄ·½Ê½ÌìÉúÊÇ»ùÓÚ¶ÔÏóµÄ£¬Ïà±È»ùÓÚ¹ØÏµÄ£ÐͺÍSchema µÄRDBMS ¸üΪ¼ò½à£¨¶ÔÏó/ ¹ØÏµ VS ÐòÁл¯/ ·´ÐòÁл¯£©£»µ×²ã´úÂëÖеĶÔÏóÀàµÄÓ³Éä¹ØÏµ±È¶ÔÏó/ ¹ØÏµÓ³ÉäÒªÖ±½ÓµÃ¶à¡£ÕâÖÖ¼ò½àµÄ¿ª·¢Ä£Ê½¶ÔÓںܶàÏà¶ÔÃ÷È·¼òµ¥µÄÒµÎñ³¡¾°£¬ºÜ´ó³Ì¶ÈÉÏÌá¸ßÁË¿ª·¢ÈËÔ±µÄЧÂÊ£¬ÏÔÖø¼õÉÙÁË¿ª·¢Ê±¼ä¡£

¶ÔÓںܶàϵͳ¼Ü¹¹Ê¦¶øÑÔ£¬ÔÚÊý¾ÝÁ¿Èç´ËÅòÕ͵ĽñÌ죬һ¸ö±ØÐëÒª¿¼ÂǵÄÌØÐÔÊÇϵͳµÄ¿ÉÉìËõÐÔ£¨Scalability £© £¬Õâ¸öÌØÐÔÕý±äµÄÔ½À´Ô½ÖØÒª£¬ÒÔÖÁÓÚÔÚÖØÒªÐԳ̶ȷ½ÃæÒѾ­¿ªÊ¼Áè¼Ý£¬ÉõÖÁÇÖÊ´ÆäËûÏµÍ³ÌØÐÔ¡£RDBMS ¾­¹ý20 ¶àÄêµÄÀúÊ·£¬Êý¾ÝÒ»Ì廯¹ÜÀíºÍ·ÖÎöÒѾ­·¢Õ¹µÄ·Ç³£³ÉÊìÁË¡£RDBMS ΪÊý¾Ý¿âÓû§ÌṩÁ˼òµ¥¡¢½¡×³¡¢Áé»îÒÔ¼°¼æÈÝÐÔµÄ×éºÏ£¬µ«ËüÔÚÆäÖÐÿ¸öÁìÓòÀïµÄÐÔÄÜ£¬²»Ò»¶¨¾ÍÓÅÓÚÆäËû×·ÇóijһÏîºÃ´¦µÄ¶ÀÁ¢Ìæ´ú·½°¸ [1] ¡£ÔÚϵͳµÄ¿ÉÉìËõÐÔÉÏ£¬RDBMS ´«Í³µÄ·½°¸ÊÇÏòÉÏÀ©Õ¹£¨ Scale Up £©£¬µ«Í¨³£Ö»Äܵ¥Ì¨·þÎñÆ÷½ÚµãÉϽøÐУ¨»òÕßÊÇÔÚµ¥×é´æ´¢ÉÏˮƽÀ©Õ¹£©¡£ Scale Up µÄ·½°¸²Ù×÷¼òµ¥, µ«Ê**æÄ£ÓÐÏÞ, ´ú¼ÛÔ½À´Ô½´ó¡£¼´±ãÅ׿ªScale Up µÄ¼Û¸ñºÍ¹æÄ£ÎÊÌ⣬¶Ô¿ÉÉìËõÐÔµÄÐèÇ󣬿ÉÄÜ»á±ä»¯µÃ·Ç³£Ñ¸ËÙºÍÅÓ´ó¡£Èç¹ûÄãµÄϵͳ¸ºÔØÒ»Ò¹Ö®¼ä·­±¶£¬ÄãÄÜÔÚ¶àÉÙʱ¼äÄÚÍê³ÉÓ²¼þÉý¼¶£¿ÕâÒ»ÌØµãʹµÃRDBMS ÔÚ´óÐÍÓ¦Óó¡¾°±»´ó·ùÏÞÖÆ£¬Î¨Ò»µÄ¿ÉÑ¡·½°¸ÊÇ Scale Out, ͨ¹ýÔö¼Ó¶à¸öÂß¼­µ¥ÔªµÄ×ÊÔ´, ²¢Ê¹ËüÃÇÈçͬһ¸ö¼¯ÖеÄ×ÊÔ´ÄÇÑùÌṩ·þÎñÀ´ÊµÏÖϵͳµÄÀ©Õ¹ÐÔ¡£Sharding ÊÇÒ»ÖÖscale out µÄÀ©Õ¹·½·¨£¬µ«Ä¿Ç°»¹Ã»Óзdz£³É¹¦µÄSharding ¿ò¼Ü£¬¹ØÏµÊý¾Ý¿âµÄ¸´ÔÓÐÔ¿ªÊ¼Ó°ÏìScale Out ËùÄÜ´ïµ½µÄDZÔÚµÄÀ©Õ¹¹æÄ£¡£µ±ÊÔͼÀ©Õ¹µ½³É°ÙÉÏǧ¸ö½Úµã£¨¶ø²»ÊǼ¸¸ö£©µÄʱºò½«µ¼ÖÂϵͳµÄ¸´ÔÓÐÔ²»¿°Öظº¡£

Èçͬgoogle ³«µ¼µÄÄÇÑù£¬The Data center as a Computer ¡£¶ÔÓÚÒ»¸ö´ÓÀ´Ã»Óмû¹ýPB µÄÊý¾ÝÁ¿£¬ÉÏǧ̨»úÆ÷µÄÐÂÈ˹¤³Ìʦ£¬ÏµÍ³µÄÀ©Õ¹ÐÔÒªÇóÄÜÈÃËûÏñÔÚµ¥»úÉÏÒ»Ñù¿ª·¢¡£ÔÚÕâÖÖÇé¿öÏ£¬»ùÓÚ·Ö²¼Ê½¡¢¾ßÓÐÀ©Õ¹ÐԵļüÖµ´æ´¢´¦ÀíģʽÖð½¥³öÏÖ£¬Îª´ËÉõÖÁ»á¶øÎþÉüµô¹ØÏµÊý¾Ý¿âËù´øÀ´µÄÆäËûºÃ´¦¡£Ê¹ÓôóÁ¿ÇÒÏà¶ÔÁ®¼ÛµÄ»úÆ÷×÷Ϊ´æ´¢Óë¼ÆËã½áµãÒÔ½â¾öº£Á¿Êý¾Ý»·¾³Ïµİº¹óµÄÓ²¼þ³É±¾ÎÊÌ⣻²ÉÓüü/ Öµ¶Ô(key/value pair µÄ·ºÐͽṹ) ´æ´¢£¬ÏµÍ³Ìṩ»ù±¾get(key),put(key, value),delete(key) µÈÊý¾Ý·ÃÎʽӿڣ»ËùÓеÄÊý¾Ý¶¼±»¿´×öÊǼü/ Öµ¶Ô£¬ÕâʹµÃÕû¸öϵͳģÐͷdz£¼òµ¥ £¬´ó¶àÊýϵͳ²ÉÓà ¡°Ò»ÖÂÐÔ¹þÏ£¡±£¨Consistent Hashing £©À´ÊµÏÖÊý¾Ý£¨¼ü/ Öµ¶Ô£©µÄȺ¼¯·Ö²¼¡¢¿ìËÙ¶¨Î»²éÕÒÒÔ¼°¶¯Ì¬À©Õ¹Ê±¼õÉÙÐèÒªÖØÐ·ֲ¼µÄÐéÄâ½ÚµãµÄÊýÄ¿¡£Êý¾ÝÔÚ½áµãÉÏ´æÔÚ·Ö¸îÓëÈßÓ࣬±£Ö¤¸ß¿ÉÓÃÐÔ¼°ÐÔÄÜ£»Í¬Ê±ÎþÉü²¿·ÖµÄÊý¾ÝÒ»ÖÂÐÔÒªÇóʵÏÖÊý¾ÝµÄ¸ß¿ÉÓÃÐԺͷÖÇøÈÝ´íÐÔ¡£¸ù¾Ý CAP theorem £¬Êý¾ÝµÄÒ»ÖÂÐÔ¡¢¸ß¿ÉÓÃÐÔºÍÊý¾Ý·Ö²¼Èý¸ö·½ÃæÊÇÏà»¥ÖÆÔ¼µÄ£¬²»¿ÉÄÜͬʱ´ïµ½×îºÃ¡£

 

ÍòÄܵÄÔ¿³×£¿

¼ü/ Öµ¶ÔÊÇÃæÏòÓÚ¶ÔÏóµÄ£¬ËùÓиöÔÏóµÄÊý¾Ý¶¼ÄÜËæÊ±±»±»´æ´¢½ø¸ÃÏîÄ¿ÖС£Õâ¸öÄ£ÐÍÔÊÐíÒ»¸öµ¥Ò»µÄÏîÄ¿°üº¬ÍêËùÓÐÏà¹ØÊý¾Ý£¬ÒÔ´ËÏû³ý¶Ô¶à±íµÄÊý¾ÝÁ¬½ÓµÄÐèÇóÀ´À©³äÄÜÂú×ãµÄÒµÎñ³¡¾° ¡£¶øÔÚ¹ØÏµÊý¾Ý¿âÖУ¬Êý¾ÝÐèÒª±»Áª½Óµ½Ò»Æð£¬ÒÔ±ãÄÜÖØ×éΪÏà¹ØÊôÐÔ¡£¶ÔÓÚÊý¾ÝµÄÕûºÏ£¬ÕâÑùÒ»¸öÏ¡Êè´æ´¢(sparse storage) µÄÊý¾ÝÄ£ÐÍÊÇÏ൱ºÏÊʵģ¬ÎÒÃÇ¿ÉÒÔ°ÑÀ´×Ô²»Í¬ÒµÎñϵͳµÄÊý¾Ý£¬¸ù¾Ýͳһ¸ö¶ÔÏóʵÌåµÄKEY Öµ·ÅÖÃÈëͬһ¸öÊý¾ÝÓòÖÐ ¡£ ±ÈÈçMember µÄÐÅÏ¢£¬ÎÒÃÇ¿ÉÒÔ°ÑÀ´×ÔÍøÕ¾µÄ£¬CRM µÄ£¬P4P µÄ²»Í¬µÄԴϵͳµÄMember ÐÅÏ¢°´ÕÕͬһ¸öKey ÖµÕûºÏµ½Í¬Ò»¸ö¶ÔÏóʵÌåÖУ¬ÀûÓÃNon-Schematic µÄÌØÐÔʵÏÖÓû§ÊôÐÔµÄÈÎÒâÔöɾ£¬´Ó¶ø¹¹ÔìÒ»Õų¬¼¶µÄ´ó¿í±í£¬ÕûºÏÁ˸ÃÓû§µÄËùÓÐÊôÐÔ¡£

ËäÈ»ÔÚ¹ØÏµÊý¾Ý¿âÖеÄÐèÇóÔÚ¼ü/ ÖµÊý¾Ý¿âÒÑ´óΪ¼õÉÙ£¬µ«ÊÇÓÐЩ¶«Î÷£¨¹ØÏµÁª½Ó£©»¹ÊDz»¿É±ÜÃâ¡£ÄÇЩ¹ØÏµÒ»°ã´æÔÚÓÚºËÐÄʵÌåÖ®¼ä¡£±ÈÈç˵£¬Óû§µÄ²úÆ·£¨Product/Offer £©¡¢¶©µ¥£¨Order £©¡¢·´À¡£¨Feedback £©ºÍÓû§ÐÅÏ¢±í(Member) Ö®¼äµÄ¹ØÏµ¡£Ò»¸öÓû§»áÓµÓжà¸ö²úÆ·£¬¶©µ¥£¬·´À¡¡£ÔÚÃèÊöÒ»¸öÓû§ËùÓµÓеIJúÆ·£¬¶©µ¥ºÍ·´À¡µÄʱºò£¬ÊÇûÓÐÎÞ·¨½«ËùÓÐÕâЩ²úÆ·£¬¶©µ¥£¬·´À¡µÄÊôÐÔÐÅÏ¢¶¼Ð´Èëµ½Óû§µÄÊôÐÔ±íÖУ¨ËäÈ»ÔÚ¼¼ÊõÉÏ¿ÉÒÔÓöà¸öǶÌ×±í»òÕßSuper Column Family À´ÊµÏÖ£©£¬ÔÚÕâ¸öʱºò£¬Á½¸öʵÌå¶ÔÏóÖ®¼äµÄJoin ²»¿É±ÜÃâ¡£

µ±ÎÒÃÇÔÚÒ»¸ö¼ü/ Öµ¶ÔµÄƽ̨ÉÏ»ýÀÛ»ã×ܲ¢ÕûºÏÀ´×Ô¸÷¸öÒµÎñϵͳµÄÓû§Êý¾Ý£¬¶øÇÒͨ¹ý¼ü/ Öµ¶ÔµÄ·½Ê½£¬ÄãÒѾ­¿ÉÒÔ¶ÔÍâÌṩ»ùÓÚij¸öKEY £¨±ÈÈçij¸öÓû§£©µÄº£Á¿²¢·¢·ÃÎÊ£¬Í¬Ê±»ñµÃ¼«Ç¿µÄϵͳ¿ÉÉìËõÐÔ¡£ÏÖÔÚÄãÏëΪ¿Í»§´´ÔìмÛÖµ£¬»òÕß»¹ÏëÀûÓÃÕâЩÊý¾Ý²úÉúеÄÊÕÈë¡£Äã¾Í»á·¢ÏÖ×Ô¼º±»ÑÏÖØÏÞÖÆÁË£¬ÉõÖÁÁ¬Ö±½ÓµÄ·ÖÎöÐͲéѯ¶¼ºÜÀ§ÄÑ¡£ÔÚ¼ü/ Öµ¶Ô´æ´¢µÄƽ̨ÉÏ£¬ÀàËÆ×·×Ù£¨Óû§µÄ£©Ê¹ÓÃģʽ¡¢»ùÓÚÓû§ÀúÊ·Ìṩ½¨ÒéµÈÊÂÇ飬¼´±ã²»ÊDz»¿ÉÄÜÒ²ÊǷdz£À§Äѵġ£µ±ÐèÒª½øÐÐÊý¾ÝµÄ·¶Î§²éÕÒ£¬¶à¸öËÑË÷Ìõ¼þµÄºÏ²¢ÕâЩÇé¿öÏ£¬ÕâЩӦÓöÔÓÚRDBMS À´Ëµ²¢²»ÊÇÌ«´óµÄÎÊÌâµÄÎÊÌ⣬µ«ÊÇÒòΪNoSQL DB ¡°·Ö²¼Ê½¿ò¼Ü¡±±¾ÉíµÄÌØÐÔ£¬Ê¹µÃ¼ü/ Öµ¶Ôƽ̨Öв¢²»ÄܺܺÃÖ§³Ö·¶Î§¼ìË÷£¨°üÀ¨·ÇµÈÖµ±È½Ï£©£¬¼¯ºÏºÍÕë¶Ô¼¯ºÏµÄ¶à¸ö²¼¶û±í´ïʽ£¨Union/And/Or ¡­£©µÈµÈ²Ù×÷¡£ËäÈ»ÓÐһЩ¼¼ÊõÊÖ¶Î( ±ÈÈç·Ö²¼Ê½¶þ¼¶B Ê÷Ë÷Òý£¬Ç°ÖùþÏ£Ë÷Òý£¬È«Îĵ¹ÅÅË÷Òý) ¿ÉÒÔ²¿·Ö½â¾öÕâЩ²éѯÎÊÌ⣬Äã»á·¢ÏÖ±ØÐëÔÚϵͳÖÐÒýÈëÁËÔ½À´Ô½¶à¸´ÔӵĻúÖÆÀ´ÊµÏÖÕâЩ¹¦ÄÜ£¬ÊµÏֵijɱ¾ÊǾ޴óµÄ£¬²¢µ¼ÖÂÕû¸öϵͳµÄ¸´ÔÓ¶ÈÒò´Ë´ó´óÔö¼Ó¡£½á¹û£¬Ä㽫²»µÃ²»´Ó¼ü/ ÖµÊý¾Ý¿âÖзÖÀë³öÀ´µÄ£¬½¨Á¢Ò»¸ö¶ÀÁ¢µÄ·ÖÎöÐÍÊý¾Ý¿â£¬ÒÔ±ãÖ´ÐÐÄÇÑùµÄ·ÖÎö¡£Äã¸ÃÔÚÄÄÀï²ÅÄÜ×öÕâÑùµÄÊÂÇ飿ÓÖ¸ÃÈçºÎÈ¥×ö£¿¹é¸ù½áµ×£¬ËäÈ»¹æÄ£ºÍ¿ÉÉìËõÐÔÊÇÒ»ÏîÖØÒª¿¼ÂÇÒòËØ£¬µ«²»Òª°ÑËüÅÅÔÚʹÓÃÊý¾Ý£¬½«Êý¾Ýת»»³ÉΪ×ʲúµÄÄÜÁ¦µÄÇ°Ãæ ¡£Èç¹ûÄãµÄϵͳÖгÁµíµÄÊý¾ÝÎÞ·¨¸øÓû§´øÀ´ÕæÕýµÄ¼ÛÖµ£¬ÕâÊÀÉϵÄÒ»ÇÐÉìËõÐÔ¶¼½«Ò»ÎÞÊÇ´¦ [1] ¡£

 

½ÓÏÂÀ´¾Í¹«Ë¾Ä¿Ç°Ê¹Óõļ¸ÖÖ²»Í¬ÀàÐ͵Äϵͳ̸̸¸öÈË¿´·¨£º

»ùÓÚ¼ü/ ÖµµÄ·Ö²¼Ê½´æ´¢

·Ö²¼Ê½¼ü/ Öµ´æ´¢Ä¿Ç°ÔÚB2B ʹÓõıȽϹ㷺µÄCassandra £¬°üÀ¨¹ú¼ÊÕ¾£¬CRM,DW Ŀǰ¶¼ÔÚʹÓá£Cassandra ËüÔÚÉè¼ÆÉÏÕûºÏÁËGoogle Big table ºÍAmazon µÄ Dynamo ÓŵãµÄϵͳ£¬ÔÚϵͳµÄÉè¼ÆÉÏÓкܶàµÄ¿Éȡ֮´¦¡£ Ò»·½Ãæ¼Ì³ÐÁËDynamo ÔÚ¼¯Èº·½ÃæµÄ¼¼Êõ£¬ÁíÒ»·½ÃæÓÖ½è¼øÁËBigtable µÄ Êý¾ÝÄ£ÐÍ£¬ÕâʹµÃCassandra Çø±ðÓÚDynamo µ¥´¿µÄkey/value ½á¹¹£¬¾ßÓиü·á¸»µÄÊý¾Ý±íÏÖÐÎʽ¡£Cassandra ϵͳ¼Ü¹¹ÖÐÒ»¸öÉÁÁÁµÄ·¢¹âµãÊÇÈ«¶Ô³ÆÉè¼Æ£¬Ã»ÓÐmaster ½ÚµãµÄµ¥µã¹ÊÕÏ£¨Ïà¶Ô¶øÑÔ£¬hadoop µÄhdfs µÄname node µÄµ¥¹ÊÕϵãĿǰ»¹Ã»ÓÐÒ»¸öÌ«ºÃµÄ½â¾ö·½°¸£©¡£Cassandra ²ÉÓà Gossip ЭÒéÖ÷ÒªÓÃÀ´¹ÜÀí¼¯Èº»áÔ±ÐÅÏ¢£¬Í¨Ñ¶Ð§Âʷdz£¸ß, Ö»ÐèÒªLog(N) »ØºÏ¾Í¿ÉÒÔ½«×´Ì¬´«µÝ¸ø¼¯ÈºµÄN ¸ö½Úµã£¬Ã¿¸ôT Ãë, ÿ¸ö½Úµã¶¼»á×ÔÔö×Ô¼ºµÄHeartbeat ÐÅÏ¢²¢Í¨¹ýGossip ´«µÝ¸øÆäËû½Úµã¡£

ÁíÒ»¸öÏÔÖøµÄÓŵãÊÇ£¬ËäÈ»Cassandra ±»Éè¼ÆÎªÒ»¸öAP µÄϵͳ£¬µ«ÊÇCassandra ÔÊÐíÄã¸ù¾Ýʵ¼ÊµÄÐèÒªÀ´Âú×㲻ͬµÄÏµÍ³ÌØÐÔ¡£Èç¹ûϵͳҪÇó±ØÐë100% µÄ¶ÁÈ¡µ½Ö®Ç°Ð´ÈëµÄÄÚÈÝ£¬¿ÉÒÔ½« Consistency Level ÉèÖÃΪALL ÒªÇóËùÓнڵ㶼ÓÐÊý¾ÝµÄÒ»Öµĸ±±¾£¬Õâʱºòϵͳ²»¾ßÓжÔÈκνڵãʧЧºÍ·ÖÇøÈÝ´íÐÔ¡£¶øÈç¹ûΪÁË»ñÈ¡×î¼ÑµÄÐÔÄÜ£¬½« Consistency Level ÉèÖÃΪONE µÄÇé¿öÏ£¬´ÓÈÎÒâÒ»¸ö±£´æÓÐÕâ¸ö¸±±¾µÄ½Úµã»ñÈ¡Êý¾Ý¾Í¿ÉÒÔ£¨´ËʱϵͳӵÓÐÁ˷dz£¸ßµÄ¿ÉÓÃÐԺͷÖÇøÈÝ´íÐÔ£©¡£¶ø Consistency Level ÉèÖÃΪQUORUM £¬ÔòÒâζ×Ŵ󲿷ִæ·Å¸ÃÊý¾ÝµÄ½ÚµãÉϵĸ±±¾ÊÇÒ»Öµģ¬ÕâÊÇÒ»¸öÕÛÖÔµÄÉè¼Æ£¬ÏµÍ³ÌṩÁ˺ÏÀíµÄ½ÚµãʧЧÓëÍøÂç·ÖÁѵÄÄÍÊÜÐÔµÄͬʱҲÌṩÁ˺ܸߵÄÒ»ÖÂÐÔ¡£C,A,P ÔÚCassandra ÖпÉÒÔ°´ÐèÉèÖá£

ËäÈ»Cassandra ÓµÓÐÁËÈç´Ë¶àµÄÓŵ㣬ËüµÄȱµãͬÑùҲͬÑùÏÔÖø¡£ÒòΪÆäµ×²ã´æ´¢Éè¼ÆµÄÌØÐÔ£¬Cassandra Ôò¸üÊʺÏÓÚʵʱÊÂÎñ´¦ÀíºÍÌṩ½»»¥ÐÍÊý¾Ý£¬¶ø²»ÊʺÏÓÚÊý¾Ý²Ö¿â¡¢´óÐÍÊý¾ÝµÄ´¦ÀíºÍ·ÖÎö£¬Õâµã´Ó¿ª·¢ÈËÔ±µÄ±³¾°ÉÏÒ²ÄÜ¿´³ö¶ËÄß¡£¶Ô ÓÚcassandra µÄÐÔÄÜÃèÊö£¬½­ºþ´«ÑÔ¶àÓÐÎó»áµÄµØ·½£¬ ¾ÝFacebook µÄ¹¤³ÌʦAvinash Lakshman ½éÉÜ£¬Cassandra ½öÓÃ0.12 ºÁÃë¾Í¿ÉÒÔдÈë50GB µÄÊý¾Ý£¬±ÈMySQL ¿ìÁ˳¬¹ý2500 ±¶¡£ ÕâÓ¦¸ÃÊǸöÃýÎó¡£

ÕÒÀ´Avinash Lakshman µÄPPT ¶ÔÕÕ£º

MySQL > 50 GB Data ;Writes Average : ~300 ms;Reads Average : ~350 ms;

Cassandra > 50 GB Data;Writes Average : 0.12 ms;Reads Average : 15 ms;   

ÕâÀïµÄ0.12 ºÁÃëµÄдÈëËÙ¶ÈÓ¦¸ÃÊÇ50GB µÄÊý¾Ý¿â³ß´çϵ¥¸öKV µÄдÈëËÙ¶È£¬¶ø²»ÊÇϵͳдÍê50GB µÄʱ¼ä¡£Èç¹ûÕæÒªÔÚ0.12 ºÁÃëÄÚдÍê50GB £¬Òâζ×ÅÕâ¸öϵͳÿÃëÄÜдÈë50/0.12*1000G=416TB ¡£ÔÚʵ¼ÊµÄ²âÊÔÖУ¬Ã¿´Î¶ÁÈ¡Cassandra ÖÁÉÙÒª½«±¾µØÊý¾Ý½ÚµãÄÚ¸ÃKEY µÄËùÓÐÊý¾Ý¶¼¶ÁÈ¡³öÀ´£¬MERGE ×îеÄTimestamp µÄVALUE ºó·µ»Ø½á¹û£¬ÏµÍ³µÄ¶ÁÈ¡ÐÔÄܱíÏֵĽÏΪÔã¸â¡£

         8 ÔÂ13 ºÅ·¢²¼µÄCassandra 0.7 beta1 °æ±¾£¬ÓкܶàºÜÎüÒýÈ˵ÄÌØÐÔ£¬ÔÚ¶ÁÈ¡µÄÐÔÄÜÉÏ£¬×öÁ˺ܴóµÄ¸Ä½ø¡£

°üÀ¨£º

?  ¿ªÊ¼ÖصãʹÓÃRowCache £¬½«Æä¶ÁÈ¡ÐÔÄÜÌáÉýÁË8X ¡£

?  Ö§³Ösecondary index £¬Ä¿Ç°µÄʵÏÖ»úÖÆ¾ÍÊÇÓ÷´×ªµÄ·½Ê½£¬Ö§³ÖÁªºÏË÷Òý¡£

?  Ö§³Öhadoop ¸ñʽµÄÊä³ö£¬¿ÉÒÔʹµÃÊý¾Ý²Ö¿â¸üÈÝÒ×´ÓCassandra ÖгéÈ¡Êý¾Ý¡£

?  ÎÞË÷ÒýµÄɸѡ¹ýÂ˲éѯÈÔÈ»²»Ö§³Ö£¬ÐèÒªÔÙͨ¹ýhadoop µÄM/R ʵÏÖ¡£

 

»ùÓÚÎĵµµÄ·Ö²¼Ê½Êý¾Ý¿â

ÎÒÃÇĿǰÔÚʹÓÃMongo DB ÔÚ¹¹½¨Ò»¸ö»ùÓÚ¿Í»§µÄʵʱ·ÖÎöµÄϵͳ¡£Mongo DB µÄÃû×ÖÀ´×Ôhumongo us Õâ¸öµ¥´ÊµÄÖм䲿·Ö£¬´ÓÃû×ֿɼûÆäÒ°ÐÄËùÔÚ¾ÍÊǺ£Á¿Êý¾ÝµÄ´¦Àí¡£¸úCouchDB Ò»Ñù£¬Mongo ÊÇÒ»¸öÃæÏòÎĵµµÄJSON Êý¾Ý¿â£¬±»Éè¼ÆÎªÒ»¸öÕæÕýµÄ¶ÔÏóÊý¾Ý¿â£¬¶ø²»ÊÇÒ»¸ö´¿´âµÄ¼ü/ Öµ´æ´¢¡£Mongodb µÄÄÚ´æÓ³ÉäÎļþ»úÖÆÒÔ¼°schema-free µÄÌØµã£¬ÈÃÎÒÃÇ¿ÉÒÔ±£³Ö¸ßËÙÌí¼ÓÊý¾Ý£¬²»Óõ£ÐÄÊý¾Ý¿â»á³öÏÖ¶ÂÈû¡£ÁíÍâ £¬MongoDB Ö§³Ö·Ç³£·á¸»µÄ²éѯ¹¦ÄÜ¡£¼¸ºõ³£ÓõÄSQL ¹¦ÄÜÔÚËüÀïÃæ¶¼ÓÐÏàÓ¦µÄ·½·¨À´ÊµÏÖ¡£¶øÇÒÖ§³ÖË÷Òý£¬Äܹ»¸ù¾ÝijһÁнøÐÐWHERE Ìõ¼þ¿ìËÙɸѡ¡£MongoDB ÊʺÏÓÃÀ´ÃèÊöÒ»¸ö¾ßÓиöÐÔ»¯ÌØÕ÷µÄʵÌå¶ÔÏóÕý£¬¿ìËÙÎÞ×èÈûµÄÊý¾ÝÊý¾Ý²¢ÐÐдÈ빦ÄÜÒÔ¼°·á¸»µÄ²éѯ¹¦ÄÜ ÊÇMongoDB µÄÁÁµã£¬¶ÔÓÚʵʱ·ÖÎö¡¢logging ¡¢È«ÎÄËÑË÷ÕâÑùµÄ³¡¾°ÊǺÏÊʵÄÑ¡Ôñ¡£

MongoDB ÆäÖÐÒ»¸öÎÊÌâÊÇÕ¼Óÿռä¹ýÓÚÐé¸ß£¬Ô­À´1G µÄflatfile ËüÐèÒª4 ±¶µÄ´ÅÅÌ¿Õ¼ä´æ´¢¡£ÁíÒ»·½Ãæmongodb µÄsharding µ½ÏÖÔÚΪֹÈÔ²»Ì«³ÉÊì¡£Mongo DB ûÓÐÏñÆäËûһЩNOSQL ²úÆ·ÄÇÑùÑ¡ÔñÒ»ÖÂÐÔ¹þÏ£À´½øÐÐÊý¾Ý·ÖƬ¡£ËüʹÓõÄÊÇÒ»ÖÖRANGE-BASED »úÖÆÀ´½øÐÐÊý¾ÝµÄ·ÖƬ£¬ÔÚʹÓÃsharding ¹¦ÄܵÄʱºò»áÈÃÄãÖ¸¶¨Ò»¸öCOLUMN ×÷ΪSHARD KEY ¡£ ÎÒÃdz¢ÊÔͨ¹ýÒ»ÖÂÐÔ¹þÏ£Ëã·¨À´×Ô¼º×öDB Ö®¼äµÄÇÐÆ¬£¬°ÑÊý¾ÝÈ˹¤·Öµ½²»Í¬µÄ»úÆ÷ÉÏ¡£²ÉÓÃ×Ô¼ºÊµÏֵķ֯¬»úÖÆ£¬ÐÔÄÜÏà¶ÔʹÓÃMongo DB ×Ô´øµÄsharding £¬ÐÔÄܸüÎȶ¨£¬ÇÒ¸üÐÂËÙ¶ÈÒ»Ö±±£³ÖÔÚÒ»¸ö±È½Ï¿ìµÄˮƽ¡£ µ±È»£¬×Ô¼ºÀ´ÊµÏÖÊý¾Ý·ÖƬ£¬ºÜ¶à¹¦Äܶ¼ÐèÒª×Ô¼ºÊÖ¹¤À´ÊµÏÖ¡£±ÈÈç˵where Ìõ¼þµÄɸѡ£¬ÐèÒªÔÚÿ̨»úÆ÷É϶¼Ö´ÐÐÒ»±é£¬È»ºóÔÙ¶Ô¸÷¸ö½á¹û¼¯½øÐÐÒ»¸öºÏ²¢¡£GROUP BY Ò²Ò»Ñù£¬ÏÈÔÚÿ̨»úÆ÷ÉÏGROUP BY һϣ¬È»ºó»¹ÒªÔÙÀ´Ò»´Î¡£¶øÊ¹ÓÃMongoDB ×Ô´øµÄsharding ¹¦ÄܵÄʱºò£¬ÄãÖ»ÐèÒª·¢Ò»ÌõÃüÁî¸øËü£¬Ëü»á×Ô¶¯½øÐд¦Àí£¬Ö±½Ó·µ»Ø×îÖյĽá¹û¸øÄã¡£

 

»ùÓÚ·Ö²¼Ê½ÎļþµÄÊý¾Ý¿â

      hadoop/Hbase/Hive/PIG ÊÇÎÒÃÇĿǰ¸üΪʹÓù㷺µÄÒ»Ïî¼¼Êõ£¬ÔÚÈ«Çò·¶Î§hadoop Ò²Êܵ½Ô½À´Ô½¶àµÄ¹Ø×¢£¬Shelton ÔÚËûµÄpresentation ÖкÜ×ÔºÀµÄ˵hadoop ÊǺ£Á¿Êý¾Ý´¦ÀíµÄÇ÷ÊÆºÍδÀ´¡£2010 Äê²Î¼Óhadoop ·å»á´ïµ½ÁË1000 ÈË£¨ÃÅÆ±ÔÚ¿ªÄ»10 Ììǰ¾ÍÂô¹âÁË£©£¬°üÀ¨James Gosling Ò²²Î¼ÓÁËÕâ´Î·å»á¡£Yahoo ºÍfacebook ÔÚhadoop ÉÏʵÏÖµÄÓ¦ÓÃÁîÈËÓ¡Ï󼫯äÉî¿Ì ¡£Irving Éù³Æ ¡°ÎÒÃÇÏàÐÅHadoop ÒѾ­ÎªÖ÷Á÷ÆóÒµµÄÓ¦ÓÃ×öºÃÁË×¼±¸¡±¡£

       ¿´¿´Yahoo ÃÇÓÃhadoop ¶¼ÔÚ×öЩʲô£¬ËûÃÇʹÓÃhadoop ¸öÐÔ»¯ËûÃǵÄÖ÷Ò³£º[4]

?  ʵʱ·þÎñϵͳʹÓÃApache ´ÓÊý¾Ý¿âÖжÁÈ¡´Óuser µ½interest µÄÓ³Éä

?  ÿ¸ô5 ·ÖÖÓ£¬ËûÃÇʹÓÃÉú²ú»·¾³ÖеÄHadoop ¼¯Èº»ùÓÚ×îÐÂÊý¾ÝÖØÐÂÅÅÁÐÄÚÈÝ£¬²¢Ã¿7 ·ÖÖÓ¸üнá¹û

?  ÿ¸öÐÇÆÚ£¬ËûÃÇÔÚHadoop ¿ÆÑм¯ÈºÉÏÖØÐ¼ÆËãËûÃ**ØÓÚÀà±ðµÄ»úÆ÷ѧϰģʽ

Facebook ͸¶Á˸ü¶àʹÓÃhadoop µÄ¼¼Êõϸ½Ú£¬ËûÃÇչʾÁËHive ÓëHbase ºÍRCFile µÄ¼¯³É¡£Facebook ÕýÔÚ³¢ÊÔ½«HBase ÓÃÓÚÊý¾Ý²Ö¿âÀï¶ÔÓÚά¶ÈÊôÐԵijÖÐø¸üС£ËûÃǽ«Hive ¼¯³Éµ½20 ¸ö½ÚµãµÄHBase ¼¯Èº¡ª¡ª´ÓHive ÏòHBase ÔØÈë6TB gzip ѹËõµÄÊý¾Ý¿éÓÃÁË30 ¸öСʱ£¬ÔÚÕâÖÖÅäÖÃÏ¿ÉÒÔ´ïµ½30GB/ ÿСʱµÄÔö¼ÓÔØÈëËÙÂÊ¡£ÔÚHBase ÔËÐбíɨÃè±ÈÖ´ÐÐÔ­ÉúµÄHive ²éѯҪÂýÎå±¶£¨Ê¹ÓÃÁËRCFile £¬Hive ÖÐÒ»ÖÖеĴ洢¸ñʽ£¬½«Êý¾Ý°´ÁÐʽ´æ´¢¡£²ÉÓÃÕâÖÖ¸ñʽ£¬Æ½¾ù¼õÉÙÁË20% µÄ´æ´¢ÐèÇó£¬Í¬Ê±¿ÉÒÔ´ïµ½¸üºÃµÄÐÔÄÜ£©[3]

Facebook ʹÓÃhadoop Ò»¸ö³É¹¦µÄ¾­ÑéÊÇ£º95% µÄFacebook ÈÎÎñÓÉHive д³É£¬Í¨³£¿ÉÒÔÔÚHIVE ÖпÉÒÔÓÃÀàSQL ÓïÑÔÔÚÊ®·ÖÖÓÄÚÍê³ÉÒ»¸öÈÎÎñ£¨Schroepfer ÌØ±ð¸øÁËÒ»¸öhadoop job ºÍHIVE job µÄ¶Ô±ÈÒ³Ãæ£©¡£Facebook Ìṩһ¸ö³ÆÖ®ÎªÎªHiPai µÄWeb ¹¤¾ßÈÃÒµÎñ·ÖÎöʦʹÓÃHive £¬Ö»ÐèÒª¼òµ¥µÄ׫д²éѯÓï¾ä£¬Ö§³Ö²éÑ¯ÔØÈë²Ö¿âµÄ½ü20000 ¸ö±í¡£say NO to SQL £¿ NOWAY! ¶ÔÓÚ¾ø´ó¶àµÄÊý¾ÝµÄ·ÖÎöÈÎÎñ¶øÑÔ£¬SQL ÊÇÒ»Öַdz£¼òµ¥¡¢Ò×¶®¡¢½á¹¹»¯ÇÒ¸ßЧµÄÓïÑÔ£¬Ñ§Ï°ºÍʹÓóɱ¾¶¼ºÜµÍ£¬Äܼ«´óµÄ½µµÍʹÓÃÕßµÄÃż÷£¬½«Êý¾Ý¿ª·Å¸ø¸ü¶àµÄ·Ç¼¼ÊõµÄÒµÎñ·ÖÎöÈËԱʹÓ㬴ÓÒµÎñµÄ½Ç¶ÈÀí½â²¢Ïû·ÑÊý¾Ý¡£¶ÔÓÚÊý¾Ý·ÖÎöÈËÔ±¶øÑÔ£¬SQL ÊÇÒ»¸ö×î¼òµ¥Ï¬ÀûµÄÎäÆ÷£¬Ô¶Ã»Óе½¶ÔSQL ˵NO µÄʱºò¡£

ÁíÒ»¸öÖØÒªµÄ±ä»¯ÊÇ£ºËäÈ»ÔÚ×ʼ±»Éè¼ÆÎªÅúÁ¿ÈÎÎñ´¦Àí£¨°üÀ¨HDFS Ò²ÊÇÒ»¸öÖ»ÔÊÐíÒ»´ÎдÈëµÄÎļþϵͳ£©£¬Hadoop Ò»Ö±±»¿´×ö²»ÊʺÏÓÚʵʱµÄÊý¾Ý·ÖÎö£¬Êý¾ÝµÄʵʱ¸üÐÂÒ»Ö±ÊÇÀ§ÈÅhadoop µÄÒ»¸öÎÊÌâ¡£´Ó06 ÄêµÄÑо¿µ½07 ÄêµÄ¿ÆÑ§Ó°Ïì·ÖÎöÔÙµ½08 ÄêÈÕ³£Éú²úÈÎÎñ£¬µ±Ç°yahoo ÒѾ­×öµ½ÁËÿ¸öÒ³Ãæµã»÷±³ºó¶¼ÓÐhadoop ¡£facebook ͨ¹ý½«Hbase £¬Hive µÈ¸÷¸öÄ£¿éÖ®¼äµÄЭ×÷ÕûºÏ£¬Ò»²½Ò»²½´ÓÿÌìµÄÅú´¦Àí¹ý¶Éµ½ÊµÊ±µÄ²éѯ¡ª¡ª Ô¤¼û½«»á³öÏÖ×î¿ì²éѯÔÚÒ»·ÖÖÓÄھͿÉÒÔ·µ»ØµÄϵͳ£¬Õâ±Ø½«ÎªÒ»ÏµÁÐÐÂÐ˵ÄÓ¦ÓÿªÆô´óÃÅ ¡£

±ØÐë¿´µ½£¬hadoop »¹²»ÊÇÒ»¸öÍêÉÆµÄϵͳ£¬°üÀ¨Õâ´Î·å»áÖÐ Irving Ò²Ìáµ½µÄ£¬µ±hadoop µÄ¼¯ÈºÀ©Õŵ½Ò»¶¨³Ì¶ÈµÄʱºò£¬×ÊÔ´µÄµ÷¶È»úÖÆÔÚ´óÁ¿²»Í¬ÓÅÏȼ¶µÄÈÎÎñÖ®¼äµÄµ÷¶È¾Í»áÏԵĿªÊ¼ÓÐЩ׽½ó¼ûÖ⣨һ°ãµÄÈÏΪ2000 ½ÚµãÊÇhadoop µÄÒ»¸öÃż÷£¬yahoo ÒѾ­¹¹½¨ÁËÒ»¸ö4000 ½ÚµãµÄȺ¼¯£©¡£È¥Äêyahoo ÔÚmap reduce ÉϸÄÉÆµÄÖØµãÊÇÔÚ»ìºÏѹÁ¦µÄÇé¿öÏ£¬±£Ö¤¹¤×÷¹¤×÷¸ºÔصĽ¡×³ÐÔ£¬¹¹Ôìеĵ÷¶ÈÈÝÁ¿³ÌÐò£¬Í¨¹ý°²È«Î§À¸£¨ safety rails £©À´±£Ö¤×ÊԴʹÓÃÏÞÖÆ¡£

ÁíÒ»¸öÎÊÌ⻹ÊÇÀϵ÷ÖØµ¯µÄ·ÇÈ«¶Ô³ÆÊ½µÄÉè¼Æ¡£ÎªÁ˼õÇáHDFS µÄName Node µÄµ¥µã¹ÊÕÏÎÊÌâËûÃǶ¼½«Êý¾Ý¸´ÖƵ½¶à¸öȺ¼¯£¬·Ö²¼Ê½ÎļþϵͳµÄÖжϿÉÒÔʹÓñ¸·ÝÎļþϵͳÀ´ÃÖ²¹ºÍ½â¾öname node ³öÏֵĹÊÕÏ¡£Í¬Ê±£¬ÎªÁ˱£Ö¤Ó¦ÓõÄÖ®¼äµÄ½âñÎÞÂÛÊÇyahoo »¹ÊÇfacebook £¬¶¼½«ËûÃǵÄhadoop Ⱥ¼¯¸ù¾ÝÓ¦Ó÷ֽâ³É¶à¸öȺ¼¯¡£

 

µ½ÕâÀïÒѾ­†ªàÂÁË´óÔ¼6000 ×Ö̸ÂÛÁ˺ܶàµÄ±³¾°ºÍÏÖ×´£¬ÍâÃæÊÀ½çºÍ¹«Ë¾ÄÚ²¿µÄÇé¿ö¡£ Êý¾ÝÖÐÐĽ«³ÉΪÕû¸öÆóÒµÊý¾Ý»¯ÔËÓªÖÐÒ»¸ö»·½Ú£¬Èçyahoo ºÅ³ÆµÄÄÇÑù£¬data center behind every click £»Êý¾ÝÖÐÐÄΪ¸÷¸öÒµÎñϵͳÒÔ¼°ÆóÒµµÄÍⲿÓû§Ìṩ·ÖÎöÕûºÏºóµÄÊý¾Ý£¬Í¨¹ý¶ÔÊý¾ÝµÄÕûºÏºÍ»ã×ܼÆË㣬·¢ÏÖÊý¾ÝµÄ¹æÂÉÓë¼ÛÖµ²¢Í¨¹ýÊý¾Ý·þÎñÌṩ¸ø×îÖÕÓû§£¬¿ÉÒÔÔ¤¼ûÊý¾ÝÖÐÐÄ»áÔ½À´Ô½¶àµÄÃæÁÙÀ´×ÔÒÔÏÂÁ½¸ö·½ÃæµÄÐèÇóºÍÌôÕ½£º

?  Ëæ×ŶÔÍâÌṩÊý¾Ý·þÎñµÄÔö¼Ó£¬Êý¾ÝÖÐÐĽ«»á³ÉΪÕû¸öÆóÒµ·þÎñÁ÷³ÌÖеÄÒ»¸ö»·½Ú£¬¶ÔÊý¾Ý·ÖÎöµÄ½á¹ûÐèÒªÖ±½ÓµÄ¶ÔÍâÌṩ·þÎñ ¡£ÕâÒªÇóÊý¾ÝÖÐÐĵÄϵͳƽ̨Äܹ»¶ÔÓÚ¹ã¸æÐÅϢͶ·Å£¬ Óû§ÐËȤԤ²â£¬ÍƼöÒýÇæÕâÑùµÄÒµÎñ¶¼Äܹ»Óиü¿ìµÄˢмÆËãÆµÂÊ£¨1 ·ÖÖÓˢУ©£¬¼ÆËãÍê³ÉµÄ½á¹ûÄܽüºõʵʱµÄ±»Ç°Ì¨Ó¦Ó÷þÎñËùÖ±½Ó·ÃÎÊ¡¢Ó¦Óã» Êý¾ÝÖÐÐÄÌṩµÄÊý¾Ý·þÎñÒªÇóÊÇ»ùÓÚʼþ´¥·¢£¨Event Driving Architecture £©¸üΪÁé»îÖ÷¶¯µÄ¼Ü¹¹£¬²¢Ö±½ÓÃæ¶ÔÍøÕ¾Óû§£¬ÒªÇó7*24 µÄϵͳ¿ÉÓÃÐÔÒÔ¼°Ã¿ÈÕÒÚÍò¼¶±ðPV µÄ²¢·¢·ÃÎÊÐèÇó£»

?  ÌṩÊý¾Ý·þÎñµÄ¿Í»§Ô½À´Ô½¶à£¬³£¹æµÄÊý¾Ý±¨±íµÄ¿ª·¢ÐèÒª¸üΪ¼òµ¥Ö±¹Û£¬¶Ô±¨±í×é¼þ¹¤¾ßÐèÒª×é¼þ»¯£¬×ö¿Í»§»¯¶¨ÖÆ·â×°£»¿Í»§Ïû·ÑÊý¾ÝµÄÄÜÁ¦Ò²Ô½À´Ô½Ç¿£¬ÎÒÃÇÐèÒªÒ»¸ö¸üΪ¿ª·ÅµÄƽ̨ £¬Èøü¶àÓû§ËæÊ±¿ÉÒÔÃæ¶ÔÊý¾Ý£¬ËæÊ±°´ÕÕ×Ô¼ºµÄÏë·¨À´»ñÈ¡ËùÏ£ÍûµÄÊý¾Ý £»

ÏÖÔÚ£¬ÈÃÎÒÃÇ·ÅËÉһϣ¬Á¬½ÓÉÏ Pasiv Device ¸úËæDream Architect £¬¿ªÊ¼´ÓÏÖʵϵͳ½øÈëδÀ´µÄÃξ³µÄÂọ́¬Ò»ÆðÀ´¹¹ÔìÊôÓÚ°¢Àï°Í°ÍδÀ´ËùÐèÒª¼ÆËã´æ´¢Æ½Ì¨¡£

 

Overall System Architecture

       ϵͳµÄ×ÜÌå¼Ü¹¹½«Âú×ãÒÔÏÂÌØÐÔ£º

?  Distributed & Parallel

ÈçǰÎÄËùÊö£¬ÏµÍ³µÄ¿ÉÉìËõÐÔÊÇÎÒÃǵÄϵͳ¼Ü¹¹ÖбØÐëÒª¿¼ÂǵÄÒ»¸öÖØÒªÒòËØ£¬½â¾öScale Out µÄ±ØÓÉ֮·ÊÇ×ß·Ö²¼Ê½¼ÆËãµÄµÀ·¡£½«ÏµÍ³µÄÊý¾Ý¡¢·þÎñÇëÇ󡢸ºÔØÑ¹Á¦¶¼Äܾù̯µ½¶à¸ö´¦Àí½ÚµãÖС£¸ù¾ÝÒµÎñµÄÐèÒª£¬¿ÉÒÔͨ¹ý´¹Ö±·ÖÇø£¨±ÈÈ罫ҵÎñ¹¦Äܲð·Ö²»Í¬µÄ¹¦ÄÜÄ£¿é£¬²¢½«ÕâЩ²»Í¬µÄ¹¦ÄÜÄ£¿é½»Óɲ»Í¬µÄ´¦Àíµ¥ÔªÊµÏÖ£©ºÍˮƽ·ÖÇø£¨±ÈÈ罫һ×éÊý¾ÝÔªËØÇзÖΪÐí¶à¸öʵÀý£¬²¢Õâ¸öÊý¾ÝÔªËØµÄ²»Í¬Êý¾ÝʵÀý½»Óɲ»Í¬µÄ´¦Àíµ¥ÔªÍê³É£©À´ÊµÏÖ¹¦Äܵķֲ¼Ê½¡£

·Ö²¼Ê½´øÀ´µÄÁíÒ»¸öºÃ´¦²¢Ðл¯£¬½«Ò»¸öÈÎÎñ²ð½âΪÐí¶à¸öÂß¼­µ¥Ôª£¬½«ÕâÐí¶à¸öÂß¼­µ¥Ôª½»Óɶà¸ö´¦Àíµ¥Ôª²¢ÐеĴ¦Àí´Ó¶ø´ó·ùÌáÉýÅú´¦ÀíÈÎÎñµÄÐÔÄÜ¡£

?  Transparent & Elasticity

ºǫ́¸´Ôӵķֲ¼Ê½Âß¼­¶ÔÓ¦ÓúͿª·¢ÈËÔ±Òþ²Ø£¬ÄÜÈÿª·¢ÈËÔ±¿ª·¢´úÂëÏñÔÚµ¥»úÉÏÒ»Ñù¿ª·¢¡£

Êý¾ÝȺ¼¯´æ´¢·þÎñ£¬Ó¦ÓöÔÊý¾Ý·ÃÎÊ͸Ã÷£¬ÎÞÐè¹ØÐÄ´æ´¢µÄλÖã»×ñÑ­ÓÚCAP theorem µÄ¿ç¶à½ÚµãÊý¾Ý·Ö²¼Ä£ÐͶøÉè¼Æ£¬Ö§³ÖÊý¾ÝµÄˮƽÉìËõ¡£ÕâÒâζ×ŶÔÓÚ¶àÊý¾ÝÖÐÐĺͶ¯Ì¬¹©Ó¦£¨ÔÚÉú²ú¼¯ÈºÖÐ͸Ã÷µØ¼ÓÈë/ ɾ³ý½Úµã£©µÄ±ØÒªÖ§³Ö£¬Ò²¼´µ¯ÐÔ[2] ¡£

?  High Availability &  Fault Tolerance

Data Center ·¢Õ¹µ½½ñÌ죬ÒѾ­²»ÔÙÊÇÒ»¸öµ¥´¿µÄºǫ́ϵͳ¡£Ëæ×ÅÓ¦ÓõÄÉîÈëºÍʵʱ»¯µÄÍÆ½ø£¬Data Center Ô½À´Ô½Ç°Ì¨»¯£¬ÐèÒªÌṩ7*24 ¿ÉÓÃÐÔ¼¶±ð£»ÈÎÒâÓ²¼þÉ豸µ¼ÖµÄå´»úÊÇÍêÈ«²»¿É½ÓÊÜ

http://run-xiao.javaeye.com/blog/782235

 
 
·¢±íÆÀÂÛ£º
ÔØÈëÖС£¡£¡£

 
 
 

ÃÎÏè¶ùÍøÕ¾ ÃηÉÏèµÄµØ·½ http://www.dreamflier.net
ÖлªÈËÃñ¹²ºÍ¹úÐÅÏ¢²úÒµ²¿TCP/IPϵͳ ±¸°¸ÐòºÅ£ºÁÉICP±¸09000550ºÅ

Powered by Oblog.