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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
ÕýÈ·Éè¼ÆHologresʵʱÊý²Ö£¬ÐÔÄÜÌáÉý10±¶+
 
×÷Õߣº ²ÜÌ©Ãú¡¢ÍôÓî
  2477  次浏览      30
 2021-12-28
 
±à¼­ÍƼö:
±¾ÎÄÖ÷Òª½²Êö°¢Àï°Í°ÍÁãÊÛͨÊý¾Ýƽ̨ÈçºÎÓÅ»¯HologresʵʱÊý²Ö£¬´ïµ½ÐÔÄÜÌáÉý10±¶+µÄЧ¹û£¬ÍêÃÀÖ§³ÅË«11ÓªÏú»î¶¯¡¢ÊµÊ±Êý¾Ý´óÆÁµÈºËÐij¡¾°¡£Ò²Ï£Íûͨ¹ý´ËÎĶÔHologresÐÂÓû§Æðµ½Ò»¶¨µÄ°ïÖú×÷Óã¬Í¨¹ýºÏÀíµÄÊý²ÖÉè¼ÆÊµÏÖʰ빦±¶µÄÐÔÄÜЧ¹û¡£
±¾ÎÄÀ´×ÔÓÚÖªºõ£¬ÓÉLinda±à¼­¡¢ÍƼö¡£

±³¾°

°¢Àï°Í°ÍÁãÊÛͨÍŶÓÊǰ¢Àï°Í°ÍB2BÊÂҵȺÕë¶ÔÏßÏÂÁãÊÛСµê£¨±ãÀûµê/С³¬ÊУ©ÍƳöµÄÒ»¸öΪ³ÇÊÐÉçÇøÁãÊÛµêÌṩ¶©»õ¡¢ÎïÁ÷¡¢ÓªÏú¡¢ÔöÖµ·þÎñµÈµÄ»¥ÁªÍøÒ»Õ¾Ê½½ø»õƽ̨£¬ÊµÏÖ»¥ÁªÍø¶ÔÏßÏÂÁãÊÛÒµµÄÉý¼¶£¬Í¬Ê±Ò²ÎªÓÐÖ¾ÓÚÏßÉÏÏßÏÂÁãÊÛÒµµÄ´´ÒµÈºÌåÌṩ´´ÒµÆ½Ì¨¡£

Õû¸öƽ̨µÄ¼Ü¹¹Í¼ÈçÏÂËùʾ£¬ÊÇÒ»¸öÁ÷Åú·ÖÀëÇÒÒÔÀëÏßΪÖ÷µÄ¼Ü¹¹¡£ÁãÊÛͨÊý¾ÝÍŶӸºÔð¶ÔÀëÏßMaxComputeÊý²ÖºÍʵʱFlinkÊý²ÖµÄ½¨ÉèºÍά»¤£¬¶ÔÄÚ²¿Ð¡¶þºÍÍⲿÉú̬»ï°éÌṩ¾ö²ßÖ§³Ö£¬Êý¾Ý·þÎñºÍÊý¾Ý²úÆ·½¨Éè¡£

ÒòΪHologresÓëMaxComputeÓÐ׿«ºÃµÄ¼æÈÝÐÔ£¬²¢ÇÒÄܹ»¶ÔMaxComputeºÁÃë¼¶¼ÓËÙ£¬²ÆÄê³õÁãÊÛͨÊý¾ÝÍŶÓ×÷ΪҵÎñÊý¾ÝÖÐ̨»ùÓÚHologresÔÚÒµÎñÉϽøÐÐÁË´óÁ¿µÄ³¢ÊÔ£¬°üÀ¨ÊµÊ±Êý²Ö¹«¹²²ã£¬ÀäÈÈ»ìºÏ¼ÆË㣬²éѯ¼ÓËٵȳ¡¾°£¬ÒòΪHologresµÄ¼ÓÈ룬ÏàͬµÄÐèÇóÁ¿£¬ÒÔǰµÄ¼Ü¹¹ÐèÒª2Ìì²ÅÄÜÍê³É£¬¶øÏÖÔÚÔÚ2СʱÄÚ¾ÍÄÜÍê³É£¬´ó´óÌáÉýÁË¿ª·¢Ð§ÂÊ£¬µÃµ½ÁËÑз¢ÃǵÄÒ»ÖÂºÃÆÀ¡£

Ììè˫11¶ÔÓÚÁãÊÛͨÍŶÓÀ´ËµÒ²ÊÇÈ«Äê×î´óµÄÒ»³¡Õ½ÒÛ£¬Êý¾ÝÏìÓ¦ÐèÒª¸üʵʱ£¬µ«Ò²»áÏàÓ¦Ôö¼Ó¸ü¶àµÄ¸öÐÔ»¯Ö¸±ê£¬ÒµÎñÃæÁÙµÄÌôÕ½Ò²»á¸ü´ó¡£»ùÓÚHologresÈÕ³£ÔÚÒµÎñµÄÓÅÐã±íÏÖ£¬ÍŶÓÒ²¾ö¶¨Ê¹ÓÃHologres×÷Ϊ˫11ºËÐÄ¿ª·¢²úÆ·£¬Ó¦ÓÃÓÚË«11ºËÐij¡¾°°üÀ¨ÓªÏú»î¶¯ÖÐÐÄ£¬ÊµÊ±Êý¾Ý´óÆÁµÈ¡£

