Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
½«å´»úʱ¼äËõ¼õµ½5·ÖÖÓ£¬Facebook½Ò¶ÏÂÒ»´úÊý¾Ý´æ´¢
 
×÷Õß Facebook »ðÁú¹ûÈí¼þ  ·¢²¼ÓÚ 2014-06-12
 

¿ÉÓÃÂÊ4¸ö9µ½5¸ö9µÄÌáÉý¶ÔÈκÎÒ»¸ö·þÎñ¶¼²»ÊǼþ¼òµ¥µÄÊÂÇ飬¶øÔÚFacebookµÄ¹æÄ££¬Õâµã¾Í¸ü²»ÈÝÒ×ÁË¡£½üÈÕ£¬Éç½»¾ÞÍ·½Ò¶ÁËHBaseµÄÄÚ²¿ÑÜÉú°æ±¾HydraBase£¬³ÆÆä¿ÉÒÔ½«·þÎñµÄÄêå´»úʱ¼äËõ¶Ìµ½5·ÖÖÓ¡£

×÷ΪÉç½»¾ÞÍ·£¬FacebookÊý¾ÝÔö³¤µÄËÙ¶È¿ÉÏë¶øÖª£¬Òò´Ë£¬ÔÚÑ¡ÔñÁËÊʺϵļ¼Êõºó£¬ËûÃÇ»¹±ØÐë¸ù¾ÝÒµÎñÐèÇó¡¢Êý¾ÝÔö³¤Çé¿öµÈ²»Í£µÄÓÅ»¯£¬Òò´Ë¾ÍÓÐÁË֮ǰµÄWebScaleSQL¡£¶ø±¾´ÎÎÒÃÇҪ˵µÄÊǸù«Ë¾HBaseÄÚ²¿ÑÜÉú°æ±¾HydraBase£¬ËäÈ»²¢Î´¿ªÔ´£¬µ«ÊÇÎÒÃDz»·Á´ÓFacebook²©ÎÄÖÐÒ»¶ÃÉç½»¾ÞÍ·µÄÉè¼ÆÀíÄî¡£

ÒÔÏÂΪÒëÎÄ

×Ô2010Ä꽫SMS¡¢chat¡¢email¼°Facebook MessagesÕûºÏµ½1¸öÊÕ¼þÏäºó£¬ÎÒÃǾͿªÊ¼Ê¹ÓÃHBase¡£×Ô´ËÖ®ºó£¬Éç½»¾ÞÍ·Facebook¾ÍÒ»Ö±À©Õ¹Õâ¸ö»ùÓÚHDFSµÄ·Ö²¼Ê½¼üÖµ´æ´¢ÏµÍ³ÒÔÂú×ã×Ô¼ºµÄÒµÎñÐèÇó¡£»ùÓÚÆä¸ßдÈëºÍµÍËæ»ú¶ÁÈ¡ÑÓʱ£¬ÄǸöʱºòHBase±»Ñ¡Ôñ×÷ΪMessagesƽ̨µÄDZÔÚ³Ö¾ÃÊý¾Ý´æ´¢ÏµÍ³¡£´ËÍ⣬HBase»¹¾ß±¸Ò»Ð©ÆäËûÓŵ㣬±ÈÈç×ÝÏòÀ©Õ¹¡¢Ç¿Ò»ÖÂÐÔÒÔ¼°×Ô¶¯¹ÊÕÏ×ªÒÆ´øÀ´µÄ¸ß¿ÉÓᣴÓÄÇʱÆð£¬Facebook¾Í¿ªÊ¼ÖضÈʹÓÃHBase£¬±ÈÈçMessagesÕâÑùµÄÔÚÏßÊÂÎñ´¦ÀíÒÔ¼°Ò»Ð©¾­³£Óõ½ÔÚÏß·ÖÎöµÄµØ·½£¬µ±ÏÂHBaseÒÑÓÃÓÚÄÚ²¿¼àÊÓϵͳ¡¢Nearby Friends¹¦ÄÜ¡¢Ë÷Òý²éѯ¡¢Á÷Êý¾Ý·ÖÎöÒÔ¼°ÎªÄÚ²¿Êý¾Ý²Ö¿âץȡÊý¾Ý¡£

