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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
ÉîÈëdz³ö½âÎö´óÊý¾ÝLambda¼Ü¹¹
 
×÷ÕߣºBigDater
 
  3529  次浏览      28
2020-11-2
 
±à¼­ÍƼö:
±¾ÎÄͨ¹ýÔ­ÀíµÄÊáÀíºÍ¾ßÌåÉÌÒµµÄÆÊÎö£¬Ï£Íû¸ø¶ÁÕßÒ»¸ö×ÜÌåµÄ˼·£¬ÈçºÎ´ÓÎÞµ½ÓÐÉè¼Æ³öÒ»¸öÓÐЧµÄϵͳ£¬Í¬Ê±Âú×ãʵʱºÍÀëÏßÒµÎñµÄÐèÇ󣬰ïÖúÆóÒµ´ÓÊý¾ÝÖд´Ôì¸ü´óµÄ¼ÛÖµ¡£
±¾ÎÄÀ´×Ô´óÊý¾Ý¿ª·ÅʵÑéÊÒ£¬ÓÉ»ðÁú¹ûÈí¼þAlice±à¼­¡¢ÍƼö¡£

ǰÑÔ

HadoopµÄ³öÏÖÈÃÈËÃdz¢µ½ÁË´óÊý¾Ý¼¼ÊõµÄÌðÍ·£¬ËüµÄÅú´¦ÀíÄÜÁ¦ÒѾ­±»¹¤Òµ½ç³ä·ÖÈϿɣ¬µ«ÊÇËüµÄÑÓ³ÙÐÔҲһֱΪ´ó¼ÒËùÚ¸²¡¡£Ëæ×Ÿ÷Ðи÷ÒµµÄ·¢Õ¹£¬Ô½À´Ô½¶àµÄÒµÎñÒªÇó´óÊý¾Ýϵͳ¼È¿ÉÒÔ´¦ÀíÀúÊ·Êý¾Ý£¬ÓÖ¿ÉÒÔ½øÐÐʵʱ¼ÆËã¡£±ÈÈçµçÉÌÍÆ¼öϵͳ£¬µ±ÄãÔÚ¾©¶«ä¯ÀÀÉÌÆ·Ê±£¬¾©¶«»á¸ù¾ÝÄãµÄä¯ÀÀ¡¢¼Ó³µ¡¢Êղء¢É¾³ýµÈÐÐΪ£¬ÊµÊ±ÎªÄãÍÆ¼öÉÌÆ·¡£ÒªÊµÏÖÕâ¸ö¹¦ÄÜ£¬ÍƼöÒýÇæÊ×ÏÈÐèÒª¸ù¾ÝÀúÊ·Êý¾ÝÔ¤ÏÈÀëÏß¼ÆËãÍÆ¼öÄ£ÐÍ£¬È»ºó´ÓÏûÏ¢¶ÓÁÐÖÐʵʱÀ­È¡Óû§ÐÐΪÊý¾Ý£¬½áºÏÁ½Õߣ¬ÊµÊ±Éú³ÉÍÆ¼ö½á¹û¡£

ÔÙ¾ÙÒ»¸öÖǻ۽»Í¨ÏµÍ³µÄÀý×Ó¡£ÔÚÖǻ۽»Í¨ÏµÍ³ÖУ¬ÐèÒª¶ÔδÄê¼ì¡¢Î´±¨·ÏµÈΣÏÕ³µÁ¾½øÐÐʵʱԤ¾¯£¬Õâ¾ÍÒªÇó¸ÃϵͳԤÏȸù¾ÝÀúÊ·Êý¾Ýɾѡ³öδÄê¼ì»ò䱨·ÏµÄ³µÁ¾ÐÅÏ¢¿â£¬È»ºó½«µÀ·ÉÏʵʱ»ñÈ¡µ½µÄ³µÁ¾ÐÅÏ¢Óë³µÁ¾ÐÅÏ¢¿â½øÐжԱȣ¬ÅжÏÓÐûÓÐÎ¥Õ³µÁ¾¡£

Ãæ¶ÔÕâÑù¸´ÔÓµÄÒµÎñÐèÇ󣬿ª·¢ÕßÊ×ÏÈÐèÒªÒ»¸ö±È½ÏºÃµÄ¼Ü¹¹Éè¼ÆË¼Â·£¬Ôڼܹ¹Éè¼ÆÍê³ÉºóÔÙ×öÏàÓ¦µÄ¼¼ÊõÑ¡ÐÍ¡£Ä¿Ç°Òµ½çÓм¸¸öÖªÃûµÄ¼Ü¹¹Éè¼ÆÀ´´¦Àí´ËÀàÐèÇó£¬ÈçLambdaºÍSummingbird£¬µ«ÊÇËüÃÇÔڼܹ¹µÄÉè¼ÆÉÏÓÖÓбȽϴóµÄ²»Í¬¡£¾ÍĿǰ¶øÑÔ£¬SummingbirdºÍLambda¼Ü¹¹¶¼¿¼Âǵ½ÁËʵʱ¼ÆËãºÍÅú´¦ÀíÏà½áºÏµÄÎÊÌ⣬ֻ²»¹ýSummingbirdÖ÷ÕÅÒÔͳһµÄ·½Ê½À´Ö´ÐдúÂ룬ÓйØÁ½ÕßµÄÇø±ð£¬´ó¼Ò¿ÉÒÔ×ÔÐÐÉÏÍøÁ˽âһϣ¬ÕâÀïÎÒÃÇÖ»ÌÖÂÛLambda¼Ü¹¹¡£

