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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
»ùÓÚClickHouseµÄ´óÊý¾ÝÈ«Á´Â·¼à¿ØÆ½Ì¨Êµ¼ù
 
×÷Õߣº ·¶¶«
  3676  次浏览      32
 2021-7-2
 
±à¼­ÍƼö:
±¾ÎÄÖ÷Òª½éÉÜËÕÄþÈ«Á´Â·¼à¿ØÆ½Ì¨Éè¼Æ£¬ÈçºÎ½« ClickHouse ÄÉÈëÈ«Á´Â·¼à¿ØÆ½Ì¨£¬ClickHouse ¼¯Èº×´Ì¬¼à¿Ø£¬È«Á´Â·¼à¿ØµÄÓÅÊÆºÍÕ¹Íû£¬Ï£Íû¶ÔÄúµÄѧϰÓÐËù°ïÖú¡£
±¾ÎÄÀ´×ÔÓÚËѺüÍø£¬ÓÉAlice±à¼­¡¢ÍƼö¡£

¼ò½é

ClickHouse ÊÇÒ»¿îÓÅÐãµÄ OLAP ·ÖÎöÒýÇæ£¬ÓÈÆäÊÇÔÚµ¥±í·ÖÎö ¡¢Colocate Join ·½ÃæÐÔÄܱíÏÖÓÈΪͻ³ö¡£

ClickHouse Ö®ËùÒÔÔÚÖÚ¶àµÄ OLAP ·ÖÎöÒýÇæÖгÉΪٮٮÕߣ¬Ö÷ÒªÊÇÒòΪËü¾ß±¸ÒÔÏÂÌØµã£ºÁÐʽ´æ´¢¡¢LSM-Tree ´æ´¢ÒýÇæ¡¢ÏòÁ¿»¯Ö´ÐÐÒýÇæ¡¢Òì²½ Merge ºÍ Mutation »úÖÆ¡¢²¢·¢ MPP+ SMP µÈ¡£

Ŀǰ£¬ClickHouse ÔÚËÕÄþ´óÊý¾ÝµÄÖ¸±êºÍ±êÇ©µÄÓ¦Óý϶ࣺ

´Ó¼¼Êõ²ãÃæÀ´¿´£¬Ö÷Òª½â¾öµÄ³¡¾°ÓУº¸ß»ùÊýµÄÊý¾Ý·ÖÎö¡¢¾«È·È¥ÖØ¡¢½»»¥Ê½·ÖÎö¡¢¶à±äģʽ²éѯ¡¢´ó¿í±í·ÖÎö¡¢Ê±Ðò»¯Êý¾Ý´æ´¢¡¢ÊµÊ±¾ÛºÏµÄÎﻯÊÓͼµÈ£»

´ÓÒµÎñ²ãÃæÀ´¿´£¬Ö÷ÒªÓ¦Óõij¡¾°ÓУºÐÂÂò¼Ò¡¢ÀÏÂò¼Ò¡¢¸´¹º¡¢Áô´æ¡¢ÊµÊ±Óû§»­Ïñ¡¢ÈËȺ°üȦѡµÈ¡£¶ø»ùÓÚ ClickHouse µÄ RoaringBitmap ·½°¸£¬±£Ö¤ÁËÒÔÉϳ¡¾°Êý¾Ý·ÖÎöµÄʵʱºÍ¸ßЧ¡£

ÔÚ ClickHouse ¼à¿Ø·½Ã棬ĿǰÊÐÃæÉÏÌṩµÄ¿ÉÊÊÅä·½°¸²»¶à£¬³£ÓõÄÓÐ Prometheus +Grafana+ ClickHouse_Exporter ×éºÏµÄ·½Ê½£¬¿Éͨ¹ýÌṩµÄ Dashboards À´¼à¿Ø¼¯Èº×´¿ö£¬µ«ÐèÒª°²×° Prometheus ºÍ ClickHouse_Exporter£¬²»±àÒëµÄ»°»¹ÐèÒª°²×° GO »·¾³ºÍ Docker£¬Õû¸ö¿ò¼Ü¹ýÖØ£¬³É±¾¹ý¸ß£¬¶Ô¸öÐÔ»¯µÄ¼à¿ØÒ²²»Ö§³Ö¡£»¹ÓÐһЩÆäËû¼à¿Ø×é¼þÈç Graphite + Grafana£¬ÔÚÕâÀï¾Í²»×ö½éÉÜ¡£