ÔÚ10Ô·ݶÔÈ«Á´Â·½øÐÐÁ˼¸´Îѹ²â£¬HologresÔÚ100%ѹ²âѹÁ¦ÏÂCPUºÍÄÚ´æ×ÊÔ´ÔÚ100%ÏßÉÏÅÇ»²£¬ÊôÓÚѹÏßͨ¹ý¡£±¾ÒÔΪÄÜ˳Àûͨ¹ý´ó´Ù¿¼Ñ飬µ«ÔÚ2020-11-01ÕâÌ죬Hologres²¢Ã»Óп¸×¡ÒµÎñ·åÖµ£¬ÔÚ´óÁ¿²éѯQPSºÍ¸ß²¢·¢µÄÊý¾ÝдÈë·åֵϣ¬RTÑÓ³ÙÒ»¶È´ïµ½90Ã룬ûÓдﵽԤÆÚ¡£

ʺóÕë¶ÔHologres½øÐÐÁËÕûÌåµÄ¸´ÅÌ£¬²¢ÔÚHologresÍŶӵÄÖ§³ÖÏ£¬Í¨¹ýÕûÌå½á¹¹µÄµ÷ÕûÒÔ¼°Ïà¹ØÐÔÄܵ÷ÓÅ£¬ÕûÌåÐÔÄÜÌáÉýÁË10±¶+£¬¿¸×¡ÁËÕû¸öË«11ÆÚ¼äµÄÁ÷Á¿ºé·å£¬ÎªË«11»®ÏÂÁËÔ²Âú¾äºÅ¡£

ʺóÎÒÃÇÕë¶ÔÕû¸öʼþ×öÁËÈ«Á´Â·¸´ÅÌ£¬·¢ÏÖÖ÷ÒªÎÊÌ⻹ÊdzöÔÚ¶ÔÓÚHologresµÄÔ­ÀíÁ˽ⲻ¹»ÉîÈ룬°üÀ¨¼¼ÊõÔ­Àí¡¢Table Group¡¢±í½á¹¹Éè¼ÆµÈ£¬µ¼ÖÂijЩÓ÷¨»¹²»ÊÇ×îÓÅ£¬ÕâÒ²µ¼ÖÂÔÚʵ¼ÊÒµÎñ³¡¾°ÖУ¬HologresµÄÐÔÄÜûÓз¢»Óµ½×î´ó»¯¡£

ÎÒÃǽ«»áͨ¹ý´ËÎĽ²Ëß°¢Àï°Í°ÍÁãÊÛͨÍŶÓÈçºÎ¸ù¾ÝÒµÎñ³¡¾°ºÏÀíµÄÉè¼ÆHologresʵʱÊý²Ö£¬°üÀ¨±í½á¹¹¡¢Table GroupÉè¼ÆµÈ£¬ÒÔµ½´ï¸üÓŵÄÐÔÄܱíÏÖ¡£Ò²Ï£Íûͨ¹ý´ËÎĶÔHologresÐÂÓû§Æðµ½Ò»¶¨µÄ°ïÖú×÷Óã¬Í¨¹ýºÏÀíµÄ×ÊÔ´ÀûÓÃʵÏÖʰ빦±¶µÄÐÔÄÜЧ¹û¡£

11ÔÂ1ÈÕÏÖ³¡»¹Ô­

Ê×ÏÈÎÒÃÇÏÈÀ´»¹Ô­Ò»ÏÂ11ÔÂ1ÈÕµÄÏÖ³¡·´À¡£¬ÒÔ¸üÖ±¹ÛµÄ·½Ê½À´¿´¿´µ±Ê±Hologres³ÐÊܵÄѹÁ¦ºÍÏà¹Ø±íÏÖ£¨×¢£º¼à¿ØÒ³ÃæÎªHologresÔÚ°¢ÀïÄÚ²¿µÄ¼à¿ØÒ³Ã棬Ó빫ÓÐÔÆµÄ¼à¿ØÒ³ÃæºÍÖ¸±êÏîÂÔÓв»Í¬£©£º

²éѯQPS: ÿÃëÍê³ÉQueryµÄÊýÁ¿£¬Ò»°ã´ú±íÊý¾Ý¿âÐÔÄܺÍѹÁ¦£¬23:30ºóµÄÔö³¤´ú±íѹÁ¦¸ººÉÔö³¤£¨ÒµÎñ·½¿ªÊ¼´óÁ¿¹Ø×¢/²éѯ±¨±í£©£¬00:15·ÖµÄÖè½µ´ú±íÐÔÄܽµµÍ£¬1µãÖ®ºóµÄ½µµÍ´ú±íÒµÎñˮλϽµ¡£

²éѯÑÓ³Ù£¨RT£©£º15·Ö×óÓÒ¶¸Éýµ½25s£¬´ó¸Å³ÖÐø15·ÖÖÓ£»Hologres³¬¸ººÉÔË×÷£¬ÐÔÄÜϽµ¡£

CPUʹÓÃÂÊ£º´ú±íÕýÔÚÔËתµÄcoreÊýÁ¿¡£ÎÒÃǵÄʵÀýÓм¸°Ù¸öcoreÓÃÓÚ¼ÆË㣬µ«ÔÚ·åÖµÑÏÖØ³¬¸ºÔØ50%+£»

Woker CPUʹÓÃÂÊ£ºWokerµÄCPU¸ºÔØÇé¿ö£¬ºÍCPUʹÓÃÂÊ»ù±¾Ò»Ö£¬·åÖµ³¬¸ºÔØ50%+¡£

ÕâÁ½¸öÖ¸±ê´ú±í´óÁ¿Query½«»áÎÞ·¨¼°Ê±´¦Àí£¬ÔÚ¶ÓÁÐÖеȴý£¬ÑÓ³Ù½«»á½Ï´óÔö¼Ó£¬ÊµÀýÒ²ÓÐÍ£°ÚµÄ·çÏÕ¡£

[ͼƬÉÏ´«Ê§°Ü...(image-84f10a-1609380824254)]

