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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
´Ó¼Ü¹¹Ìص㵽¹¦ÄÜȱÏÝ£¬ÖØÐÂÈÏʶ·ÖÎöÐÍ·Ö²¼Ê½Êý¾Ý¿â
 
  2666  次浏览      32
 2018-5-28 
 
±à¼­ÍƼö:
±¾ÎÄÀ´×ÔÓÚcnblogs,½«OLAPÀೡ¾°µÄ·Ö²¼Ê½Êý¾ÝÄÉÈë½øÀ´£¬´ÓºáÏò̸̸²»Í¬µÄ¡° ·Ö²¼Ê½Êý¾Ý¿â ¡±ºÍ½áºÏNoSQLÓëNewSQLµÄ²îÒ죬×ÝÏòÀ´Ì¸Ì¸OLTP³¡¾°¡° ·Ö²¼Ê½Êý¾Ý¿â ¡±Á½¸öά¶È½øÐвð½â¡£

Ò»¡¢Íò·¨Í¬×ÚRDBMS

1990Äê´ú¿ªÊ¼£¬¹ØÏµÐÍÊý¾Ý¿â£¨RDBMS£©³ÉΪÖ÷Á÷£¬µäÐ͵IJúÆ·°üÀ¨Sybase¡¢Oracle¡¢DB2µÈ£¬Í¬ÆÚ´óÔ¼Ò²ÊǹúÄÚIT²úÒµµÄÆð²½½×¶Î¡£RDBMSµÄ»ù±¾ÌØÕ÷ÒÑÓÐѧÊõÉϵ͍Ò壬ÕâÀï²»ÔÙ׸Êö¡£

µ«´Óʵ¼ÊÓ¦ÓõĽǶȿ´£¬IvanÈÏΪÓÐÁ½µã×îÊܹØ×¢£º

1.ÄÚ²¿ÒÔ¹ØÏµÄ£ÐÍ´æ´¢Êý¾Ý£¬¶ÔÍâÖ§³ÖANSI SQL½Ó¿Ú£»

2.Ö§³ÖÊÂÎñ¹ÜÀíACIDÌØÐÔ£¬ÓÈÆäÊÇǿһÖÂÐÔ£¨Ö¸ÊÂÎñÄÚµÄÐÞ¸ÄҪôȫ²¿Ê§°ÜҪôȫ²¿³É¹¦£¬²»»á³öÏÖÖмä״̬£©¡£

¶øºó³öÏֵĸ÷ÖÖ¡°·Ö²¼Ê½Êý¾Ý¿â¡±£¬´ó¶à¶¼ÊÇÔÚÕâÁ½µãÉÏ×öȨºâÒÔ½»»»ÆäËû·½ÃæµÄÄÜÁ¦¡£

¡°Êý¾Ý¿â¡±ËäÈ»Óо­µä¶¨Ò壬µ«ºÜ¶à´óÊý¾Ý²úÆ·»òÐíÊÇΪÁ˱ê°ñ¶Ô´«Í³Êý¾Ý¿â²¿·Ö¹¦ÄܵÄÌæ´ú×÷Óã¬Ò²½èÓÃÁË¡°Êý¾Ý¿â¡±µÄÃûºÅ£¬µ¼ÖÂÔÚʵ¼ùÖÐÕâ¸ö¸ÅÄî±»²»¶Ï·Å´ó£¬±ß½çÔ½À´Ô½Ä£ºý¡£±¾ÎÄÒ»¸öÄ¿±êÊÇÒªÀåÇåÕâЩ²úÆ·Óë¾­µäÊý¾Ý¿âµÄ²îÒìÓë´«³Ð£¬ËùÒÔ²»·ÁÏÈÈõ»¯¡°Êý¾Ý¿â¡±£¬½«Æä·Å´óΪ¡°Êý¾Ý´æ´¢¡±¡£

ÄÇôÔõÑù²ÅËãÊÇ¡°·Ö²¼Ê½Êý¾Ý´æ´¢¡±ÏµÍ³£¿

¡°·Ö²¼Ê½¡±ÊÇÒ»Öּܹ¹·ç¸ñ£¬ÓÃÆäʵÏÖ¡°Êý¾Ý´æ´¢¡±£¬×îÏÖʵµÄÄ¿µÄÊÇΪÁË´ò¿ªÊý¾Ý¿â²úÆ·µÄÐÔÄÜÌ컨°å£¬²¢±£Ö¤ÏµÍ³µÄ¸ß¿É¿¿£¬½øÒ»²½Õ¹¿ª£¬¡°·Ö²¼Ê½Êý¾Ý¿â¡±µÄ±ØÒªÌõ¼þÓÐÁ½µã£º

Ö§³ÖˮƽÀ©Õ¹£¬±£Ö¤¸ßÐÔÄÜ

ͨ¹ýÔö¼Ó»úÆ÷½ÚµãµÄ·½Ê½ÌáÉýϵͳÕûÌå´¦ÀíÄÜÁ¦£¬°ÚÍѶÔרÓÃÉ豸µÄÒÀÀµ£¬²¢ÇÒÍ»ÆÆ×¨ÓÃÉ豸·½°¸µÄÐÔÄÜÉÏÏÞ¡£ÕâÀïµÄ»úÆ÷½Úµã£¬Í¨³£ÊÇÒªÖ§³ÖX86·þÎñÆ÷¡£

