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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
¶öÁËôInfluxdbʵ¼ù֮·
 
×÷Õß :Áõƽ
  4643  次浏览      32
 2019-10-16 
 
±à¼­ÍƼö:
±¾ÎÄÖ÷Ҫ̸ÂÛÎå¸ö·½Ã棺ʱÐòÊý¾Ý¿âÑ¡ÐÍ¡¢influxdb»ù±¾¸ÅÄî¡¢´æ´¢ÒýÇæ¡¢Êµ¼ù¡¢Êý¾Ý¾ÛºÏ¡£
±¾ÎÄÀ´×Ôcsdn,ÓÉ»ðÁú¹ûÈí¼þÁõè¡±à¼­ÍÆ¼ö

ʱÐòÊý¾Ý¿âÑ¡ÐÍ

Influxdb vs Prometheus

influxdb¼¯³ÉÒÑÓеĸÅÄ±ÈÈç²éѯÓï·¨ÀàËÆsql£¬ÒýÇæ´ÓLSMÓÅ»¯¶øÀ´£¬Ñ§Ï°³É±¾Ïà¶ÔµÍ¡£

influxdbÖ§³ÖµÄÀàÐÍÓÐfloat£¬integers£¬strings£¬booleans£¬prometheusĿǰֻ֧³Öfloat¡£

influxdbµÄʱ¼ä¾«¶ÈÊÇÄÉÃ룬prometheusµÄÔòÊǺÁÃë¡£

influxdb½ö½öÊǸöÊý¾Ý¿â£¬¶øprometheusÌṩµÄÊÇÕûÌ×¼à¿Ø½â¾ö·½°¸£¬µ±È»influxdbÒ²ÌṩÁËÕûÌ×¼à¿Ø½â¾ö·½°¸¡£

influxdbÖ§³ÖµÄmath function±È½ÏÉÙ£¬prometheusÏà¶ÔÀ´Ëµ¸ü¶à£¬influxdb¾ÍĿǰʹÓÃÉÏÒѾ­Âú×㹦ÄÜ¡£

2015Äêprometheus»¹ÔÚ¿ª·¢½×¶Î£¬Ïà¶ÔÀ´Ëµinfluxdb¸ü¼ÓÎȶ¨¡£

influxdbÖ§³Öevent log£¬prometheus²»Ö§³Ö¡£

¸üÏêϸµÄ¶Ô±ÈÇë²Î¿¼£º¶Ô±Èhttps://db-engines.com/en/system/Graphite%3BInfluxDB%3BPrometheus¡£ ÎÒÃÇÆäʵ½ö½öÐèÒªµÄÊÇÒ»¸öÊý¾Ý¿â£¬ÆäËû×é¼þ¶¼ÊÇ×Ô¼º¿ª·¢µÄ£¬¶øÇÒ´æ´¢µÄÊý¾ÝÀàÐͲ»½ö½öÊÇÊý×Ö£¬Òò´ËÑ¡ÔñÁËinfluxdb¡£Ï£ÍûÉÏÃæµÄ±È½Ï¶Ô´ó¼ÒÓаïÖú¡£

Influxdb»ù±¾¸ÅÄî

Database

Êý¾Ý¿âÊǸöÂß¼­ÈÝÆ÷£¬°üº¬ÁËmeasurement¡¢retention policies¡¢continuous queries¡¢time series data£¬ÀàËÆÓÚmysqlµÄdatabase¡£

Measurement

ÃèÊöÁËÏà¹ØÊý¾ÝµÄ´æ´¢½á¹¹£¬ÀàËÆÓÚmysqlµÄtable£¬µ«ÊDz»ÐèÒª´´½¨£¬Ð´ÈëÊý¾ÝµÄʱºò×Ô¶¯´´½¨¡£¹ØÓÚschemaµÄÉè¼Æ½¨Òé²Î¿¼£ºÉè¼Æ½¨Òé¡£