±³¾°½éÉÜ

Lambda¼Ü¹¹ÊÇNathan MarzÌá³öµÄÒ»¸öʵʱ´óÊý¾Ý´¦Àí¿ò¼Ü¡£Nathan MarzÊÇÖøÃûµÄʵʱ´óÊý¾Ý´¦Àí¿ò¼ÜStormµÄ×÷Õߣ¬Lambda¼Ü¹¹¾ÍÊÇÆä¸ù¾Ý¶àÄê·Ö²¼Ê½´óÊý¾ÝϵͳµÄ¾­Ñé×ܽáÌáÁ¶¶ø³É¡£

Nathan Marz ÔÚBig Data:Principles and best practices of scalable real-time data systemsÒ»ÊéÖÐÌáµ½Á˺ܶàʵʱ´óÊý¾ÝϵͳµÄ¹Ø¼üÌØÐÔ£¬°üÀ¨ÈÝ´íÐÔ£¬½¡×³ÐÔ£¬µÍÑÓ³Ù£¬¿ÉÀ©Õ¹£¬Í¨ÓÃÐÔ£¬·½±ã²éѯµÈ£¬Lambda¾ÍÊÇÆä¸ù¾ÝÕâÐ©ÌØÐÔÉè¼ÆµÄÒ»¸öʵʱ´óÊý¾Ý¿ò¼Ü¡£ÐèҪעÒâµÄÊÇ£¬Lambda²¢²»ÊÇÒ»¸ö¾ßÓÐʵÌåµÄÈí¼þ²úÆ·£¬¶øÊÇÒ»¸öÖ¸µ¼´óÊý¾Ýϵͳ´î½¨µÄ¼Ü¹¹Ä£ÐÍ£¬Òò´Ë£¬Óû§¿ÉÒÔ¸ù¾Ý×Ô¼ºµÄÐèÒª£¬ÔÚLambdaµÄÈý²ãÄ£ÐÍÖУ¬ÈÎÒ⼯³ÉHadoop£¬Kafka£¬Storm£¬Spark£¬HbaseµÈ¸÷Àà´óÊý¾Ý×é¼þ£¬»òÕßÑ¡ÓÃÉÌÓÃÈí¼þÀ´¹¹½¨ÏµÍ³¡£

Ô­Àí½²½â

´óÊý¾ÝϵͳµÄÌØÐÔ

ÔÚ½²´óÊý¾ÝϵͳµÄÌØÐÔ֮ǰ£¬ÎÒÃÇÏÈÀ´·ÖÎöÒ»ÏÂÊý¾ÝϵͳµÄ±¾ÖÊ¡£

Nathan MarzÈÏΪ£¬Êý¾ÝϵͳµÄ±¾ÖÊÊÇ¡°²éѯ+Êý¾Ý¡±£¬Óù«Ê½±í´ïÈçÏ£º

Query = Function ( All Data )

Êý¾ÝϵͳÆäʵÊÇÒ»¸öÌṩÁËÊý¾Ý´æ´¢ºÍÊý¾Ý²éѯ¹¦ÄܵÄϵͳ¡£ÔÚÊý¾Ý´æ´¢¹ý³ÌÖУ¬Êý¾Ý¿ÉÄܻᷢÉú¶ªÊ§£¬ÔÚÊý¾Ý²éѯµÄ¹ý³ÌÖУ¬²éѯҲ¿ÉÄܳöÏÖ´íÎó£¬Òò´Ë£¬Êý¾Ýϵͳ±ØÐëÄܹ»Ó¦¶ÔÕâЩÎÊÌ⣬Õâ¾ÍÊÇÎÒÃÇËù˵µÄÊý¾ÝϵͳµÄÈÝ´íÐԺͽ¡×³ÐÔ¡£³ý´ËÖ®Íâ£¬Ëæ×ÅÊý¾ÝµÄ¹æÄ£Ô½À´Ô½´ó£¬²éѯԽÀ´Ô½¸´ÔÓ£¬ÎÒÃÇÏ£ÍûÊý¾ÝϵͳÊÇÒ×ÓÚÀ©Õ¹µÄ£¬²¢ÇÒÊÇ¿Éά»¤µÄ£¬×îºÃ²éѯÈÔÈ»ÊǵÍÑӳٵģ¬ÖÁ´Ë£¬ÎÒÃǾͿÉÒÔÀ´×ܽáһϴóÊý¾ÝϵͳµÄ¹Ø¼üÌØÐÔÁË£¬¾ßÌåÈçÏ£º