BlinkдÈëRPS£º´ú±íÿÃëʵʱÊý¾ÝµÄдÈëÁ¿£¬0µãÊÇʵʱ¶©µ¥Ð´ÈëµÄ·åÖµ¡£µ±Ê±Óн϶àÊý¾Ýµ¼È룬¶ÔWorker²úÉú½Ï´óµÄ¸ººÉ£¬Ó°ÏìʵÀýÐÔÄÜ£¨±ÈÈçRT£¬CPUʹÓÃÂʵȣ©£¬ËùÒÔ¶Ô²¿·ÖblinkдÈë½Å±¾²ÉÈ¡½ô¼±½µ¼¶²Ù×÷£¬·åÖµ¹ýºó1:10»Ö¸´½µ¼¶£¬²úÉúµÚ¶þ²¨½Ï´óµÄдÈë¡£

ÎÊÌⶨλºÍÓÅ»¯ÊÖ¶Î

ÔÚHologresÍŶӵİïÖúÏ£¬¾­¹ý·´¸´µÄÅŲ飬·¢ÏÖÎÊÌâÖ÷ÒªÓÐÒÔϼ¸¸öÔ­Òò£º

1£©Ö÷ÒªÎÊÌâ: Table Group&ShardsÊýÉèÖò»ºÏÀí£¬Ôڸ߲¢·¢¶ÁÈ¡ºÍдÈë·åֵʱ£¬Ôì³É¼¯Èº×ÊÔ´À˷ѺÍÐÔÄÜϽµ

ÁãÊÛͨHologresʵÀý×ܼÆÓм¸°ÙcoreµÄ¼ÆËã×ÊÔ´£¬¼¸TBµÄÄÚ´æ×ÊÔ´£¬ºÍÊ®¼¸TBµÄ´æ´¢×ÊÔ´¡£ÔÚʵÀý´´½¨ºó»á¸ù¾ÝʵÀý¹æ¸ñÉú³ÉĬÈÏÊýÁ¿µÄTable Group£¬È»ºóÿ¸öTable Group»á×Ô¶¯´´½¨¶ÔÓ¦µÄShardÊý£¨°´ÕÕÏÖÓеĹæ¸ñ£¬ShardÊýÓÐ300¸ö£©£¬ÊµÀýÖд洢µÄ±í¶¼»á±»Ä¬ÈÏ·Ö·¢ÖÁÕâЩShardÖС£

¿ª·¢ÊӽǵÄTable GroupºÍShard

Ê×ÏÈ£¬ÏÈ´Ó¿ª·¢ÕßÊÓ½ÇÀ´Àí½âÒ»ÏÂTable GroupºÍShardµÄÏà¹Ø¸ÅÄîºÍÔ­Àí£º

ÔÚHologresÖУ¬1¸öDB°üº¬¶à¸öTable Group£¬Ã¿¸öTable Group°üº¬¶à¸öTable£¬Ã¿¸öTableÖ»ÄÜÊôÓÚÒ»¸öTable Group¡£Ò»¸öTable GroupΨһ¶ÔÓ¦Ò»×éShard£¬ÓÉÕâ×éShardÀ´¸ºÔðÆäÖбíµÄÊý¾Ý´æ´¢ºÍ²éѯ£¬Æä°üº¬µÄShard¸öÊý³ÆÎªShard Count£¬Table GroupÒ»µ©½¨Á¢£¬ShardÊý²»¿Éµ÷Õû¡£

Ò»¸öTable GroupÓµÓеÄShardÊýÁ¿£¨¼´Shard Count£¬ºóͬ£©ÊÇËüµÄÒ»¸öÖØÒªÊôÐÔ¡£ShardÊý¶àµÄTable Group£¬ÆäÊý¾ÝдÈëºÍ²éѯ·ÖÎö´¦Àí¿ÉÒԵõ½¸ü´óµÄ²¢Ðжȣ¬Ò»¶¨·¶Î§ÄÚ£¬Ôö´óShardÊý¿ÉÒÔ¼Ó¿ìÊý¾ÝдÈëºÍ²éѯ·ÖÎöµÄËÙ¶È£¬µ«ShardÊýÒ²²¢·ÇÔ½¶àÔ½ºÃ£¬¸ü¶àShardÊýÐèÒª¸ü¶àµÄ½Úµã¼äͨÐÅ×ÊÔ´¡¢¼ÆËã×ÊÔ´ÒÔ¼°ÄÚ´æ×ÊÔ´£¬ÔÚ×ÊÔ´²»Âú×ãµÄʱºò£¬»òÕßQueryºÜСʱ¿ÉÄܻᵼÖÂÊÊµÃÆä·´µÄЧ¹û¡£

ÔÙ½áºÏ¾ßÌåµÄÒµÎñ³¡¾°£¬µ±Ò»¸öË«±íJoinµÄSQLÖ´ÐÐʱ£¬°´ÕÕÏÖÓÐShardÊý£¬Ö´Ðмƻ®»á²úÉúÒ»¸ö300*300 ShardµÄµÑ¿¨¶û»ý£¨Á½ÕÅ±í¶¼±»·ÖÉ¢300·Ý£©£¬ÕâÔÚshuffle½×¶Î¶ÔCPUºÍÄÚ´æ²úÉú¾Þ´óµÄѹÁ¦£¬Ò²¾ÍÒâζ×ÅÐèÒª¸ü¶àµÄ½Úµã¼äͨÐÅ×ÊÔ´¡¢¼ÆËã×ÊÔ´ÒÔ¼°ÄÚ´æ×ÊÔ´¡£³ý´ËÖ®Í⣬µ¥±íµÄÊý¾ÝËæ»ú·ÖÉ¢µ½300¸öShardµÄ¹ý³ÌÖÐÈÝÒ׳öÏÖÊý¾ÝÇãбµÄÎÊÌ⣬ÈçÏÂͼËùʾ