ÎÒÃǽ« ClickHouse ÈÚÈëËÕÄþÈ«Á´Â·¼à¿ØÉú̬Ìåϵ£¬ÔÚÍêÉÆ¼à¿ØÌåϵµÄͬʱ£¬Ò²Ö§³ÅÁ˸öÐÔ»¯µÄ¼à¿Ø£¬½øÒ»²½ÍØÕ¹ÁËÈ«Á´Â·¼à¿ØÆ½Ì¨µÄÉî¶ÈºÍ¹ã¶È¡£

Ò»¡¢ËÕÄþ´óÊý¾ÝÈ«Á´Â·¼à¿ØÆ½Ì¨

1¡¢ËÕÄþÈ«Á´Â·¼à¿ØÆ½Ì¨½éÉÜ

ͼ 2-1 È«Á´Â·¼à¿Ø¼Ü¹¹

ËÕÄþ´óÊý¾ÝÖÐÐÄÊý¾ÝÖÐ̨ÓÐÒ»ÕûÌ×ÍêÉÆµÄÖ¸±ê½¨ÉèÌåϵ£¬°üº¬ÁËÖ¸±êÉúÃüÖÜÆÚ¹ÜÀí¡¢Ö¸±ê·ÖÎöÌåϵÒÔ¼°Êý¾Ý¿ìËÙ¿ÉÊÓ»¯Æ½Ì¨£¬Êý¾Ý·ÖÎöʱ¿çÔ½¿ÉÊÓ»¯Æ½Ì¨¡¢Ö¸±ê·þÎñƽ̨¼° OLAP ·ÖÎöÒýÇæÈý´óƽ̨£¬²éѯÁ´Â·½Ï³¤¡£Èç¹ûûÓÐÒ»Ì×ÍêÕûµÄÈ«Á´Â·¼à¿Ø·ÖÎöƽ̨£¬¶ÔÓÚ¶¨Î»ÎÊÌâ»á´æÔڽϴóµÄÀ§ÄÑ¡£

È«Á´Â·¼à¿ØÕûÌåµÄÉè¼ÆË¼ÏëÊǽ«Ò³ÃæµÄÿ´Î http ÇëÇóÉú³ÉΨһµÄÁ÷Ë®ºÅ (serialId)£¬ºóÐøÃ¿·ÃÎÊÒ»´ÎÖ¸±ê¹ÜÀíϵͳ£¬Éú³ÉΨһµÄ traceId£¬Ã¿´Îµ÷Óà OLAP ½Ó¿ÚÉú³ÉΨһµÄ olapId£¬ÕâÑù 1 ¸öÁ÷Ë®ºÅ¶ÔÓ¦¶à¸ö traceId£¬¹ØÁª¶ÔÓ¦ºóÐø¶à¸ö olapId£¬ÐγÉÒ»¸öÊ÷×´ÇëÇó£¬ÒԴ˵õ½Ò»¸öÍêÕûµÄÇëÇóÁ´Â·¡£

¾ßÌåÉè¼ÆÈçÏ£º

±¨±íÉè¼ÆÏµÍ³ºó¶ËÕë¶Ô±¨±íǰ¶ËµÄÿ´ÎÇëÇóÉú³ÉΨһ traceId£¬Õë¶ÔÇëÇóµÄÿһ²½Éú³É²ã¼¶¹ØÏµµÄ spanId£¬²¢ÏòÖ¸±ê¹ÜÀíϵͳ͸´« traceId ºÍ¶ÔÓ¦µÄ spanId£»

Ö¸±ê¹ÜÀíϵͳ½ÓÊÜÇëÇóºó£¬¸ù¾ÝÊáÀíµÄ²éÑ¯È¨ÖØ¼ÆË㷽ʽÉú³É¡°²éÑ¯È¨ÖØ¡±priority£¬ÔÚ±¨±íÉè¼ÆÏµÍ³µÄ spanId »ù´¡ÉϼÌÐøÉú³Éµ÷Óò㼶¹ØÏµµÄ spanId£¬²¢Ïò OLAP ͸´« traceId ºÍ¶ÔÓ¦µÄ spanId£»