a. ÈÝ´íÐԺͽ¡×³ÐÔ£º¶ÔÓÚ·Ö²¼Ê½ÏµÍ³À´Ëµ£¬±£Ö¤ÈËΪ²Ù×÷²»³ö´í£¬³ÌÐòÒ²²»³ö´íÊDz»¿ÉÄܵģ¬Òò´Ë£¬´óÊý¾Ýϵͳ±ØÐë¶ÔÕâÑùµÄ´íÎóÓÐ×ã¹»µÄÊÊÓ¦ÄÜÁ¦¡£

b. µÍÑÓ³Ù£ººÜ¶àÓ¦ÓöÔÓÚ¶ÁºÍд²Ù×÷µÄÑÓʱҪÇó·Ç³£¸ß£¬ÒªÇó¶Ô¸üкͲéѯµÄÏìÓ¦ÊǵÍÑÓʱµÄ¡£

c. ºáÏòÀ©ÈÝ£ºµ±Êý¾ÝÁ¿/¸ºÔØÔö´óʱ£¬ÏµÍ³¿ÉÒÔ²ÉÓÃscale out£¨Í¨¹ýÔö¼Ó»úÆ÷µÄ¸öÊý£©£¬¶ø²»ÊÇscale up£¨Í¨¹ýÔöÇ¿»úÆ÷µÄÐÔÄÜ£©À´Î¬³ÖÐÔÄÜ¡£

d. ¿ÉÀ©Õ¹£ºµ±ÏµÍ³ÐèÒªÔö¼ÓһЩй¦ÄÜ»òÕßÐÂÌØÐÔʱ£¬Ëù»¨·ÑµÄ´ú¼Û±È½ÏС¡£

e. ·½±ã²éѯ£ºÊý¾ÝϵͳµÄ±¾ÖÊÊÇ¡°²éѯ+Êý¾Ý¡±£¬Òò´Ë£¬Êý¾ÝϵͳӦ¾ß±¸·½±ã¡¢¿ìËÙµÄÊý¾Ý²éѯ¹¦ÄÜ¡£

f. Ò×ÓÚά»¤£ºÏµÍ³ÒªÏë×öµ½Ò×ÓÚά»¤£¬Æä¹Ø¼üÊÇ¿ØÖÆÆä¸´ÔÓÐÔ£¬Ô½ÊǸ´ÔÓµÄϵͳԽÈÝÒ׳ö´í¡¢Ô½ÄÑά»¤¡£

Lambda¼Ü¹¹µÄÈý²ãÄ£ÐÍ

Ç°ÃæÌáµ½£¬Query = Function(All Data)£¬ÄÇô´óÊý¾ÝϵͳµÄ¹Ø¼üÎÊÌâ¾Í±ä³ÉÁË£ºÈçºÎʵʱµØÔÚÈÎÒâ´óÊý¾Ý¼¯ÉϽøÐвéѯ£¿Èç¹ûµ¥´¿µØ¶ÔÈ«ÌåÊý¾Ý¼¯½øÐÐÔÚÏß²éѯ£¬ÄÇô¼ÆËã´ú¼Û»áºÜ´ó£¬ÑÓ³ÙÒ²»áºÜ¸ß£¬±ÈÈçHadoop¡£

LambdaµÄ×ö·¨Êǽ«´óÊý¾Ýϵͳ¼Ü¹¹²ð·Ö³ÉÁËÈý²ã£ºBatch Layer£¬Speed LayerºÍServing Layer¡£LambdaµÄ·Ö²ã½á¹¹Í¼Èçͼ1Ëùʾ£º

ͼ1 Lambda·Ö²ã½á¹¹Í¼

a. Batch Layer

¼ÈÈ»¶ÔÈ«ÌåÊý¾Ý¼¯½øÐÐÔÚÏß²éѯ£¬¼ÆËã´ú¼Û»áºÜ¸ß£¬ÄÇôÈç¹û¶Ô²éѯÊÂÏȽøÐÐÔ¤¼ÆË㣬Éú³É¶ÔÓ¦µÄViews£¬²¢ÇÒ¶ÔViews½¨Á¢Ë÷Òý£¬ÕâÑù£¬²éѯµÄËÙ¶È»áÌá¸ßºÜ¶à£¬Õâ¾ÍÊÇBatch LayerËù×öµÄÊ¡£

Batch Layer²ã²ÉÓò»¿É±äÄ£ÐͶÔËùÓÐÊý¾Ý½øÐÐÁË´æ´¢£¬²¢ÇÒ¸ù¾Ý²»Í¬µÄÒµÎñÐèÇ󣬶ÔÊý¾Ý½øÐÐÁ˲»Í¬µÄÔ¤²éѯ£¬Éú³É¶ÔÓ¦µÄBatch Views£¬ÕâЩBatch ViewsÌṩ¸øÉϲãµÄServing Layer½øÐнøÒ»²½µÄ²éѯ¡£ÁíÍ⣬ÿ¸ôÒ»¶Îʱ¼ä¶¼»á½øÐÐÒ»´ÎÔ¤²éѯ£¬¶ÔBatch Views½øÐиüУ¬Batch Views¸üÐÂÍê³Éºó£¬»áÁ¢¼´¸üе½Serving LayerÖÐÈ¥¡£