ÉèÖÃTable GroupºÍShard½¨Òé

ÁãÊÛͨÍŶӵÄÒµÎñ³¡¾°´ó¶¼ÊÇÊý¾ÝÁ¿Æ«ÉÙ¡¢±í´óСҲ·Ç³£²»¾ùÔÈ£¬¶ÔÓÚ±£ÕϵÄÓÅÏȼ¶Ò²²»Ò»Ö£¬ËùÒÔÉÏÃæ½«µÄËùÓÐ±í¶¼·ÅÔÚÒ»¸ö300¸öShardµÄTable GroupÖжÔʵ¼ÊÒµÎñ²¢²»ÊÊÓã¬Õâ¾Íµ¼Öµ±Á÷Á¿Ôö´óʱ£¬Ã»Óа취ÓÐЧÀûÓÃHologresµÄLocal JoinÄÜÁ¦£¬µ¼ÖÂCPUµÄ¿ªÏú¾çÔö¡£

ÕýÈ·µÄ×ö·¨Êǰ´ÕÕʹÓó¡¾°¡¢JoinƵ´Î¡¢±í´óС£¬·ÖÁÑÉè¼Æ³É²»Í¬µÄTable GroupÖдæ·ÅÊý¾Ý£»Ò»·½Ãæ¿ÉÒÔÌáÉý¼¯ÈºÐÔÄÜÌá¸ß¼ÆËãËÙ¶È£¬ÁíÒ»·½Ãæ¿ÉÒÔ½ÚÊ¡×ÊԴͬʱһ¶¨³Ì¶ÈÉÏʵÏÖ×ÊÔ´ºÏÀí·ÖÅä¸ôÀë¡£

н¨Table GroupµÄÔ­Ôò£º

Êý¾ÝÁ¿¹ý´ó£¬¿Éн¨¶ÀÁ¢µÄ½Ï´óShardÊýµÄTable Group¡£µ±²ì¾õдÈëÐÔÄܱäÂý or ¶ÁÈ¡200ÍòÐÐÒ»¸öShardʱ½¨Òéн¨Table Group£»

ÓдóÁ¿Êý¾ÝÁ¿ºÜСµÄ±í£¬¿ÉÊʵ±¶ÀÁ¢³öÒ»¸öСShardÊýµÄTable Group£¬¼õСQueryÆô¶¯¿ªÏú£»

ÐèÒªJoinµÄ±í£¬¾¡Á¿·ÅÔÚͬһ¸öTable Group£»

ΪTable GroupÉèÖúÏÀíµÄShardÊý£ºShardÊý²»ÊÇÔ½´óÔ½ºÃ£¬¹ý´óµÄShardÊý»áÔì³É×ÊÔ´µÄÀË·Ñ&¸ºÔعý¸ß£¬¹ýСµÄShardsÊý»áµ¼Ö´óÊý¾ÝÁ¿Ï¶ÁдÐÔÄܲ»×ãÒÔ¼°²»Äֵܵ²½Ï´óµÄ²¢·¢£¬ÏÂÃæÒ²ÊǾ­Ñé×ܽá³öÀ´µÄShardÊýÉèÖ㨽ö¹©²Î¿¼£¬Êµ¼ÊÐèÒª¸ù¾ÝʵÀý¹æ¸ñºÍÒµÎñÒªÇóÀ´ÉèÖã©

²éѯÐÔÄÜÒªÇó£ºÈôÊÇÒµÎñ¶ÔÓÚ²éѯҪÇó½Ï¸ß£¬ShardÊýµÄÉèÖÃÊDZíÔÚSQLÖÐɨÃèµÄ·ÖÇø·¶Î§ÄÚµÄ×ÜÐÐÊýµÄ¾ùÖµ/200Íò = 1 Shard

дÈëÐÔÄÜÐèÇó£ºShardÊýºÍÊý¾ÝдÈëÐÔÄܳÊÒ»¶¨µÄÕýÏà¹ØÐÔ£¬µ¥¸öShardµÄдÈëÄÜÁ¦ÊÇÏà¶Ô¹Ì¶¨µÄ£¬ShardÔ½¶à£¬Ð´ÈëµÄ²¢·¢Ô½¶à£¬Ð´ÈëµÄÍÌÍÂÔ½¸ß¡£Òò´Ë£¬Èç¹û±íÓнϸßRPSµÄдÈëÐèÇó£¬ÐèÒªÔö´óShardÊý¡£

¾ßÌåÍêÕûµÄ¼ÆËã·½·¨²Î¿¼ ÈçºÎÑ¡ÔñºÏÊʵÄShardÊý£¬Ò²¿ÉÒÔ×ÉѯHologres¼¼ÊõС¸ç¡£

Table GroupÖØ¹¹Éè¼Æ

Õë¶ÔTable GroupµÄÉè¼Æ£¬ÁãÊÛͨ¶Ôµ±Ç°HologresʵÀýµÄÆÚ´ýÊÇ×÷Ϊ·ÖÎöÐÍOLAPʵʱÊý¾Ý¿â£¬ÔÚ²ÆÄê²»À©³ä×ÊÔ´µÄÇé¿ö϶ÔÏÖÓбíºÍÒµÎñÐèÇóÊáÀíºóÓÐÒÔÏÂËßÇó£º

´æ·ÅÊý²ÖÖй«¹²Ã÷ϸ²ã£¬¹«¹²»ã×ܲ㣬ά±í£»²¢ÄܶԹ«¹²²ã½ÏÃ÷ϸµÄÊý¾Ý½øÐпìËÙ·ÖÎö&¿ª·¢£¨Local Join£©£»±íµ¥·ÖÇøÒ»°ãÔÚÊýǧÍòÐÐÁ¿¼¶