Spark RDD ʵÏÖ½« Druid¡¢PostGreSQL ºÍ ClickHouse ÖÐµÄ queryId Óë Spark worker ÖÐµÄ StageID ÒÔ¼° JobID ¹ØÁªÆðÀ´£»

OLAP ½ÓÊÜÇëÇóºó£¬ÔÚÖ¸±ê¹ÜÀíϵͳµÄ spanId »ù´¡ÉϼÌÐøÉú³Éµ÷Óò㼶¹ØÏµµÄ spanId£¬²¢Ïò OLAP ÒýÇæ²ã͸´« traceId ºÍ¶ÔÓ¦µÄ spanId£»

OLAP ·ÖÎöÒýÇæ²ã£¬Í¨¹ý´òͨ traceId ºÍ¸÷×Ô·ÖÎöÒýÇæÖ´Ðз¾¶µÄ·½Ê½£¬ÊµÏÖ¸ú×Ù¸÷Ö´Ðмƻ®¡¢Ö´Ðз¾¶µÄºÄʱ¡£ÀýÈ磬¿Éͨ¹ý bigQueryId Óë Druid ¹ØÁª£¬¶ø PostGreSQL ºÍ ClickHouse Ôò¿ÉÒÔͨ¹ý traceId Ó³Éäµ½ÒýÇæÄÚ²¿µÄ·½Ê½½øÐйØÁª¡£

2¡¢ ÈçºÎ½« ClickHouse ÄÉÈëÈ«Á´Â·¼à¿ØÆ½Ì¨

ClickHouse È«Á´Â·¼à¿Ø¸²¸Ç·¶Î§½Ï¹ã£¬°üÀ¨£º²éÑ¯Éæ¼°µ½µÄ½Úµã¡¢·ÖƬ¡¢¸¸²éѯºÍ×Ó²éѯµÄ¹ØÏµ¡¢ÔÚ¸÷¸ö½ÚµãµÄ²éѯºÄʱ¡¢ÇëÇóÄÚ´æÊ¹Óᢸ߷åʹÓÃÄÚ´æ¡¢CPU ʹÓÃÊý¡¢²éѯÐÐÊý¡¢MergeTree ʹÓÃ×´¿ö¡¢²éѯ·½Ê½£¨TCP/HTTP£©ÒÔ¼°²ÎÓë²éѯÏß³ÌÊýµÈ¡£

ÔÚµ÷Óà ClickHouse Ìṩ·þÎñ²éѯ£¨spark-jdbc£©µÄʱºò£¬ÈçºÎ½« traceId ͸´«¸ø ClickHouse µÄ query_id ÄØ?

ʵÏÖÈ«Á´Â·¼à¿Ø£¬Ö÷ÒªÊÇͨ¹ý traceId ¹á´©Õû¸öÁ´Â·¡£±í system.processes ºÍ±í system.query_log ÖÐµÄ query_id ÊÇËæ»úÉú³ÉµÄ£¬ClickHouse µÄ query_id Ö§³Ö×Ô¶¨Ò壬¿É½«×Ô¶¨ÒåµÄ query_id Ó³É䵽ϵͳ×ÔÉú³ÉµÄ query_id ÉÏ£¬ÕâÑù ClickHouse ÄÚ²¿µÄ¼à¿Ø¾ÍÄÜÓëÈ«Á´Â·´òͨ£¬¾ßÌå²Ù×÷ÈçÏ£º

ClickHouse-client --port 1***5 --time --format=Null --query="select count() from aggr_member" --query_id="suning20200706¡° echo 'select count() from aggr***member' | curl 'http://localhost:8**3/?query_id=suning2020&query=' --data-binary @-

¶þ¡¢ClickHouse Âý²éѯ¼à¿Ø

1¡¢ÊµÊ±Âý²éѯ¼à¿Ø

ͼ 3-1 ʵʱÂý²éѯ¼à¿Ø