Line Protocol

Line Protocol¶¨ÒåÁËinfluxdbµÄÊý¾ÝдÈë¸ñʽ£¬ÈçÏ£º

Tag

ÉÏÃæµÄlocationºÍserver¾ÍÊÇtag key£¬usºÍhost1ÊÇtag value£¬tagÊÇ¿ÉÑ¡µÄ¡£²»¹ýдÈëÊý¾Ýʱ×îºÃ¼ÓÉÏtag£¬ÒòΪËü¿ÉÒÔ±»Ë÷Òý¡£tagµÄÀàÐÍÖ»ÄÜÊÇ×Ö·û´®¡£

Field

ÉÏÃæµÄtemperatureÊÇfield key£¬82ÊÇfield value¡£field value»áÓÃÓÚչʾ£¬valueÖ§³ÖµÄÀàÐÍÓÐfloats£¬integers£¬strings£¬booleans¡£

Timestamp

¸ñʽÊÇ£ºRFC3339 UTC¡£Ä¬ÈϾ«È·µ½ÄÉÃ룬¿ÉÑ¡¡£

Series

measurement, tag set, retention policyÏàͬµÄÊý¾Ý¼¯ºÏËã×öÒ»¸ö series¡£Àí½âÕâ¸ö¸ÅÄîÖÁ¹ØÖØÒª£¬ÒòΪÕâЩÊý¾Ý´æ´¢ÔÚÄÚ´æÖУ¬Èç¹ûseriesÌ«¶à£¬»áµ¼ÖÂOOM¡£

Retention Policy

±£Áô²ßÂÔ°üÀ¨ÉèÖÃÊý¾Ý±£´æµÄʱ¼äÒÔ¼°ÔÚ¼¯ÈºÖеĸ±±¾¸öÊý¡£Ä¬ÈÏÅäÖÃÊÇ£ºRPÊÇautogen£¬±£Áôʱ¼äÊÇÓÀ¾Ã£¬¸±±¾Îª1¡£ÕâЩÅäÖÃÔÚ´´½¨Êý¾Ý¿âʱ¿ÉÒÔÐ޸ġ£

Continuous Query

CQÊÇÔ¤ÏÈÅäÖúõÄһЩ²éѯÃüÁ¶¨ÆÚ×Ô¶¯Ö´ÐÐÕâЩÃüÁî²¢½«²éѯ½á¹ûдÈëÖ¸¶¨µÄmeasurementÖУ¬Õâ¸ö¹¦ÄÜÖ÷ÒªÓÃÓÚÊý¾Ý¾ÛºÏ¡£¾ßÌå²Î¿¼£ºCQ¡£

Shard

´æ´¢Ò»¶¨Ê±¼ä¼ä¸ôµÄÊý¾Ý£¬Ã¿¸öĿ¼¶ÔÓ¦Ò»¸öshard£¬Ä¿Â¼µÄÃû×Ö¾ÍÊÇshard id¡£Ã¿Ò»¸öshard¶¼ÓÐ×Ô¼ºµÄcache¡¢wal¡¢tsm fileÒÔ¼°compactor£¬Ä¿µÄ¾ÍÊÇͨ¹ýʱ¼äÀ´¿ìËÙ¶¨Î»µ½Òª²éѯÊý¾ÝµÄÏà¹Ø×ÊÔ´£¬¼ÓËÙ²éѯµÄ¹ý³Ì£¬²¢ÇÒÒ²ÈÃÖ®ºóµÄÅúÁ¿É¾³ýÊý¾ÝµÄ²Ù×÷±äµÃ·Ç³£¼òµ¥ÇÒ¸ßЧ¡£

´æ´¢ÒýÇæ

TSM TreeÊÇÔÚLSM TreeµÄ»ù´¡ÉÏÉÔ×÷ÐÞ¸ÄÓÅ»¯¶øÀ´¡£ËüÖ÷Òª°üº¬Ëĸö²¿·Ö£ºcache¡¢wal¡¢tsm file¡¢compactor¡£