Ô¤²éѯµÄ¹ý³ÌÊÇÒ»¸öÅú´¦ÀíµÄ¹ý³Ì£¬Òò´Ë£¬ÕâÒ»²ã¿ÉÒÔÑ¡ÔñÖîÈçHadoopÕâÑùµÄ×é¼þ¡£Batch Layer²ãµÄ½á¹¹Í¼Èçͼ2Ëùʾ£º

ͼ2 Batch Layer½á¹¹Í¼

b. Speed Layer

ÈçÉÏÒ»½ÚÖÐÌáµ½£¬Ô¤²éѯµÄ¹ý³ÌÊÇÒ»¸öÅú´¦ÀíµÄ¹ý³Ì£¬¸Ã¹ý³Ì»¨·ÑµÄʱ¼ä»á±È½Ï³¤£¬Ôڸùý³ÌÖУ¬Serving LayerʹÓõÄÈÔÈ»ÊǾɰ汾µÄBatch Views£¬ÄÇô½ö½öÒÀ¿¿Batch LayerÕâÒ»²ã£¬Ð½øÈëϵͳµÄÊý¾Ý½«ÎÞ·¨²ÎÓë×îºó½á¹ûµÄ¼ÆË㣬Òò´Ë£¬MarzΪLambdaÉè¼ÆÁËSpeed Layer²ãÀ´´¦ÀíÔöÁ¿µÄʵʱÊý¾Ý¡£

Speed LayerºÍBatch Layer±È½ÏÀàËÆ£¬¶ÔÊý¾Ý¼ÆËãÉú³ÉRealtime Views£¬ÆäÖ÷ÒªµÄÇø±ðÊÇ£º

µÚÒ»£¬Speed Layer´¦ÀíµÄÊý¾ÝÊÇ×î½üµÄÔöÁ¿Êý¾ÝÁ÷£¬Batch Layer´¦ÀíµÄÊÇÈ«ÌåÊý¾Ý¼¯¡£

µÚ¶þ£¬Speed LayerΪÁËЧÂÊ£¬½ÓÊÕµ½ÐÂÊý¾Ýʱ£¬¾Í¸üÐÂRealtime Views£¬²¢ÇÒ²ÉÓõÄÊÇIncremental Updates£¨ÔöÁ¿¼ÆËãÄ£ÐÍ£©£¬¶øBatch LayerÔòÊǸù¾ÝÈ«ÌåÀëÏßÊý¾Ý¼¯µÃµ½Batch Views£¬²ÉÓõÄÊÇRecomputation Updates£¨ÖØÐ¼ÆËãÄ£ÐÍ£©¡£

c. Serving Layer

Serving LayerÓÃÓÚÏìÓ¦Óû§µÄ²éѯÇëÇó£¬Ëü½«Batch ViewsºÍRealtime ViewsµÄ½á¹û½øÐÐÁ˺ϲ¢£¬µÃµ½×îºóµÄ½á¹û£¬·µ»Ø¸øÓû§£¬Í¼3¸ø³öÁËLambdaµÄÕûÌå¼Ü¹¹Í¼£º

ͼ3 Lambda¼Ü¹¹Í¼

¸ÅÀ¨ÆðÀ´£¬Lambda¼Ü¹¹Í¨¹ýBatch LayerºÍSpeed LayerµÄ·Ö²ãÉè¼ÆÀ´ÊµÏÖÔÚÒ»¸öϵͳÄÚͬʱ֧³ÖʵʱºÍÅú´¦ÀíÒµÎñ£¬²¢ÇÒͨ¹ýServing LayerÔÚÂß¼­ÉÏͳһÁËÁ½ÖÖÊý¾ÝÔ´µÄ½Ó¿Ú£¬ÈÃÓ¦ÓÃÄܹ»ÒÔÒ»¸öͳһµÄÊý¾ÝÊÓͼÀ´¿ª·¢ºÍ²¿Ê𣬴Ӷø´ïµ½Êý¾ÝºÍÓ¦ÓõÄÈںϡ£

ÔÚÿ¸öLayerµÄʵ¼ÊÉè¼ÆÖУ¬¿ª·¢ÈËÔ±¿ÉÒÔ¸ù¾Ý×ÔÉíµÄÐèÇóÀ´Ñ¡ÔñºÏÊʵÄ×é¼þ»òÕß²úÆ·À´¹¹½¨ÏàÓ¦µÄϵͳ£¬Ä¿Ç°Óкܶ࿪Դ×é¼þ¿ÉÒÔÓÃÓÚ¹¹½¨´ËÀàϵͳ£¬ÈçStorm/Spark Streaming/Flink¿ÉÒÔÓÃÀ´¹¹½¨Speed Layer£¬Spark/MapReduce¿ÉÒÔÓÃÓÚ¹¹½¨Batch Layer£¬HBase/Redis/MongoDB¿ÉÒÔÓÃÓÚ´æ´¢¡£