¸¸½Úµã²éѯ ID(initial_query_id) ÊÇ´ÓÉÏÓÎϵͳ´«ÈëµÄ traceId£¬´Ë´Î²éѯµÄËùÓÐ×Ó²éѯ¾ù¿É¸ù¾Ý traceId »ñÈ¡£¬¿ÉÒÔʵʱ·ÖÎöij´Î²éѯÔÚ¼¯ÈºÖи÷¸ö½ÚµãµÄ״̬£¬ÆäÖаüÀ¨²éѯ query_id µÄ¸¸×Ó¹ØÏµ¼°¶ÔÓ¦µÄ½ÚµãÐÅÏ¢¡¢¸÷¸ö½ÚµãµÄ²éѯ½Å±¾¡¢²éѯºÄʱ¡¢¶ÁÈ¡µÄÐÐÊý¡¢ÇëÇóʹÓõÄÄÚ´æ¡¢¸ß·åʹÓõÄÄÚ´æ¡¢²ÎÓë²éѯµÄÏß³ÌÊý¡¢user¡¢ProfileEvents¡¢Settings µÈ¡£

ͼ 3-2 µ¥´Î²éѯÄÚ´æ /CPU/MergeTree/ ºÄʱ TOPN ¼à¿Ø

ͼ 3-2 չʾ¸÷¼¯ÈºÖеÄÂý²éѯ TOPN¡¢µ¥´Î²éѯÄÚ´æÊ¹Óà TOPN¡¢µ¥´Î²éѯ CPU ʹÓÃÊý TOPN¡¢MergeTree ºÄʱ TOPN£¬Ö§³Ö¶Ô³¬¹ýÔ¤ÆÚãÐÖµµÄ²éѯ½øÐи澯¡£

2¡¢ÀúÊ·Âý²éѯ¼à¿Ø

ͼ 3-3 ÀúÊ·Âý²éѯ¼à¿Ø

ClickHouse ĬÈϵÄÇé¿öÏ query_log ±íÊÇ먦ÆôµÄ״̬£¬±ØÐ뽫Æä¿ªÆô£¬ÐÞ¸ÄÅäÖÃÎļþ users.xml£¬Â·¾¶Îª /etc/clickhouse-server/£¬ÐÂÔöÅäÖÃÏî<log_queries>1</log_queries>£¬µ±²éѯÈÕÖ¾·þÎñÆ÷²ÎÊýlog_queries=1 ʱ£¬ClickHouse ²Å»á´´½¨´Ë±í¡£

ÿ¸ö²éѯÔÚ query_log ±íÖлᴴ½¨Ò»Ìõ»òÁ½Ìõ¼Ç¼£¬¾ßÌåÈ¡¾öÓÚ²éѯµÄ״̬£º

Èç¹û²éѯִÐгɹ¦£¬Ôò»á·Ö±ð´´½¨Ê¼þÀàÐÍΪ 1 ºÍ 2 µÄÁ½Ìõ¼Ç¼£»

Èç¹ûÔÚ²éѯ´¦ÀíÆÚ¼ä·¢Éú´íÎó£¬Ôò»á·Ö±ð´´½¨Ê¼þÀàÐÍΪ 1 ºÍ 4 µÄÁ½Ìõ¼Ç¼£»

Èç¹ûÔÚ²éѯÆô¶¯Ö®Ç°·¢Éú´íÎó£¬Ôò»á´´½¨Ê¼þÀàÐÍΪ 3 µÄµ¥Ìõ¼Ç¼£»

±í query_log ÖеļǼ£¬´æ´¢µÄÊÇÀúÊ·²éѯÔÚ¼¯ÈºÖеĸ÷¸ö½ÚµãµÄ״̬£¬ÆäÖаüÀ¨²éѯ query_id µÄ¸¸×Ó¹ØÏµ¼°¶ÔÓ¦µÄ½ÚµãÐÅÏ¢¡¢¸÷¸ö½ÚµãµÄ²éѯ½Å±¾¡¢²éѯ¿ªÊ¼Ê±¼ä¡¢²éѯÈÕÆÚ¡¢²éѯʱ¼ä¡¢²éѯºÄʱ¡¢²éѯÐÐÊý¡¢²éѯ½á¹ûµÄ×Ö½Ú´óС¡¢ÇëÇóʹÓõÄÄÚ´æ¡¢¸ß·åʹÓõÄÄÚ´æ¡¢²ÎÓë²éѯµÄÏß³ÌÊý¡¢¶ÑÕ»¸ú×ÙÒÔ¼°²éѯÒì³£ÐÅÏ¢µÈ¡£