Cache£º²åÈëÊý¾Ýʱ£¬ÏÈÍùcacheÖÐдÈëÔÙдÈëwalÖУ¬¿ÉÒÔÈÏΪcacheÊÇwalÎļþÖеÄÊý¾ÝÔÚÄÚ´æÖеĻº´æ¡£

WAL£ºÔ¤Ð´ÈÕÖ¾£¬¶Ô±ÈmysqlµÄbinlog¡£Æä×÷ÓþÍÊÇΪÁ˳־û¯Êý¾Ý£¬µ±ÏµÍ³±ÀÀ£ºó¿ÉÒÔͨ¹ýwalÎļþ»Ö¸´cache¡£

TSM File£ºÃ¿¸ötsmÎļþµÄ´óСÉÏÏÞÊÇ2GB¡£µ±´ïµ½cache-snapshot-memory-size,cache-max-memory-sizeµÄÏÞÖÆÊ±»á´¥·¢½«cacheдÈëtsmÎļþ¡£

Compactor£ºÖ÷Òª½øÐÐÁ½ÖÖ²Ù×÷£¬Ò»ÖÖÊÇcacheÊý¾Ý´ïµ½·§Öµºó£¬½øÐпìÕÕ£¬Éú³ÉÒ»¸öеÄtsmÎļþ¡£ÁíÍâÒ»ÖÖ¾ÍÊǺϲ¢µ±Ç°µÄtsmÎļþ£¬½«¶à¸öСµÄtsmÎļþºÏ²¢³ÉÒ»¸ö£¬¼õÉÙÎļþµÄÊýÁ¿£¬²¢ÇÒ½øÐÐһЩÊý¾Ýɾ³ý²Ù×÷¡£ ÕâЩ²Ù×÷¶¼ÔÚºǫ́×Ô¶¯Íê³É¡£

Ŀ¼½á¹¹

InfluxDBµÄÊý¾Ý´æ´¢ÓÐÈý¸öĿ¼£¬·Ö±ðÊÇmeta¡¢wal¡¢data¡£metaÓÃÓÚ´æ´¢Êý¾Ý¿âµÄһЩԪÊý¾Ý£¬metaĿ¼ÏÂÓÐÒ»¸ömeta.dbÎļþ¡£walĿ¼´æ·ÅԤдÈÕÖ¾Îļþ£¬ÒÔ.wal½áβ¡£dataĿ¼´æ·Åʵ¼Ê´æ´¢µÄÊý¾ÝÎļþ£¬ÒÔ.tsm½áβ¡£»ù±¾½á¹¹ÈçÏ£º

ÆäÖÐ testÊÇÊý¾Ý¿âÃû³Æ£¬autogenÊÇ´æ´¢²ßÂÔÃû³Æ£¬ÔÙÏÂÒ»²ãĿ¼ÖеÄÒÔÊý×ÖÃüÃûµÄĿ¼ÊÇ shard µÄ ID Öµ£¬±ÈÈç autogen´æ´¢²ßÂÔÏÂÓÐÁ½¸ö shard£¬ID ·Ö±ðΪ 1 ºÍ 2£¬shard´æ´¢ÁËijһ¸öʱ¼ä¶Î·¶Î§ÄÚµÄÊý¾Ý¡£ÔÙÏÂÒ»¼¶µÄĿ¼ÔòΪ¾ßÌåµÄÎļþ£¬·Ö±ðÊÇ .walºÍ .tsm½áβµÄÎļþ¡£

¸üÏêϸµÄ²Î¿¼£ºInfluxDBÏê½âÖ®TSM´æ´¢ÒýÇæ
½âÎö £¨http://blog.fatedier.com/2016/08/05/detailed-in-influxdb-tsm-storage-engine-one/£©¡£

ʵ¼ù