ÓÉÓÚÒ»Ì×ϵͳÐèҪͬʱ´¦ÀíʵʱҵÎñºÍÅú´¦ÀíÒµÎñ£¬²¢ÇÒÁ½ÅúÒµÎñÖ®¼äÓбȽÏÃ÷È·µÄÊý¾ÝñîºÏ£¬Lambdaϵͳ±¾ÉíµÄ¼¼Êõ¸´ÔӶȷdz£¸ß£¬Ñ¡Ôñ·½°¸µÄʱºòÐèÒª³ä·Ö¿¼ÂÇϵͳ¹¹½¨³É±¾ÒÔ¼°Îȶ¨ÐÔ¡£´Ó±ÊÕßÁ˽âµÄÇé¿ö¿´£¬Ñ¡Ôñ¿ªÔ´¼¼ÊõÀ´¹¹½¨ÀàËÆÏµÍ³£¬Ä¿Ç°¹úÄÚÖ»ÓкÜÉٵijɹ¦ÉÌҵʵ¼ù¡£¶ÔÓÚ¼¼ÊõʵÁ¦²»ÄÇôǿµÄÆóÒµ£¬Ñ¡ÔñÒ»¸ö¿É¿¿µÄÉÌÒµÈí¼þÍùÍùÊǸö¸üºÏÊʵÄÑ¡Ôñ¡£ÐÇ»·¿Æ¼¼ÔÚÕâ·½ÃæÓзdz£²»´íµÄ³É¹¦¾­Ñ飬½áºÏ×ÅTranswarp Data HubµÄ¼¼ÊõÓÅÊÆ£¬ÎÒÃǰïÖú¿Í»§ÔÚÖǻ۽»Í¨ÏµÍ³ÁìÓòÍê³ÉÁ˷dz£´ó¹æÄ£µÄʵ¼ÊÒµÎñ²¿Êð¡£ÏÂÎÄÎÒÃǽ«ÒÔijһ¸öÏîÄ¿À´×ö¾ßÌåµÄ°¸Àý·ÖÎö£¬À´ÃèÊöÈçºÎʹÓÃTDHÀ´Íê³ÉÒ»¸öÓÃÓÚ´ó¹æÄ£Éú²úÒµÎñµÄLambdaϵͳ¡£

°¸Àý·ÖÎö

±¾°¸ÀýΪijʡµÄÖǻ۽»Í¨ÏµÍ³¡£

ϵͳ¸÷²ã×é¼þµÄÑ¡ÐÍ

¸ù¾ÝÉÏÃæµÄ½éÉÜ£¬Lambda¼Ü¹¹°üÀ¨Èý²ã£¬ÆäÖÐBatch Layer¸ºÔðÊý¾Ý¼¯µÄ´æ´¢ºÍÅú´¦ÀíµÄÖ´ÐУ¬Êý¾Ý´æ´¢ÎÒÃÇÑ¡ÔñHyperbase¡£HyperbaseÖ§³Ö¿ìËٸ߲¢·¢µÄ²éѯ£¬¿ÉÒÔ·½±ãÓû§×öһЩ¾«È·Àà²éѯ£¨Èç¸ù¾Ý³µÅƺżìË÷µÈ£©¡£ÓÉÓÚ´ËÏîÄ¿»¹ÓÐһЩͳ¼ÆÀàµÄÒµÎñÐèÇó£¬ÎÒÃÇÑ¡Ôñ½«²¿·ÖÊý¾ÝÔÚHDFSÉϱ£ÁôÒ»·ÝÓÃ×÷ºóÆÚµÄ·ÖÎöÖ®Óã¬InceptorµÄÇ¿´óµÄÊý¾Ý·ÖÎöÄÜÁ¦¿ÉÒÔ°ïÖúÓû§ÔÚÈÎÒâά¶ÈÉÏ×ö¸´ÔÓµÄÊý¾Ý·ÖÎö¹¤×÷¡£

Speed LayerÖ÷Òª¸ºÔð¶ÔÊý¾ÝµÄʵʱ´¦Àí£¬¿ÉÒÔʹÓÃTranswarp Stream¡£´ËÍ⣬KafkaÑ¡ÔñʹÓÃTranswarp Kafka 0.9°æ±¾£¬ÓÉÓÚÔö¼ÓÁËKafka¶ÓÁÐÄÚµÄkerberos°²È«ÈÏÖ¤¹¦ÄÜ£¬ÏûÏ¢¶ÓÁÐÖеÄÊý¾Ý¸ü°²È«¡£

HDFSºÍHyperbaseµÄÊý¾Ýͨ¹ýSQLÒÔ¼°JDBC½Ó¿Ú¿ª·Å¸øÓû§£¬ÆóÒµ¿ÉÒÔ¿ª·¢Serving LayerÖÐ×ÔÉíÐèÒªµÄÒµÎñ¡£ÓÉÓÚÕâЩӦÓóÌÐòÊǾßÌåµÄÆóÒµÄÚ²¿ÒµÎñ£¬´Ë´¦²»×öÌÖÂÛ¡£

ϵͳ¸÷²ã»úÆ÷¹æ»®

ÓÐÁËÉÏÃæµÄ×é¼þÑ¡ÐÍ£¬ÏÂÃæÎÒÃÇ¿ÉÒÔ½øÐлúÆ÷¹æ»®¡£Ö÷Òª¿¼ÂǵÄÊÇÒÔϼ¸¸ö·½Ã棺