3¡¢MergeTree ¼à¿Ø

ͼ 3-4 MergeTree »ù´¡±íÒýÇæ

MergeTree ±íÖÐÊý¾Ý´æ´¢ÔÚ Part ÖУ¬µ±²åÈëÊý¾ÝµÄʱºò£¬»á½«Êý¾Ý´´½¨ÔÚÒ»¸öÐ嵀 Part ÖУ¬Part µÄÊýÁ¿´ú±í×ÅÌá½»µÄƵÂÊ¡£ºǫ́»á½øÐÐÒì²½µÄ Merge ¹ý³Ì£¬½«Ð¡µÄ Part ½øÐкϲ¢£¬²¢ÇÒ»áÏà¶Ô¾ùºâµÄƽºâºÃºÏ²¢ËÙ¶ÈºÍ Part ÊýÁ¿µÄ¹ØÏµ¡£

¶ÔÓÚÿ¸ö Part ¾ù»áÉú³ÉÒ»¸öË÷ÒýÎļþ£¬Ë÷ÒýÎļþ´æ´¢µÄÊÇÿ¸öË÷Òý¿éÊý¾ÝÖ÷¼üµÄ value Öµ¡£¶ÔÓÚ MergeTree µÄ¼à¿Ø£¬Ö÷Òª¼à¿Ø MergeTree µÄÒì³£Çé¿ö£¬¸ù¾ÝÒì³£ÐÅÏ¢½øÐи澯¡£

4¡¢Âý²éѯ¹éÒò·ÖÎö

ͨ¹ýÒÔÉÏµÄ¼à¿Ø£¬¿ÉÒÔ¿ìËÙ¶¨Î»³öÂý²éѯ¡£µ¼ÖÂÂý²éѯµÄÔ­Òò¿ÉÄÜÓкܶ࣬¿ÉÒÔ´ÓÈçϼ¸¸ö·½Ãæ½øÐзÖÎö£º

ÅжϲéѯµÄÊý¾ÝÊÇ·ñ´æÔÚ page cache ÖУ¬´Ó page cache »ñÈ¡Êý¾ÝËÙ¶ÈÔ¶¸ßÓÚ´ÅÅÌ£»

¸ß»ùÊýµÄ¾ÛºÏ»òÅÅÐò¶Ô²éѯЧÂÊÓ°Ïì½Ï´ó£¬JOIN ²Ù×÷ʱӦ½«Ð¡±í·ÅÓұߣ¬·ÖÇø×ֶβ»Ò˹ý¶à£¬µ¼ÈëÊý¾Ýʱºò×îºÃ¶ÔÊý¾Ý½øÐÐÊÂÏÈÅÅÐò£»

Ó°ÏìÐÔÄÜ×î¹Ø¼üµÄÖ¸±êÊÇ CPU ºÍÄڴ棬CPU ³¬¹ý 70% Ôò¿ÉÄÜ»á³öÏÖ´ó·¶Î§µÄ²éѯ³¬Ê±¡£ÁíÍâÐèÒª¹Ø±ÕÐéÄâÄڴ棬·ñÔòÎïÀíÄÚ´æºÍÐéÄâÄÚ´æ¿ÉÄÜ»á½øÐÐÊý¾Ý½»»»£¬´Ó¶øµ¼Ö²éѯ±äÂý£»ClickHouse ¶Ô¸ß²¢·¢Ö§³Ö²»Ì«ÓѺã¬ÐèÒª¶Ôµ¥¸ö²éѯµÄ×ÊÔ´¼ÓÒÔÏÞÖÆ£¬·ñÔò»áÓ°Ï쵱ǰÆäËü²éѯµÄÖ´ÐÐЧÂÊ¡£

ÒÔÉÏÊdz£¹æµÄÂý²éѯԭÒò·ÖÎö£¬¶øÓÐЩ¸´ÔÓ¡¢¸ß»ùÊýµÄ²éѯ¿Éͨ¹ýÇÉÃîµÄÉè¼Æ·½Ê½£¬´ïµ½¸ßЧ²éѯµÄÄ¿±ê¡£