Á®¼ÛÉ豸+Èí¼þ£¬±£Ö¤¸ß¿É¿¿

ÔÚµ¥»ú¿É¿¿ÐԽϵ͵ÄǰÌáÏ£¬ÒÀ¿¿Èí¼þ±£Ö¤ÏµÍ³ÕûÌåµÄ¸ß¿É¿¿£¬ÓÖ¿ÉÒÔϸ·ÖΪ¡°Êý¾Ý´æ´¢µÄ¸ß¿É¿¿¡±ºÍ¡°·þÎñµÄ¸ß¿É¿¿¡±¡£×ÜÖ®£¬Èκε¥µãµÄ¹ÊÕÏ£¬¿ÉÄÜ»á´øÀ´¶Ìʱ¼ä¡¢¾Ö²¿µÄ·þÎñˮƽϽµ£¬µ«²»»áÓ°ÏìϵͳÕûÌåµÄÕý³£ÔËת¡£

½«ÕâÁ½µã×÷Ϊ¡°·Ö²¼Ê½Êý¾Ý¿â¡±µÄ±ØÒªÌõ¼þ£¬Ivan´óÖ¹éÄÉÁËһϣ¬ÖÁÉÙÓÐÎåÖÖ²»Í¬µÄ¡°·Ö²¼Ê½Êý¾Ý¿â¡±£º

NoSQL

NewSQL

MPP

Hadoop¼¼ÊõÉú̬

Like-Mesa

×¢£ºÒ²ÐíÓÐЩͬѧ»áÌáµ½Kafka¡¢ZookeeperµÈ£¬ÕâЩËäȻҲÊÇ·Ö²¼Ê½Êý¾Ý´æ´¢£¬µ«ÒòΪ¾ßÓÐÏÊÃ÷µÄÌØµãºÍÊÊÓó¡¾°£¬ÎÞÐèÔÙÄÉÈë¡°Êý¾Ý¿â¡±¸ÅÄî½øÐÐ̽ÌÖ¡£

ÕâÎåÀàÖУ¬Ç°Á½ÀàÒÔÖ§³ÖOLTP³¡¾°ÎªÖ÷£¬ºóÈýÀàÔòÒÔOLAP³¡¾°ÎªÖ÷¡£Ivan½«°´ÕÕʱ¼äÏߣ¬Ö÷Òª¶ÔOLAP³¡¾°ÏµÄÈýÀà½øÐиÅÒª·ÖÎö¡£

¶þ¡¢OLAP³¡¾°Ïµķֲ¼Ê½Êý¾Ý¿â

1990-2000Äê´ú£¬Ëæ×ÅÓ¦ÓÃϵͳ¹ã·º½¨ÉèÓëÉîÈëʹÓã¬Êý¾Ý¹æÄ£Ô½À´Ô½´ó£¬¹úÄÚÒøÐÐÒµµÄ¡°È«¹ú´ó¼¯ÖС±»ù±¾¶¼ÊÇÔÚÕâ¸ö½×¶ÎÍê³É¡£ÕâÆÚ¼ä£¬RDBMSµÃµ½Á˹㷺ÔËÓã¬OracleÒ²»÷°ÜSybase³ÉΪÊý¾Ý¿âÁìÓòµÄÍõÕß¡£

ÔÚÂú×ãÁË»ù±¾µÄ½»Ò׳¡¾°ºó£¬Êý¾ÝµÃµ½ÁËÀÛ»ý£¬½øÒ»²½µÄ·ÖÎöÐÔÐèÇó×ÔÈ»¾ÍÓ¿ÏÖÁ˳öÀ´¡£µ¥Ò»Êý¾Ý¿âÄÚͬʱ֧³ÖÁª»ú½»Ò׺ͷÖÎöÐèÇó´æÔںܶàÎÊÌ⣬ÍùÍù»áÔì³É¶ÔÁª»ú½»Ò׵ĸÉÈÅ£¬Òò´ËÐèҪеĽâ¾ö·½°¸¡£Õâ¾ÍΪMPPáÈÆðÌṩÁË»ú»á¡£

1. MPP

MPP£¨Massively Parallel Processing£©ÊÇÖ¸¶à¸ö´¦ÀíÆ÷£¨»ò¶ÀÁ¢µÄ¼ÆËã»ú£©²¢Ðд¦ÀíÒ»×éЭͬ¼ÆËã[1]¡£

ΪÁ˱£Ö¤¸÷½ÚµãµÄ¶ÀÁ¢¼ÆËãÄÜÁ¦£¬MPPÊý¾Ý¿âͨ³£²ÉÓÃShareNothing¼Ü¹¹£¬×îΪµäÐ͵IJúÆ·ÊÇTeradata£¨¼ò³ÆTD£©£¬ºóÀ´Ò²³öÏÖGreenplum£¨¼ò³ÆGPDB£©¡¢Vertica¡¢NetezzaµÈ¾ºÕùÕß¡£

¼Ü¹¹Ìص㣺