ÓªÏú»î¶¯·ÖÎöÊý¾Ý²úÆ·µÄ½Ó¿Ú²ã´æ´¢£¬±í¸ñÐÐÊý½ÏÉÙÒ»°ãÔÚµ¥·ÖÇø3000ÐÐÒÔÏ£¬±í¸ñÊýÁ¿½ÏÉÙ£¨10¸öÒÔÏ£©µÄLocal Join£¬²¢·¢½Ï¸ßµ«²»Ì«»áºÍÍⲿ±í¸ñƵ·±¹ØÁª

¾­Óª¹ÜÀíÖÐÐÄÊý¾Ý²úÆ·µÄ½Ó¿Ú²ã´æ´¢£¬±í¸ñÐÐÊý½Ï´ó£¬µ¥·ÖÇø¿ÉÒÔµ½4ÒÚÐУ¬²»ÐèÒªin£¬Ò»°ã×öÁé»î¶àά¶È»ã×Ü£¬²¢·¢½ÏµÍ

ÉÌÆ·ÆÀ¹ÀÖÐÐÄÊý¾Ý²úÆ·µÄ½Ó¿Ú²ã´æ´¢£¬±í¸ñÐÐÊýµ¥·ÖÇøÇ§ÍòÐУ¬Ò»°ã²»ÐèÒªJoin£¬²»ÐèÒª»ã×Ü£¬µ«ÐèÒª¸ù¾ÝÌõ¼þÔÚwhereÖнøÐÐÃ÷ϸɸѡ

×îºó¾ö¶¨ÉèÁ¢4¸öTable Group£º

¹«¹²²ãTG£º ´æ·Åά±í£¬Ã÷ϸ±í£¬¹«¹²»ã×Ü±í£¬Local Join ÒÔ¼°»ã×Ü£¬·ÖÅä½Ï¶à×ÊÔ´

ÓªÏú+´óÆÁTG£º´óÆÁ¼°ÓªÏú»î¶¯Ó¦Óã¬Êý¾ÝÁ¿½ÏÉÙ£¬Ö÷ÒªÓÃÓÚÀúÊ·¶Ô±È£¬ÊµÊ±Ó¦Óò¢·¢¶Áд½Ï´ó£»²ÉÓÃ20¸öShard, ֮ǰ300¸öShardÊǼ«´óµÄ×ÊÔ´ÀË·Ñ

¾­Óª¹ÜÀíÖÐÐÄTG£º¾­Óª¹ÜÀíÖÐÐĸ÷Ã÷ϸÁ£¶È±í¸ñ£¬ÉèÖÃ50¸öShard

ÉÌÆ·orÐÐÒµTG£º´æ·ÅÉÌÆ·ºÍÀàÄ¿½á¹ûÊý¾Ý£¬ÉèÖÃ40¸öShard

2£©´ÎÒªÎÊÌâ1£º±í½á¹¹Éè¼Æ

Êý²Ö½¨ÉèÖУ¬×îÖØÒªµÄÒ»¸ö»·½Ú¾ÍÊǺÏÀíµÄÉè¼Æ±í½á¹¹£¬°üÀ¨±íµÄÊý¾ÝÀàÐÍ¡¢±íµÄË÷ÒýµÈ¡£ÓÈÆäÊÇË÷Òý£¬ºÏÀíµÄË÷ÒýÉè¼Æ½«»áÌá¸ß¼¸±¶ÉõÖÁ¼¸Ê®±¶µÄÐÔÄÜ¡£Í¨¹ýÖØÐÂÊáÀí±í½á¹¹£¬·¢ÏÖÒµÎñ²¢Ã»ÓкÏÀíµÄÉèÖñíË÷Òý£¬ÕâÊǵ¼ÖÂÐÔÄܲ»·ûºÏÔ¤ÆÚµÄÔ­ÒòÖ®Ò»£¬ÓÚÊÇÎÒÃÇÒ²¶ÔË÷Òý½øÐÐÁ˸ÄÔì¡£ÖµµÃ×¢ÒâµÄÊÇ£¬µ±Ç°ºÍÊý¾Ý²¼¾ÖÓйصÄË÷ÒýµÄ½¨Á¢±ØÐëÒªÔÚ½¨±í³õÆÚÍê³É£¬ºóÃæ²»¿ÉÒÔ¸ü¸Ä/ÐÂÔö£¬¶ÀÁ¢ÓÚÊý¾Ý²¼¾ÖµÄË÷Òý£¬±ÈÈçbitmap£¬¿ÉÒÔºóÃæÔÙ°´ÐèÐ޸ġ£ËùÒÔÐèÒªÌáǰ¸ù¾Ý³¡¾°Éè¼ÆºÃ±í½á¹¹£¬ÒÔÃâ×öÖØ¸´¹¤×÷¡£

distribution_key

Èç¹û´´½¨ÁËPrimary KeyË÷Òý£¨Ò²ÊÇΨһÐÔÔ¼Êø£¬ÓÃÓÚÊý¾Ý¸üУ©£¬Ä¬ÈÏΪdistribution_key¡£Distribution_keyÈç¹ûΪ¿Õ£¬Ä¬ÈÏÊÇËæ»ú·Ö·¢¡£

Èç¹ûdistribution_keyÉèÖò»ºÏÀí£¬Êý¾Ý»á²»¾ùÔÈ·Ö²¼ÓÚShardÖС£¼ÆËã¹ý³ÌÖлá²úÉúRedistribute MotionËã×ÓÊý¾ÝÖØÐ·ֲ¼´òÉ¢£¬´øÀ´ÈßÓàµÄÍøÂ翪Ïú¡£ ÈçÉèÖúÏÀí£¬Ôò¿ÉÒÔ±ÜÃâÕâÖÖÇé¿ö¡£