HBase¿É¿¿ÐÔ

ÔÚFacebookͨ³£»á³öÏÖÕâÑùÒ»¸öÇé¿ö£¬Ñ¡ÔñÒ»¸öDZÔÚÂú×ãÐèÇóµÄ¼¼Êõ¶ÑÕ»£¬È»ºó²»Í£µÄÈ¥ÓÅ»¯¡£¶ÔÓÚFacebookÀ´Ëµ£¬¿É¿¿ÐÔÓÈÎªÖØÒª£¬¶øµ±ÏÂÎÒÃÇʹÓÃHBaseÐèÇóÃæÁÙµÄÌôÕ½Êǵ¥Ö÷»úʧ°Ü¡¢»ú¼Ü¼¶¹ÊÕÏÒÔ¼°Ãܼ¯´æ´¢Ö®¼äµÄϸ΢²î±ð¡£½â¾öÕâЩ·½·¨µÄ;¾¶Ö®Ò»¾ÍÊÇʹÓÃÖ÷´ÓÉèÖã¬ÔÚÁ½¸ö¼¯ÈºÖ®¼ä×öÒì²½¸üС£È»¶ø£¬ÕâÑù×öµÄ»°£¬ÎÒÃÇÐèÒªÃæ¶Ô¼¯Èº¼¶±ðµÄ¹ÊÕÏ×ªÒÆ£¬Èç´ËÖ÷´Ó¹ÊÕÏ×ªÒÆ½«»á»¨·ÑÊý·ÖÖÓµÄʱ¼ä£¬¶øÒì²½²Ù×÷ºÁÎÞÒÉÎÊ»á´øÀ´Êý¾Ý¶ªÊ§£¬HydraBase°ïÎÒÃǽâ¾öÁËÕâÒ»ÎÊÌâ¡£

HBase»ù´¡

ÔÚÁ˽âHydraBase֮ǰ£¬Ê×ÏȽâÊÍһЩHBaseµÄ»ù´¡¸ÅÄî¡£ÔÚHBaseÖУ¬Êý¾ÝÊÇÎïÀí¹²ÏíµÄ£¬Ò²¾ÍÊÇËù˵µÄregions¡£regionsͨ¹ýregion·þÎñÆ÷¹ÜÀí£¬Ã¿¸öregion·þÎñÆ÷»á¸ºÔðÒ»¸ö»òÒÔÉϵÄregion¡£µ±Êý¾Ý±»Ìí¼Óµ½HBase£¬ËüÊ×ÏȻᱻдµ½Ò»¸öwrite-ahead log£¨WAL£©£¬¼´HLog¡£Ò»µ©Ð´È룬Õâ¸öÊý¾Ý»á±»´æ´¢µ½Ò»¸öÄÚ´æMemStoreÖС£Ò»µ©Êý¾Ý³¬¹ýÁËij¸öãÐÖµ£¬ËüÃǾͱ»³Ö¾Ã»¯µ½´ÅÅÌ¡£Ëæ×ÅMemStore³Ö¾Ã»¯µ½´ÅÅ̵ÄHFilesÊýÁ¿Ôö¶à£¬HBase»á½«¼¸¸öСµÄÎļþºÏµ½Ò»Ð©´óµÄÎļþÖУ¬À´¼õÉÙ¶ÁµÄ¿ªÏú£¬Õâ¾ÍÊÇËùνµÄѹËõ¡£

µ±Ä³¸öregion·þÎñÆ÷·¢Éú¹ÊÕÏ£¬Õâ¸ö·þÎñÆ÷¸ºÔðµÄËùÓÐregion¶¼»á×ªÒÆµ½ÁíÒ»¸ö·þÎñÆ÷£¬Ö´ÐйÊÕÏ×ªÒÆ¡£¼øÓÚHBase¹ÊÕÏ×ªÒÆÖеÄʵÏÖ·½Ê½£¬Õ⽫ÐèÒª×öWALµÄ·Ö¸îºÍ¸´ÖÆ£¬Õ⽫´ó´óµÄÑÓ³¤¹ÊÕÏ×ªÒÆµÄʱ¼ä¡£

HydraBaseÏà¹Ø