ÔÚ»ùÓÚ ClickHouse ¼ÆËã»áÔ±ÐÂÂò¼Ò¡¢ÀÏÂò¼ÒÊý¡¢¸´¹º¡¢Áô´æµÈ³¡¾°µÄʱºò·¢ÏÖ£¬Èç¹ûÓûáÔ± ID ½øÐÐ HASH ·ÖƬºóÔÙ×ö RoaringBitmap ¼ÆË㣬×îºóÔÙ½«Ã¿¸ö·ÖƬµÄ¼ÆËã½á¹û»ã×Ü£¬ÆäÖ´ÐÐЧÂʽ«Ìá¸ßÊý±¶¡£

ÁíÍâÔÚ¼ÆËã´¿ÐÂÂò¼ÒºÍ´ÎÐÂÂò¼ÒµÄʱºò£¬Í¨¹ýÔÚ×Ó²éѯÖÐʹÓà ClickHouse-CTE µÄ WITH ·½Ê½£¬Í¬Ñù¿ÉÒԴﵽʵʱ¡¢¸ßЧµÄ²éѯĿ±ê¡£

Èý¡¢ClickHouse ¼¯Èº×´Ì¬¼à¿Ø

1¡¢¼¯Èº¡¢½Úµã״̬¼à¿Ø

¿É¶Ô¼¯Èº¡¢½ÚµãµÄ²éѯ״̬½øÐÐ¼à¿Ø£¬Èç³É¹¦´ÎÊý¡¢Òì³£´ÎÊýºÍʧ°Ü´ÎÊý£¬²¢ÇÒ¸ù¾ÝÉ趨µÄãÐÖµ¶Ôʧ°Ü»ò³¬Ê±µÄ²éѯ½øÐÐÔ¤¾¯¡£

ͬʱ¿É¶Ô¸÷¸ö½ÚµãµÄÁ¬½ÓÊý¡¢CPU ʹÓÃÂÊ¡¢ÄÚ´æÊ¹ÓÃÂÊ¡¢FileOpen¡¢¸ù·ÖÇøÊ¹ÓÃÂÊÒÔ¼°×î´ó·ÖÇøÊ¹ÓÃÂʽøÐÐ¼à¿Ø¡£

2¡¢¼¯Èº¡¢½Úµã¡¢·ÖƬ QPS ºÍÁ¬½ÓÊý¼à¿Ø

ͼ 4-1 ¼¯Èº¡¢½Úµã¡¢·ÖƬ QPS ¼à¿Ø

ͼ 4-2 ¼¯Èº¡¢½Úµã¡¢·ÖƬÁ¬½ÓÊý¼à¿Ø

ClickHouse µÄ¼ÆËãºÍ´æ´¢ÊÇÒ»ÌåʽµÄ£¬²¢Î´×ö×ÊÔ´¸ôÀ룬ΪÁËÌá¸ßϵͳµÄ²¢·¢ÄÜÁ¦£¬¿ÉÒÔ½«Êý¾Ý±£´æÎª¶à¸ö¸±±¾£¬Ã¿¸ö¸±±¾²¿Êðµ½²»Í¬µÄ½ÚµãÉÏ£¬ÔÙͨ¹ý Chproxy ·Óɵ½²»Í¬µÄ½Úµã½øÐвéѯ¡£

ΪÁ˱£Ö¤¼¯ÈºµÄ³ÖÐøÎȶ¨¡¢¿ÉÓã¬ÐèÒª¶Ôµ¥¸ö²éѯµÄ×ÊÔ´ÒÔ¼°¼¯Èº×î´óÖ§³ÖµÄ²¢·¢½øÐÐÏÞÖÆ£¬¾ßÌ巽ʽÈçÏ£º

¼¯ÈºÍ¬Ê±Ö§³ÖµÄ×î´ó²¢·¢Á¬½ÓÊý¿Éͨ¹ý Max_Concurrent_queries À´ÉèÖã¬Ä¬ÈÏΪ 100£»

Ò»¸ö²éѯÔÚµ¥Ì¨·þÎñÉÏ×î´óʹÓõÄÄÚ´æ¿Éͨ¹ý Max_memory_usage À´ÉèÖã»

µ¥¸ö½ÚµãÉÏËùÓвéѯµÄ×î´óÄÚ´æÏÞÖÆÊÇ¿Éͨ¹ý Max_memory_usage_for_all_queries À´ÉèÖã»