ͨ³£ÉèÖùØÁª£¨Join£©µÄÁлòGroup byµÄÁлò·ÖÉ¢¸üËæ»úµÄÁÐ×÷Ϊdistribution_key£¬À´¾¡Á¿´òÉ¢Êý¾Ýµ½²»Í¬µÄShard¡£Çë×¢ÒâÕâÀïÑ¡Ôñµ¥ÁÐ×÷Ϊdistribution_key¼´¿É¡£

Segment_key

·Ö¶Î¼ü£¬ÓÃÓÚÎļþ¿éµÄ±ß½ç»®·Ö£¬²éѯʱ»ùÓÚSegment_key¿ÉÒÔ¿ìËÙ¶¨Î»Êý¾ÝËùÔÚÎļþ¿é£¬Ñ¡ÔñÓëдÈëʱ¼ä´ÁÏà¹ØµÄ×Ö¶ÎÔÚ²éѯʱÓмÓËÙµÄЧ¹û¡£Ò»°ãÓÃÓÚʱ¼ä´ÁÕâÑùµÄʱÐòÊý¾Ý£¬Segment_keyͨ³£Ö»ÓÃÒ»ÁУ¬×ñÑ­×ó¶ÔÆëÔ­Ôò¡£Segment_keyʹÓõÄÏÞÖÆ±È½Ï¶à£¬ÒªÇóÎļþÔÚÏòHologresдÈëʱÊǰ´ÕÕSegment_keyµÄ˳ÐòÅÅÐòÍê³ÉºóÔÙдÈ룬¼´selectºó°´ÕÕSegment_key½øÐÐorder_byÔÙдÈ룬²Å»áÉúЧ£»Ò»°ãÊÊÓÃÓÚ´¿ÊµÊ±Ð´ÈëµÄ×ÔÔö/Àà×ÔÔö×ֶΣ¨e.g.ϵ¥Ê±¼ä£©¡£

Clustering_key

¾Û´ØË÷Òý£¬ÊÇÎļþÄÚµÄÅÅÐòÁУ¬ÓÃÓÚ·¶Î§²éѯ£¨RangeQuery£©µÄ¿ìËÙ¹ýÂË¡£ÓëMySQLµÄ¾Û´ØË÷Òý²»Í¬£¬HologresÓÃÀ´²¼¾ÖÊý¾Ý£¬²»ÊDz¼¾ÖË÷Òý£¬Òò´ËÐÞ¸ÄClustering_key£¬ÐèÒªÖØÐÂÊý¾Ýµ¼È룬ÇÒÖ»ÓÐÒ»×éClustering_key£¬Ò»°ãClustering_key²»³¬¹ý2ÁС£Í¨³£½¨Ò齫whereÌõ¼þÀïÃæµÄɸѡÁÐÉèÖÃΪClustering_key

Bitmap

λͼË÷Òý£¬¶ÔÓÚµÈÖµ¹ýÂ˳¡¾°ÓÐÃ÷ÏÔµÄÓÅ»¯Ð§¹û£¬¶à¸öµÈÖµ¹ýÂËÌõ¼þ£¬Í¨¹ýÏòÁ¿¸ßЧ¼ÆËã; ÊÊÓÃÓÚÑÆ±äÁ¿£¨»ùÊýµÍ£©µÄÁУ¬Ï൱ÓÚÑÆ±äÁ¿Ò»Áбä¶àÁеÄʵÏÖ¡£

Dictionary_encoding

×Öµä±àÂëÁÐË÷Òý£¬¿ÉÒÔ½«×Ö·û´®µÄ±È½ÏתΪÊý×ֵıȽϣ¬¶ÔÓÚ×Ö·û´®ÀàÐÍ¿ÉÒÔÓÐЧѹËõ£¬ÌرðÊÇ»ùÊýµÍµÄÁУ¬´ïµ½¼ÓËÙGroup by£¬FilterµÄЧ¹û¡£HologresÔÚ½¨±íʱ»á×Ô¶¯¸øtextÀàÐͼÓÉÏBitmapË÷ÒýºÍ×Öµä±àÂëÁÐË÷Òý£¬ÒÔʵÏÖ¸üÓŵÄÐÔÄÜ£¬µ«ÊÇÐèҪעÒâµÄÊÇ£¬ÔÚ²»Âú×ãÐèÒªµÄ³¡¾°ÏÂÐèÒª¸ù¾ÝÒµÎñ³¡¾°Ìí¼Ó»òɾ³ýÏàÓ¦µÄË÷Òý£¬ÒòΪdictionary_encoding»áÏûºÄ±àÂë½âÂëµÄ×ÊÔ´¡£

ÏÂͼÊÇHologresË÷ÒýÆ¥ÅäÔ­Ôò£¬¿ÉÒÔͨ¹ý¸ÃͼÁ˽âÒ»ÏÂË÷ÒýµÄÖ´ÐÐÔ­Àí£º

¿ÉÒÔͨ¹ýÖ´ÐÐanalyze²ÎÊý£¬À´»ñÈ¡±íµÄͳ¼ÆÐÅÏ¢£¬°ïÖúHologresÔÚ¶ÁÈ¡¼ÆËãʱ½«Ö´Ðмƻ®ÓÅ»¯¡£

analyze tablename;

ÏÂÃæ½áºÏ¾ßÌåµÄʾÀýչʾÔõÑùÓÅ»¯±í½á¹¹£º

table1ÊÇÒ»¸öÊýǧÍòµ½ÒÚÐеÄÃ÷ϸ±í£¬¶ÔÆäËû±í£¨Î¬±í£©ÓÐÆµ·±Local JoinµÄÐèÇ󣬺ͽϴóµÄ²¢·¢Ð´È룻