ÉÏÎÄËù˵ÕýÊÇHydraBaseÓëÖ®×î´óµÄÇø±ð£¬È¡´úregion¶¼Ö»±»µ¥Ò»µÄregion·þÎñÆ÷¿ØÖÆ£¬ÔÚHydraBaseÖУ¬Ã¿¸öregion¿ÉÒÔ±»Ò»Èºregion·þÎñÆ÷¿ØÖÆ¡£µ±Ä³¸öregion·þÎñÆ÷·¢Éú¹ÊÕÏ£¬±¸ÓõÄregion·þÎñÆ÷»áÁ¢¿Ì½ÓÊÖ·þÎñËüËù¿ØÖƵÄregion£¬ÕâЩ±¸ÓõÄregion·þÎñÆ÷¿ÉÄܺá¿ç²»Í¬µÄ»ú¼ÜÉõÖÁÊÇÊý¾ÝÖÐÐÄ£¬Í¨¹ý²»Í¬µÄ¹ÊÕÏÓòÀ´Ìṩ¸ß¿ÉÓ᣿ØÖÆÃ¿¸öregionµÄ·þÎñÆ÷»áÐγÉÒ»¸öquorum£¬Ã¿¸öquorum¶¼ÓÐ1¸ö¸ºÔðregion·þÎñÆ÷À´´¦ÀíÀ´×Ô¿Í»§¶ËµÄ¶ÁºÍдÇëÇó¡£HydraBaseʹÓÃRAFTÒ»ÖÂЭÒéÀ´±£Ö¤¿çquorumµÄÒ»ÖÂÐÔ£¬Ã¿¸öquorum¶¼Ê¹ÓÃ2F+1£¬HydraBase¿ÉÒÔ³ÐÊÜF¼¶¹ÊÕÏ¡£region serverͨ¹ýͬ²½Ð´ÈëWALÀ´±£ÕÏÒ»ÖÂÐÔ£¬µ«ÊÇÖ»ÓÐÒ»²¿·ÖµÄregion serverÐèÒªÍêÈ«µÄдÈëÀ´±£Ö¤Ò»ÖÂÐÔ¡£

quorumÖеijÉÔ±Ö»´æÔÚactive»òwitnessÁ½¸öģʽ£¬activeģʽ³ÉÔ±»áдÈëµ½HDFS£¬ÆÚ¼ä»áÖ´ÐÐÊý¾Ý³Ö¾Ã»¯ºÍѹËõ¡£witness³ÉÔ±Ö»»á²ÎÓë¸´ÖÆWAL£¬µ«ÊÇÔÚ¸ºÔðregion·þÎñÆ÷ʧ°Üʱ¿ÉÒÔÁ¢¿ÌʹÓá£

HydraBase²¿ÊðÄ£ÐÍ

HydraBase²¿Êð

ÔÚÕâ¸öÇé¿öÏ£¬HydraBaseµÄ²¿Êð¿çÔ½ÁË3¸öÊý¾ÝÖÐÐÄ£¬quorumµÄ´óСΪ5¡£Í¨¹ýÕâÑùµÄÉèÖ㬸ºÔðregion server¿ÉÒÔ×ªÒÆµ½¸ÃÇøÓòµÄÈκÎÒ»¸ö³ÉÔ±¡£Èç¹ûÖ»ÊÇͼ1ÖеÄActive Leaderʧ°Ü£¬Í¬Ò»¸öÊý¾ÝÖÐÐĵÄWitness Follower½«È¡¶ø´úÖ®£¬¿Í»§¶ËµÄÇëÇ󽫸øËü·¢ËÍ¡£Èç¹û¶ªÊ§µÄÊÇÕû¸öÊý¾ÝÖÐÐÄ£¬¼ûµÚ¶þÕÅͼ£¬µÚ¶þ¸öÊý¾ÝÖÐÐĵÄActive Follower»áÈ¡¶ø´úÖ®£¬¼øÓÚÊý¾ÝÖÐÐÄ2µÄregion serverÈÔÈ»¿ÉÒÔ¸øHDFSÖÐдÊý¾Ý£¬Òò´Ë¼´Ê¹ÊÇÊý¾ÝÖÐÐÄ1²»¿É¼û£¬Êý¾ÝÈÔÈ»¿ÉÒÔ·ÃÎÊ¡£