µ¥´Î²éѯµÄ×ִÐÐʱ¼ä¿Éͨ¹ý Max_execution_time À´ÉèÖá£

3¡¢¼¯Èº¡¢½Úµã¡¢·ÖƬ¿ÉÓÃÐÔ¼à¿Ø

¾ßÌå¿ÉÒÔͨ¹ý HTTP API ¼àÊÓ·þÎñÆ÷µÄ¿ÉÓÃÐÔÀ´ÊµÏÖ¡£Í¨¹ý HTTP GET ÇëÇóºó£¬Èç¹û·þÎñÆ÷¿ÉÓã¬Ôò·µ»Ø 200 OK£¬·ñÔò·µ»ØÒì³£ÏûÏ¢¡£

´Ë´¦ÐèÒªÓиö¸æ¾¯ÅäÖÃ¼à¿ØÏһµ©¼à²âµ½½Úµã²»¿ÉÓ㬿ɼ°Ê±Í¨ÖªÏà¹Ø¼¼ÊõÈËÔ±½øÐÐά»¤£¬ÆäÖи澯ÐÅÏ¢¿Éͨ¹ý¶ÌÐÅ¡¢ÓʼþµÈ·½Ê½½øÐÐÍÆËÍ¡£

4¡¢È«Á´Â· Replicas Delay ¼à¿Ø

ͼ 4-3 Replicas Delay ¼à¿Ø

Random ·Ö²¼Ê½Ëæ»úѡȡ¸±±¾ÓÐËÄÖÖËã·¨£º

Random£ºÑ¡È¡¸±±¾µÄĬÈÏ·½Ê½£¬¸ÃËã·¨Ö÷ÒªÊÇͨ¹ý¼ÆË㸱±¾µÄ´íÎóÊýÁ¿£¬²éѯ·¢Ë͵½³ö´í×îÉٵĸ±±¾£¬µ«ÕâÖÖË㷨ûÓп¼Âǵ½·þÎñ½ÚµãÊÇ·ñÏàÁڵij¡¾°£»

In order£ºÑ¡È¡¸±±¾µÄ·½Ê½ÊǸù¾ÝÅäÖÃÖÐÖ¸¶¨µÄ˳Ðò£»

First or random£ºÑ¡Ôñ¼¯ºÏÖеÚÒ»¸ö¸±±¾£¬Èç¹ûµÚÒ»¸ö¸±±¾²»¿ÉÓã¬ÔòËæ»ú½øÐи±±¾Ñ¡Ôñ£»

Nearest hostname£ºÃ¿¸ô 5 ·ÖÖÓ¼ÆË㸱±¾µÄ´íÎóÊýÁ¿£¬Èç¹û¸±±¾µÄ´íÎóÊýÁ¿×îÉÙ£¬Ôò½«²éѯ·¢Ë͸øËü¡£

¸±±¾ÔÊÐíµÄ×ÑÓ³Ùʱ¼ä£¬¿Éͨ¹ý²ÎÊý max_replica_delay_for_distributed_queries À´ÉèÖ㻸±±¾µÄÑÓ³Ùʱ¼ä£¬¿ÉÒÔʹÓà HTTP resource /replicas-delay À´²éѯ£¬²»ÑÓ³ÙÔò·µ»Ø 200 OK£¬ÑÓ³ÙÔò·µ»ØºÍĬÈÏʱ¼äµÄ²î¾à¡£

5¡¢È«Á´Â· Chproxy ¼à¿ØÐÅÏ¢

ͼ 4-4 ClickHouse Manger ¹¤×÷Á÷³Ì

ClickHouse µÄ Http ´úÀíºÍ¸ºÔؾùºâÆ÷ÊÇ Chproxy£¬ËÕÄþͨ¹ý ClickHouse Manger À´¹ÜÀí Chproxy ×é¼þµÄÆô¶¯¡¢Í£Ö¹¡¢¹ö¶¯Éý¼¶ÒÔ¼°¼à¿Ø£¬²¢Í¨¹ý ZK Ïò Chproxy ͬ²½ÅäÖÃÊý¾Ý¡£