MPPÊǶà»ú¿ÉˮƽÀ©Õ¹µÄ¼Ü¹¹£¬·ûºÏ¡°·Ö²¼Ê½¡±µÄ»ù±¾ÒªÇ󣬯äÖÐTD²ÉÓÃÍâÖü¯Öд洢¶øGPDBÖ±½ÓʹÓñ¾µØ´ÅÅÌ£¬´ÓÕâµãÀ´ËµGPDBÊǸü³¹µ×µÄShare Nothing¼Ü¹¹¡£

¿¼Âǵ½TDÉÌÒµ²ßÂÔÉϲÉÓÃÒ»Ìå»ú·½°¸£¬²»¾ßÓпª·ÅÐÔ£¬¶øGPDB¾ßÓнϸߵĿªÔ´³Ì¶È£¬ÏÂÎÄÖÐͨ¹ý·ÖÎöºóÕ߼ܹ¹ÌصãÀ´·ÖÎöMPP¹¤×÷»úÖÆ¡£

GPDBÊôÓÚÖ÷´Ó¼Ü¹¹[2]£¬Slave³ÆÎªSegmentÊÇÖ÷ÒªµÄÊý¾Ý¼Ó¹¤½Úµã£¬ÊÇÔÚPostgreSQL»ù´¡Éϵķâ×°ºÍÐ޸ģ¬ÌìÈ»¾ß±¸ÊÂÎñ´¦ÀíµÄÄÜÁ¦£¬¿É½øÐÐˮƽÀ©Õ¹£»¼¯ÈºÄÚÓÐΨһActive״̬µÄMaster½Úµã£¬³ýÁËÔªÊý¾Ý´æ´¢ºÍµ÷¶È¹¦ÄÜÍ⣬ͬʱ³Ðµ£Ò»¶¨µÄ¹¤×÷¸ºÔØ£¬¼´ËùÓÐÍⲿ¶Ô¼¯ÈºµÄÊý¾ÝÁª»ú·ÃÎʶ¼Òª¾­¹ýMaster½Úµã¡£

Ôڸ߿ɿ¿Éè¼Æ·½Ã棬Ê×ÏÈÉèÖÃÁËStandby Master½Úµã£¬ÔÚMaster½Úµãå´»úʱ½Ó¹ÜÆäÈÎÎñ£¬Æä´Î½«Segment½ÚµãÔòϸ·ÖΪÁ½À಻ͬ½ÇÉ«PrimaryºÍMirror£¬ºóÕßÊÇǰÕߵı¸½Úµã£¬Êý¾ÝÌύʱÔÚÁ½Õ߼佸ÐÐǿͬ²½£¬ÒԴ˱£Ö¤Primaryå´»úʱ£¬Mirror¿ÉÒÔ±»µ÷¶ÈÆðÀ´½ÓÌæÇ°ÕßµÄÈÎÎñ¡£

Êý¾Ý·ÖÎöÐÔÐèÇó¶ÔITÄÜÁ¦µÄÒªÇó°üÀ¨£º

¸´ÔÓ²éѯÄÜÁ¦£»

ÅúÁ¿Êý¾Ý´¦Àí£»

Ò»¶¨µÄ²¢·¢·ÃÎÊÄÜÁ¦¡£

MPP½ÏºÃµÄʵÏÖÁ˶ÔÉÏÊöÄÜÁ¦µÄÖ§³Å£¬ÔÚǰ´óÊý¾Ýʱ´úµÃµ½Á˹㷺µÄÓ¦Ó㬵«Õâ¸öʱÆÚµÄÊý¾Ý×ÜÁ¿Ïà¶ÔÈÔÈ»ÓÐÏÞ£¬ÆÕ±éÔÚTB¼¶±ð£¬¶ÔÓ¦µÄ¼¯Èº¹æÄ£Ò²Í¨³£ÔÚµ¥¼¯Èº°Ù½ÚµãÒÔÏ¡£

Ëæ×ÅÊý¾Ý¼ÛÖµ¹Ø×¢¶ÈµÄ²»¶ÏÌáÉý£¬Ô½À´Ô½¶àµÄÊý¾Ý±»ÄÉÈëÆóÒµ·ÖÎö·¶Î§£»Í¬Ê±Êµ¼ÊÓ¦ÓÃÖп¼Âǵ½Êý¾Ý´æ´¢ºÍ´«Êä³É±¾£¬ÍùÍùÇãÏòÓÚ½«Êý¾Ý¼¯ÖÐÔÚÒ»¸ö»òÉÙÊý¼¸¸ö¼¯ÈºÖУ¬ÕâÑùÍÆ¶¯Á˼¯Èº¹æÄ£µÄ¿ìËÙÔö³¤¡£

ÔÚ´ó¹æÄ£¼¯Èº£¨¼¸°ÙÖÁÉÏǧ£©µÄʹÓÃÉÏ£¬MPP´ÓÅú´¦ÀíºÍÁª»ú·ÃÎÊÁ½¸ö·½Ãæ¶¼ÏÔÏÖÁËһЩ²»×ã¡£ÒÔÏÂÄÚÈÝÖ÷Òª½è¼øÁËPivotal£¨GPDBÔ­³§£©µÄһƪ¹Ù·½²©¿Í[3]¡£