´æ´¢ÄÜÁ¦

¾ÍijµØÊжøÑÔ£¬Ã¿ÌìÔ¼ÓÐ1000wµÄ¹ý³µ¼Ç¼²úÉú£¬¸ß·åʱÆÚÿÃëÄÜÔ¼ÓÐ1wÌõ¹ý³µ¼Ç¼²úÉú£¬Ã¿Ìõ¹ý³µ¼Ç¼¶ÔÓ¦µÄ½á¹¹»¯Êý¾ÝÔ¼ÓÐ30¸ö×ֶΣ¬´óСΪ200Byte£»Ã¿Ì컹ÓÐ50wÕÅ×óÓÒ´óСԼΪ500KBµÄͼƬÊý¾Ý£¬°´Õչ滮Êý¾ÝÐèÒª´æ´¢µÄÖÜÆÚΪ2Ä꣬Òò´Ë¶Ô¼¯ÈºÈÝÁ¿ÒªÇóÈçÏ£º

½á¹¹»¯Êý¾Ý´æ´¢Èý·Ý¡¢Í¼Æ¬Êý¾Ý´æ´¢Á½·Ý£¬2ÄêµÄÊý¾Ý×ÜÁ¿Ô¼Îª£º

(1000w * 200B *3 + 50 w * 500KB * 2) * 365 * 2 = 344TB

ÿ̨»úÆ÷ÓÐ8¸öÓ²ÅÌ£¬Ã¿¸öÓ²ÅÌÈÝÁ¿Îª3TB£¬ÔòÐèÒªÊý¾Ý½ÚµãÊýΪ£º

344TB / (3TB*8) = 15̨

ÁíÍ⣬Hadoop·Ö²¼Ê½´æ´¢¼¯ÈºÐèÒª2̨¹ÜÀí½Úµã¡£

ʵʱ¼ÆËãµÄÐèÇó

ĿǰÐèÒª½øÐÐʵʱ´¦ÀíµÄÒµÎñ°üÀ¨£º

a. ʵʱ¼ì²âÒµÎñ£ºÓâÆÚδÄê¼ì¡¢ºÚÃûµ¥¡¢ÓâÆÚ䱨·Ï¡¢Á賿2µãµ½5µãÉÏ·ÐÐÊ»µÄ¿ÍÔ˳µÁ¾¡¢³µÖ÷¼Ýʻ֤ÎÞЧ³µÁ¾µÈ¡£

b. ʵʱ·ÖÎöÒµÎñ£º°üÀ¨Á÷Á¿Í³¼Æ¡¢ÂÃÐÐʱ¼ä·ÖÎö¡¢Ì×ÅÆ³µ¼ì²â¡¢Çø¼ä²âËٵȡ£

ÆäÖÐʵʱ¼ì²âÒµÎñÒÔ¼°Ì×ÅÆ³µ¼ì²âµÈÒªÇóÔÚÃë¼¶±ð·´À¡½á¹ûÒÔ¶ÔÎ¥·¨ÐÐΪ½øÐÐʵʱÀ¹½Ø£»·ÖÎöÒµÎñÒªÇóÔÚ·ÖÖÓ¼¶±ð¸üнá¹û¡£

°´ÕÕÿÃë1wÌõ¹ý³µ¼Ç¼¼ÆË㣬×ܹ²ÓÐ20+¸öÁ÷´¦ÀíÒµÎñ£¨±È¶ÔºÍ¸´ÔÓ·ÖÎö£©Í¬Ê±ÔËÐУ¬Ô¤¹ÀÐèҪʵʱ´¦Àí¼¯Èº»úÆ÷6̨¡£

ÁíÍ⣬ËùÓеĹý³µ¼Ç¼¶¼»áÔ¤Ïȱ»½ÓÈëKafka·Ö²¼Ê½ÏûÏ¢´¦Àí¼¯Èº£¬Ã¿Ìõ¼Ç¼дÈë3·Ý£¬±£´æ7Ì죬Ԥ¹ÀÐèÒªKafka¼¯Èº»úÆ÷4̨¡£

Åú´¦Àí·ÖÎöÒªÇó

³ýÁËʵʱ´¦ÀíÒµÎñÖ®Í⣬»¹ÐèÒª¶ÔÀúÊ·Êý¾Ý½øÐÐͳ¼Æ·ÖÎö£¬¶ÔÓÚʱ¼ä¿ç¶ÈÔÚÒ»¸öÔÂÄÚµÄͳ¼Æ·ÖÎöÐèÒªÔÚÃë¼¶·µ»Ø½á¹û£»¶ÔÓÚʱ¼ä¿ç¶ÈÔÚÈý¸öÔÂÒÔÉϵĸ´ÔÓͳ¼Æ·ÖÎöÐèÒªÔÚ·ÖÖÓ¼¶±ð·µ»Ø½á¹û¡£

ÒÀ¾ÝÉÏÊöµÄÒªÇó·ÖÎö£¬¸ø³ö»úÆ÷ÊýÄ¿ºÍÅäÖòο¼Í¼ÈçÏ£º