1£©¸ù¾ÝÒµÎñ²éѯºÍдÈëÐèÇ󣬽«±í·ÅÔÚ¹«¹²²ãµÄTable GroupÖв¢·ÖÅä60¸öShardÀ´Âú×ã¶ÁдÐèÇó¡£

2£©ÒòΪÊÇÃ÷ϸ±í£¬ÓдóÁ¿µÄ¹ØÁªºÍµÈÖµ/ɸѡ³¡¾°£¬Ìí¼ÓÁ˽ÏÎªÈ«ÃæË÷ÒýÅäÖãº

·ÖÎö³¡¾°Ó¦Óý϶࣬ÓдóÁ¿¾ÛºÏ£¬Group by²Ù×÷£¬Ñ¡ÔñÁд档

distribution_key£ºÕý³£À´½²Ó¦¸ÃÂú×ã³£ÓÃJoinµÄÁÐ+Äܾ¡Á¿·ÖÉ¢µÄÁÐ×÷Ϊdistribution_key£»ÕâÕűí×÷ΪÃ÷ϸ±í£¬ºÜ¶àÁж¼»áÓÃÓÚ¹ØÁª£¬ËùÒÔ²»Ì«ºÃѡһ¸ökey³öÀ´£¬Ñ¡¶à¸ökeyµÄ»°·´¶ø»áÔì³ÉÐÔÄÜϽµ£¨ÒªÈ«²¿key¶¼±»Ê¹ÓòÅÓÐЧ£©£¬×îºó¾ö¶¨Ñ¡Ôñ½Ï·ûºÏÌõ¼þµÄid3×÷Ϊdistribution_key£»

ÕâÀïÏñid1ºÍid2ÊÇÑÆ±äÁ¿×ֶΣ¬ÊʺÏͬʱÅäÖÃBitmapË÷ÒýºÍ×Öµä±àÂëÁÐË÷Òý£¬·½±ãGroup by ºÍµÈÖµ²éѯ£»

¶ÔÓÚÈÕÆÚ£¨ds£©ÉèÖÃΪ·ÖÇø×ֶΡ£Ã÷ϸ±íÔÚ²éѯºÍʹÓÃʱÈÕÆÚ¶¼ÊDZز»¿ÉÃâµÄ×ֶΣ¬Í¨¹ýÉèÖ÷ÖÇø£¬¿ÉÒÔÓÐЧËõСÿ´Î²éѯµÄɨÃ跶Χ£»ÁíÒ»·½ÃæÒ²¿ÉÒԽϰ²È«µÄ½øÐÐÔËάºÍÅŲéÎÊÌâ¡£

µ±Ç°±í²»ÊÊÓÃSegment_key£¬ÒòÊý¾ÝÀëÏß/ʵʱÁ½ÖÖ²åÈëģʽ£¬ÅÅÐò³É±¾½Ï¸ß£¬Ôݲ»ÉèÖá£

¶ÔÓÚClustering_key£¬°´ÕÕʹÓÃÆµ´Î£¬Ä¿Ç°µÄÑ¡ÔñÊÇid1+id2¡£

×îÖÕDDLÈçÏ£¨ÒòÉæ¼°ÒµÎñÃô¸ÐÊý¾Ý£¬Ö»Õ¹Ê¾²¿·ÖDDL£©£º

BEGIN;

CREATE TABLE public.table1 (

"stat_date" text,

"id0" text,

.....,

"id3" text,

"id2" text,

"name2" text,

...,

"id1" text,

....,

"ds" text NOT NULL

)

PARTITION BY LIST (ds);

--Èç¹ûÊÇÓÃÀ´Ð½¨TableGroup,ÔòÐèÒªÏÂÃæµÚÒ»¾ä£¬ÒÑÓÐTableGroupÔò²»ÐèÒª

call set_table_property('table1', 'shard_count', '60');

CALL set_table_property('table1', 'distribution_key', 'id3');

CALL SET_TABLE_PROPERTY('public.table1', 'orientation', 'column');

CALL SET_TABLE_PROPERTY('public.table1', 'clustering_key', 'id1,id2');

CALL SET_TABLE_PROPERTY('public.table1', 'bitmap_columns', '...,id1,id2,...');

CALL SET_TABLE_PROPERTY('public.table1', 'dictionary_encoding_columns', '...,id1,id2,...');

CALL SET_TABLE_PROPERTY('public.table1', 'time_to_live_in_seconds', '7776000');

COMMIT;

 

3£©´ÎÒªÎÊÌâ2£ºÓ¦Óûº´æ

¶ÔÓÚÖØÒª¸ßƵ±¨±íÌí¼ÓºÏÊʵĻº´æÀ´»º½âÊý¾Ý¿âѹÁ¦£¬ÀëÏß±¨±í¿ÉÒÔÉèÖÃʱ¼ä½Ï³¤µÄ»º´æ£¬ÊµÊ±±¨±í¿ÉÒÔ¿¼ÂÇÔÚÓ¦ÓöËÔö¼Ó 5s, 10s, 30s£¬1minµÈ¶à¸öµµÎ»µÄ»º´æ¡£

4£©´ÎÒªÎÊÌâ3£º²»ºÏÀíѹ²â¼Æ»®