×¢£ºÓÐλͬѧ¸ø³öµÄÒëÎÄÒ²¾ßÓнϺõÄÖÊÁ¿£¬ÍƼöÔĶÁ[4]¡£

ȱÏÝ£º

Åú´¦Àí

MPP¼Ü¹¹Ï£¬¹¤×÷¸ºÔؽڵ㣨¶ÔGPDB¶øÑÔÊÇSegment½Úµã£©ÊÇÍêÈ«¶Ô³ÆµÄ£¬Êý¾Ý¾ùÔȵĴ洢ÔÚÕâЩ½Úµã£¬´¦Àí¹ý³ÌÖÐÿ¸ö½Úµã£¨¼´¸Ã½ÚµãÉϵÄExecutor£©Ê¹Óñ¾µØµÄCPU¡¢ÄÚ´æºÍ´ÅÅ̵È×ÊÔ´Íê³É±¾µØµÄÊý¾Ý¼Ó¹¤¡£Õâ¸ö¼Ü¹¹ËäÈ»ÌṩÁ˽ϺõÄÀ©Õ¹ÐÔ£¬µ«Òþ²ØÁ˼«´óµÄÎÊÌ⡪¡ªStraggler£¬¼´µ±Ä³¸ö½Úµã³öÏÖÎÊÌâµ¼ÖÂËÙ¶È±ÈÆäËû½ÚµãÂýʱ£¬¸Ã½Úµã»á³ÉΪStraggler¡£

´Ëʱ£¬ÎÞÂÛ¼¯Èº¹æÄ£¶à´ó£¬Åú´¦ÀíµÄÕûÌåÖ´ÐÐËٶȶ¼ÓÉStraggler¾ö¶¨£¬ÆäËû½ÚµãÉϵÄÈÎÎñÖ´ÐÐÍê±ÏºóÔò½øÈë¿ÕÏÐ״̬µÈ´ýStraggler£¬¶øÎÞ·¨·Öµ£Æä¹¤×÷¡£µ¼Ö½ڵ㴦ÀíËٶȽµµÍµÄÔ­Òò¶àÊýÊÇ´ÅÅ̵ÈÓ²¼þË𻵣¬¿¼Âǵ½´ÅÅ̱¾ÉíµÄÒ»¶¨¹ÊÕÏÂÊ£¨¸ù¾ÝGoogleͳ¼ÆÇ°Èý¸öÔÂÄÚ2%Ëð»µÂÊ£¬µÚ¶þÄêʱ´ïµ½8%£©µ±¼¯Èº¹æÄ£´ïµ½Ò»¶¨³Ì¶Èʱ£¬¹ÊÕÏ»áÆµ·±³öÏÖʹstraggler³ÉΪһ¸ö³£¹æÎÊÌâ¡£

²¢·¢

ÓÉÓÚMPPµÄ¡°ÍêÈ«¶Ô³ÆÐÔ¡±£¬¼´µ±²éѯ¿ªÊ¼Ö´ÐÐʱ£¬Ã¿¸ö½Úµã¶¼ÔÚ²¢ÐеÄÖ´ÐÐÍêÈ«ÏàͬµÄÈÎÎñ£¬ÕâÒâζ×ÅMPPÖ§³ÖµÄ²¢·¢ÊýºÍ¼¯ÈºµÄ½ÚµãÊýÍêÈ«Î޹ء£¸ù¾Ý¸ÃÎÄÖеIJâÊÔÊý¾Ý£¬4¸ö½ÚµãµÄ¼¯ÈººÍ400¸ö½ÚµãµÄ¼¯ÈºÖ§³ÖµÄ²¢·¢²éѯÊýÊÇÏàͬµÄ£¬Ëæ×Ų¢·¢ÊýÔö¼Ó£¬Õâ¶þÕß¼¸ºõÔÚÏàͬµÄʱµã³öÏÖÐÔÄÜÖè½µ¡£

´«Í³MPPµÄÁª»ú²éѯÖ÷ÒªÃæÏòÆóÒµ¹ÜÀí²ãµÄÉÙÊýÓû§£¬¶Ô²¢·¢ÄÜÁ¦µÄÒªÇó½ÏµÍ¡£¶øÔÚ´óÊý¾Ýʱ´ú£¬Êý¾ÝµÄʹÓÃÕß´ÓÕ½ÂÔ¹ÜÀí²ãתÏòÕ½ÊõÖ´ÐвãÄËÖÁÒ»ÏßÈËÔ±£¬´Ó¹ÂÁ¢µÄ·ÖÎö³¡¾°×ªÏòÓëÒµÎñ½»Ò׳¡¾°µÄÈںϡ£¶ÔÓÚÁª»ú²éѯµÄ²¢·¢ÄÜÁ¦ÒѾ­Ô¶³¬MPPʱ´ú£¬³ÉΪOLAP³¡¾°·Ö²¼Ê½Êý¾Ý¿âÒª¿¼ÂǵÄÒ»¸öÖØÒªÎÊÌâ¡£