ͼ4 ijÖÇÄܽ»Í¨ÏµÍ³µÄÅäÖÃÇé¿ö

ϵͳ¼Ü¹¹

¸ÃÖǻ۽»Í¨ÏµÍ³µÄ¼Ü¹¹Í¼Èçͼ5Ëùʾ£º

ͼ5 ÖÇÄܽ»Í¨µÄÕûÌå¼Ü¹¹Í¼

ǰ¶Ë¿¨¿Ú»áʵʱ²É¼¯¹ýÍù³µÁ¾ÐÅÏ¢£¬²É¼¯µ½µÄ³µÁ¾ÐÅÏ¢Ê×Ïȱ»½ÓÈëKafka·Ö²¼Ê½ÏûÏ¢×ÜÏß¡£Kafka·Ö²¼Ê½ÏûÏ¢×ÜÏߣ¬»á¶ÔÕâЩÊý¾Ý½øÐйéÀà·Ö¼ð£¬·Ö·¢¸ø²»Í¬µÄ·þÎñ¼¯Èº£¬±ÈÈçʵʱÈë¿â·þÎñ¼¯Èº¡¢Î´Äê¼ì³µ¼à¿Ø·þÎñ¼¯ÈºµÈ¡£

¼ÙÉèÓв¿·ÖÊý¾Ý±»ËÍÈëµ½ÁËδÄê¼ì³µ¼à¿Ø·þÎñ¼¯ÈºÖУ¬¸Ã¼¯ÈºÐèÒª½«´ý¼ì²é³µÁ¾Óë³µÁ¾Êý¾Ý¿â½øÐÐÊý¾Ý±È¶Ô¡£ÎªÁ˼õÉÙÊý¾Ý±È¶Ôʱ¼ä£¬¸ÃϵͳԤÏȸù¾ÝÀúÊ·Êý¾ÝÉú³ÉÁËδÄê¼ì³µÁ¾Êý¾Ý¿â£¬ÓÉBatch Layer²ãµÄÅú´¦ÀíÒýÇæÍê³É¡£´ý¼ì²é³µÁ¾Ö»ÐèÓëδÄê¼ì³µÁ¾Êý¾Ý¿â½øÐÐÔÚÏ߱ȶԼ´¿É£¬Èç¹û·¢ÏÖÎ¥Õ³µÁ¾£¬Ôò½øÐбê¼ÇÏÔʾ£¬²¢½øÐÐÔ¤¾¯¡£

ϵͳ֧³ÖµÄÒµÎñ

1. ʵʱ¼à¿ØÔ¤¾¯ÈÎÎñ

ʵʱ¼à¿ØÔ¤¾¯ÒµÎñÖ÷ÒªÓÉSpeed Layer²ãµÄTranswarp Stream¸ºÔ𣬰´ÕÕ¼¼Êõ¿ÉÒÔ·ÖΪÒÔÏÂÈýÀࣺ

a. ETL¹¦ÄÜ

½«ÊµÊ±²É¼¯µÄ¹ý³µÊý¾Ý£¬°´ÕÕÒ»¶¨µÄÇåϴת»¯¹æÔò½øÐд¦Àí£¬×ª»¯³É¹æ·¶µÄ¼Ç¼ºóдÈëºó¶Ë´æ´¢HyperbaseºÍ Holodesk¡£ÆäÖÐHyperbaseΪ³Ö¾Ã»¯µÄÁÐʽ´æ´¢£¬±£´æËùÓеÄÀúÊ·¹ý³µÊý¾Ý£»HolodeskΪÁÙʱ´æ´¢£¬Ìṩ¸ßËٵķÖÎöÄÜÁ¦£¬¿ÉÒÔ±£´æÒ»ÖÜÒÔÄÚµÄ¶ÌÆÚÊý¾Ý¡£

b. ʵʱ¼ì²âÒµÎñ

×î¼òµ¥µÄ¼ì²â¹æÔò¿ÉÒÔÖ±½Ó¸ù¾Ý¹ý³µ¼Ç¼Åжϣ¬ÀýÈçÁ賿2µãµ½5µãÐÐÊ»µÄ³µÁ¾£»Æä´ÎÊǺÍһЩ»ù´¡±í½øÐбȶԵÄÒµÎñ£¬ÀýÈçºÚÃûµ¥³µÁ¾/δÄê¼ì³µÁ¾¼ì²â£¬ÐèÒªÊÂÏȽøÐÐÔ¤²éѯ£¬Éú³É²¢±£´æÏàÓ¦µÄºÚÃûµ¥³µÁ¾±í/δÄê¼ì³µÁ¾±í¡£

c. ʵʱ·ÖÎöÒµÎñ

ʵʱͳ¼ÆÒµÎñÈçÁ÷Á¿Í³¼Æ£¬Í¨³£»ùÓÚ´°¿Ú¼¼ÊõʵÏÖ¡£ÀýÈçÐèҪͳ¼Æ·ÖÖÓÁ÷Á¿¡¢Ð¡Ê±Á÷Á¿£¬¿ÉÒÔÉ趨һ¸ö³¤¶ÈΪ1·ÖÖӵĹö¶¯´°¿Ú£¬Í³¼ÆÃ¿·ÖÖÓµÄÁ÷Á¿£¬²¢»ùÓÚ·ÖÖÓÁ÷Á¿¶ÔСʱÁ÷Á¿½øÐиüС£