ClickHouse ¼¯Èº¿ÉÒÔ²¿Êð¶à¸ö Chproxy ʵÀý£¬¿Í»§¶ËÁ¬½Ó ClickHouse ¼¯ÈºµÄ´úÀí·þÎñºó£¬Í¨¹ý¶Ô²éѯ SQL ½âÎö£¬ÖÇÄܵĽøÐиºÔؾùºâ¡£Í¬Ê±£¬Chproxy Ò²Ö§³ÖˮƽÀ©Õ¹¡£

Chproxy ÄÜ¼à¿Øµ½µÄÖØµãÖ¸±êÓУº¼¯ÈºÇëÇó¶ÓÁдóС¡¢Ô¶³Ì¿Í»§¶ËÁ¬½ÓÊý¡¢²éѯ×ÜÇëÇóÊý¡¢È¡ÏûÇëÇóÊý¡¢±»¾Ü¾øÇëÇóÊý¡¢»º´æÃüÖÐÇé¿ö¡¢¼¯ÈººÍ½Úµã½¡¿µ×´Ì¬µÈ£¬ËÕÄþÈ«Á´Â·¼à¿ØÆ½Ì¨¿É¶ÔÉÏÊöÖØµãÖ¸±ê½øÐÐ¼à¿Ø¡£

ËÄ¡¢È«Á´Â·¼à¿ØµÄÓÅÊÆºÍÕ¹Íû

È«Á´Â·¼à¿ØÆ½Ì¨ÍØÕ¹ÁËÎÒÃÇ¼à¿ØÏµÍ³ÄÜÁ¦µÄÉî¶ÈºÍ¹ã¶È£¬Í¬Ê±Îª ClickHouse µÄ×ÊÔ´¸ôÀëºÍ·þÎñ»¯ÌṩÁ˲ο¼¡£

È«Á´Â·¼à¿ØÆ½Ì¨Ä¿Ç°ÒѾ­½«Êý¾ÝÓ¦Óò㡢SparkSQL ½âÎö²ã¡¢OLAP ·ÓɼÓËÙ²ãÒÔ¼°Êý¾Ý¼ÓËÙ²ãÈ«²¿¹á´©£¬Óû§·¢ÆðµÄÇëÇóÔÚ¸÷¸ö½×¶ÎµÄºÄʱһĿÁËÈ»¡£

ÎÒÃÇÄܰѸ÷¸ö OLAP ·ÖÎöÒýÇæÄÚ²¿Ö´ÐеĺÄʱ£¬Í¨¹ýͳһµÄ queryId ÄÉÈëµ½ËÕÄþÈ«Á´Â·¼à¿ØÆ½Ì¨£¬ÐγÉÒ»ÌõÍêÕûµÄÖ´ÐкÄʱ¼à¿ØÁ´Â·¡£¸÷½×¶ÎÔ¤ÉèµÄ³¬Ê±Ô¤¾¯£¬»áÔÚµÚһʱ¼ä֪ͨÏà¹ØÔðÈÎÈË£¬ÕâÖÖ·½Ê½¶ÔÎÊÌⶨλ¡¢Ö÷¶¯Ô¤¾¯¶¼Æðµ½ÁËÖØÒªµÄ×÷Óã¬Í¬Ê±¸ø¼à¿ØÔËά´øÀ´Á˼«´óµÄ±ãÀû¡£

ÔÚ OLAP ·Óɲ㣬ÎÒÃÇÒѾ­¶Ô½ÓÁË Druid¡¢Elasticsearch¡¢PostGreSQL ÒÔ¼° ClickHouse ·ÖÎöÒýÇæ£¬ºóÐøÎÒÃǽ«¶Ô½ÓÆäËü¸ü¶àµÄ OLAP ·ÖÎöÒýÇæ£¬Èç Doris¡¢Dremio ºÍ RocksDB µÈ£¬Í¬Ê±ÎÒÃÇÒ²½«³ÖÐøÏ¸»¯¡¢·ÖÎö¸÷ÒýÇæÄÚ²¿Ö´Ðн׶εĺÄʱÇé¿ö£¬¶ÔÈ«Á´Â·¼à¿ØÄÜÁ¦½øÐиü½øÒ»²½µÄÓÅ»¯ÌáÉý¡£

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

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

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

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