³ýÉÏÊöÁ½µãÒÔÍ⣬GPDB¼Ü¹¹ÖеÄMaster½Úµã³Ðµ£ÁËÒ»¶¨µÄ¹¤×÷¸ºÔØ£¬ËùÓÐÁª»ú²éѯµÄÊý¾ÝÁ÷¶¼Òª¾­¹ý¸Ã½Úµã£¬ÕâÑùMasterÒ²´æÔÚÒ»¶¨µÄÐÔÄÜÆ¿¾±¡£Í¬Ê±£¬ÔÚʵ¼ùÖÐGPDB¶ÔÊý¾Ý¿âÁ¬½ÓÊýÁ¿µÄ¹ÜÀíÒ²ÊǷdz£½÷É÷µÄ¡£ÔÚIvanÔø²ÎÓëµÄÏîÄ¿ÖУ¬Pivotalר¼Ò¸ø³öÁËÒ»¸ö½¨ÒéµÄ×î´óÖµÇÒ²»»áËæ×ż¯Èº¹æÄ£À©´ó¶øÔö´ó¡£

×ÛÉÏ£¬´óÖ¿ÉÒԵóö½áÂÛ£¬MPP£¨ÖÁÉÙÊÇGPDB£©ÔÚ¼¯Èº¹æÄ£ÉÏÊÇ´æÔÚÒ»¶¨ÏÞÖÆµÄ¡£

2000-2010Äê´ú£¬´ó¶àÊý¹É·ÝÖÆÒÔÉÏÒøÐкÍÉÙ²¿·Ö³ÇÉÌÐж¼½¨Á¢ÁËÊý¾Ý²Ö¿â»òODSϵͳ£¬Ö÷Òª²ÉÓÃÁËMPP²úÆ·¡£¿ÉÒÔ˵£¬ÕâÊ®ÓàÄêÊÇMPP²úÆ·×î»Ô»ÍµÄʱ´ú¡£µ½Ä¿Ç°ÎªÖ¹£¬MPPÈÔÈ»ÊÇÒøÐÐÒµ½¨ÉèÊý¾Ý²Ö¿âºÍÊý¾Ý¼¯ÊÐÀàϵͳµÄÖ÷Òª¼¼ÊõÑ¡Ôñ¡£ÎªÁ˹æ±ÜMPP²¢·¢·ÃÎÊÉϵÄȱÏÝÒÔ¼°ÅúÁ¿ÈÎÎñ¶ÔÁª»ú²éѯµÄÓ°Ï죬ͨ³£»á½«Êý¾Ý°´ÕÕÓ¦ÓÃÁ£¶È²ð·Öµ½²»Í¬µÄµ¥ÌåOLTPÊý¾Ý¿âÖÐÒÔÖ§³ÖÁª»ú²éѯ¡£

2. HadoopÉú̬Ìåϵ

MPPÔÚÏ൱³¤µÄÒ»¶ÎʱÆÚÄÚµÈͬÓÚÒ»Ìå»ú·½°¸£¨ÒÔTDΪ´ú±í£©£¬Æä¼Û¸ñ¸ß°ºµ½ÆÕͨÆóÒµÎÞ·¨³ÐÊÜ£¬¶àÊýÔÚÒøÐС¢µçÐŵÈÐÐÒµµÄÍ·²¿ÆóÒµÖÐʹÓá£2010Äê´ú£¬Ëæ×Å´óÊý¾Ýʱ´úµÄ¿ªÆô£¬HadoopÉú̬ÌåϵÒÔ¿ªÔ´ÓÅÊÆ£¬»ñµÃÁËÅ·¢Õ¹ºÍ¿ìËÙÆÕ¼°¡£

Hadoop¼¼ÊõÌåϵ´ó´ó½µµÍÁËÊý¾Ý·ÖÎöÀàϵͳµÄ½¨Éè³É±¾£¬Êý¾Ý·ÖÎöÍÚ¾òµÈ¹¤×÷Óɴ˲½Èë¡°Êý¾ÝÃñÖ÷»¯¡±Ê±´ú¡£ÔÚHadoopÉú̬ÌåϵÖУ¬·ÖÎöÐèÇóËùÐèÒªµÄÄÜÁ¦±»²ð·ÖΪÅúÁ¿¼Ó¹¤ºÍÁª»ú·ÃÎÊ£¬Í¨¹ý²»Í¬µÄ×é¼þ´îÅäʵÏÖ¡£ÅúÁ¿¼Ó¹¤ÒÔMapReduce¡¢Tez¡¢SparkµÈΪִÐÐÒýÇæ£¬ÎªÁË»ñµÃÓѺõÄÓïÒåÖ§³Ö£¬ÓÖÔö¼ÓÁËHive¡¢SparkSQLµÈ×é¼þÌṩSQL·ÃÎʽӿڡ£

Áª»ú·ÃÎʲ¿·Ö£¬Ôò´ÓÔçÆÚHive¹ý¶Éµ½Impala¡¢HawkÒÔ¼°Kylin¡¢PrestoµÈ·½°¸Öð½¥½µµÍÁË·ÃÎÊÑÓʱ¡£

¼Ü¹¹Ìص㣺