gatewayÓÃÓÚ¼ì²âºÍѹËõinfluxdbµÄÊý¾Ý£¬ÓÃÓÚ¿ç»ú·¿´«Ê䣬²ÉÓÃudp½ÓÊÜÊý¾Ý¡£

influxdb-relayÊǹٷ½ÌṩµÄ¸ß¿ÉÓ÷½°¸£¬µ«ÊÇËüÖ»Ìṩ¼òµ¥µÄдÈ빦ÄÜ¡£

influxdb-proxyÊÇÓÃÓÚÌæ´úinfluxdb-relayµÄ¸ß¿ÉÓ÷½°¸¡£

ǰÆÚ¼Ü¹¹Í¼

ʹÓÃÎÊÌâ

influxdb-relayÊǹٷ½ÌṩµÄ¸ß¿ÉÓ÷½°¸£¬µ«ÊÇËüÖ»Ìṩ¼òµ¥µÄдÈ빦ÄÜ¡£ÔÚ³õÆÚʹÓÃʱ£¬²¢Ã»Óжà´óµÄÎÊÌâ£¬Ëæ×ÅinfluxdbÔÚ¹«Ë¾µÄÍÆ¹ã£¬½ÓÈë·½Ô½À´Ô½¶à£¬Òâζ×Ųéѯ·½Ô½À´Ô½¶à£¬Õâ¾Í´øÀ´ÁËÒÔÏÂÎÊÌ⣺

grafanaÐèÒªÅäÖúܶà¸öÊý¾ÝÔ´¡£

Óû§²»Äܸù¾ÝmeasurementÀ´¶©ÔÄÊý¾Ý¡£

Êý¾Ý¿â¹Òµô£¬¾ÍÐèÒªÐÞ¸ÄgrafanaµÄÊý¾ÝÔ´¡£

ά»¤À§ÄÑ£¬±ÈÈçÐèÒªÐÂÔöÊý¾Ý¿â£¬Óû§ÐèÒªÅäÖöà¸öÊý¾ÝÔ´£¬²»ÄÜͳһ½ÓÈëµã¡£

Óû§²éѯֱÁ¬Êý¾Ý¿â£¬Óû§select *Êý¾Ý¿âÖ±½ÓOOM£¬Êý¾Ý¿â»áÖØÆô¡£

relayÌṩµÄÖØÐ´¹¦ÄÜ£¬Êý¾ÝÊDZ£ÁôÔÚÄÚ´æÖУ¬Ò»µ©influxdb¹Òµô£¬¾Í»áµ¼ÖÂrelay»úÆ÷ÄÚ´æ·èÕÇ¡£

²È¹ýµÄ¿Ó

max-row-limit²»Îª0£¬»áµ¼ÖÂinfluxdb OOM¡£Ä¿Ç°Õâ¸öÎÊÌâÒѾ­ÐÞ¸´£¬µ«ÊÇgrafanaչʾʱ»á´æÔÚÎÊÌ⣬ÅäÖÃʱÇëÉèÖÃΪ0¡£

ÅäÖòéѯÏÞÖÆ²ÎÊýʱ£¬»áµ¼ÖÂÒ»Ð©Ææ¹ÖµÄÎÊÌ⣬¹Ù·½ÊDz»ÏÞÖÆ£¬Çë±£ÁôĬÈÏÅäÖá£

ûÓÐÖÆ¶¨schema¹æ·¶£¬½ÓÈë·½°Ñfieldд³ÉtagÁË£¬µ¼ÖÂÄÚ´æ·èÕÇ£¬×îºóOOM¡£Àí½âseriesµÄ¸ÅÄîºÜÖØÒª¡£

дÈ볬ʱʱ¼äĬÈÏÊÇ10s£¬ÓÐʱºòÊý¾ÝдÈëÁ˵«·µ»Ø500¡£¿ÉÒÔ½«Õâ¸öʱ¼äÉèÖóɴóµã¡£