2. Êý¾Ýͳ¼Æ·ÖÎöÒµÎñ

a. »ùÓÚÈ«Á¿ÀúÊ·Êý¾ÝµÄͳ¼Æ·ÖÎö

ͨ¹ýInceptor×é¼þÄܹ»¶Ô´æ´¢ÔÚHyperbaseÖеÄÊý¾ÝʹÓÃSQLÓï¾ä½øÐÐͳ¼Æ·ÖÎö£¬±ÈÈçͳ¼ÆÒ»ÌìµÄ³µÁ÷Á¿£¬Ò»¸öÔµÄÅöײ´ÎÊýµÈ¡£HyperbaseµÄRowkey¾ßÓÐÈ¥ÖØµÄ¹¦ÄÜ£¬¿ÉÒÔ°ïÖúÓû§µÃµ½¾«×¼µÄͳ¼Æ½á¹û¡£

b. »ùÓÚÁÙʱÊý¾ÝµÄ½»»¥Ê½·ÖÎö

³ýÁËһЩ¹Ì¶¨µÄͳ¼Æ±¨±íÖ®Í⣬»¹ÐèÒª´¦ÀíһЩͻ·¢µÄÁÙʱÐÔͳ¼ÆÒµÎñ¡£ÀýÈç°éËæ³µ·ÖÎö£¬¾ÍÊÇͳ¼Æ³öÒ»¶Îʱ¼äÄÚºÍij¸ö³µÒ»Í¬ÐÐÊ»µÄ³µÁ¾£¬ÕâÔÚ·¸×ï·ÖÎöÖÐÓкܴóµÄ×÷Óá£TDHÖеÄHolodesk×é¼þÄܹ»ºÜºÃ´¦ÀíÕⲿ·ÖÒµÎñÐèÇ󣬴´½¨HolodeskÉϵÄÒ»ÕÅÓд°¿ÚÏÞÖÆµÄ±í£¨ÀýÈç´°¿Ú³¤¶ÈΪ1ÖÜ£¬³¬¹ý1ÖܵÄÊý¾Ý½«±»É¾³ý£©£¬Í¨¹ýTranswarp Stream½«Êý¾ÝʵʱдÈëHolodesk£¬Ç°¶Ëͨ¹ýInceptorµÄSQLʵÏÖ½»»¥Ê½·ÖÎö¡£

½áÓï

Lambda¼Ü¹¹ÊÇ´óÊý¾ÝÖÐÒ»¸ö·Ç³£ÖØÒªµÄÉè¼Æ£¬µ«ÊÇÓÉÓÚÔ­ÀíµÄ³éÏóºÍϵͳµÄ¸´ÔÓÐÔ£¬´óÊý¾Ý´ÓÒµÈËÔ±ÒªÉè¼Æ³öÒ»¸öÓÐÉú²úÖÊÁ¿µÄLambdaϵͳÊǷdz£ÓÐÌôÕ½ÐԵġ£

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

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

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

Êý¾ÝÖÎÀí¡¢Êý¾Ý¼Ü¹¹¼°Êý¾Ý±ê×¼
MongoDBʵս¿Î³Ì
²¢·¢¡¢´óÈÝÁ¿¡¢¸ßÐÔÄÜÊý¾Ý¿âÉè¼ÆÓëÓÅ»¯
PostgreSQLÊý¾Ý¿âʵսÅàѵ
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]
 
×îÐÂÎÄÕÂ
´óÊý¾Ýƽ̨ϵÄÊý¾ÝÖÎÀí
ÈçºÎÉè¼ÆÊµÊ±Êý¾Ýƽ̨£¨¼¼Êõƪ£©
´óÊý¾Ý×ʲú¹ÜÀí×ÜÌå¿ò¼Ü¸ÅÊö
Kafka¼Ü¹¹ºÍÔ­Àí
ELK¶àÖּܹ¹¼°ÓÅÁÓ
×îпγÌ
´óÊý¾Ýƽ̨´î½¨Óë¸ßÐÔÄܼÆËã
´óÊý¾Ýƽ̨¼Ü¹¹ÓëÓ¦ÓÃʵս
´óÊý¾ÝϵͳÔËά
´óÊý¾Ý·ÖÎöÓë¹ÜÀí
Python¼°Êý¾Ý·ÖÎö
³É¹¦°¸Àý
ijͨÐÅÉ豸ÆóÒµ PythonÊý¾Ý·ÖÎöÓëÍÚ¾ò
Ä³ÒøÐÐ È˹¤ÖÇÄÜ+Python+´óÊý¾Ý
±±¾© Python¼°Êý¾Ý·ÖÎö
ÉñÁúÆû³µ ´óÊý¾Ý¼¼Êõƽ̨-Hadoop
ÖйúµçÐÅ ´óÊý¾Ýʱ´úÓëÏÖ´úÆóÒµµÄÊý¾Ý»¯ÔËӪʵ¼ù