HadoopÉú̬ÌåϵÏÂHDFS¡¢Spark¡¢HiveµÈ×é¼þÒѾ­ÓкܶàÎÄÕ½éÉÜ£¬±¾ÎIJ»ÔÙ׸Êö¡£×ܵÄÀ´Ëµ£¬Æä¼Ü¹¹µÄ×ÅÁ¦µãÔÚÓÚÊý¾Ý¸ßÍÌÍ´¦ÀíÄÜÁ¦£¬ÔÚÊÂÎñ·½ÃæÏà½ÏMPP¸ü¼ò»¯£¬½öÌṩ´ÖÁ£¶ÈµÄÊÂÎñ¹ÜÀí¡£

ȱÏÝ£º

HadoopÒ²ÓÐÆäÃ÷ÏÔµÄȱÏÝ£¬Ö÷ÒªÊÇÈýµã£º

ÅúÁ¿¼Ó¹¤Ð§ÂʽϵÍ

MPPµÄÓµ»¤ÕßÍùÍù»áÚ¸²¡Hadoop¼ÆËãÒýÇæÖ´ÐÐЧÂʵ͡£µÄÈ·£¬ÔÚͬµÈ¹æÄ£µÄ¼¯ÈºÖ´ÐÐÏàͬµÄÊý¾Ý¼Ó¹¤Âß¼­£¬¼´Ê¹ÓëSpark¶Ô±È£¬MPPËùºÄ·ÑµÄʱ¼äÒ²»áÃ÷ÏÔ¸üÉÙЩ[3]£¬ÆäÖ÷ÒªµÄÔ­ÒòÔÚÓÚÁ½Õß¶ÔÓÚÊý¾ÝÔÚ´ÅÅ̺ÍÄÚ´æÖеÄ×éÖ¯ÐÎʽ²»Í¬¡£

MPP´ÓRDBMS¶øÀ´£¨ÀýÈçVerticaºÍGPDB¶¼ÊÇ»ùÓÚPostgreSQL¿ª·¢£©£¬¶ÔÊý¾ÝµÄ×éÖ¯ÐÎʽ¸üÌù½ü´«Í³·½Ê½£¬°´Çø¡¢¶Î¡¢¿éµÈµ¥Î»×éÖ¯£¬¶ÔÊý¾Ý½øÐÐÁËÔ¤´¦Àí¹¤×÷ÒÔÌáÉýʹÓÃʱµÄЧÂÊ£»HadoopÉú̬ÌåϵÒÔHDFSÎļþ´æ´¢Îª»ù´¡£¬HDFS²¢²»Ïñ´«Í³Êý¾Ý¿âÄÇÑù¶ÀÁ¢¹ÜÀíÒ»¿éÁ¬ÐøµÄ´ÅÅ̿ռ䣬¶øÊǽ«Êý¾Ý±íÖ±½ÓÓ³Éä³É²»Í¬µÄÊý¾ÝÎļþ£¬ÉõÖÁ±í·ÖÇøÒ²ÒÔĿ¼¡¢ÎļþµÈ·½Ê½ÌåÏÖ¡£

HDFS×î¼òµ¥µÄtxt¸ñʽ¸É´à¾ÍÊÇÆ½ÆÌµÄÊý¾ÝÎļþ£¬´¦Àí¹ý³ÌÄÑÃâÒª¼òµ¥´Ö±©Ò»Ð©£¬µ«Ëæ×ÅAvro¡¢ORCFile¡¢ParquetµÈºÜ¶àеĴ洢¸ñʽÏà¼Ì±»ÒýÈ룬»ùÓÚHDFSµÄÅú´¦ÀíÒ²¸ü¼Ó¾«Ï¸¡£´ÓÕûÌå¼Ü¹¹À´¿´£¬Hadoop¸ü¼Ó¿´ÖØ´óÊý¾ÝÁ¿ÅúÁ¿´¦ÀíµÄÍÌÍÂÄÜÁ¦¡£

ͬʱ£¬Hadoop¾ß±¸MPPËùȱʧµÄÅúÁ¿ÈÎÎñµ÷ÕûÄÜÁ¦£¬Êý¾ÝµÄ¶à¸±±¾´æ´¢Ê¹Æä¾ßÓиü¶à¡°±¾µØ»¯¡±Êý¾Ý¼Ó¹¤µÄ±¸Ñ¡½Úµã£¬¶øÇÒÊý¾Ý¼Ó¹¤´¦ÀíÓëÊý¾Ý´æ´¢²¢²»°ó¶¨£¬¿ÉÒÔ¸ù¾Ý½ÚµãµÄÔËÐÐЧÂʶ¯Ì¬µ÷ÕûÈÎÎñ·Ö²¼£¬´Ó¶øÔÚ´ó¹æÄ£²¿ÊðµÄÇé¿öϾßÓÐÕûÌåÉϸüÎȶ¨µÄЧÂÊ¡£Ïà±È֮ϣ¬MPPÔÚÏà¶Ô½ÏСµÄÊý¾ÝÁ¿Ï¾ßÓиüºÃµÄÖ´ÐÐЧÂÊ¡£

²»ÄÜÎÞ·ìÏνÓEDWʵʩ·½·¨ÂÛ