ͼ1

ͼ2

HydraBaseµÄÁíÒ»¸öºÃ´¦ÊÇÓÐЧµÄ½âñîÂß¼­ºÍÎïÀí±¸·Ý£¬´ËÍ⣬ÒòΪ²»ÐèÒª·Ö¸îÈÕÖ¾£¬¹ÊÕÏ×ªÒÆ½«»áºÜ¿ìËÙµÄÖ´ÐУ¬HydraBaseÄܽ«FacebookÈ«ÄêµÄå´»úʱ¼äËõ¼õµ½²»µ½5·ÖÖÓ¡£FacebookĿǰÕýÔÚ²âÊÔHydraBase£¬²¢¼Æ»®ÔÚÉú²ú¼¯ÈºÖÐÖ𲽿ªÊ¼²¿Êð¡£

   
´Îä¯ÀÀ       
Ïà¹ØÎÄÕÂ

»ùÓÚEAµÄÊý¾Ý¿â½¨Ä£
Êý¾ÝÁ÷½¨Ä££¨EAÖ¸ÄÏ£©
¡°Êý¾Ýºþ¡±£º¸ÅÄî¡¢ÌØÕ÷¡¢¼Ü¹¹Óë°¸Àý
ÔÚÏßÉ̳ÇÊý¾Ý¿âϵͳÉè¼Æ ˼·+Ч¹û
 
Ïà¹ØÎĵµ

GreenplumÊý¾Ý¿â»ù´¡Åàѵ
MySQL5.1ÐÔÄÜÓÅ»¯·½°¸
ijµçÉÌÊý¾ÝÖÐ̨¼Ü¹¹Êµ¼ù
MySQL¸ßÀ©Õ¹¼Ü¹¹Éè¼Æ
Ïà¹Ø¿Î³Ì

Êý¾ÝÖÎÀí¡¢Êý¾Ý¼Ü¹¹¼°Êý¾Ý±ê×¼
MongoDBʵս¿Î³Ì
²¢·¢¡¢´óÈÝÁ¿¡¢¸ßÐÔÄÜÊý¾Ý¿âÉè¼ÆÓëÓÅ»¯
PostgreSQLÊý¾Ý¿âʵսÅàѵ

MySQLË÷Òý±³ºóµÄÊý¾Ý½á¹¹
MySQLÐÔÄܵ÷ÓÅÓë¼Ü¹¹Éè¼Æ
SQL ServerÊý¾Ý¿â±¸·ÝÓë»Ö¸´
ÈÃÊý¾Ý¿â·ÉÆðÀ´ 10´óDB2ÓÅ»¯
oracleµÄÁÙʱ±í¿Õ¼äдÂú´ÅÅÌ
Êý¾Ý¿âµÄ¿çƽ̨Éè¼Æ


²¢·¢¡¢´óÈÝÁ¿¡¢¸ßÐÔÄÜÊý¾Ý¿â
¸ß¼¶Êý¾Ý¿â¼Ü¹¹Éè¼ÆÊ¦
HadoopÔ­ÀíÓëʵ¼ù
Oracle Êý¾Ý²Ö¿â
Êý¾Ý²Ö¿âºÍÊý¾ÝÍÚ¾ò
OracleÊý¾Ý¿â¿ª·¢Óë¹ÜÀí


GE Çø¿éÁ´¼¼ÊõÓëʵÏÖÅàѵ
º½Ìì¿Æ¹¤Ä³×Ó¹«Ë¾ Nodejs¸ß¼¶Ó¦Óÿª·¢
ÖÐÊ¢Òæ»ª ׿Խ¹ÜÀíÕß±ØÐë¾ß±¸µÄÎåÏîÄÜÁ¦
ijÐÅÏ¢¼¼Êõ¹«Ë¾ PythonÅàѵ
ij²©²ÊITϵͳ³§ÉÌ Ò×ÓÃÐÔ²âÊÔÓëÆÀ¹À
ÖйúÓÊ´¢ÒøÐÐ ²âÊÔ³ÉÊì¶ÈÄ£Ðͼ¯³É(TMMI)
ÖÐÎïÔº ²úÆ·¾­ÀíÓë²úÆ·¹ÜÀí