ÓÅ»¯ºóµÄ¼Ü¹¹Í¼

influxdb-proxyÊÇΪÁ˽â¾öÉÏÃæµÄʹÓÃÎÊÌâ¶ø¿ª·¢³öÀ´µÄ¡£¾ßÓÐÒÔϹ¦ÄÜ£º

ͬʱ֧³ÖдºÍ²éѯ¹¦ÄÜ£¬Í³Ò»½ÓÈëµã£¬ÀàËÆcluster¡£

Ö§³ÖÖØÐ´¹¦ÄÜ£¬Ð´Èëʧ°ÜʱдÈëÎļþ£¬ºó¶Ë»Ö¸´Ê±ÔÙдÈë¡£

ÏÞÖÆ²¿·Ö²éѯÃüÁîºÍÈ«²¿É¾³ý²Ù×÷¡£

ÒÔmeasurementΪÁ£¶ÈÇø·ÖÊý¾Ý£¬Ö§³Ö°´Ðè¶©ÔÄ¡£

measurementÓÅÏȾ«È·Æ¥Å䣬Ȼºóǰ׺ƥÅä¡£

ÌṩÊý¾Ýͳ¼Æ£¬±ÈÈçqps£¬ºÄʱµÈµÈ¡£

Êý¾Ý¾ÛºÏ

influxdbÌṩÊý¾Ý¾ÛºÏµÄ¹¦ÄÜ£¬¾ÍÊÇÉÏÃæ»ù±¾¸ÅÄîÀïÌáµ½µÄContinuous Query¡£Ô¤Ïȶ¨ÒåºÃcq£¬¾Í¿ÉÒÔ¶¨ÆÚ¸ù¾Ý²»Í¬µÄtag½øÐоۺÏÊý¾Ý¡£Ä¿Ç°ËüÓиöÉè¼ÆÎÊÌ⣺cqÊÇ˳ÐòÖ´Ðеģ¬cqÔ½¶à£¬Êý¾ÝÑÓ³ÙÔ½¸ß£¬Ò»°ãÑÓ³ÙÔÚ¼¸·ÖÖÓÄÚ¡£Èç¹ûÐèÒª¸üʵʱµÄ¾ÛºÏ£¬cq²»ÄÜÂú×㣬ÐèÒªÒýÈëÆäËû¹¤¾ß£¬±ÈÈçSpark¡£

Spark

¾­¹ýÄÚ²¿µ÷ÑУ¬·¢ÏÖspark+kafkaÊǸö¸üºÃµÄ¾ÛºÏ·½°¸¡£sparkÖ§³ÖÁ÷ʽ´¦ÀíÇÒÖ§³Ösql¹¦ÄÜ£¬ÎÒÃÇÖ»ÐèÒª½«cq¸Ä³Ésql¾ÍÐС£Ä¿Ç°Õâ¸ö´¦ÓÚ³¢ÊԽ׶Σ¬ÒѾ­ÉÏÏß²¿·Ö¹¦ÄÜ¡£Ä¿Ç°µÄ´¦ÀíÁ÷³ÌÈçÏ£º

×ܽá

ÉÏÎĽ²µÄÕûÌ׼ܹ¹ÒѾ­Ö§³ÅÆð¶öÁËô2Íǫ̀»úÆ÷µÄ¼à¿Ø£¬Ä¿Ç°Ã¿ÃëдÈëµÄµãÊýÊÇ300k¡£ºó¶ËinfluxdbµÄ»úÆ÷ÊýÁ¿ÊÇ20̨×óÓÒ£¬Î¬»¤³É±¾»ù±¾Ç÷ÓÚÁã¡£ÎÒÃǵĽ¹µãĿǰÒѾ­´Óinfluxdb×ªÒÆµ½Êý¾Ý¾ÛºÏºÍ·ÖÎöÉÏ¡£

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

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

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

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