ÔÚ³¤ÆÚµÄʵ¼ùÖУ¬ÆóÒµ¼¶Êг¡µÄÖ÷Á÷¼¯³ÉÉÌÕë¶ÔEDWÏîÄ¿³ÁµíÁËÒ»Ì׹̶¨µÄʵʩ·½·¨£¬ÓëMPPÌØÐÔÏàÆ¥Å䣬µ«Hadoop²¢²»ÄÜÓëÖ®ÎÞ·ì¶Ô½Ó¡£Ò»¸ö×îµäÐ͵ÄÀý×ÓÊÇÀúÊ·Êý¾ÝµÄ´æ´¢£¬´«Í³·½·¨ÊDzÉÓá°À­Á´±í¡±µÄÐÎʽ£¬¼´¶ÔÓÚµ±Ç°ÓÐЧµÄÊý¾Ý»á¼Ç¼ÆäÉúЧµÄÆðʼʱ¼ä£¬ÔÚÊý¾Ý±»¸ü¸Ä»òɾ³ýºó£¬ÔÚ¸ÃÐмǼµÄÁíÍâÒ»ÁмǼʧЧʱ¼ä¡£ÕâÑù£¬µ±Ç°Êý¾Ý¼´±ä¸üΪÀúÊ·Êý¾Ý£¬Í¨¹ýÕâÖÖÔöÁ¿µÄ±íÊö·½Ê½£¬½ÚÊ¡ÁË´óÁ¿µÄ´æ´¢¿Õ¼äºÍ´ÅÅÌIO¡£

¿ÉÒÔ¿´³ö£¬À­Á´±íµÄÉè¼ÆË¼ÏëÆäʵÓë»ùÓÚʱ¼ä´ÁµÄMVCC»úÖÆÊÇÏàͬµÄ¡£

HDFS×÷ΪHadoopµÄ´æ´¢»ù´¡£¬Æä±¾Éí²»ÌṩUpdate²Ù×÷£¬ÕâÑùËùÓÐÔÚÊý¾Ý²Ù×÷²ãÃæµÄUpdate×îÖջᱻת»»ÎªÎļþ²ãÃæµÄDeleteºÍInsert²Ù×÷£¬Ð§ÂÊÉÏÏÔÖø½µµÍ¡£¾ÝIvanËùÖª£¬ÔںܶàÆóҵʵ¼ùÖлὫÕâÖÖÔöÁ¿´æ´¢×ª»»ÎªÈ«Á¿´æ´¢£¬´øÀ´´óÁ¿Êý¾ÝÈßÓàµÄͬʱ£¬Ò²Ôì³Éʵʩ·½·¨Éϵıä¸ü¡£

Áª»ú²éѯ²¢·¢ÄÜÁ¦²»×ã

¶ÔÓÚÁª»ú²éѯ³¡¾°£¬×î³£¼ûµÄÊÇSQL on Hadoop·½°¸£¬½«Impala¡¢HAWQµÈMPPÒýÇæ¼ÜÉèÔÚHDFS»ù´¡ÉÏ£¬ÅúÁ¿Êý¾ÝÓëÁª»ú²éѯ¹²ÓÃÒ»·ÝÊý¾Ý¡£MPPÒýÇæ½è¼øÁËMPPÊý¾Ý¿âµÄÉè¼Æ¾­Ñ飬Ïà¶ÔHiveµÈ×é¼þÌṩÁ˸üµÍµÄÑÓ³Ù¡£µ«´æÔÚÒ»¸öÓëMPPÏàͬµÄÎÊÌ⣬¼´²¢·¢ÄÜÁ¦²»×ã¡£

ͨ¹ýһЩÏîÄ¿²âÊÔÖУ¬Ivan·¢ÏÖÔÚ´óÌåÏàͬµÄÊý¾ÝÁ¿ºÍ²éѯÂß¼­Çé¿öÏ£¬ Impala²¢·¢»áµÍÓÚGPDB¡£ÆäÔ­Òò¿ÉÄÜÊÇ¶à·½ÃæµÄ£¬²»Åųý´æÔÚһЩµ÷Óſռ䣬µ«ÔÚϵͳ¼Ü¹¹²ãÃæÒ²ÓÐÖµµÃ̽ÌÖµÄÄÚÈÝ¡£ÀýÈçÔÚÔªÊý¾Ý¶ÁÈ¡ÉÏ£¬Impala¸´ÓÃÁËHive MetaStore£¬µ«ºóÕßÌṩµÄ·ÃÎÊ·þÎñÑÓʱÏà¶Ô½Ï³¤£¬ÕâÒ²ÏÞÖÆÁËImpalaµÄ²¢·¢ÄÜÁ¦[7]¡£

3. Like-Mesa

MesaÊÇGoogle¿ª·¢µÄ½üʵʱ·ÖÎöÐÍÊý¾Ý²Ö¿â£¬2014Äê·¢²¼ÁËÂÛÎÄÅû¶ÆäÉè¼ÆË¼Ïë[5]£¬Æäͨ¹ýÔ¤¾ÛºÏºÏ²¢DeltaÎļþµÈ·½Ê½¼õÉÙ²éѯµÄ¼ÆËãÁ¿£¬ÌáÉýÁ˲¢·¢ÄÜÁ¦¡£