ÔÚ֮ǰ¼¸´ÎÈ«Á´Â·Ñ¹²âÖУ¬¶ÔÓÚHologresʵÀý½øÐжÁºÍ²éµÄ¶à·½ÃæÑ¹²â£¬ËäȻѹ²â¶ÁµÄÁ¿µ½Î»ÁË£¬µ«ÊÇûÓÐͬ²½Ñ¹²âÊý¾Ý¿âдÈë·åÖµ£¬ÔÚʵ¼Ê³¡¾°ÖжÁµÄÐÔÄÜ»áÊܵ½Ð´ÈëÊý¾ÝºéÁ÷µÄѹÁ¦ºÍÓ°Ï죻ÓÈÆäHologres´æÔÚÁ½ÖÖÖ÷ÒªµÄдÈ뷽ʽ£¨Íâ±íͬ²½ÄÚ±í£¬ÊµÊ±Ð´ÈëÄÚ±í£©£»ÔÚѹ²âºÍʵ¼ÊʹÓõĹý³ÌÖÐÐèÒªÌØ±ð×¢Òâ¶Áд·åÖµÒ»Æðѹ²â¡£

ÓÅ»¯ºóÒµÎñЧ¹û

ͨ¹ýÓÅ»¯ºó£¬ÔÚË«11ÕâÌì0µãµÄÁ÷Á¿¸ß·åÆÚ£¬ÔÚ0µãдÈëºÍQuery¶Áȡͬʱ´ïµ½ÒµÎñ·åÖµµÄÇé¿öÏ£¬HologresÖ§³ÖµÄÊý¾Ý²úÆ·µÄRTƽ¾ùÏìӦʱ¼äÎȶ¨ÔÚ100ms×óÓÒ£¬ÎªÊ¹ÓÃÊý¾Ý²úÆ·µÄÒµÎñͬѧ/·ÖÎöͬѧ£¬ÔÚË«11ÌṩÎȶ¨ºÁÃë¼¶µÄʵʱOLAP¾ö²ßÊý¾ÝÖ§³Ö¡£Í¬Ê±Ò²·Ç³£Æ½ÎȵÄÖ§³ÖÁËÓªÏú»î¶¯ÖÐÐÄ&ʵʱ´óÆÁµÈºËÐĵĸ߲¢·¢ÒµÎñ²úÆ·£¬ÒÔ¼°BIͬѧʵʱȡÊý·ÖÎöµÈ³¡¾°£¬CPUˮλÎȶ¨ÔÚ30%ÒÔÏ£¬ÄÚ´æË®Î»Ò²Îȶ¨ÔÚ50%ÒÔÏ¡£

ͬʱͨ¹ý±¾´ÎÌìè˫11£¬ÎÒÃÇÒ²·¢ÏÖHologres×÷ΪʵʱÊý¾Ý´æ´¢£¬ÔÚ·ÖÎö·½ÃæÓо޴óµÄDZÁ¦£¬ÔÚÂú×ãдÈëÐÔÄܵÄͬʱ£¬Ò»·½Ãæ¿ÉÒÔºÍÏÖÓÐÀëÏßÊý¾Ý¹ØÁª·ÖÎö£¬ÁíÒ»·½ÃæÊÇÄÜÖ§³Ö¸ßÐÔÄܵÄOLAP·ÖÎöÊý¾Ý¡£ÕâÒ²ÍŶӺóÐøÊ¹ÓÃHologres×÷ΪÊý¾ÝÍŶÓÐÂʵʱÊý²Ö¼Ü¹¹µÄºËÐÄ×é¼þµì¶¨ÁË»ù´¡¡£

ºóÐø¹æ»®

¾­¹ýË«11Ö®ºó£¬Ñз¢ÍŶÓϸö½×¶Î½«ÀûÓÃHologres½øÐиü´ó·¶Î§µÄʵʱÊý²Ö¸ÄÔ죺

Hologres×÷ΪÐдæÊµÊ±¹«¹²²ã£¨Ìæ´ú֮ǰtimetunnel×÷ΪÐÂÖмä¼þ£©¿ª·ÅÏÂÓÎÊý¾Ý¿â¶©ÔÄ, ±£³Ö¶ÔÄÚÕû¸ö¼Ü¹¹ºÍ¶ÔÍâ¶à¸ö¼Ü¹¹µÄÊý¾ÝÒ»ÖÂÐÔ£¬ÒÔ¼°½â¾öʵʱ½á¹ûÊý¾ÝÔÚtimetunnelÖв»¿É¼û£¬¶þ´Î²Ù×÷³É±¾¸ßµÄÍ´µã¡£

ÏÂÓÎÓ¦Óò㶩ÔĹ«¹²²ãʵʱÊý¾Ý£¬Ó¦ÓòãÊý¾Ý°´ÕÕ±£Õϼ¶±ðºÍlocal_JoinµÄÐèÒª½øÐÐʵÀý¼¶±ð·Ö¸î£¬×ÊÔ´¸ôÀë¡£

¾ÙÀý£ºÒÔÇþµÀÊý¾Ý»¯ÊµÀýΪÀý£¬Õⲿ·ÖÊý¾Ý´ó²¿·Ö¶ÔÍ⿪·Å¸øCRMϵͳºÍÉú̬Èý·½ºÏ×÷»ï°é£¬¶ÔÒ»ÖÂÐÔ£¬¼°Ê±ÐԺͲ¢·¢¶¼ÓнϸߵÄÒªÇó£¬ÈÝÒ׳öÏÖÊý¾Ý¹ÊÕÏ£»ÔÚÊý¾Ý²ãÃæÉÏÒ²»áÓÐ½ÏÆµ·±µÄLocal JoinËßÇó£»×ÛºÏÀ´¿´×÷Ϊµ¥¶ÀʵÀý·Ö¸î£¬°ü¸øÓè³ä×ãµÄ×ÊÔ´±£ÕÏ¡£

   
2477 ´Îä¯ÀÀ       30
×îл¼Æ»®
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
ÖйúµçÐÅ ´óÊý¾Ýʱ´úÓëÏÖ´úÆóÒµµÄÊý¾Ý»¯ÔËӪʵ¼ù
 
 
 
 
 
Ïà¹ØÎÄÕÂ

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

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

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