Mesa³ä·ÖÀûÓÃÁËÏÖÓеÄGoogle¼¼Êõ×é¼þ£¬Ê¹ÓÃBigTableÀ´´æ´¢ËùÓг־û¯µÄÔªÊý¾Ý£¬Ê¹ÓÃÁËColossus (GoogleµÄ·Ö²¼Ê½Îļþϵͳ)À´´æ´¢Êý¾ÝÎļþ£¬Ê¹ÓÃMapReduceÀ´´¦ÀíÁ¬ÐøµÄÊý¾Ý¡£

MesaÏà¹ØµÄ¿ªÔ´²úƷΪClickhouse[6]£¨2016ÄêYandex¿ªÔ´£©ºÍPalo[7]£¨2017Äê°Ù¶È¿ªÔ´£©¡£

¼Ü¹¹Ìص㣺

ĿǰClickHouseµÄ×ÊÁÏÈÔÒÔ¶íÓïÉçÇøÎªÖ÷£¬Îª±ãÓÚ´ó¼ÒÀí½âºÍ½øÒ»²½Ñо¿£¬ÏÂÃæÖ÷ÒªÒÔPaloΪÀý½øÐÐ˵Ã÷¡£

PaloûÓÐÍêÈ«ÕÕ°áMesaµÄ¼Ü¹¹Éè¼ÆµÄ˼·£¬Æä½èÖúÁËHadoopµÄÅúÁ¿´¦ÀíÄÜÁ¦£¬µ«½«¼Ó¹¤½á¹ûµ¼Èëµ½ÁËPalo×ÔÉí´æ´¢£¬×¨×¢ÓÚÁª»ú²éѯ³¡¾°£¬ÔÚÁª»ú²éѯ²¿·ÖÖ÷Òª½è¼øÁËImpala¼¼Êõ¡£Í¬Ê±PaloûÓи´ÓÃÒÑÓеķֲ¼Ê½ÎļþϵͳºÍÀàBigTableϵͳ£¬¶øÊÇÉè¼ÆÁ˶ÀÁ¢µÄ·Ö²¼Ê½´æ´¢ÒýÇæ¡£ËäÈ»Êý¾Ý´æ´¢Éϸ¶³öÁËÒ»¶¨µÄÈßÓ࣬µ«ÔÚÁª»ú²éѯµÄµÍÑÓ³Ù¡¢¸ß²¢·¢Á½·½Ãæ¶¼µÃµ½Á˺ܴóµÄ¸ÄÉÆ¡£

PaloÔÚÊÂÎñ¹ÜÀíÉÏÓëHadoopÌåϵÀàËÆ£¬Êý¾Ý¸üеÄÔ­×ÓÁ£¶È×îСΪһ¸öÊý¾Ý¼ÓÔØÅú´Î£¬¿ÉÒÔ±£Ö¤¶à±íÊý¾Ý¸üеÄÒ»ÖÂÐÔ¡£

ÕûÌå¼Ü¹¹ÓÉFrontendºÍBackendÁ½²¿·Ö×é³É£¬²éѯ±àÒë¡¢²éѯִÐÐЭµ÷Æ÷ºÍ´æ´¢ÒýÇæÄ¿Â¼¹ÜÀí±»¼¯³Éµ½Frontend£»²éѯִÐÐÆ÷ºÍÊý¾Ý´æ´¢±»¼¯³Éµ½Backend¡£Frontend¸ºÔؽÏÇᣬͨ³£ÅäÖÃÏ£¬¼¸¸ö½Úµã¼´¿ÉÂú×ãÒªÇó£»¶øBackend×÷Ϊ¹¤×÷¸ºÔؽڵã»á´ó·ùÀ©Õ¹µ½¼¸Ê®ÖÁÉϰٽڵ㡣Êý¾Ý´¦Àí²¿·ÖÓëMesaÏàͬ²ÉÓÃÁËÎﻯRollup£¨ÉϾí±í£©µÄ·½Ê½ÊµÏÖÔ¤¼ÆËã¡£

PaloºÍClickHouse¶¼Ðû³ÆÊµÏÖÁËMPP Data Warehouse£¬µ«´Ó¼Ü¹¹ÉÏ¿´ÒѾ­Ó봫ͳµÄMPP·¢ÉúºÜ´óµÄ±ä»¯£¬¼¸ºõÍêÈ«ÉáÆúÁËÅúÁ¿´¦Àí£¬×¨×¢ÓÚÁª»ú²¿·Ö¡£

ClickHouseºÍPalo×÷Ϊ½ÏÍí³öÏֵĿªÔ´ÏîÄ¿£¬»¹ÔÚ½øÒ»²½·¢Õ¹¹ý³ÌÖУ¬É趨µÄʹÓó¡¾°ÒÔ¹ã¸æÒµÎñʱÐòÊý¾Ý·ÖÎöΪÖ÷£¬´æÔÚÒ»¶¨¾ÖÏÞÐÔ£¬µ«ÖµµÃ³ÖÐø¹Ø×¢¡£

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

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

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

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