Time Series DataBase – TDengine | 娑涙€濇暟鎹?/title> <atom:link href="//www.yakult-sh.com.cn/time-series-database/feed" rel="self" type="application/rss+xml" /> <link>//www.yakult-sh.com.cn</link> <description>TDengine | 楂樻€ц兘銆佸垎甯冨紡銆佹敮鎸丼QL鐨勬椂搴忔暟鎹簱 | 娑涙€濇暟鎹?/description> <lastBuildDate>Mon, 21 Oct 2024 04:10:36 +0000</lastBuildDate> <language>zh-Hans</language> <sy:updatePeriod> hourly </sy:updatePeriod> <sy:updateFrequency> 1 </sy:updateFrequency> <generator>//wordpress.org/?v=6.8.2</generator> <image> <url>//www.yakult-sh.com.cn/wp-content/uploads/2025/07/favicon.ico</url> <title>Time Series DataBase – TDengine | 娑涙€濇暟鎹?/title> <link>//www.yakult-sh.com.cn</link> <width>32</width> <height>32</height> </image> <item> <title>濡備綍鎶婃暟鎹粠 TDengine 2.x 杩佺Щ鍒?3.x 锛?/title> <link>//www.yakult-sh.com.cn/tdengine-engineering/17753.html</link> <dc:creator><![CDATA[Yu Chen]]></dc:creator> <pubDate>Tue, 16 May 2023 09:14:53 +0000</pubDate> <category><![CDATA[鎶€鏈枃绔?- 鏃跺簭鏁版嵁搴揮]></category> <category><![CDATA[TDengine-TSDB]]></category> <category><![CDATA[Time Series DataBase]]></category> <guid isPermaLink="false">//www.yakult-sh.com.cn/?p=17753</guid> <description><![CDATA[瀹樻柟鏁欏鎵嬪唽鏉ヤ簡锛乚]></description> <content:encoded><![CDATA[ <blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"> <h3 class="wp-block-heading"><strong>杩佺Щ鑳屾櫙</strong></h3> <p>闅忕潃<a href="//www.yakult-sh.com.cn/" data-internallinksmanager029f6b8e52c="2" title="鏃跺簭鏁版嵁搴? target="_blank" rel="noopener">鏃跺簭鏁版嵁搴?/a>锛圱ime Series Database锛?TDengine 3.0 鐨勫彂甯冭嚦浠婏紝鎴戜滑闄や簡鍦ㄦ寔缁湴浼樺寲浜у搧璐ㄩ噺鐨勬湰韬紝涔熶竴鐩村湪鍔姏鍦版彁鍗囩敤鎴蜂綋楠屻€備絾鐢变簬 3.0 搴曞眰鏈夊ぇ閲忕殑閲嶆瀯浼樺寲锛屽鑷村紑婧愮増鐨?2.0 鐢ㄦ埛鏃犳硶閫氳繃甯歌閫斿緞鏉ュ崌绾у埌 3.0 锛屾湰鏈熸枃绔犲皢浼氬崗鍔╁ぇ閮ㄥ垎寮€婧愮増鐢ㄦ埛瑙e喅杩欎釜闂銆?br>鐩墠锛屾垜浠彲浠ユ彁渚涗袱绉嶈縼绉绘柟妗堬細</p> <ol class="wp-block-list"> <li>TDengine 瀹樻柟宸ュ叿 taosdump锛?/li> <li>寮€婧愭暟鎹縼绉昏В鍐虫柟妗堬細dataX TDengine reader/writter锛?/li> </ol> <p>鍓嶈€呬細鎶婃暟鎹牴鎹厤缃鍑哄帇缂╁瓨鍌ㄥ埌鏈湴锛屼骇鍝佸睘鎬ф洿鍊惧悜浜庡浠?鎭㈠宸ュ叿銆傚悗鑰呭垯浼氬湪鍐呭瓨涓洿鎺ヤ紶杈撴暟鎹紝鍋忓悜鏁版嵁杩佺Щ宸ュ叿銆傛湰绡囨枃绔犵殑涓讳綋涓哄墠鑰呯殑 taosdump锛宒ataX 鐨勪娇鐢ㄦ柟寮忓彲浠ラ€氳繃杩欑瘒鏂囩珷鏉ヤ簡瑙o細//www.yakult-sh.com.cn/engineering/16401.html</p> </blockquote> <p>棣栧厛锛屾垜浠厛璇翠笅 taosdump 涓轰粈涔堟槸鍗忓姪鈥滃ぇ閮ㄥ垎鈥濆紑婧愮増鐢ㄦ埛瑙e喅杩欎釜闂锛?/p> <p>taosdump 鐨勫鍑鸿涓虹殑鏈川鍏跺疄鏄娇鐢?SQL 杩涜鏌ヨ锛屽皢鏁版嵁鍘嬬缉鍚庤緭鍑哄埌鏈湴锛屽鍏ヨ涓哄垯鏄€氳繃 STMT 鎺ュ彛鍐嶆妸瀵煎嚭鐨勬暟鎹鍏ユ柊鐨勭幆澧冦€傚湪鍐呴儴锛屽畠宓屽叆浜嗕竴涓?TDengine 瀹㈡埛绔紝閫氳繃 -T 鍙傛暟鐨勭嚎绋嬫暟閰嶇疆锛屽苟鍙戝湴鎶婃墍鏈?SQL 璇锋眰鍙戠粰鏁版嵁搴擄紝姝ゅ悗锛屽悗缁殑鏌ヨ宸ヤ綔灏辨槸鏁版嵁搴撹嚜宸辩殑浜嬫儏浜嗐€傞壌浜庝互涓婂師鍥狅紝鎵€浠ュ畠鐨勫鍑哄鍏ョ殑鎬ц兘閮藉崄鍒嗕緷璧栦簬鏁版嵁搴撴湰韬殑閮ㄧ讲寤烘ā鏄惁绉戝锛岀‖浠惰祫婧愭槸鍚﹀厖瓒崇瓑鍥犵礌銆?/p> <p>涓句釜绠€鍗曚緥瀛愶細鍋囧鏌愮敤鎴峰湪寤鸿〃鐨勬椂鍊欙紝瀵逛簬涓€鍒楁湰搴斾娇鐢?binary(100) 灏辫冻澶熺殑鏁版嵁浣跨敤浜?nchar(2000)锛岄偅涔堢瓑鍒板鍑?SQL 鎵ц鐨勬椂鍊欙紝鎬ц兘灏变細琚嫋绱緢澶氥€?/p> <p>鍥犳锛岃兘澶熼『鍒╁畬鎴愭暟鎹鍑虹殑鐢ㄦ埛锛屽簲灏介噺鎷ユ湁濡備笅鍑犱釜鐗瑰緛锛?/p> <ol class="wp-block-list"> <li>鎷ユ湁瓒冲纾佺洏绌洪棿鈥斺€斿洜涓虹‖鐩樹笂鐨勬暟鎹槸鍒楀紡鍘嬬缉锛岃€屽鍑烘暟鎹负琛屽紡鍘嬬缉銆傚鏋滈€夋嫨涓€娆℃€у鍑哄叏閮ㄦ暟鎹紝寤鸿闇€瑕佽嚦灏戠暀鍑?nbsp;du -sh $dataDir/vnode –exclude=’wal’ 澶у皬鐨?3 鍊嶇┖闂达紙澶氬鐩婂杽锛夈€備絾濡傛灉鏄寜鐓у簱/琛ㄤ负鍗曚綅鍒嗘壒瀵煎嚭锛屾垨鑰呮寚瀹氭椂闂磋寖鍥村鍑虹殑璇濓紝灏辨瘮杈冪伒娲讳簡銆?br></li> <li>鏁版嵁搴撴棩甯镐娇鐢ㄨ礋杞戒笉楂橈紝鍦ㄥぇ閲忓鍑?SQL 鎵ц鏃讹紝鏁版嵁搴撲粛鏈夊厖瓒宠祫婧愬彲浠ヤ繚闅滄甯哥敓浜т娇鐢ㄣ€?br></li> <li>寰呰縼绉荤殑 2.0 鏁版嵁涓烘祴璇曠幆澧冧笉闇€鎷呭績褰卞搷涓氬姟锛屾垨鑰呯敓浜х幆澧冪殑涓氬姟闂存瓏鏈熻冻澶熷畬鎴愭暟鎹殑瀵煎嚭鈥斺€旇繖涓ょ偣闇€瑕佺粨鍚堝綋鍓嶅鍑洪€熷害鑷繁璇勪及銆?/li> </ol> <h4 class="gb-headline gb-headline-7c87b225 gb-headline-text"><strong>鎬荤粨</strong></h4> <p>瀵煎嚭/瀵煎叆鏁版嵁鐨勫揩鎱㈡槸鐢?SQL 鎵ц鏁堢巼鏉ュ喅瀹氱殑锛岃€?SQL鎵ц鏁堢巼鐨勮儗鍚庡張鏄敱閮ㄧ讲寤烘ā锛岀‖浠惰祫婧愮瓑鍥犵礌鍐冲畾鐨勩€?/p> <p>鍙纾佺洏绌洪棿鍏呰冻锛屾椂闂村厖瓒筹紝灏卞彲浠ュ畬鎴愬鍑烘搷浣溿€傚鍏ュ垯鐩稿绠€鍗曪紝娌℃湁棰濆闇€姹傦紝鎸夌収姝e父鐨勬暟鎹簱閮ㄧ讲鎬濊矾鍗冲彲銆?/p> <p>鍥犱负 taosdump 鏈韩鐨勪骇鍝佺壒寰佸喅瀹氫簡鍦ㄤ笂杩扮壒娈婃儏鍐典笅锛岃縼绉绘暟鎹細鏈夋晥鐜囬棶棰橈紝鍥犳杩欎篃鏄垜浠紑鍙戜笓涓氱殑浼佷笟鐗堟暟鎹縼绉诲伐鍏?taosX 鐨勫師鍥犱箣涓€銆?/p> <h3 class="gb-headline gb-headline-c6ddf6e6 gb-headline-text"><strong>杩佺Щ鎿嶄綔</strong></h3> <p><strong>瀵煎嚭鏂癸細</strong></p> <p>瀵逛簬 2.0 涓€渚э紝棣栧厛瑕佸噯澶囧ソ鏈€鏂扮増鏈殑 TDengine 鍜?taosdump 宸ュ叿锛屽叿浣撴搷浣滃涓嬶細</p> <ol class="wp-block-list"> <li>鎶婃暟鎹簱鍗囩骇鍒?2.6.0.34锛屽崌绾ф敞鎰忎簨椤逛互鍙婃搷浣滄楠ら兘鍙互鍙傝€冭繖绡囨枃绔狅細<a href="//www.yakult-sh.com.cn/engineering/10222.html">//www.yakult-sh.com.cn/engineering/10222.html</a>銆傦紙娉ㄦ剰锛歊PM 鍜?Deb 鍖呬笉鍚?taosdump 锛屽畠闇€瑕侀€氳繃瀹夎 taosTools 鍖呰幏寰椼€傛墍浠ュ缓璁ぇ瀹剁洿鎺ヤ娇鐢ㄥ寘鍚?TDengine 鐨?Tar 鍖呭畬鎴愬崌绾с€傦級TDengine 瀹夎鍖呴渶浠?2.6 鐗堟湰鐨勬枃妗e幓涓嬭浇锛歨ttps://www.yakult-sh.com.cn/all-downloads 銆傚鏋滀娇鐢ㄤ簡 RPM 鍜?Deb 鐨勮瘽锛屽悓鏍烽渶瑕侀€氳繃涓婅堪閾炬帴涓嬭浇鏈€鏂扮増鐨?taostool 鑾峰彇 taosdump宸ュ叿锛堝綋鍓嶆渶鏂扮増涓?2.4.5锛夈€?/li> <li>浣跨敤 taosdump 鎶婃暟鎹鍑猴細鍏蜂綋鎿嶄綔鍙弬鑰冿細<a href="//docs.yakult-sh.com.cn/2.6/reference/taosdump/" rel="nofollow noopener" target="_blank">//docs.yakult-sh.com.cn/2.6/reference/taosdump/</a>銆備妇渚嬶細</li> </ol> <ul class="wp-block-list"> <li></li> </ul> <pre class="wp-block-code"><code>taosdump -o /test -D test -T 4</code></pre> <p>杩欐潯鍛戒护浼氭妸 test 搴撶殑鏁版嵁锛岀敤 4 涓嚎绋嬪鍑哄埌 /test 鐩綍涓嬮潰锛屾枃浠跺舰寮忓涓嬶細</p> <div class="wp-block-image"> <figure class="aligncenter size-large"><img fetchpriority="high" decoding="async" width="1024" height="144" src="//www.yakult-sh.com.cn/wp-content/uploads/2023/05/image-4-1024x144.png" alt="濡備綍鎶婃暟鎹粠 TDengine 2.x 杩佺Щ鍒?3.x 锛?- TDengine Database 鏃跺簭鏁版嵁搴? class="wp-image-17754" title="濡備綍鎶婃暟鎹粠 TDengine 2.x 杩佺Щ鍒?3.x 锛?- TDengine Database 鏃跺簭鏁版嵁搴? srcset="//www.yakult-sh.com.cn/wp-content/uploads/2023/05/image-4-1024x144.png 1024w, //www.yakult-sh.com.cn/wp-content/uploads/2023/05/image-4-300x42.png 300w, //www.yakult-sh.com.cn/wp-content/uploads/2023/05/image-4-768x108.png 768w, //www.yakult-sh.com.cn/wp-content/uploads/2023/05/image-4.png 1252w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure></div> <p>鎺ヤ笅鏉ワ紝鎴戜滑闇€瑕佹妸 test 璺緞涓嬬殑瀵煎嚭鏂囦欢锛岃縼绉诲埌 3.0 鐨勭幆澧冧腑锛屽噯澶囨暟鎹鍏ャ€?/p> <p><strong>瀵煎叆鏂癸細</strong></p> <ol class="wp-block-list"> <li>3.0 杩欎竴渚э紝鏂扮幆澧冩垜浠缓璁娇鐢ㄦ渶鏂扮増锛屽悇鏂归潰閮芥洿濂斤紙褰撳墠鏈€鏂扮増涓?3.0.4.1锛夛紝姝e父瀹夎閮ㄧ讲鍗冲彲銆傦紙鍚屾牱锛歊PM 鍜?Deb 鍖呬笉鍚?nbsp;taosdump 锛屽畠闇€瑕侀€氳繃瀹夎 taosTools 鍖呰幏寰椼€?鎵€浠ュ缓璁ぇ瀹剁洿鎺ヤ娇鐢ㄥ寘鍚?taosdump 鐨?tar 鍖呭畬鎴愰儴缃诧紝涓嬭浇閾炬帴锛?a href="//docs.yakult-sh.com.cn/releases/tdengine/" rel="nofollow noopener" target="_blank">//docs.yakult-sh.com.cn/releases/tdengine/</a>锛変絾鏄鏋滃彧鑳戒娇鐢?RPM 鎴栬€?Deb 锛宼aosTools 鍒欓渶瑕佷粠 3.0 鐨勬枃妗e崟鐙笅杞斤紝鍦板潃锛?a href="//docs.yakult-sh.com.cn/releases/tools/" rel="nofollow noopener" target="_blank">//docs.yakult-sh.com.cn/releases/tools/</a> 锛堝綋鍓嶆渶鏂扮増涓?nbsp;2.5.0锛?br></li> <li>瀵煎叆涔嬪墠锛屾垜浠鍏堣杩涘叆瀵煎嚭鏂囦欢鐩綍涓嬬殑鏍囩孩鐩綍锛屾墦寮€閲岄潰鐨?dbs.sql锛岄拡瀵瑰缓搴?SQL 鍋氫竴浜涢拡瀵规€х殑璋冩暣銆傚挨鍏堕渶瑕佹敞鎰忕殑鏄?VGROUPS 鍙傛暟锛岃繖鏄?3.0 鐨勬柊澧炲弬鏁帮紝浠f浛浜嗘鍓?2.0 鐨勪竴绯诲垪寤鸿〃閫昏緫锛岄粯璁ゆ槸 2 锛屼唬琛ㄧ潃杩欎釜搴撴湁 2 涓?VGROUP 銆傚鏋滃師鏈殑 2.0 鐜浣跨敤浜?4 涓?VGROUP锛岄偅涔堝氨闇€瑕佹墜鍔ㄦ坊鍔?“VGROUPS 4” 鍒板缓搴撹鍙ュ悗闈紝鍗冲彲淇濇寔鍜?2.0 鐗堟湰涓€鏍风殑 VGROUP 鏁伴噺浜嗐€傦紙鍏朵粬鍙傛暟鍚岀悊锛岀洿鎺ュ湪寤哄簱 SQL 鍚庢坊鍔犲嵆鍙紝鑷充簬璇ヨ鍙ヤ腑 2.0 鏃朵唬鐨勬棫鍙傛暟鍒欎細琚鍏ョ▼搴忚嚜鍔ㄥ睆钄芥帀銆傚叿浣撶殑 3.0 寤哄簱鍙傛暟缁嗚妭鍙弬鑰冿細<a href="//docs.yakult-sh.com.cn/taos-sql/database/" rel="nofollow noopener" target="_blank">//docs.yakult-sh.com.cn/taos-sql/database/</a>锛?/li> </ol> <div class="wp-block-image"> <figure class="aligncenter size-full"><img decoding="async" width="610" height="87" src="//www.yakult-sh.com.cn/wp-content/uploads/2023/05/image-5.png" alt="濡備綍鎶婃暟鎹粠 TDengine 2.x 杩佺Щ鍒?3.x 锛?- TDengine Database 鏃跺簭鏁版嵁搴? class="wp-image-17756" title="濡備綍鎶婃暟鎹粠 TDengine 2.x 杩佺Щ鍒?3.x 锛?- TDengine Database 鏃跺簭鏁版嵁搴? srcset="//www.yakult-sh.com.cn/wp-content/uploads/2023/05/image-5.png 610w, //www.yakult-sh.com.cn/wp-content/uploads/2023/05/image-5-300x43.png 300w" sizes="(max-width: 610px) 100vw, 610px" /></figure></div> <p><strong>绀轰緥锛?/strong></p> <p>鍘熸湰鐨勫缓搴撹鍙ワ細</p> <pre class="wp-block-code"><code>CREATE DATABASE IF NOT EXISTS test REPLICA 1 QUORUM 1 DAYS 10 KEEP 3650 CACHE 16 BLOCKS 6 FSYNC 3000 PRECISION 'ms' MINROWS 100 MAXROWS 4096 COMP 2 ;</code></pre> <p>娣诲姞鍙傛暟鍚庯細</p> <pre class="wp-block-code"><code>CREATE DATABASE IF NOT EXISTS test REPLICA 1  QUORUM 1 DAYS 10 KEEP 3650 CACHE 16 BLOCKS 6 FSYNC 3000  PRECISION 'ms'  MINROWS 100 MAXROWS 4096 COMP 2 VGROUPS 4;</code></pre> <p>淇敼瀹?dbs.sql 鍚庯紝渚垮彲浠ユ墽琛屽鍏ユ搷浣滀簡锛屽鍏ユ搷浣滄湰韬槸姣旇緝绠€鍗曠殑锛屽叿浣撴搷浣滃彲鍙傝€冿細<a href="//docs.yakult-sh.com.cn/2.6/reference/taosdump/" rel="nofollow noopener" target="_blank">//docs.yakult-sh.com.cn/2.6/reference/taosdump/</a>銆備妇渚嬶細</p> <p>杩欐潯鍛戒护浼氭妸 /test 鐩綍涓嬬殑鏁版嵁锛岀敤 4 涓嚎绋嬪鍏ュ埌褰撳墠鐜涓嬮潰锛屽湴鍧€榛樿涓?localhost锛岀嚎绋嬫暟鍙牴鎹満鍣ㄩ厤缃厡鎯呰缃€?/p> <p>瀵煎叆瀹屾瘯涔嬪悗妫€楠屾暟鎹唴瀹癸紝纭鏃犺涔嬪悗锛屽紑婧愮増 TDengine 2.0 鑷?3.0 鏁版嵁杩佺Щ渚垮畬鎴愪簡銆?/p> <p>濡傛灉涓婅堪涓ょ杩佺Щ鏂规閮戒笉鑳藉府鍔╂垜浠畬鎴愭暟鎹縼绉伙紝娆㈣繋鑱旂郴 TDengine 浼佷笟鐗堝洟闃熷仛瀹氬埗鍖栫殑鏀寔鏈嶅姟銆?/p> ]]></content:encoded> </item> <item> <title>鑱氱劍 TimescaleDB VS TDengine 鎬ц兘瀵规瘮鎶ュ憡锛屼簲澶у満鏅叏闈㈠垎鏋愬啓鍏ヤ笌鏌ヨ //www.yakult-sh.com.cn/tdengine-tsdb/17661.html Fri, 28 Apr 2023 00:52:48 +0000 //www.yakult-sh.com.cn/?p=17661 ZW三方基准性能试q_ TSBSQTime Series Benchmark SuiteQ?标准数据集,TDengine 团队分别?TSBS 指定?DevOps ?cpu-only 五个场景Q对时序数据?/a>QTime Series DatabaseQ?a href="//www.yakult-sh.com.cn/tsdb" data-internallinksmanager029f6b8e52c="8" title="TSDB" target="_blank" rel="noopener">TSDBQTimescaleDB ?TDengine q行了对比测试。本文将会从写入、存储、查询及资源开销{几大维度ؓ大家汇d析测试结果?/p>

为确保(ji)果具(lian)可比(),(ren)(lian)次试(cu)选用 TimescaleDB 2.6.0 版(zhuan)。ؓ获(feng)较好(fei)性能QTimescaleDB 需要(xing)对不(zhen)同的场景讄(ju)不同(fei)?Chunk (hong)数Q不(zhen)同场景下(hong)数(fei)设|如下表(jia)C:

TDengine Database

上述参数的设|,充分参考了下方 TimescaleDB vs. InfluxDB Ҏ报告中推荐的配置参数讄Q以保写入性能指标的最优化?/p>

TimescaleDB vs. InfluxDB: Purpose Built Differently for Time-Series DataQ?/mark>//www.timescale.com/blog/timescaledb-vs-influxdb-for-time-series-data-timescale-influx-sql-nosql-36489299877/

关于pȝ的配|详情、如何一键复现测试结果及详细的测试数据介l等内容Q大家可参?a href="//www.yakult-sh.com.cn/time-series-database/17245.html" target="_blank" data-type="URL" data-id="//www.yakult-sh.com.cn/time-series-database/17245.html" rel="noreferrer noopener">《一键获取测试脚本,L验证“TSBS 时序数据库性能基准试报告”?/a>?a href="//www.yakult-sh.com.cn/engineering/16710.html" target="_blank" rel="noreferrer noopener">《TSBS 是什么?Z么时序数据库 TDengine 会选择它作为性能Ҏ试q_Q?/a>两篇文章Q本文便不再赘述?/p>

写入性能最高达C TimescaleDB ?6.7 ?/h2>

?TSBS 全部?cpu-only 五个场景中,TDengine 写入性能均优?TimescaleDB。相?TimescaleDBQTDengine 写入速度最领先的场景是?6.7 倍(场景二)Q最也?1.5 倍(场景五)Q而且对于场景四,如果每个采集点的记录条数由 18 条增加到 576 条,TDengine 写入速度pC TimescaleDB ?13.2 倍。此外,TDengine 在写入过E中消耗的 CPU 资源和磁?IO 开销也是最低的?/p>

不同场景下写入性能Ҏ

TDengine Database
不同场景下写入性能的对比(metrics/sec. 数D大越好)

(xi)(xi)上()囑֏(xi)(xi)看(lian)刎(bang)(she)全(guai)部五个场(xiu)中(fu)Q(ben)TDengine (fei)写(wei)性能(wei)面越 TimescaleDB(mo)?strong>(she)场(xiu)二?TDengine 写(luo)性能(lian)大达C(jian) TimescaleDB (fei)?6.74 倍,(she)差距最的(she)景(bang)(pei)(fu)Q(ben)也辑ֈ(bang)?TimescaleDB (fei)?1.52 倍?/strong>

写入q程资源消耗对?/strong>

但仅凭数据写入速度Qƈ不能全面地反映出 TDengine ?TimescaleDB 在不同场景下数据写入的整体表现。ؓ此我们以 1,000,000 devices × 10 metrics Q场景四Qؓ例,查数据写入过E中的服务器和客L的整体负载状况,q以此来Ҏ TDengine ?TimescaleDB 在写入过E中服务?客户端节点的资源占用情况Q这里的资源占用主要包括服务器端?CPU 开销/盘 IO 开销和客L CPU 开销?/p>

服务?CPU 开销

TDengine Database
写入q程中服务器 CPU 开销

上图展示了在场景四写入过E之中服务器?CPU 负蝲状况。可以看刎ͼTDengine ?TimescaleDB 在返回给客户端写入完成消息以后,都还l箋使用服务器的资源q行相应的处理工作,q点上,TimescaleDB ؓ明显QTimescaleDB ?7x U的时候即反馈客户端写入完成,但是其服务器端仍然在调用 CPU 资源q行数据压羃和整理工作,当然整个工作带来?CPU 负蝲相对而言q不高,只有其峰?CPU 开销的一半左叻I但是其持l时间相当长Q接q净写入旉?4 倍,q长?TDengine?strong>TDengine Ҏ务器?CPU 需求较,峰g仅用了 17% 左右的服务器 CPU 资源?/strong>由此可见QTDengine 独特的数据模型不仅体现在时序数据的写入性能上,也体现在整体的资源开销上?/p>

盘 I/O Ҏ

TDengine Database
写入q程中服务器 IO 开销

上图展示?1,000,000 devices × 10 metrics Q场景四Q两大系l在数据写入q程中服务器端磁盘写入状态。结合服务器?CPU 开销表现Q可以看刎ͼ两大数据库的 IO 动作?CPU 均呈现出同步z跃状态?/p>

在写入相同规模数据集的情况下Q?strong>TDengine 在写入过E中对于盘写入能力的占用远于 TimescaleDBQ整体写入过E只占用了部分磁盘写入能力(125MiB/Sec. 3000IOPSQ?/strong>。从图上能看刎ͼ对于两大数据库来_数据写入q程中磁盘的 IO 瓉是确实存在的Q但 TimescaleDB 写入q程对于写入的消耗远过?TDengine 对磁盘写入能力的需求?/p>

客户?CPU 开销

TDengine Database
写入q程中客L CPU 开销

从上囑֏以看刎ͼ客户端上 TDengine ?CPU 的需求大?TimescaleDB QTDengine 在客L峰值瞬间达C 56%Q然后快速回落,其在客户端的开销相比?TimescaleDB 多了 1 倍。但l合服务器与客户端的资源开销来看QTDengine 写入持箋旉更短Q在pȝ整体 CPU 开销?TDengine 仍然h相当大的优势?/p>

查询性能最高达C TimescaleDB ?28.6 ?/h2>

在场景一Q只包含 4 天数据)与场景二?15 个不同类型的查询中,TDengine 的查询^均响应时间全面优?TimescaleDBQ而且在复杂查询上优势更ؓ明显Q同时具有最的计算资源开销。相?TimeScaleDBQ场景一?TDengine 的查询性能是其 1.1 ?28.6 倍,场景二中 TDengine 的查询性能是其 1.2 ?24.6 倍?/p>

在查询性能评估部分Q我们用场景一和场景二作ؓ基准数据集。在查询性能评估之前Q对?TimescaleDBQ我们采用上文出现的 TimescaleDB vs. InfluxDB Ҏ报告中推荐配|,讄?8 ?Chunk Q以保其充分发挥查询性能。在整个查询Ҏ中,TDengine 数据库的虚拟节点数量QvnodesQ保持ؓ默认?6 个,其他的数据库参数配置为默认倹{?/p>

4,000 devices × 10 metrics查询性能Ҏ

׃部分cdQ分cL准参?TimescaleDB vs. InfluxDB Ҏ报告Q单ơ查询响应时间非常短Qؓ了更加准地量每个查询场景的较为稳定的响应旉Q我们将单个查询q行ơ数提升?5,000 ơ,然后使用 TSBS 自动l计q输出结果,最后结果是 5,000 ơ查询的数q_|使用q发客户?Workers 数量?8。下表是场景?Q?,000 讑֤Q下两大数据库的查询性能Ҏl果?/p>

TDengine Database

下面我们Ҏ个查询结果做一定的分析说明Q?/p>

TDengine Database
4000 devices × 10 metrics Simple Rollups 查询响应旉 (数D越?

׃ Simple Rollups 的整体查询响应时间非常短Q因此制U查询响应时间的M因素q不是查询所涉及的数据规模,卌一cd查询的瓶颈ƈ非数据规模。但从结果上看,TDengine 仍然在所有类型的查询响应旉上优?TimescaleDBQ具体的数值对比请参见上表?/p>

TDengine Database
4000 devices × 10 metrics Aggregates 查询响应旉 (数D越?

通过上图可以看到Q在 Aggregates cd的查询中QTDengine 的查询性能相比 TimescaleDB 有比较大的优势,其cpu-max-all-8 查询性能?TimescaleDB ?6 ?/strong>?/p>

TDengine Database
4000 devices × 10 metrics Double rollups 查询响应旉 (数D越?

?Double-rollups cd查询中, TDengine 同样展现出巨大的性能优势Q以查询响应旉来度量,其在 double-groupby-5 ?double-groupby-all cd下的查询性能均达C TimescaleDB ?24 倍?/p>

TDengine Database
4000 devices × 10 metrics Thresholds 查询 high-cpu-1 响应旉 (数D越?
TDengine Database
4000 devices × 10 metrics Thresholds 查询 high-cpu-all 响应旉 (数D越?

上面两图展示的是 threshold cd的查询对比,可以看到QTDengine 的查询响应时间均显著低于 TimescaleDB?strong>?high-cpu-all cd的查询上QTDengine 的性能?TimescaleDB ?1.23 ?/strong>?/p>

TDengine Database
4000 devices × 10 metrics Complex queries 查询响应旉 (数D越?

对于 Complex-queries cd的查询,TDengine 两个查询同样均大q领?TimescaleDB?strong>?lastpoint 查询中TDengine 的查询性能?TimescaleDB ?5 倍,?groupby-orderby-limit 场景?TDengine 的查询性能?TimescaleDB ?8 倍?/strong>在时间窗口聚合的查询q程中,针对规模较大的数据集 TimescaleDB 查询性能不佳Qdouble rollups cd查询Q,对于 groupby-orderby-limit cd的查询,TimescaleDB 的性能表现同样不是太好?/p>

资源开销Ҏ

׃部分查询持箋旉特别短,因此我们q不能完整地看到查询q程中服务器?IO/CPU/|络情况。ؓ此我们针对场景二?Double rollups cd中的 double-groupby-5 查询ZQ执?1,000 ơ查询,记录整个q程?TDengine、TimescaleDB 两个软gpȝ在查询执行的整个q程中服务器 CPU、内存、网l的开销q进行对比?/p>

TDengine Database
查询q程中服务器 CPU 开销

如上图所C(hou)两个pȝ在整个查(xuan)过(beng)E(yu) CPU 的(jiao)()均较ؓq(chong)(mo)T(xu)Dengine 在查(xuan)过(beng)E(yu)整体 CPU 占用(ke)(ke)U(wan)?80%Q(ben)(wu)(jiao)()的 CPU 资(juan)(lian)高,TimescaleDB 在查(xuan)过(beng)E(yu)瞬时 CPU 占用(ke)(ke)U(wan)?38%(mo)?strong>()׃(lu) TDengine 完成(yao)全部查询的(juan)(xiang)仅 TimescaleDB 1/20Q(ben)因(shu)虽然其() CPU E_(lian)是 TimescaleDB ?2 (lian)(ao)Q(ben)(wu)(cheng)体?CPU 计算(zu)消耗(yu)(yu)(lian)(sui)() 1/10 (mo)?/strong>

  • 服务器内存状?/strong>
TDengine Database
查询q程中服务器内存情况

如上图所C,在整个查询过E中QTDengine 内存l持在一个相对^E的状态。?TimescaleDB 在整个查询过E中内存呈现增加的状态,查询完成后即恢复到初始状态?/p>

  • 服务器网l带?/strong>
TDengine Database
查询q程中网l占用情?/figcaption>

上图展示了(ji)(xuan)过E中两个pȝ(hun)(fei)服务器端上行(han)下(nai)(fei)网l带宽情()况,(hong)以看到Q负(zhai)载状况(dian)本上?CPU 状况怼?strong>TDengine |络(ning)宽开(wen)较高(pei)Q(han)为在最短的旉内就完成了全(ting)查(xuan),需要将(mo)询l(dun)q回l客(xi)L。TimescaleDB 开(wen)较低Q(wu)持箋旉ѝ?/strong>

100 devices × 10 metrics 查询性能Ҏ

对于(lu)(she)(hong)一(100 devices x 10 metrics)QTSBS ?15 个查(xin)询对(jiao)结果如下()

TDengine Database

如上()(())表所C,从更(zhou)的数(ban)(kan)集()(zhi)100 讑֤Q(ben)上()(())的查询对比可以看刎ͼ整体(juan)?TDengine 同样展(kuang)(bang)出极(lai)好的性能Q(ben)?strong>在全部的查询语句(juan)全面优(hong)?TimescaleDBQ(ben)部分查询性能(zan)(zi) TimescaleDB 28 倍?/strong>

TimescaleDB 占用的磁盘空间最高达?TDengine ?26.9 ?/h2>

(juan)(juan)图(tuan)T(xie)Dengine ?TimescaleDB 数(ban)(yue)全落盘(er)以后Q比较()(juan)(juan)个pȝ(hun)(bai)(she)不同场景下的(tong)盘(zhen)(xiang)占用:(xi)

TDengine Database
盘I间占用Q数D越优)

在磁盘空间的(ti)用(juan),从上()囑֏(chi)以看(rou)ͼTimescaleDB 在全部五(juan)场景下(fei)数据规模均显(juan)大于(lu) TDengineQƈ(juan)这U差(fan)距(chu)(juan)数据规模(li)加(ji)快速变大?strong>TimescaleDB 在场景四和场景五(juan)占(zi)用磁盘空间是 TDengine (fei)?25.6 倍和 26.9 倍?/strong>

写在最?/h2>

从上q?TSBS 试报告中我们可以得出结论,不管是在写入性能、查询性能q是存储性能QTDengine 时序数据??TimescaleDB 时序数据?都略胜一{,且不论是服务器的 CPU q是 IO 抑或是客L的开销l计QTDengine 均远优于 TimescaleDB。尤其本ơ性能试q是Z Timescale 打造的基准性能试q_ TSBS q行的,试l果的公q_正性可见一斑?/p>

具体到实践上Q在八五信息的新能源电力物联|^台项目,曄使用?a href="//www.yakult-sh.com.cn/" target="_blank" data-type="URL" data-id="//www.yakult-sh.com.cn/" rel="noreferrer noopener">实时数据?/a>便是 TimescaleDBQ后面因为种U原因,他们选择应用 TDengine 升数据架构Q关于本ơ案例的具体信息可以查看《代?TimescaleDBQTDengine 接管数据量日?40 亿条的光伏日늳l?/a>?/p>

Z方便大家验证试l果Q本试报告支持q行试脚本一键复玎ͼƢ迎各位验。同Ӟ我们也欢q大家添?T vxQtdengine1Q加?TDengine 用户交流,和更多志同道合的开发者一h讨数据处理难题?/p> ]]> Time Series DataBase – TDengine | 娑涙€濇暟鎹?/title> <atom:link href="//www.yakult-sh.com.cn/time-series-database/feed" rel="self" type="application/rss+xml" /> <link>//www.yakult-sh.com.cn</link> <description>TDengine | 楂樻€ц兘銆佸垎甯冨紡銆佹敮鎸丼QL鐨勬椂搴忔暟鎹簱 | 娑涙€濇暟鎹?/description> <lastBuildDate>Mon, 21 Oct 2024 04:10:36 +0000</lastBuildDate> <language>zh-Hans</language> <sy:updatePeriod> hourly </sy:updatePeriod> <sy:updateFrequency> 1 </sy:updateFrequency> <generator>//wordpress.org/?v=6.8.2</generator> <image> <url>//www.yakult-sh.com.cn/wp-content/uploads/2025/07/favicon.ico</url> <title>Time Series DataBase – TDengine | 娑涙€濇暟鎹?/title> <link>//www.yakult-sh.com.cn</link> <width>32</width> <height>32</height> </image> <item> <title>濡備綍鎶婃暟鎹粠 TDengine 2.x 杩佺Щ鍒?3.x 锛?/title> <link>//www.yakult-sh.com.cn/tdengine-engineering/17753.html</link> <dc:creator><![CDATA[Yu Chen]]></dc:creator> <pubDate>Tue, 16 May 2023 09:14:53 +0000</pubDate> <category><![CDATA[鎶€鏈枃绔?- 鏃跺簭鏁版嵁搴揮]></category> <category><![CDATA[TDengine-TSDB]]></category> <category><![CDATA[Time Series DataBase]]></category> <guid isPermaLink="false">//www.yakult-sh.com.cn/?p=17753</guid> <description><![CDATA[瀹樻柟鏁欏鎵嬪唽鏉ヤ簡锛乚]></description> <content:encoded><![CDATA[ <blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"> <h3 class="wp-block-heading"><strong>杩佺Щ鑳屾櫙</strong></h3> <p>闅忕潃<a href="//www.yakult-sh.com.cn/" data-internallinksmanager029f6b8e52c="2" title="鏃跺簭鏁版嵁搴? target="_blank" rel="noopener">鏃跺簭鏁版嵁搴?/a>锛圱ime Series Database锛?TDengine 3.0 鐨勫彂甯冭嚦浠婏紝鎴戜滑闄や簡鍦ㄦ寔缁湴浼樺寲浜у搧璐ㄩ噺鐨勬湰韬紝涔熶竴鐩村湪鍔姏鍦版彁鍗囩敤鎴蜂綋楠屻€備絾鐢变簬 3.0 搴曞眰鏈夊ぇ閲忕殑閲嶆瀯浼樺寲锛屽鑷村紑婧愮増鐨?2.0 鐢ㄦ埛鏃犳硶閫氳繃甯歌閫斿緞鏉ュ崌绾у埌 3.0 锛屾湰鏈熸枃绔犲皢浼氬崗鍔╁ぇ閮ㄥ垎寮€婧愮増鐢ㄦ埛瑙e喅杩欎釜闂銆?br>鐩墠锛屾垜浠彲浠ユ彁渚涗袱绉嶈縼绉绘柟妗堬細</p> <ol class="wp-block-list"> <li>TDengine 瀹樻柟宸ュ叿 taosdump锛?/li> <li>寮€婧愭暟鎹縼绉昏В鍐虫柟妗堬細dataX TDengine reader/writter锛?/li> </ol> <p>鍓嶈€呬細鎶婃暟鎹牴鎹厤缃鍑哄帇缂╁瓨鍌ㄥ埌鏈湴锛屼骇鍝佸睘鎬ф洿鍊惧悜浜庡浠?鎭㈠宸ュ叿銆傚悗鑰呭垯浼氬湪鍐呭瓨涓洿鎺ヤ紶杈撴暟鎹紝鍋忓悜鏁版嵁杩佺Щ宸ュ叿銆傛湰绡囨枃绔犵殑涓讳綋涓哄墠鑰呯殑 taosdump锛宒ataX 鐨勪娇鐢ㄦ柟寮忓彲浠ラ€氳繃杩欑瘒鏂囩珷鏉ヤ簡瑙o細//www.yakult-sh.com.cn/engineering/16401.html</p> </blockquote> <p>棣栧厛锛屾垜浠厛璇翠笅 taosdump 涓轰粈涔堟槸鍗忓姪鈥滃ぇ閮ㄥ垎鈥濆紑婧愮増鐢ㄦ埛瑙e喅杩欎釜闂锛?/p> <p>taosdump 鐨勫鍑鸿涓虹殑鏈川鍏跺疄鏄娇鐢?SQL 杩涜鏌ヨ锛屽皢鏁版嵁鍘嬬缉鍚庤緭鍑哄埌鏈湴锛屽鍏ヨ涓哄垯鏄€氳繃 STMT 鎺ュ彛鍐嶆妸瀵煎嚭鐨勬暟鎹鍏ユ柊鐨勭幆澧冦€傚湪鍐呴儴锛屽畠宓屽叆浜嗕竴涓?TDengine 瀹㈡埛绔紝閫氳繃 -T 鍙傛暟鐨勭嚎绋嬫暟閰嶇疆锛屽苟鍙戝湴鎶婃墍鏈?SQL 璇锋眰鍙戠粰鏁版嵁搴擄紝姝ゅ悗锛屽悗缁殑鏌ヨ宸ヤ綔灏辨槸鏁版嵁搴撹嚜宸辩殑浜嬫儏浜嗐€傞壌浜庝互涓婂師鍥狅紝鎵€浠ュ畠鐨勫鍑哄鍏ョ殑鎬ц兘閮藉崄鍒嗕緷璧栦簬鏁版嵁搴撴湰韬殑閮ㄧ讲寤烘ā鏄惁绉戝锛岀‖浠惰祫婧愭槸鍚﹀厖瓒崇瓑鍥犵礌銆?/p> <p>涓句釜绠€鍗曚緥瀛愶細鍋囧鏌愮敤鎴峰湪寤鸿〃鐨勬椂鍊欙紝瀵逛簬涓€鍒楁湰搴斾娇鐢?binary(100) 灏辫冻澶熺殑鏁版嵁浣跨敤浜?nchar(2000)锛岄偅涔堢瓑鍒板鍑?SQL 鎵ц鐨勬椂鍊欙紝鎬ц兘灏变細琚嫋绱緢澶氥€?/p> <p>鍥犳锛岃兘澶熼『鍒╁畬鎴愭暟鎹鍑虹殑鐢ㄦ埛锛屽簲灏介噺鎷ユ湁濡備笅鍑犱釜鐗瑰緛锛?/p> <ol class="wp-block-list"> <li>鎷ユ湁瓒冲纾佺洏绌洪棿鈥斺€斿洜涓虹‖鐩樹笂鐨勬暟鎹槸鍒楀紡鍘嬬缉锛岃€屽鍑烘暟鎹负琛屽紡鍘嬬缉銆傚鏋滈€夋嫨涓€娆℃€у鍑哄叏閮ㄦ暟鎹紝寤鸿闇€瑕佽嚦灏戠暀鍑?nbsp;du -sh $dataDir/vnode –exclude=’wal’ 澶у皬鐨?3 鍊嶇┖闂达紙澶氬鐩婂杽锛夈€備絾濡傛灉鏄寜鐓у簱/琛ㄤ负鍗曚綅鍒嗘壒瀵煎嚭锛屾垨鑰呮寚瀹氭椂闂磋寖鍥村鍑虹殑璇濓紝灏辨瘮杈冪伒娲讳簡銆?br></li> <li>鏁版嵁搴撴棩甯镐娇鐢ㄨ礋杞戒笉楂橈紝鍦ㄥぇ閲忓鍑?SQL 鎵ц鏃讹紝鏁版嵁搴撲粛鏈夊厖瓒宠祫婧愬彲浠ヤ繚闅滄甯哥敓浜т娇鐢ㄣ€?br></li> <li>寰呰縼绉荤殑 2.0 鏁版嵁涓烘祴璇曠幆澧冧笉闇€鎷呭績褰卞搷涓氬姟锛屾垨鑰呯敓浜х幆澧冪殑涓氬姟闂存瓏鏈熻冻澶熷畬鎴愭暟鎹殑瀵煎嚭鈥斺€旇繖涓ょ偣闇€瑕佺粨鍚堝綋鍓嶅鍑洪€熷害鑷繁璇勪及銆?/li> </ol> <h4 class="gb-headline gb-headline-7c87b225 gb-headline-text"><strong>鎬荤粨</strong></h4> <p>瀵煎嚭/瀵煎叆鏁版嵁鐨勫揩鎱㈡槸鐢?SQL 鎵ц鏁堢巼鏉ュ喅瀹氱殑锛岃€?SQL鎵ц鏁堢巼鐨勮儗鍚庡張鏄敱閮ㄧ讲寤烘ā锛岀‖浠惰祫婧愮瓑鍥犵礌鍐冲畾鐨勩€?/p> <p>鍙纾佺洏绌洪棿鍏呰冻锛屾椂闂村厖瓒筹紝灏卞彲浠ュ畬鎴愬鍑烘搷浣溿€傚鍏ュ垯鐩稿绠€鍗曪紝娌℃湁棰濆闇€姹傦紝鎸夌収姝e父鐨勬暟鎹簱閮ㄧ讲鎬濊矾鍗冲彲銆?/p> <p>鍥犱负 taosdump 鏈韩鐨勪骇鍝佺壒寰佸喅瀹氫簡鍦ㄤ笂杩扮壒娈婃儏鍐典笅锛岃縼绉绘暟鎹細鏈夋晥鐜囬棶棰橈紝鍥犳杩欎篃鏄垜浠紑鍙戜笓涓氱殑浼佷笟鐗堟暟鎹縼绉诲伐鍏?taosX 鐨勫師鍥犱箣涓€銆?/p> <h3 class="gb-headline gb-headline-c6ddf6e6 gb-headline-text"><strong>杩佺Щ鎿嶄綔</strong></h3> <p><strong>瀵煎嚭鏂癸細</strong></p> <p>瀵逛簬 2.0 涓€渚э紝棣栧厛瑕佸噯澶囧ソ鏈€鏂扮増鏈殑 TDengine 鍜?taosdump 宸ュ叿锛屽叿浣撴搷浣滃涓嬶細</p> <ol class="wp-block-list"> <li>鎶婃暟鎹簱鍗囩骇鍒?2.6.0.34锛屽崌绾ф敞鎰忎簨椤逛互鍙婃搷浣滄楠ら兘鍙互鍙傝€冭繖绡囨枃绔狅細<a href="//www.yakult-sh.com.cn/engineering/10222.html">//www.yakult-sh.com.cn/engineering/10222.html</a>銆傦紙娉ㄦ剰锛歊PM 鍜?Deb 鍖呬笉鍚?taosdump 锛屽畠闇€瑕侀€氳繃瀹夎 taosTools 鍖呰幏寰椼€傛墍浠ュ缓璁ぇ瀹剁洿鎺ヤ娇鐢ㄥ寘鍚?TDengine 鐨?Tar 鍖呭畬鎴愬崌绾с€傦級TDengine 瀹夎鍖呴渶浠?2.6 鐗堟湰鐨勬枃妗e幓涓嬭浇锛歨ttps://www.yakult-sh.com.cn/all-downloads 銆傚鏋滀娇鐢ㄤ簡 RPM 鍜?Deb 鐨勮瘽锛屽悓鏍烽渶瑕侀€氳繃涓婅堪閾炬帴涓嬭浇鏈€鏂扮増鐨?taostool 鑾峰彇 taosdump宸ュ叿锛堝綋鍓嶆渶鏂扮増涓?2.4.5锛夈€?/li> <li>浣跨敤 taosdump 鎶婃暟鎹鍑猴細鍏蜂綋鎿嶄綔鍙弬鑰冿細<a href="//docs.yakult-sh.com.cn/2.6/reference/taosdump/" rel="nofollow noopener" target="_blank">//docs.yakult-sh.com.cn/2.6/reference/taosdump/</a>銆備妇渚嬶細</li> </ol> <ul class="wp-block-list"> <li></li> </ul> <pre class="wp-block-code"><code>taosdump -o /test -D test -T 4</code></pre> <p>杩欐潯鍛戒护浼氭妸 test 搴撶殑鏁版嵁锛岀敤 4 涓嚎绋嬪鍑哄埌 /test 鐩綍涓嬮潰锛屾枃浠跺舰寮忓涓嬶細</p> <div class="wp-block-image"> <figure class="aligncenter size-large"><img fetchpriority="high" decoding="async" width="1024" height="144" src="//www.yakult-sh.com.cn/wp-content/uploads/2023/05/image-4-1024x144.png" alt="濡備綍鎶婃暟鎹粠 TDengine 2.x 杩佺Щ鍒?3.x 锛?- TDengine Database 鏃跺簭鏁版嵁搴? class="wp-image-17754" title="濡備綍鎶婃暟鎹粠 TDengine 2.x 杩佺Щ鍒?3.x 锛?- TDengine Database 鏃跺簭鏁版嵁搴? srcset="//www.yakult-sh.com.cn/wp-content/uploads/2023/05/image-4-1024x144.png 1024w, //www.yakult-sh.com.cn/wp-content/uploads/2023/05/image-4-300x42.png 300w, //www.yakult-sh.com.cn/wp-content/uploads/2023/05/image-4-768x108.png 768w, //www.yakult-sh.com.cn/wp-content/uploads/2023/05/image-4.png 1252w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure></div> <p>鎺ヤ笅鏉ワ紝鎴戜滑闇€瑕佹妸 test 璺緞涓嬬殑瀵煎嚭鏂囦欢锛岃縼绉诲埌 3.0 鐨勭幆澧冧腑锛屽噯澶囨暟鎹鍏ャ€?/p> <p><strong>瀵煎叆鏂癸細</strong></p> <ol class="wp-block-list"> <li>3.0 杩欎竴渚э紝鏂扮幆澧冩垜浠缓璁娇鐢ㄦ渶鏂扮増锛屽悇鏂归潰閮芥洿濂斤紙褰撳墠鏈€鏂扮増涓?3.0.4.1锛夛紝姝e父瀹夎閮ㄧ讲鍗冲彲銆傦紙鍚屾牱锛歊PM 鍜?Deb 鍖呬笉鍚?nbsp;taosdump 锛屽畠闇€瑕侀€氳繃瀹夎 taosTools 鍖呰幏寰椼€?鎵€浠ュ缓璁ぇ瀹剁洿鎺ヤ娇鐢ㄥ寘鍚?taosdump 鐨?tar 鍖呭畬鎴愰儴缃诧紝涓嬭浇閾炬帴锛?a href="//docs.yakult-sh.com.cn/releases/tdengine/" rel="nofollow noopener" target="_blank">//docs.yakult-sh.com.cn/releases/tdengine/</a>锛変絾鏄鏋滃彧鑳戒娇鐢?RPM 鎴栬€?Deb 锛宼aosTools 鍒欓渶瑕佷粠 3.0 鐨勬枃妗e崟鐙笅杞斤紝鍦板潃锛?a href="//docs.yakult-sh.com.cn/releases/tools/" rel="nofollow noopener" target="_blank">//docs.yakult-sh.com.cn/releases/tools/</a> 锛堝綋鍓嶆渶鏂扮増涓?nbsp;2.5.0锛?br></li> <li>瀵煎叆涔嬪墠锛屾垜浠鍏堣杩涘叆瀵煎嚭鏂囦欢鐩綍涓嬬殑鏍囩孩鐩綍锛屾墦寮€閲岄潰鐨?dbs.sql锛岄拡瀵瑰缓搴?SQL 鍋氫竴浜涢拡瀵规€х殑璋冩暣銆傚挨鍏堕渶瑕佹敞鎰忕殑鏄?VGROUPS 鍙傛暟锛岃繖鏄?3.0 鐨勬柊澧炲弬鏁帮紝浠f浛浜嗘鍓?2.0 鐨勪竴绯诲垪寤鸿〃閫昏緫锛岄粯璁ゆ槸 2 锛屼唬琛ㄧ潃杩欎釜搴撴湁 2 涓?VGROUP 銆傚鏋滃師鏈殑 2.0 鐜浣跨敤浜?4 涓?VGROUP锛岄偅涔堝氨闇€瑕佹墜鍔ㄦ坊鍔?“VGROUPS 4” 鍒板缓搴撹鍙ュ悗闈紝鍗冲彲淇濇寔鍜?2.0 鐗堟湰涓€鏍风殑 VGROUP 鏁伴噺浜嗐€傦紙鍏朵粬鍙傛暟鍚岀悊锛岀洿鎺ュ湪寤哄簱 SQL 鍚庢坊鍔犲嵆鍙紝鑷充簬璇ヨ鍙ヤ腑 2.0 鏃朵唬鐨勬棫鍙傛暟鍒欎細琚鍏ョ▼搴忚嚜鍔ㄥ睆钄芥帀銆傚叿浣撶殑 3.0 寤哄簱鍙傛暟缁嗚妭鍙弬鑰冿細<a href="//docs.yakult-sh.com.cn/taos-sql/database/" rel="nofollow noopener" target="_blank">//docs.yakult-sh.com.cn/taos-sql/database/</a>锛?/li> </ol> <div class="wp-block-image"> <figure class="aligncenter size-full"><img decoding="async" width="610" height="87" src="//www.yakult-sh.com.cn/wp-content/uploads/2023/05/image-5.png" alt="濡備綍鎶婃暟鎹粠 TDengine 2.x 杩佺Щ鍒?3.x 锛?- TDengine Database 鏃跺簭鏁版嵁搴? class="wp-image-17756" title="濡備綍鎶婃暟鎹粠 TDengine 2.x 杩佺Щ鍒?3.x 锛?- TDengine Database 鏃跺簭鏁版嵁搴? srcset="//www.yakult-sh.com.cn/wp-content/uploads/2023/05/image-5.png 610w, //www.yakult-sh.com.cn/wp-content/uploads/2023/05/image-5-300x43.png 300w" sizes="(max-width: 610px) 100vw, 610px" /></figure></div> <p><strong>绀轰緥锛?/strong></p> <p>鍘熸湰鐨勫缓搴撹鍙ワ細</p> <pre class="wp-block-code"><code>CREATE DATABASE IF NOT EXISTS test REPLICA 1 QUORUM 1 DAYS 10 KEEP 3650 CACHE 16 BLOCKS 6 FSYNC 3000 PRECISION 'ms' MINROWS 100 MAXROWS 4096 COMP 2 ;</code></pre> <p>娣诲姞鍙傛暟鍚庯細</p> <pre class="wp-block-code"><code>CREATE DATABASE IF NOT EXISTS test REPLICA 1  QUORUM 1 DAYS 10 KEEP 3650 CACHE 16 BLOCKS 6 FSYNC 3000  PRECISION 'ms'  MINROWS 100 MAXROWS 4096 COMP 2 VGROUPS 4;</code></pre> <p>淇敼瀹?dbs.sql 鍚庯紝渚垮彲浠ユ墽琛屽鍏ユ搷浣滀簡锛屽鍏ユ搷浣滄湰韬槸姣旇緝绠€鍗曠殑锛屽叿浣撴搷浣滃彲鍙傝€冿細<a href="//docs.yakult-sh.com.cn/2.6/reference/taosdump/" rel="nofollow noopener" target="_blank">//docs.yakult-sh.com.cn/2.6/reference/taosdump/</a>銆備妇渚嬶細</p> <p>杩欐潯鍛戒护浼氭妸 /test 鐩綍涓嬬殑鏁版嵁锛岀敤 4 涓嚎绋嬪鍏ュ埌褰撳墠鐜涓嬮潰锛屽湴鍧€榛樿涓?localhost锛岀嚎绋嬫暟鍙牴鎹満鍣ㄩ厤缃厡鎯呰缃€?/p> <p>瀵煎叆瀹屾瘯涔嬪悗妫€楠屾暟鎹唴瀹癸紝纭鏃犺涔嬪悗锛屽紑婧愮増 TDengine 2.0 鑷?3.0 鏁版嵁杩佺Щ渚垮畬鎴愪簡銆?/p> <p>濡傛灉涓婅堪涓ょ杩佺Щ鏂规閮戒笉鑳藉府鍔╂垜浠畬鎴愭暟鎹縼绉伙紝娆㈣繋鑱旂郴 TDengine 浼佷笟鐗堝洟闃熷仛瀹氬埗鍖栫殑鏀寔鏈嶅姟銆?/p> ]]></content:encoded> </item> <item> <title>鑱氱劍 TimescaleDB VS TDengine 鎬ц兘瀵规瘮鎶ュ憡锛屼簲澶у満鏅叏闈㈠垎鏋愬啓鍏ヤ笌鏌ヨ //www.yakult-sh.com.cn/tdengine-engineering/17524.html Wed, 12 Apr 2023 02:04:15 +0000 //www.yakult-sh.com.cn/?p=17524 Z验证 TDengine 3.0 的性能Q我们用第三方基准性能试q_ TSBSQTime Series Benchmark SuiteQ?中针?DevOps ?cpu-only 五个场景作ؓ基础数据集,在相同的 AWS 云环境下?TDengine 3.0 ?InfluxDB 1.8Q该版本?InfluxDB 能够q行 TSBS 框架的最新版本) q行了对比分析。在本篇文章中,我们从写入、存储、查询、及资源开销{几大维度对试l果q行汇d析,l到大家参考?/p>

我们采用下方 TimescaleDB vs. InfluxDB Ҏ报告中推荐的方式配置 InfluxDBQ将~冲区配|ؓ 80GQ以?1000W 讑֤写入时能够顺利进行,同时开?Time Series IndexQTSIQ。配|系l在pȝ插入数据完成 30s 后开始数据压~?/p>

TimescaleDB vs. InfluxDB: Purpose Built Differently for Time-Series DataQ?/mark>

//www.timescale.com/blog/timescaledb-vs-influxdb-for-time-series-data-timescale-influx-sql-nosql-36489299877/

关于pȝ的配|详情、如何一键复现测试结果及详细的测试数据介l等内容Q大家可参?a href="//www.yakult-sh.com.cn/time-series-database/17245.html" data-type="URL" data-id="//www.yakult-sh.com.cn/time-series-database/17245.html" target="_blank" rel="noreferrer noopener">《一键获取测试脚本,L验证“TSBS 时序数据库性能基准试报告”?/a>?a href="//www.yakult-sh.com.cn/engineering/16710.html" target="_blank" rel="noreferrer noopener">《TSBS 是什么?Z么时序数据库 TDengine 会选择它作为性能Ҏ试q_Q?/a>两篇文章Q本文便不再赘述?/p>

写入性能最高达?InfluxDB ?10.6 ?/h2>

M而言Q在 TSBS 报告全部?cpu-only 五个场景中,时序数据?/a>Q?a href="//www.yakult-sh.com.cn/time-series-database" target="_blank" rel="noreferrer noopener">Time Series Database,TSDBQ?a href="//www.yakult-sh.com.cn/" target="_blank" rel="noreferrer noopener">TDengine (cong)入性能(shi)均优(bang)?InfluxDB(mo)相?InfluxDBQ(ben)(ben)TDengine (cong)入(kun)度(hai)(lian)领先的场景是(wei)?10.6 倍((zhi)场景(bang))Q(ben)(ben)最(hao)也?3.0 倍((zhi)场景(juan))(mo)此外,TDengine 在写(wei)过E中消耗了(lian)(hao)?CPU 资源(zan)(xia)磁?IO 开(wen)(mo)下面看(lian)(juan)(juan)具体分析:

不同场景下写入性能Ҏ

TDengine Database
不同场景下写入性能的对比(metrics/sec. 数D大越好)

从上囑֏以看刎ͼ在全部五个场景中Q?strong>TDengine 的写入性能全面越 InfluxDB。TDengine 在场景五中写入性能?InfluxDB ?10.63 倍,在差距最的场景一中也?3.01 倍?/p>

写入q程资源消耗对?/strong>

数据写入速度q不能够全面的反?TDengine ?InfluxDB 在不同场景下数据写入的整体表现。ؓ此我们以 1,000,000 devices × 10 metrics Q场景四Qؓ例,查数据写入过E中的服务器和客LQ包括客L与服务器Q的整体负蝲状况Qƈ以此来对?TDengine ?InfluxDB 在写入过E中服务?客户端节点的资源占用情况Q这里的资源占用主要包括服务器端?CPU 开销/盘 IO 开销和客L CPU 开销?/p>

服务?CPU 开销

下图展示了两大数据库在场景四写入q程中服务器?CPU 负蝲状况。可以看刎ͼTDengine ?InfluxDB 在返回给客户端写入完成消息以后,都还l箋使用服务器的资源q行相应的处理工作,InfluxDB 使用了相当多?CPU 资源Q瞬时峰值甚至用了全部?CPU 资源Q其写入负蝲较高Qƈ且其持箋旉q长?TDengine?strong>两个pȝҎQTDengine Ҏ务器?CPU 需求最,峰g仅用了 17% 左右的服务器 CPU 资源?/strong>由此可见QTDengine 独特的数据模型对于时序数据写入不仅在性能上,在整体的资源开销上也h非常大的优势?/p>

TDengine Database
写入q程中服务器 CPU 开销

盘 I/O Ҏ

下图展示?1,000,000 devices × 10 metrics Q场景四Q数据写入过E中两大数据库在服务器端盘的写入状态。可以看刎ͼl合着服务器端 CPU 开销表现Q其 IO 动作?CPU 呈现同步的活跃状态?/p>

TDengine Database
写入q程中服务器 IO 开销

在写(qi)(wei)相(yang)规模的(qing)(qing)(qing)(suo)(suo)(ban)集情况下Q(ben)(ben)TDengine 在写(qi)(wei)过E中(fen)(fen)(guang)(guang)(lu)盘写(luo)(ai)能力的占用远于(lu) InfluxDBQ(ben)(ben)写(qi)(wei)过E只(ti)用了部(rang)(rang)分(pang)(sui)(hua)(qi)(wei)能力((zhi)125MiB/Sec. 3000IOPSQ(ben)(ben)。从(juan)图能看刎ͼ(fen)(fen)(guang)(guang)(lu)(juan)大(suo)(suo)(ban)库,(suo)(suo)(ban)写(luo)(ai)q程(juan)磁(sui)的(qing)(qing)(qing) IO 瓉都是实存(hua)的?strong>?InfluxDB (xiang)时(xiang)(cun)(zhi)耗完(wei)部(rang)(rang)的磁(sui)(hua)(qi)(wei)能力,q远过?TDengine (fen)(fen)(gui)(sui)(hua)(qi)(wei)能力的(qing)(qing)(qing)(an)(cha)?/strong>

客户?CPU 开销

TDengine Database
写入q程中客L CPU 开销

从上()(qie)֏以看(rou)ͼ(ren)(yue)户(jiong)(ku)(ku)上() TDengine ?CPU (fei)(dan)求是(yi)(chan)于 InfluxDB (fei)。整(huan)(dun)_(ren)在整个写(wei)(wei)(wei)过(beng)E中QInfluxDB (yue)户(jiong)(ku)(ku)负(zhai)载计资(xia)(jing)(su)(zi)用较(ji)(huan),(ren)对客L压(pin)(pin)(hao)(xi)(ren)q是(yi)(qie)ؓ(fu)(wei)(wei)(wei)写(wei)(wei)(wei)的压(pin)(pin)基(hong)上完(wei)(wei)(wei)集中在()(lian)(ao)(gai)(ku)(ku),(ren)(huan)这U(cao)(liao)很(yue)ҎD(lian)(ao)(gai)(ku)(ku)成为瓶颈。?TDengine 在客L(fei)开(wen)(lian)(chan),(ren)峰值瞬间(cuo)(rou)C(ban)(jian) 56%Q然后快速回落?strong>l合(lian)(ao)(gai)器与(yue)户(jiong)(ku)(ku)的资源(liao)(wen)来看QT(ni)Dengine 写(luo)持箋旉更短(lie)Q在()pȝ整体 CPU (liao)(wen)?TDengine 仍然(wei)(wei)(wei)h(sui)当(chan)的优势(cheng)(mo)?/strong>

查询性能最高达?InfluxDB ?37 ?/h2>

在查询性能的评CQ我们用场景一和场景二作ؓ基准数据集。ؓ了让 InfluxDB 发挥出更好的查询性能Q我们开?InfluxDB ?TSI (time series index)。在整个查询Ҏ中,TDengine 数据库的虚拟节点数量QvnodesQ保持ؓ默认?6 个,其他的数据库参数配置为默认倹{?/p>

M来说Q查询方面,在场景一Q只包含 4 天的数据Q与场景二的 15 个不同类型的查询中,TDengine 的查询^均响应时间是全面优于 InfluxDB 的,而且在复杂查询上优势更ؓ明显Q同时具有最的计算资源开销。相?InfluxDBQ场景一?TDengine 查询性能是其 1.9 ?37.0 倍,场景二中 TDengine 查询性能是其 1.8 ?34.2 倍?/p>

4,000 devices × 10 metrics查询性能Ҏ

׃部分cdQ分cL准参?TimescaleDB vs. InfluxDB Ҏ报告Q单ơ查询响应时间非常短Qؓ了更加准地量每个查询场景的较为稳定的响应旉Q我们将单个查询q行ơ数提升?5,000 ơ,然后使用 TSBS 自动l计q输出结果,最后结果是 5,000 ơ查询的数q_|使用q发客户?Workers 数量?8。首先我们提供场景二Q?,000 讑֤Q的查询性能Ҏl果Q?/p>

TDengine Database

下面我们Ҏ个查询结果做一定的分析说明Q?/p>

TDengine Database
4000 devices × 10 metrics Simple Rollups 查询响应旉 (数D越?

׃ Simple Rollups 的整体查询响应时间非常短Q制U查询响应时间主体因素ƈ不是查询涉及的数据规模,卌U类型查询的瓉q不是数据规模。但?TDengine 仍然在所有类型的查询响应旉上优?InfluxDBQ具体的数值比较请参见上表中的详细数据表格?/p>

TDengine Database
4000 devices × 10 metrics Aggregates 查询响应旉 (数D越?

?Aggregates cd的查询中Q我们看?TDengine 查询性能相比?InfluxDB 有较大优势,TDengine cpu-max-all-8 cd的(juan)询性能(tuan)?InfluxDB ?7 倍(zhan)?/strong>

TDengine Database
4000 devices × 10 metrics Double rollups 查询响应旉 (数D越?

?Double-rollups cd查询中, TDengine 同样展现出巨大的性能优势Q以查询响应旉来度量,?double-groupby-5 查询?TDengine ?InfluxDB ?26 (lian),double-groupby-all 上(cong)?34 (lian)?/strong>

TDengine Database
4000 devices × 10 metrics Thresholds 查询 high-cpu-1 响应旉 (数D越?
TDengine Database
4000 devices × 10 metrics Thresholds 查询 high-cpu-all 响应旉 (数D越?

上面两图(tuan)?threshold cd(yi)(fei)查(xin)询对(jiao),TDengine (fei)查(xin)询响应时间(cun)(tuan)(juan)低(tong) InfluxDB?strong>?high-cpu-all cd(yi)(fei)查(xin)询上QTDengine (fei)性能(tuan)?InfluxDB (fei)?15 (lian)?/strong>

TDengine Database
4000 devices × 10 metrics Complex queries 查询响应旉 (数D越?

对于 Complex-queries cd(hui)的查(xin)(xuan)(xuan),TDengine (juan)个(fu)查询均(jiong)q(xu)?InfluxDB(mo)?strong>(she)?lastpoint 查询(juan),查询性能?InfluxDB ?21(lian);(she)?groupby-orderby-limit (she)景(juan)查(xin)(xuan)(xuan)性能?InfluxDB ?15 (lian)?/strong>

资源开销Ҏ

׃部分查询持箋旉特别短,因此我们q不能完整地看到查询q程中服务器?IO/CPU/|络情况。ؓ此我们针对场景二?Double rollups cd中的 double-groupby-5 查询ZQ执?1,000 ơ查询,记录 TDengine ?InfluxDB 在查询执行的整个q程中服务器 CPU、内存、网l的开销q进行对比?/p>

TDengine Database
查询q程中服务器 CPU 开销

(xi)(xi)(xi)上囑֏(chi)(xi)(xi)(xi)看刎ͼ(ren)TDengine ?InfluxDB 在整个查(xuan)过E(yu)(fu) CPU (fei)(jiao)()均(cha)(cha)ؓq稳。T(xu)Dengine 在查(xuan)过E(yu)(fu)(suo)体 CPU (ti)(jie)U?80%Q(ben)(wu)(jiao)()的 CPU 资源(cha)(cha)高Q(ben)InfluxDB E_(lei)(fei)?CPU (ti)(jie)(cha)(cha)(fu)(fu)(he)Q(ben)约 27 %Q(ben)但(cheng)是有(cha)(cha)(fu)(fu)(fei)瞬(chan)时(duo)高)。(bei)(suo)体 CPU (liao)(wen)上来看,(ren)虽(jie) InfluxDB 瞬时(lu) CPU (liao)(wen)(chan)(chan)部分(ji)(yi)(yi)(cha)(cha)低(fei),(ren)(huan)(ji)(yi)(yi)其(duo)成查(xuan)持l(zi)时(lu)间(cun)(ying)(xiang),(ren)所(xi)(xi)(xi)整(huan)?CPU 资源消耗最(ying)(chan)(chan)?strong>()׃ TDengine 完成(yao)全部查询(fei)时(lu)间仅?InfluxDB (fei)?1/20Q(ben)虽(zhu)?CPU E_(lei)(lian)是(yi)(yi) InfluxDB (fei)?2 (lian)多Q(ben)(wu)(cheng)(suo)体(fei)?CPU 计算旉消耗只(lian)其 1/10 ?/strong>

服务器内存状?/strong>

TDengine Database
查询q程中服务器内存情况

如上图所C,在整个查询过E中QTDengine ?InfluxDB 的内存均l持在一个相对^E的状态?/p>

服务器网l带?/strong>

TDengine Database
查询q程中网l占用情?/figcaption>

上图展示了查询过E中服务器端上行和下行的|络带宽情况Q负载状况基本上?CPU 状况怼?strong>TDengine |络带宽开销最高,因ؓ在最短的旉内就完成了全部查询,需要将查询l果q回l客L?/strong>InfluxDB |络带宽开销最低,持箋旉也较ѝ?/p>

3,100 devices × 10 metrics 查询性能Ҏ

对于(lu)场景(juan)(juan)(100 devices x 10 metrics)Q(ben)T(ni)SBS ?15 (juan)(juan)查询对比(qi)(bai)果如(juan)(juan):(xi)

TDengine Database

如上表所C,在更规模的数据集(100讑֤Q上的查询对比可以看刎ͼ整体(hong)(juan)?TDengine 同样展现出极好的(hao)能(shi)(shi)Q在()全部(fei)查(xuan)语句中全面(kui)优于(lu) InfluxDBQ部分(ji)(xuan)性能(shi)(shi)过(beng) InfluxDB 37 倍?/strong>

InfluxDB 占用的磁盘空间最高达?TDengine ?4.5 ?/h2>

(she)前面三个场(man)景中(fu)(fu)Q(ben)InfluxDB 落(jie)(er)后数据文(yun)件规模与 TDengine 非常()近Q(ben)但是在()大数据规模的(she)景四和(nin)(she)景五中(fu)(fu)Q(ben)InfluxDB 落(jie)(er)后文(yun)件占(zi)()的(shu)盘(er)I间显著(xian)(zi)?TDengine。下(xiao)图比较了 TDengine (xia)?InfluxDB (she)不(zhen)同场(man)景下(xiao)的磁盘空(xiang)(cun)(zi)()情况:(xi)

TDengine Database
盘I间占用Q数D越优)

(xi)(tong)囑(ju)(xi)看(rou)ͼ(ren)在前(shan)(wei)(wei)三个场(xiu)中(fu)Q(ben)(ben)InfluxDB (nie)盘(er)(yang)数(kai)据文(xi)(duo)(zhou)与(ya) TDengine (wei)(wei)常接近Q(ben)(ben)在场景二中(fu)Q(ben)(ben)TDengine 的数(kai)据落盘规(zhou)比 InfluxDB 大了 1%Q(ben)(ben)?strong>但是在场(xiu)四和场(xiu)五中,(ren)InfluxDB (nie)盘(er)(yang)文(xi)占用的盘(er)I(chu)间(rou)别(tuan)?TDengine ?4.2 (lian)和 4.5 (lian)?/strong>

写在最?/h2>

Z本次试报告Q我们可以得出结论,在全部的数据场景中,TDengine 写入性能、查询性能均全面超q?InfluxDB。在整个写入q程中,TDengine 在提供更高写入和查询能力的前提下Q不论是服务器的 CPU q是 IOQTDengine 均优?InfluxDB。即使加上客L的开销l计QTDengine 在写入开销上也?InfluxDB 之下?/p>

从实践角度出发,q个报告l果也很好地说明了ؓ什么有很多企业客户?InfluxDB ?TDengine 的选型调研中选择?TDengineQ双汇便是其中之一Q在《双汇大数据Ҏ选型Q从手的InfluxDB+Redis到毫U查询的TDengine?/a>q篇文章中,侉KqC光型调研q程的具体思考?/p>

Z方便大家验证试l果Q本试报告支持q行试脚本一键复玎ͼƢ迎大家在评论区互动交流。同Ӟ你也可以d T vxQtdengine1Q加?TDengine 用户交流,和更多志同道合的开发者一h讨数据处理难题?/p> ]]> Time Series DataBase – TDengine | 娑涙€濇暟鎹?/title> <atom:link href="//www.yakult-sh.com.cn/time-series-database/feed" rel="self" type="application/rss+xml" /> <link>//www.yakult-sh.com.cn</link> <description>TDengine | 楂樻€ц兘銆佸垎甯冨紡銆佹敮鎸丼QL鐨勬椂搴忔暟鎹簱 | 娑涙€濇暟鎹?/description> <lastBuildDate>Mon, 21 Oct 2024 04:10:36 +0000</lastBuildDate> <language>zh-Hans</language> <sy:updatePeriod> hourly </sy:updatePeriod> <sy:updateFrequency> 1 </sy:updateFrequency> <generator>//wordpress.org/?v=6.8.2</generator> <image> <url>//www.yakult-sh.com.cn/wp-content/uploads/2025/07/favicon.ico</url> <title>Time Series DataBase – TDengine | 娑涙€濇暟鎹?/title> <link>//www.yakult-sh.com.cn</link> <width>32</width> <height>32</height> </image> <item> <title>濡備綍鎶婃暟鎹粠 TDengine 2.x 杩佺Щ鍒?3.x 锛?/title> <link>//www.yakult-sh.com.cn/tdengine-engineering/17753.html</link> <dc:creator><![CDATA[Yu Chen]]></dc:creator> <pubDate>Tue, 16 May 2023 09:14:53 +0000</pubDate> <category><![CDATA[鎶€鏈枃绔?- 鏃跺簭鏁版嵁搴揮]></category> <category><![CDATA[TDengine-TSDB]]></category> <category><![CDATA[Time Series DataBase]]></category> <guid isPermaLink="false">//www.yakult-sh.com.cn/?p=17753</guid> <description><![CDATA[瀹樻柟鏁欏鎵嬪唽鏉ヤ簡锛乚]></description> <content:encoded><![CDATA[ <blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"> <h3 class="wp-block-heading"><strong>杩佺Щ鑳屾櫙</strong></h3> <p>闅忕潃<a href="//www.yakult-sh.com.cn/" data-internallinksmanager029f6b8e52c="2" title="鏃跺簭鏁版嵁搴? target="_blank" rel="noopener">鏃跺簭鏁版嵁搴?/a>锛圱ime Series Database锛?TDengine 3.0 鐨勫彂甯冭嚦浠婏紝鎴戜滑闄や簡鍦ㄦ寔缁湴浼樺寲浜у搧璐ㄩ噺鐨勬湰韬紝涔熶竴鐩村湪鍔姏鍦版彁鍗囩敤鎴蜂綋楠屻€備絾鐢变簬 3.0 搴曞眰鏈夊ぇ閲忕殑閲嶆瀯浼樺寲锛屽鑷村紑婧愮増鐨?2.0 鐢ㄦ埛鏃犳硶閫氳繃甯歌閫斿緞鏉ュ崌绾у埌 3.0 锛屾湰鏈熸枃绔犲皢浼氬崗鍔╁ぇ閮ㄥ垎寮€婧愮増鐢ㄦ埛瑙e喅杩欎釜闂銆?br>鐩墠锛屾垜浠彲浠ユ彁渚涗袱绉嶈縼绉绘柟妗堬細</p> <ol class="wp-block-list"> <li>TDengine 瀹樻柟宸ュ叿 taosdump锛?/li> <li>寮€婧愭暟鎹縼绉昏В鍐虫柟妗堬細dataX TDengine reader/writter锛?/li> </ol> <p>鍓嶈€呬細鎶婃暟鎹牴鎹厤缃鍑哄帇缂╁瓨鍌ㄥ埌鏈湴锛屼骇鍝佸睘鎬ф洿鍊惧悜浜庡浠?鎭㈠宸ュ叿銆傚悗鑰呭垯浼氬湪鍐呭瓨涓洿鎺ヤ紶杈撴暟鎹紝鍋忓悜鏁版嵁杩佺Щ宸ュ叿銆傛湰绡囨枃绔犵殑涓讳綋涓哄墠鑰呯殑 taosdump锛宒ataX 鐨勪娇鐢ㄦ柟寮忓彲浠ラ€氳繃杩欑瘒鏂囩珷鏉ヤ簡瑙o細//www.yakult-sh.com.cn/engineering/16401.html</p> </blockquote> <p>棣栧厛锛屾垜浠厛璇翠笅 taosdump 涓轰粈涔堟槸鍗忓姪鈥滃ぇ閮ㄥ垎鈥濆紑婧愮増鐢ㄦ埛瑙e喅杩欎釜闂锛?/p> <p>taosdump 鐨勫鍑鸿涓虹殑鏈川鍏跺疄鏄娇鐢?SQL 杩涜鏌ヨ锛屽皢鏁版嵁鍘嬬缉鍚庤緭鍑哄埌鏈湴锛屽鍏ヨ涓哄垯鏄€氳繃 STMT 鎺ュ彛鍐嶆妸瀵煎嚭鐨勬暟鎹鍏ユ柊鐨勭幆澧冦€傚湪鍐呴儴锛屽畠宓屽叆浜嗕竴涓?TDengine 瀹㈡埛绔紝閫氳繃 -T 鍙傛暟鐨勭嚎绋嬫暟閰嶇疆锛屽苟鍙戝湴鎶婃墍鏈?SQL 璇锋眰鍙戠粰鏁版嵁搴擄紝姝ゅ悗锛屽悗缁殑鏌ヨ宸ヤ綔灏辨槸鏁版嵁搴撹嚜宸辩殑浜嬫儏浜嗐€傞壌浜庝互涓婂師鍥狅紝鎵€浠ュ畠鐨勫鍑哄鍏ョ殑鎬ц兘閮藉崄鍒嗕緷璧栦簬鏁版嵁搴撴湰韬殑閮ㄧ讲寤烘ā鏄惁绉戝锛岀‖浠惰祫婧愭槸鍚﹀厖瓒崇瓑鍥犵礌銆?/p> <p>涓句釜绠€鍗曚緥瀛愶細鍋囧鏌愮敤鎴峰湪寤鸿〃鐨勬椂鍊欙紝瀵逛簬涓€鍒楁湰搴斾娇鐢?binary(100) 灏辫冻澶熺殑鏁版嵁浣跨敤浜?nchar(2000)锛岄偅涔堢瓑鍒板鍑?SQL 鎵ц鐨勬椂鍊欙紝鎬ц兘灏变細琚嫋绱緢澶氥€?/p> <p>鍥犳锛岃兘澶熼『鍒╁畬鎴愭暟鎹鍑虹殑鐢ㄦ埛锛屽簲灏介噺鎷ユ湁濡備笅鍑犱釜鐗瑰緛锛?/p> <ol class="wp-block-list"> <li>鎷ユ湁瓒冲纾佺洏绌洪棿鈥斺€斿洜涓虹‖鐩樹笂鐨勬暟鎹槸鍒楀紡鍘嬬缉锛岃€屽鍑烘暟鎹负琛屽紡鍘嬬缉銆傚鏋滈€夋嫨涓€娆℃€у鍑哄叏閮ㄦ暟鎹紝寤鸿闇€瑕佽嚦灏戠暀鍑?nbsp;du -sh $dataDir/vnode –exclude=’wal’ 澶у皬鐨?3 鍊嶇┖闂达紙澶氬鐩婂杽锛夈€備絾濡傛灉鏄寜鐓у簱/琛ㄤ负鍗曚綅鍒嗘壒瀵煎嚭锛屾垨鑰呮寚瀹氭椂闂磋寖鍥村鍑虹殑璇濓紝灏辨瘮杈冪伒娲讳簡銆?br></li> <li>鏁版嵁搴撴棩甯镐娇鐢ㄨ礋杞戒笉楂橈紝鍦ㄥぇ閲忓鍑?SQL 鎵ц鏃讹紝鏁版嵁搴撲粛鏈夊厖瓒宠祫婧愬彲浠ヤ繚闅滄甯哥敓浜т娇鐢ㄣ€?br></li> <li>寰呰縼绉荤殑 2.0 鏁版嵁涓烘祴璇曠幆澧冧笉闇€鎷呭績褰卞搷涓氬姟锛屾垨鑰呯敓浜х幆澧冪殑涓氬姟闂存瓏鏈熻冻澶熷畬鎴愭暟鎹殑瀵煎嚭鈥斺€旇繖涓ょ偣闇€瑕佺粨鍚堝綋鍓嶅鍑洪€熷害鑷繁璇勪及銆?/li> </ol> <h4 class="gb-headline gb-headline-7c87b225 gb-headline-text"><strong>鎬荤粨</strong></h4> <p>瀵煎嚭/瀵煎叆鏁版嵁鐨勫揩鎱㈡槸鐢?SQL 鎵ц鏁堢巼鏉ュ喅瀹氱殑锛岃€?SQL鎵ц鏁堢巼鐨勮儗鍚庡張鏄敱閮ㄧ讲寤烘ā锛岀‖浠惰祫婧愮瓑鍥犵礌鍐冲畾鐨勩€?/p> <p>鍙纾佺洏绌洪棿鍏呰冻锛屾椂闂村厖瓒筹紝灏卞彲浠ュ畬鎴愬鍑烘搷浣溿€傚鍏ュ垯鐩稿绠€鍗曪紝娌℃湁棰濆闇€姹傦紝鎸夌収姝e父鐨勬暟鎹簱閮ㄧ讲鎬濊矾鍗冲彲銆?/p> <p>鍥犱负 taosdump 鏈韩鐨勪骇鍝佺壒寰佸喅瀹氫簡鍦ㄤ笂杩扮壒娈婃儏鍐典笅锛岃縼绉绘暟鎹細鏈夋晥鐜囬棶棰橈紝鍥犳杩欎篃鏄垜浠紑鍙戜笓涓氱殑浼佷笟鐗堟暟鎹縼绉诲伐鍏?taosX 鐨勫師鍥犱箣涓€銆?/p> <h3 class="gb-headline gb-headline-c6ddf6e6 gb-headline-text"><strong>杩佺Щ鎿嶄綔</strong></h3> <p><strong>瀵煎嚭鏂癸細</strong></p> <p>瀵逛簬 2.0 涓€渚э紝棣栧厛瑕佸噯澶囧ソ鏈€鏂扮増鏈殑 TDengine 鍜?taosdump 宸ュ叿锛屽叿浣撴搷浣滃涓嬶細</p> <ol class="wp-block-list"> <li>鎶婃暟鎹簱鍗囩骇鍒?2.6.0.34锛屽崌绾ф敞鎰忎簨椤逛互鍙婃搷浣滄楠ら兘鍙互鍙傝€冭繖绡囨枃绔狅細<a href="//www.yakult-sh.com.cn/engineering/10222.html">//www.yakult-sh.com.cn/engineering/10222.html</a>銆傦紙娉ㄦ剰锛歊PM 鍜?Deb 鍖呬笉鍚?taosdump 锛屽畠闇€瑕侀€氳繃瀹夎 taosTools 鍖呰幏寰椼€傛墍浠ュ缓璁ぇ瀹剁洿鎺ヤ娇鐢ㄥ寘鍚?TDengine 鐨?Tar 鍖呭畬鎴愬崌绾с€傦級TDengine 瀹夎鍖呴渶浠?2.6 鐗堟湰鐨勬枃妗e幓涓嬭浇锛歨ttps://www.yakult-sh.com.cn/all-downloads 銆傚鏋滀娇鐢ㄤ簡 RPM 鍜?Deb 鐨勮瘽锛屽悓鏍烽渶瑕侀€氳繃涓婅堪閾炬帴涓嬭浇鏈€鏂扮増鐨?taostool 鑾峰彇 taosdump宸ュ叿锛堝綋鍓嶆渶鏂扮増涓?2.4.5锛夈€?/li> <li>浣跨敤 taosdump 鎶婃暟鎹鍑猴細鍏蜂綋鎿嶄綔鍙弬鑰冿細<a href="//docs.yakult-sh.com.cn/2.6/reference/taosdump/" rel="nofollow noopener" target="_blank">//docs.yakult-sh.com.cn/2.6/reference/taosdump/</a>銆備妇渚嬶細</li> </ol> <ul class="wp-block-list"> <li></li> </ul> <pre class="wp-block-code"><code>taosdump -o /test -D test -T 4</code></pre> <p>杩欐潯鍛戒护浼氭妸 test 搴撶殑鏁版嵁锛岀敤 4 涓嚎绋嬪鍑哄埌 /test 鐩綍涓嬮潰锛屾枃浠跺舰寮忓涓嬶細</p> <div class="wp-block-image"> <figure class="aligncenter size-large"><img fetchpriority="high" decoding="async" width="1024" height="144" src="//www.yakult-sh.com.cn/wp-content/uploads/2023/05/image-4-1024x144.png" alt="濡備綍鎶婃暟鎹粠 TDengine 2.x 杩佺Щ鍒?3.x 锛?- TDengine Database 鏃跺簭鏁版嵁搴? class="wp-image-17754" title="濡備綍鎶婃暟鎹粠 TDengine 2.x 杩佺Щ鍒?3.x 锛?- TDengine Database 鏃跺簭鏁版嵁搴? srcset="//www.yakult-sh.com.cn/wp-content/uploads/2023/05/image-4-1024x144.png 1024w, //www.yakult-sh.com.cn/wp-content/uploads/2023/05/image-4-300x42.png 300w, //www.yakult-sh.com.cn/wp-content/uploads/2023/05/image-4-768x108.png 768w, //www.yakult-sh.com.cn/wp-content/uploads/2023/05/image-4.png 1252w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure></div> <p>鎺ヤ笅鏉ワ紝鎴戜滑闇€瑕佹妸 test 璺緞涓嬬殑瀵煎嚭鏂囦欢锛岃縼绉诲埌 3.0 鐨勭幆澧冧腑锛屽噯澶囨暟鎹鍏ャ€?/p> <p><strong>瀵煎叆鏂癸細</strong></p> <ol class="wp-block-list"> <li>3.0 杩欎竴渚э紝鏂扮幆澧冩垜浠缓璁娇鐢ㄦ渶鏂扮増锛屽悇鏂归潰閮芥洿濂斤紙褰撳墠鏈€鏂扮増涓?3.0.4.1锛夛紝姝e父瀹夎閮ㄧ讲鍗冲彲銆傦紙鍚屾牱锛歊PM 鍜?Deb 鍖呬笉鍚?nbsp;taosdump 锛屽畠闇€瑕侀€氳繃瀹夎 taosTools 鍖呰幏寰椼€?鎵€浠ュ缓璁ぇ瀹剁洿鎺ヤ娇鐢ㄥ寘鍚?taosdump 鐨?tar 鍖呭畬鎴愰儴缃诧紝涓嬭浇閾炬帴锛?a href="//docs.yakult-sh.com.cn/releases/tdengine/" rel="nofollow noopener" target="_blank">//docs.yakult-sh.com.cn/releases/tdengine/</a>锛変絾鏄鏋滃彧鑳戒娇鐢?RPM 鎴栬€?Deb 锛宼aosTools 鍒欓渶瑕佷粠 3.0 鐨勬枃妗e崟鐙笅杞斤紝鍦板潃锛?a href="//docs.yakult-sh.com.cn/releases/tools/" rel="nofollow noopener" target="_blank">//docs.yakult-sh.com.cn/releases/tools/</a> 锛堝綋鍓嶆渶鏂扮増涓?nbsp;2.5.0锛?br></li> <li>瀵煎叆涔嬪墠锛屾垜浠鍏堣杩涘叆瀵煎嚭鏂囦欢鐩綍涓嬬殑鏍囩孩鐩綍锛屾墦寮€閲岄潰鐨?dbs.sql锛岄拡瀵瑰缓搴?SQL 鍋氫竴浜涢拡瀵规€х殑璋冩暣銆傚挨鍏堕渶瑕佹敞鎰忕殑鏄?VGROUPS 鍙傛暟锛岃繖鏄?3.0 鐨勬柊澧炲弬鏁帮紝浠f浛浜嗘鍓?2.0 鐨勪竴绯诲垪寤鸿〃閫昏緫锛岄粯璁ゆ槸 2 锛屼唬琛ㄧ潃杩欎釜搴撴湁 2 涓?VGROUP 銆傚鏋滃師鏈殑 2.0 鐜浣跨敤浜?4 涓?VGROUP锛岄偅涔堝氨闇€瑕佹墜鍔ㄦ坊鍔?“VGROUPS 4” 鍒板缓搴撹鍙ュ悗闈紝鍗冲彲淇濇寔鍜?2.0 鐗堟湰涓€鏍风殑 VGROUP 鏁伴噺浜嗐€傦紙鍏朵粬鍙傛暟鍚岀悊锛岀洿鎺ュ湪寤哄簱 SQL 鍚庢坊鍔犲嵆鍙紝鑷充簬璇ヨ鍙ヤ腑 2.0 鏃朵唬鐨勬棫鍙傛暟鍒欎細琚鍏ョ▼搴忚嚜鍔ㄥ睆钄芥帀銆傚叿浣撶殑 3.0 寤哄簱鍙傛暟缁嗚妭鍙弬鑰冿細<a href="//docs.yakult-sh.com.cn/taos-sql/database/" rel="nofollow noopener" target="_blank">//docs.yakult-sh.com.cn/taos-sql/database/</a>锛?/li> </ol> <div class="wp-block-image"> <figure class="aligncenter size-full"><img decoding="async" width="610" height="87" src="//www.yakult-sh.com.cn/wp-content/uploads/2023/05/image-5.png" alt="濡備綍鎶婃暟鎹粠 TDengine 2.x 杩佺Щ鍒?3.x 锛?- TDengine Database 鏃跺簭鏁版嵁搴? class="wp-image-17756" title="濡備綍鎶婃暟鎹粠 TDengine 2.x 杩佺Щ鍒?3.x 锛?- TDengine Database 鏃跺簭鏁版嵁搴? srcset="//www.yakult-sh.com.cn/wp-content/uploads/2023/05/image-5.png 610w, //www.yakult-sh.com.cn/wp-content/uploads/2023/05/image-5-300x43.png 300w" sizes="(max-width: 610px) 100vw, 610px" /></figure></div> <p><strong>绀轰緥锛?/strong></p> <p>鍘熸湰鐨勫缓搴撹鍙ワ細</p> <pre class="wp-block-code"><code>CREATE DATABASE IF NOT EXISTS test REPLICA 1 QUORUM 1 DAYS 10 KEEP 3650 CACHE 16 BLOCKS 6 FSYNC 3000 PRECISION 'ms' MINROWS 100 MAXROWS 4096 COMP 2 ;</code></pre> <p>娣诲姞鍙傛暟鍚庯細</p> <pre class="wp-block-code"><code>CREATE DATABASE IF NOT EXISTS test REPLICA 1  QUORUM 1 DAYS 10 KEEP 3650 CACHE 16 BLOCKS 6 FSYNC 3000  PRECISION 'ms'  MINROWS 100 MAXROWS 4096 COMP 2 VGROUPS 4;</code></pre> <p>淇敼瀹?dbs.sql 鍚庯紝渚垮彲浠ユ墽琛屽鍏ユ搷浣滀簡锛屽鍏ユ搷浣滄湰韬槸姣旇緝绠€鍗曠殑锛屽叿浣撴搷浣滃彲鍙傝€冿細<a href="//docs.yakult-sh.com.cn/2.6/reference/taosdump/" rel="nofollow noopener" target="_blank">//docs.yakult-sh.com.cn/2.6/reference/taosdump/</a>銆備妇渚嬶細</p> <p>杩欐潯鍛戒护浼氭妸 /test 鐩綍涓嬬殑鏁版嵁锛岀敤 4 涓嚎绋嬪鍏ュ埌褰撳墠鐜涓嬮潰锛屽湴鍧€榛樿涓?localhost锛岀嚎绋嬫暟鍙牴鎹満鍣ㄩ厤缃厡鎯呰缃€?/p> <p>瀵煎叆瀹屾瘯涔嬪悗妫€楠屾暟鎹唴瀹癸紝纭鏃犺涔嬪悗锛屽紑婧愮増 TDengine 2.0 鑷?3.0 鏁版嵁杩佺Щ渚垮畬鎴愪簡銆?/p> <p>濡傛灉涓婅堪涓ょ杩佺Щ鏂规閮戒笉鑳藉府鍔╂垜浠畬鎴愭暟鎹縼绉伙紝娆㈣繋鑱旂郴 TDengine 浼佷笟鐗堝洟闃熷仛瀹氬埗鍖栫殑鏀寔鏈嶅姟銆?/p> ]]></content:encoded> </item> <item> <title>鑱氱劍 TimescaleDB VS TDengine 鎬ц兘瀵规瘮鎶ュ憡锛屼簲澶у満鏅叏闈㈠垎鏋愬啓鍏ヤ笌鏌ヨ //www.yakult-sh.com.cn/tdengine-engineering/17465.html Sun, 09 Apr 2023 11:59:43 +0000 //www.yakult-sh.com.cn/?p=17465

?T DQtaosKeeper ?TDengine 3.0 的运行状态指标监控工P通过单的几项配置卛_获取 TDengine 的运行状态信息。其使用 TDengine RESTful 接口Q所以不需要安?TDengine 客户端即可用。本文将详细解读 taosKeeper 的详l语法规则,方便有需要的用户开展应用?/p>

时序数据?/a> TDengineQ?Time Series Database,TSDBQ?通过 taosKeeper 服务器?CPU、内存、硬盘空间、带宽、请求数、磁盘读写速度{信息定时写入指?a href="//www.yakult-sh.com.cn/" data-internallinksmanager029f6b8e52c="4" title="实时数据? target="_blank" rel="noopener">实时数据?/a>Q也支持寚w要的pȝ操作Q比如登录、创建、删除数据库{)以及各种错误报警信息q行记录。系l管理员可以从命令行直接查看该数据库Q也可以?Web 端通过囑Ş化界面查看这些监信息。这些监信息的采集~省是打开的,也可以通过修改配置文g里的选项 monitor 来关闭?/p>

taosKeeper 安装方式Q单独编?taosKeeper q安装,详情请参?taosKeeper 仓库Q?a href="//github.com/taosdata/taoskeeper" target="_blank" rel="noreferrer noopener nofollow">//github.com/taosdata/taoskeeperQ?/p>

配置和运行方?/h2>

taosKeeper 需要在操作pȝl端中执行,该工h持三U配|方式:命o行参数、环境变量和配置文g。优先为:命o行参数、环境变量、配|文件参数?/p>

需要注意的是,在运?taosKeeper 之前要确?TDengine 集群?taosAdapter 已经正确q行Q?/strong>q且 TDengine 已经开启监控服务。监控配|可参?a href="//docs.yakult-sh.com.cn/reference/config/#%E7%9B%91%E6%8E%A7%E7%9B%B8%E5%85%B3" rel="nofollow noopener" target="_blank">相关文档Q具体的配置包?monitor(mo)monitorFqdn(mo)monitorPort(mo)monitorInterval ?telemetryReporting(mo)?/strong>

命o行参数启?/h2>

可以直接执行 taosKeeperQ也可以在执行命令时提供命o行参数?/p>

$ taosKeeper

环境变量启动

通过讄环境变量辑ֈ控制启动参数的目的,通常在容器中q行时用?/p>

$ export TAOS_KEEPER_TDENGINE_HOST=192.168.64.3
$ taoskeeper

具体参数列表请参?taoskeeper -h 输入l果?/p>

配置文g启动

执行以下命o卛_快速体?taosKeeper。当不指?taosKeeper 配置文gӞ优先使用 /etc/taos/keeper.toml 配置Q否则将使用默认配置?/p>

$ taoskeeper -c <keeper config file>

具体配置文gCZ请参考://docs.yakult-sh.com.cn/reference/taosKeeper/

获取监控指标

taosKeeper 作ؓ TDengine 监控指标的导出工P可以?TDengine 产生的监控数据记录在指定数据库中Qƈ提供导出接口?/p>

查看监控l果?/strong>

$ taos
# 如上CZQ?log 库作为监控日志存储位|?> use log;
> select * from cluster_info limit 1;

l果CZQ?/p>

           ts            |            first_ep            | first_ep_dnode_id |   version    |    master_uptime     | monitor_interval |  dbs_total  |  tbs_total  | stbs_total  | dnodes_total | dnodes_alive | mnodes_total | mnodes_alive | vgroups_total | vgroups_alive | vnodes_total | vnodes_alive | connections_total |  protocol   |           cluster_id           |
===============================================================================================================================================================================================================================================================================================================================================================================
 2022-08-16 17:37:01.629 | hlb:6030                       |                 1 | 3.0.0.0      |              0.27250 |               15 |           2 |          27 |          38 |            1 |            1 |            1 |            1 |             4 |             4 |            4 |            4 |                14 |           1 | 5981392874047724755            |
Query OK, 1 rows in database (0.036162s)

导出监控指标

$ curl //127.0.0.1:6043/metrics

部分l果集:

# HELP taos_cluster_info_connections_total 
# TYPE taos_cluster_info_connections_total counter
taos_cluster_info_connections_total{cluster_id="5981392874047724755"} 16
# HELP taos_cluster_info_dbs_total 
# TYPE taos_cluster_info_dbs_total counter
taos_cluster_info_dbs_total{cluster_id="5981392874047724755"} 2
# HELP taos_cluster_info_dnodes_alive 
# TYPE taos_cluster_info_dnodes_alive counter
taos_cluster_info_dnodes_alive{cluster_id="5981392874047724755"} 1
# HELP taos_cluster_info_dnodes_total 
# TYPE taos_cluster_info_dnodes_total counter
taos_cluster_info_dnodes_total{cluster_id="5981392874047724755"} 1
# HELP taos_cluster_info_first_ep 
# TYPE taos_cluster_info_first_ep gauge
taos_cluster_info_first_ep{cluster_id="5981392874047724755",value="hlb:6030"} 1

TDinsight

除了 taosKeeperQTDengine q提供了 TDinsight——用监控数据库 + Grafana ?TDengine q行监控的解x案,下文浅谈一?TDinsight 的前期部|和准备。在部vӞ我们首先需要下载自动化脚本 TDinsight.shQ?/p>

wget //github.com/taosdata/grafanaplugin/raw/master/dashboards/TDinsight.sh
chmod +x TDinsight.sh

准备Q?/p>

  1. TDengine Server 信息Q?
    • TDengine RESTful 服务Q用参?-a指定。如果是q行在同一LQ通常?//localhost:6041?/li>
    • TDengine 用户名和密码Q?-u-p 指定?/li>
  2. Grafana 告警通知
    • 使用已经存在?Grafana Notification Channel uidQ参?-E。该参数可以使用 curl -u admin:admin localhost:3000/api/alert-notifications |jq 来获取。JSON 解析工具 jq 可能需要单独安装?/li>
sudo ./TDinsight.sh -a //localhost:6041 -u root -p taosdata -E <notifier uid>

q行E序q?Grafana 服务Q打开面板Q?code>//localhost:3000/d/tdinsight可以查看 TDengine 服务q行状态?/p>

监控数据库ؓ用户提供了更多的监控,?taosKeeper 共同{牢 TDengine 数据监控的城墙。在下一文章中Q我们将会详解解说如何?TDinsight Ҏ?TDengine q行监控Q敬h待?/p> ]]> 有限资源下如何实现最高效的时序数据处理?四个“智慧城市”项目寻䏀最优解?/title> <link>//www.yakult-sh.com.cn/tdengine-user-cases/17451.html</link> <dc:creator><![CDATA[悦]]></dc:creator> <pubDate>Thu, 06 Apr 2023 03:55:21 +0000</pubDate> <category><![CDATA[时序数据?- 用户案例]]></category> <category><![CDATA[TDengine-TSDB]]></category> <category><![CDATA[Time Series DataBase]]></category> <category><![CDATA[TDengine]]></category> <category><![CDATA[国时序数据库]]></category> <category><![CDATA[数据处理]]></category> <category><![CDATA[时序数据处理]]></category> <category><![CDATA[智慧城市]]></category> <category><![CDATA[物联|]]></category> <guid isPermaLink="false">//www.yakult-sh.com.cn/?p=17451</guid> <description><![CDATA[四大“智慧城市”项目数据架构改造案例分享]]></description> <content:encoded><![CDATA[ <p>随着 5G 基站{通信工程的加快徏设,城市ȝ、城市安全管理成为热门话题,物联讑֤在我们的C会中扮演的角色也变得越来越重要Q智慧燃气、智能电表、智能井盖、智能交通等目在众多城市开始布局Q随着一众智慧城市项目的深入落地Qv?a href="//www.yakult-sh.com.cn/" target="_blank" data-type="URL" data-id="//www.yakult-sh.com.cn/" rel="noreferrer noopener">时序数据</a>的高效处理和成本控也成Z个待解的N?/p> <p>为帮助大家寻找解决上q问题的最优解Q我们汇M四家比较h代表性的智慧城市升目的架构改造案例,一h看看他们都是如何做的?/p> <h2 class="wp-block-heading"><strong>SENSORO x TDengine</strong></h2> <blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"> <p>“我们进行的数据库调研测试结果显C,<a href="//www.yakult-sh.com.cn" target="_blank" rel="noreferrer noopener">TDengine</a> (<a href="//www.yakult-sh.com.cn/time-series-database" target="_blank" rel="noreferrer noopener">Time Series Database</a>,<a href="//www.yakult-sh.com.cn/tsdb" data-internallinksmanager029f6b8e52c="8" title="TSDB" target="_blank" rel="noopener">TSDB</a>) 的空间占用只?Druid ?60%Q没有计?Druid 使用?Deep StorageQ。针对单一讑֤的查询与聚和的响应时间比 Druid 有倍数的提升,其旉跨度较久时差距更明显Q在十倍以上)Q同?Druid 的响应时间方差也较大。在实际业务环境中,我们创徏了多列的表,虽然会存在大量的I列Q但得益?TDengine 的优化,能达到恐怖的 0.01 的压~率Q简单计下来大U需?3.67GB 每亿条。?/p> </blockquote> <h3 class="wp-block-heading"><strong>业务背景</strong></h3> <p>SENSORO 面向城市基础设施与核心要素提供全域数字化服务ҎQ徏立城市传感器网l所涉及的传感器U类十分多样Q由此生的数据量也十分庞大。在pȝ开发初期,SENSORO 先是选择?Apache Druid 作ؓ存储传感数据?a href="//www.yakult-sh.com.cn/" target="_blank" data-type="URL" data-id="//www.yakult-sh.com.cn/" rel="noreferrer noopener">实时数据?/a>Q然而在使用q程中却遇到了各U各L问题Q这使得其将目光转移C TDengine 上,但因为^台涉及的Ҏ数据模型Q合作便一直搁|了下来。随?TDengine l过了多个版本P代,支持?join 查询Q?SENSORO 的数据模型也发生了变化,q移?TDengine 时不再需要做出很多的pȝ模块改动Q由此双方的合作也开始快速展开?/p> <h3 class="wp-block-heading"><strong>架构?/strong></h3> <div id="sqinis2ngw" class="wp-block-image"> <figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" src="//www.yakult-sh.com.cn/wp-content/uploads/2023/04/智慧城市1.png" alt="TDengine Database" class="wp-image-17453" width="1024" height="574" title="有限资源下如何实现最高效的时序数据处理?四个“智慧城市”项目寻䏀最优解?- TDengine Database 时序数据? srcset="//www.yakult-sh.com.cn/wp-content/uploads/2023/04/智慧城市1.png 1024w, //www.yakult-sh.com.cn/wp-content/uploads/2023/04/智慧城市1-300x168.png 300w, //www.yakult-sh.com.cn/wp-content/uploads/2023/04/智慧城市1-768x431.png 768w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure></div> <figure class="wp-block-embed aligncenter is-type-wp-embed is-provider-tdengine-涛思数?wp-block-embed-tdengine-涛思数?><div id="sqinis2ngw" class="wp-block-embed__wrapper"> <blockquote class="wp-embedded-content" data-secret="kKrjwu0iN5"><a href="//www.yakult-sh.com.cn/user-cases/5041.html">SENSORO Z TDengine 助力基层政府打造数字化应用标杆</a></blockquote><iframe loading="lazy" class="wp-embedded-content" sandbox="allow-scripts" security="restricted" title="《SENSORO Z TDengine 助力基层政府打造数字化应用标杆》—TDengine | 涛思数? src="//www.yakult-sh.com.cn/user-cases/5041.html/embed#?secret=tfWIXbozIn#?secret=kKrjwu0iN5" data-secret="kKrjwu0iN5" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe> </div><figcaption class="wp-element-caption">点击案例查看更多技术细?/figcaption></figure> <h2 class="wp-block-heading">北京建筑 x TDengine</h2> <blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"> <p>“TDengine 帮助我们在边~侧解决了一个很大的问题Q即边缘存储的问题。因为很多时候边~是布v在资源比较少的机器上面,甚至?ARM 的工业盒子上面,在资源用上非常的苛刻,而现在得益于 TDengine 强的压~算法,我们使用非常的存储I间存储了几千万数据,压羃率远?1/20Q在单机上面布v一?TDengine 服务器就可以轻轻松松地存储上亿的数据。此外它q拥有超强的计算能力Q占用的资源也非常小Q在我们的业务中千万U数据检索时间达C毫秒U,从用戯度来说品体验非常好。?/p> </blockquote> <h3 class="wp-block-heading"><strong>业务背景</strong></h3> <p>北京建筑是北京市在智能徏{和智慧城市领域的创新^収ͼ同时也是冬奥U技q_公司、智慧冬奥国安炚w目设计单位和核心实施单位。在边缘侧采集数据存储方案中Q其面着在有限的计算资源下,如何实现最高效的数据存储、分析和计算的问题。经q调研与试Q其最l选择Ҏ业务需求灵zL配?TDengine ?SQLite——由 TDengine 处理时序数据QSQLite 处理关系数据Q以此更好地实现边缘侧的数据自治?/p> <h3 class="wp-block-heading"><strong>架构?/strong></h3> <div id="sqinis2ngw" class="wp-block-image"> <figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="768" height="702" src="//www.yakult-sh.com.cn/wp-content/uploads/2023/04/智慧城市2.png" alt="TDengine Database" class="wp-image-17455" title="有限资源下如何实现最高效的时序数据处理?四个“智慧城市”项目寻䏀最优解?- TDengine Database 时序数据? srcset="//www.yakult-sh.com.cn/wp-content/uploads/2023/04/智慧城市2.png 768w, //www.yakult-sh.com.cn/wp-content/uploads/2023/04/智慧城市2-300x274.png 300w" sizes="auto, (max-width: 768px) 100vw, 768px" /></figure></div> <figure class="wp-block-embed is-type-wp-embed is-provider-tdengine-涛思数?wp-block-embed-tdengine-涛思数?><div id="sqinis2ngw" class="wp-block-embed__wrapper"> <blockquote class="wp-embedded-content" data-secret="7I5Xt3eVnY"><a href="//www.yakult-sh.com.cn/user-cases/6526.html">一个服务器L存储上亿数据QTDengine 在北京智能徏{边~存储的应用</a></blockquote><iframe loading="lazy" class="wp-embedded-content" sandbox="allow-scripts" security="restricted" title="《一个服务器L存储上亿数据QTDengine 在北京智能徏{边~存储的应用》—TDengine | 涛思数? src="//www.yakult-sh.com.cn/user-cases/6526.html/embed#?secret=usPb5Tcy2T#?secret=7I5Xt3eVnY" data-secret="7I5Xt3eVnY" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe> </div><figcaption class="wp-element-caption">点击案例查看更多技术细?/figcaption></figure> <h2 class="wp-block-heading">交通数据资源管理系l?x TDengine</h2> <blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"> <p>“所有R辆最C|信息的查询是交通运行监控中的重中之重,最初‘用何U查询语句实现高效查询’是非常困扰我们的一件事Q后面在 TDengine C֌团队的帮助下Q我们利用了隐藏字段?tbname ?group by ҎQ高效地查询了R辆的最新定位信息。在频繁查询的情况下Q接q六万辆车的位置信息Q只用了不到 1 U的查询旉Q简单而又高效Q完全符合我们的业务需求;在数据统计分析上Q一?64 天数据量的表Q进行每日数据条数的降维l计Q所需旉也不?1 U。?/p> </blockquote> <h3 class="wp-block-heading"><strong>业务背景</strong></h3> <p>Z强化全市交通运输管理、统{综合交通发展、提升交通运行和理效率Q某市񔽎理单位建立了大交通数据资源管理系l及相关应用 “一图一库”。其中“一库”部分主要内容包括:数据接入、数据存储、数据共享;“一䏀部分主要内容包括:GIS 信息及其兌数据信息在二l、三l地图上的Ş象表达。在数据中台的徏设中Q存在大量的时序数据应用场景Q其中最为关键的是车辆q行产生的时序数据的存储与用。ؓ了实现高效的业务处理Q?研发人员军_?InfluxDB、ClickHouse ?TDengine 三款<a href="//www.yakult-sh.com.cn/" data-internallinksmanager029f6b8e52c="2" title="时序数据? target="_blank" rel="noopener">时序数据?/a>QTime Series DatabaseQ中q行选型调研Q最l凭借强大的产品力,TDengine 脱颖而出?/p> <h3 class="wp-block-heading"><strong>架构搭徏上的考虑</strong></h3> <p>׃该系l业务开发框架用的?Srping 框架Q在使用 TAOS-JDBCDriver q行开发时Q可以选择两种方式q行数据入库——JDBC-JNI 方式或者是 JDBC-RESTful 方式。在 TDengine 官网Q明记载了“JDBC-RESTful 性能?JDBC-JNI ?50%?0%”,因此Q其选择?JDBC-JNI 方式q行多线E入库——以数据库连接池QHikari、druidQ?原生 SQL 执行写入Z要写入模?/p> <figure class="wp-block-embed is-type-wp-embed is-provider-tdengine-涛思数?wp-block-embed-tdengine-涛思数?><div id="sqinis2ngw" class="wp-block-embed__wrapper"> <blockquote class="wp-embedded-content" data-secret="MCmhn6wBaP"><a href="//www.yakult-sh.com.cn/user-cases/7113.html">TDengine 在“一图一库”中的应用,助力交通运输实C息化转型</a></blockquote><iframe loading="lazy" class="wp-embedded-content" sandbox="allow-scripts" security="restricted" title="《TDengine 在“一图一库”中的应用,助力交通运输实C息化转型》—TDengine | 涛思数? src="//www.yakult-sh.com.cn/user-cases/7113.html/embed#?secret=pooIvp6USu#?secret=MCmhn6wBaP" data-secret="MCmhn6wBaP" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe> </div><figcaption class="wp-element-caption">点击案例查看更多技术细?/figcaption></figure> <h2 class="wp-block-heading">数字攉K?x TDengine</h2> <blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"> <p>“压~方面,通过查看 3 个节点的 Vnode 目录d,可以得知目前数据占用总量?8.7GB。而从上述表结构我们也能看出实际入库数据总量大概?203GBQ经q压~后?8.7GBQ压~率辑ֈ?4% 左右Q大q节U了存储成本。在查询上,?9 亿数据量的超U表使用降采h询,展示讑֤指标日月q线Q耗时仅仅 0.22 U。?/p> </blockquote> <h3 class="wp-block-heading"><strong>业务背景</strong></h3> <p>随着智慧城市的加速徏设,物联讑֤的管理问题凸显,为此Q数字政通研发“城市管理物联网q_”对物联|设备实行监督,提供各类讑֤的实时监数据及报警数据Q进一步满_c设备的数据分析、关联分析、历史分析、对比分析等需求。简单来讲就是通过鸟瞰整体数据来发现设备问题,便于及时z֍处理Q助力智慧城市管理。面Ҏv量物联网数据的处理,TDengine 的高效存储给了数字政通相当大的助力?/p> <h3 class="wp-block-heading"><strong>架构?/strong></h3> <figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="360" height="225" src="//www.yakult-sh.com.cn/wp-content/uploads/2023/04/智慧城市3-1.png" alt="TDengine Database" class="wp-image-17459" title="有限资源下如何实现最高效的时序数据处理?四个“智慧城市”项目寻䏀最优解?- TDengine Database 时序数据? srcset="//www.yakult-sh.com.cn/wp-content/uploads/2023/04/智慧城市3-1.png 360w, //www.yakult-sh.com.cn/wp-content/uploads/2023/04/智慧城市3-1-300x188.png 300w" sizes="auto, (max-width: 360px) 100vw, 360px" /></figure> <figure class="wp-block-embed is-type-wp-embed is-provider-tdengine-涛思数?wp-block-embed-tdengine-涛思数?><div id="sqinis2ngw" class="wp-block-embed__wrapper"> <blockquote class="wp-embedded-content" data-secret="GpYSm0jRy1"><a href="//www.yakult-sh.com.cn/user-cases/7686.html">助力 60+ 市区理QTDengine 联手数字攉K打造智慧城市^?/a></blockquote><iframe loading="lazy" class="wp-embedded-content" sandbox="allow-scripts" security="restricted" title="《助?60+ 市区理QTDengine 联手数字攉K打造智慧城市^台》—TDengine | 涛思数? src="//www.yakult-sh.com.cn/user-cases/7686.html/embed#?secret=2HPFDPOyI0#?secret=GpYSm0jRy1" data-secret="GpYSm0jRy1" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe> </div><figcaption class="wp-element-caption">点击案例查看更多技术细?/figcaption></figure> <h2 class="wp-block-heading">l语</h2> <p>通过上面的几大案例我们可以看刎ͼ在解xv量时序数据处理效率低、处理成本高{问题上Q关键点是要选对合适的<a href="//www.yakult-sh.com.cn" target="_blank" rel="noreferrer noopener">时数据?/a>Q?a href="//www.yakult-sh.com.cn/time-series-database" target="_blank" rel="noreferrer noopener">Time Series Database</a>,TSDBQ,当前市面上时序数据库产品众多Q在性能提升和降低资源消耗上I竟谁能更胜一{?如果你也在思考这一问题Q那或许<a href="//www.yakult-sh.com.cn/engineering/16739.html" target="_blank" rel="noreferrer noopener">《写入性能QTDengine 最高达?InfluxDB ?10.3 倍,TimeScaleDB ?6.74 倍?/a>?a href="//www.yakult-sh.com.cn/engineering/16976.html" data-type="URL" data-id="//www.yakult-sh.com.cn/engineering/16976.html" target="_blank" rel="noreferrer noopener">《查询性能QTDengine 最高达C InfluxDB ?37 倍?TimescaleDB ?28.6 倍?/a>q两文章能l到你答案?/p> <p>如果你的目中也存在难以调节的数据痛炚w题,Ƣ迎d<strong>T vxQtdengine1</strong>Q我们会邀请你加入 TDengine 时序数据交流,和专业的解决Ҏ架构师点对点沟通,齐心协力d数据技术难题?/p> ]]></content:encoded> </item> <item> <title>一键获取测试脚本,L验证“TSBS 时序数据库性能基准试报告?/title> <link>//www.yakult-sh.com.cn/time-series-database/17245.html</link> <dc:creator><![CDATA[悦]]></dc:creator> <pubDate>Fri, 24 Mar 2023 01:19:05 +0000</pubDate> <category><![CDATA[Time Series DataBase]]></category> <category><![CDATA[TDengine-TSDB]]></category> <category><![CDATA[技术文?- 时序数据库]]></category> <category><![CDATA[TDengine]]></category> <category><![CDATA[国时序数据库]]></category> <category><![CDATA[开源]]></category> <category><![CDATA[试报告]]></category> <guid isPermaLink="false">//www.yakult-sh.com.cn/?p=17245</guid> <description><![CDATA[如何q用试脚本q行一键复现]]></description> <content:encoded><![CDATA[ <p>Z <a href="//www.yakult-sh.com.cn" target="_blank" data-type="URL" data-id="//www.yakult-sh.com.cn" rel="noreferrer noopener">TDengine</a> 3.0 TSBS 基准试报告Q此前我们已l输Zpd文—?a href="//www.yakult-sh.com.cn/engineering/16710.html" target="_blank" data-type="URL" data-id="//www.yakult-sh.com.cn/engineering/16710.html" rel="noreferrer noopener">Z么选择 TSBS 作ؓ试q_</a>?a href="//www.yakult-sh.com.cn/engineering/16739.html" target="_blank" rel="noreferrer noopener">写入性能Ҏ</a>?a href="//www.yakult-sh.com.cn/engineering/16976.html" target="_blank" data-type="URL" data-id="//www.yakult-sh.com.cn/engineering/16976.html" rel="noreferrer noopener">查询性能Ҏ</a>Q分别就 TSBS 及测试环境、写入性能及开销、查询性能及开销q行了相兌诅R在本篇文章中,我们ؓ惌验证本报告测试结果的伙_分nq行报告试复现的详l步骤?/p> <h2 class="wp-block-heading"><strong>数据建模</strong></h2> <p>?TSBS 框架中, TimescaleDB ?InfluxDB 会自动创建相应的数据模型q生成对应格式的数据。本文不再赘q其具体的数据徏模方式,只介l?TDengine 的数据徏模策略?/p> <p>TDengine 一个重要的创新是其独特的数据模型——ؓ每个讑֤创徏独立的数据表Q子表)Qƈ通过表(Super TableQ在逻辑上和语义上对同一采集cd的设备进行统一理。针?DevOps 场景的数据内容,我们为每个设?Q这里是 CPUQ创Z一个表Q用以存储该表的时序数据。我们在 TDengine 中?hostname 作ؓ子表的名Uͼ因ؓhostname 可以作ؓ每个讑֤的标?IDQ,q用如下的语句创徏名ؓ CPU 的超U表Q包?10 个测量值和 10 个标{?/p> <pre class="wp-block-code"><code>create stable cpu (ts timestamp,usage_user bigint,usage_system bigint,usage_idle bigint,usage_nice bigint,usage_iowait bigint,usage_irq bigint,usage_softirq bigint,usage_steal bigint,usage_guest bigint,usage_guest_nice bigint) tags (hostname varchar(30), region varchar(30),datacenter varchar(30),rack varchar(30),os varchar(30),arch varchar(30),team varchar(30),service varchar(30),service_version varchar(30),service_environment varchar(30))</code></pre> <p>然后 Q(shen)们用如下(nai)句创(dang)建(hong)?host_0 的子表:</p> <pre class="wp-block-code"><code>create table host_0 using cpu (hostname,region,datacenter,rack,os,arch,team,service,service_version,service_environment) tags ('host_0','eu-central-1','eu-central-1a','6','Ubuntu15.10','x86','SF','19','1','test')</code></pre> <p>上述语句创徏了一个子表。由此可知,对于 100 个设备(CPUQ的场景 一Q我们将会徏?100 个子表。对?4000 个设备的场景二,pȝ中将会徏?4000 个子表用以存储各自对应的数据 ?/p> <h2 class="wp-block-heading"><strong>软g版本和配|?/strong></h2> <p>本报告仅仅比?TDengine ( <a href="//www.yakult-sh.com.cn/time-series-database" target="_blank" data-type="URL" data-id="//www.yakult-sh.com.cn/time-series-database" rel="noreferrer noopener">Time Series Database</a> )、InfluxDB ?TimeScaleDB, 下面对用的版本和配|做明?/p> <h3 class="wp-block-heading"><strong>TDengine</strong></h3> <p>我们直接采用 TDengine Ver3.0Q从 GitHub 克隆 TDengine 代码~译版本作ؓ性能Ҏ的版本?/p> <pre class="wp-block-code"><code>gitinfo: c90e2aa791ceb62542f6ecffe7bd715165f181e8</code></pre> <p>在服务器上编译安装运行?/p> <pre class="wp-block-code"><code>cmake .. -DDISABLE_ASSERT=true -DSIMD_SUPPORT=true -DCMAKE_BUILD_TYPE=Release -DBUILD_TOOLS=false make -j && make install</code></pre> <p>?TDengine 的配|文件中讄了四个涉及查询的配置参数?/p> <pre class="wp-block-code"><code>numOfVnodeFetchThreads 4 queryRspPolicy 1 compressMsgSize 128000 SIMD-builtins 1</code></pre> <p>参数讄解读Q?/p> <ul class="wp-block-list"> <li>numOfVnodeFetchThreads 讄?Vnode ?Fetch U程数量?4 个,</li> <li>queryRspPolicy 用来打开 query response 快速返回机?/li> <li>compressMsgSize 的作用是自动压羃 TDengine 在传输层上大?128,000 bytes 的消?/li> <li>如果 CPU 支持QSIMD-builtins 可以启用内置?FMA/AVX/AVX2 g加?/li> </ul> <p>如上所qͼTDengine (wu)库(zhen)认(rou)徏 6 (juan)(juan)(juan)?vnodesQ(ben)(han)(han)(ji)(rou)徏的表(mei)(mei)(dong)照表名随机分(yan)到(lang) 6 (juan)(juan)(juan)虚(chun)拟节点(gui)virtual node, VNode) (juan)(juan)(juan)。打开 LRU ~存(jiang)(jiang)Q(ben)设|ؓ last_row ~存(jiang)(jiang)模式(fang)(mo)(mo)(xiao)于(yi)(yi)景一和(han)(han)景二Q(ben)s(mi)tt_trigger (cong)(juan)(juan)(juan)?1Q(ben)此?TDengine (mei)(mei)准(chan)(yuan)(yuan)(juan)(juan)(juan)?Sorted Time-series Table (STT) 文(yuan)(yuan)gQ(ben)(han)(han)(hong)单表(cong)(cong)(luo)量小?minimum rows Ӟ数(ban)(mei)(mei)(yang)接保(ying)在() STT 文(yuan)(yuan)g(juan)(juan)(juan),?STT 文(yuan)(yuan)g(juan)(juan)(juan)无法容Ux数(ban)Ӟpȝ׃(xi)?STT (juan)(juan)(juan)的数(ban)整(cun)后(yi)(yi)(ai)(cong)(cong)(luo)(rou)(ban)(kai)据文(xi)中(mo)(mo)(xiao)于(yi)(yi)(xi)的(she)景(ou)Q(ben)场景三(mo)(mo)四(mo)(mo)五Q(ben)(duo)stt_trigger (cong)(juan)(juan)(juan)?8Q(ben)(han)(han)(ji)允(ci)最(chan)(yang)?8 (juan)(juan)(juan)?STT 文(yuan)(yuan)g(mo)(mo)?strong>(hun)对表较(chan)(yang)(she)景(ou)Q(ben)需要适(xiao)(hai)(li)加 STT 的|(xi)此来获得更好的(cong)(cong)(luo)(hao)能(mo)(mo)?/strong></p> <h3 class="wp-block-heading"><strong>TimescaleDB</strong></h3> <p>为确保结果具有可比性,我们选用 TimescaleDB 版本 version 2.6.0。ؓ获得较好的性能QTimescaleDB 需要针对不同的场景讄不同?Chunk 参数Q不同场景下参数的设|如下表所C?/p> <div id="sqinis2ngw" class="wp-block-image"> <figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="215" src="//www.yakult-sh.com.cn/wp-content/uploads/2023/03/截屏2023-03-23-下午2.04.28-1024x215.png" alt="一键获取测试脚本,L验证“TSBS 时序数据库性能基准试报告?- TDengine Database 时序数据? class="wp-image-17247" title="一键获取测试脚本,L验证“TSBS 时序数据库性能基准试报告?- TDengine Database 时序数据? srcset="//www.yakult-sh.com.cn/wp-content/uploads/2023/03/截屏2023-03-23-下午2.04.28-1024x215.png 1024w, //www.yakult-sh.com.cn/wp-content/uploads/2023/03/截屏2023-03-23-下午2.04.28-300x63.png 300w, //www.yakult-sh.com.cn/wp-content/uploads/2023/03/截屏2023-03-23-下午2.04.28-768x162.png 768w, //www.yakult-sh.com.cn/wp-content/uploads/2023/03/截屏2023-03-23-下午2.04.28.png 1350w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure></div> <p>上述参数的设|,充分参考了《TimescaleDB vs. InfluxDB》(如下链接Q?中推荐的配置参数讄Q以保能够最大化写入性能指标?/p> <p>TimescaleDB vs. InfluxDB: Purpose Built Differently for Time-Series Data. <a href="//www.timescale.com/blog/timescaledb-vs-influxdb-for-time-series-data-timescale-influx-sql-nosql-36489299877/" rel="nofollow noopener" target="_blank">//www.timescale.com/blog/timescaledb-vs-influxdb-for-time-series-data-timescale-influx-sql-nosql-36489299877/</a></p> <h3 class="wp-block-heading"><strong>InfluxDB</strong></h3> <p>我们选择?InfluxDB version 1.8.10。这里没有?InfluxDB 最新的 2.x 版本是因?TSBS 没有对其q行适配Q所以选用?InfluxDB 能够q行 TSBS 框架的最新版本。同P我们采用《TimescaleDB vs. InfluxDB》中推荐的方式配|?InfluxDBQ将~冲区配|ؓ 80GQ以?1000W 讑֤写入时能够顺利进行,同时开?Time Series IndexQTSIQ。配|系l在pȝ插入数据完成 30s 后开始数据压~?/p> <pre class="wp-block-code"><code>cache-max-memory-size = "80g" max-values-per-tag = 0 index-version = "tsi1" compact-full-write-cold-duration = "30s"</code></pre> <h2 class="wp-block-heading"><strong>试步骤</strong></h2> <h3 class="wp-block-heading"><strong>g准备</strong></h3> <p>(juan)C TimescaleDB vs. InfluxDB (fen)Ҏ(ge)告(juan)的环境高(hua)接近Q(ben)我们()亚马?AWS (fei)?EC2 提供(fei)?r4.8xlarge cd(hui)(yi)实(pao)(bao)作ؓ基础q(song)q_Q(ben)包(zhi)?1 台服务器(sa)? 台客(xi)(xi)(xi)L(wei)׃(bian)(juan)节Ҏ(xi)(xi)(xi)的环境。(xiao)(xi)(xi)(xi)L(juan)服务器(sa)(yun)g配置完全(sui)同(qian)Q(ben)客(xi)(xi)(xi)L(juan)服务器(sa)使用 10 Gbps |络(lu)q接。配|(chen)如(juan):</p> <div id="sqinis2ngw" class="wp-block-image"> <figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="201" src="//www.yakult-sh.com.cn/wp-content/uploads/2023/03/截屏2023-03-23-下午2.04.55-1024x201.png" alt="一键获取测试脚本,L验证“TSBS 时序数据库性能基准试报告?- TDengine Database 时序数据? class="wp-image-17248" title="一键获取测试脚本,L验证“TSBS 时序数据库性能基准试报告?- TDengine Database 时序数据? srcset="//www.yakult-sh.com.cn/wp-content/uploads/2023/03/截屏2023-03-23-下午2.04.55-1024x201.png 1024w, //www.yakult-sh.com.cn/wp-content/uploads/2023/03/截屏2023-03-23-下午2.04.55-300x59.png 300w, //www.yakult-sh.com.cn/wp-content/uploads/2023/03/截屏2023-03-23-下午2.04.55-768x150.png 768w, //www.yakult-sh.com.cn/wp-content/uploads/2023/03/截屏2023-03-23-下午2.04.55.png 1307w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure></div> <h3 class="wp-block-heading"><strong>服务器环境准?/strong></h3> <p>行测试脚本,服务?OS 需要是 ubuntu20 以上的系l。AWS EC2 的服务器pȝ信息如下Q?/p> <ol class="wp-block-list" start="1"> <li>OSQ?Linux tv5931 5.15.0-1028-aws #32~20.04.1-Ubuntu SMP Mon Jan 9 18:02:08 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux</li> <li>GccQgcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04)</li> <li>基础环境Q版本信息ؓQGo1.16.9 , python3.8 , pip20.0.2 (无需手动安装Q测试脚本将自动安装Q?/li> <li>~译依赖Qgcc , cmake, build-essential, git, libssl-dev (无需手动安装Q测试脚本将自动安装Q?/li> </ol> <p>开始前请做两个配置Q?/p> <ol class="wp-block-list" start="1"> <li>client ?server 配置 ssh 讉K免密Q以便脚本可不暴露密码,可参考文档:免密配置Q?a href="//blog.csdn.net/qq_38154295/article/details/121582534" target="_blank" rel="noreferrer noopener nofollow">//blog.csdn.net/qq_38154295/article/details/121582534</a>Q?/li> <li>保证 client ?server 之间所有端口开放?/li> </ol> <h3 class="wp-block-heading"><strong>获取试脚本</strong></h3> <p>Z于重复测试,隐藏J琐的下载、安装、配|、启动、汇ȝ果等l节Q整?TSBS 的测试过E被装成一个测试脚本?strong>重复本测试报告,需要先下蝲该测试脚本,脚本暂支?ubuntu20 以上的系l?/strong>以下操作要求h root 权限?/p> <ol class="wp-block-list"> <li>在客L机器Q进入测试目录拉取代码,默认q入 /usr/local/src/ 目录Q?/li> </ol> <pre class="wp-block-code"><code>cd /usr/local/src/ && apt install git && git clone //github.com/taosdata/tsbs.git && cd tsbs/scripts/tsdbComp </code></pre> <p> 2. 修改配置文g test.ini 中服务端和客L?IP 地址Q这里配|?AWS 的私|地址卛_Q和 hostnameQ如果服务器未配|免密,q需要配|服务器端的 root 密码Q?/p> <pre class="wp-block-code"><code>clientIP="192.168.0.203" #client ip clientHost="trd03" #client hostname serverIP="192.168.0.204" #server ip serverHost="trd04" #server hostname serverPass="taosdata123" #server root password</code></pre> <h3 class="wp-block-heading"><strong>一键执行对比测?/strong></h3> <p>执行以下命oQ?/p> <pre class="wp-block-code"><code>nohup bash tsdbComparison.sh > test.log &</code></pre> <p>(xian)试(cu)脚本(hao)(wu)动安?TDengine、InfluxDB、TimeScaleDB {YӞ(e)q自动运(chen)各(yu)U对(jiao)测(gai)(gai)(xuan)()。在目前(shan)(fei)硬仉|下Q整个测(gai)(gai)(xuan)(die)完需要大U一天半(fei)时间?strong>(xian)试(cu)l束后,(hao)(wu)动生?CSV 格(jian)(fei)对(jiao)测(gai)(gai)(xuan)报告,q存攑֜客户(jiong)端的 /data2 目录?/strong></p> <h2 class="wp-block-heading">写在最?/h2> <p>阅读完毕Q你一定更加深入地了解?TDengine 的数据徏模、三大数据库试版本和配|,以及如何q用试脚本q行一键复现。如果有伙伴想要验?TDengine 的报告结果,Ƣ迎按照上述步骤q行操作Q检验测试结果,有Q何问题都Ƣ迎大家和我们及时沟通。现在添?strong>T vx:tdengine1</strong>Q可以邀请你加入 TDengine 用户交流,和更多志同道合的开发者一赯技术、聊实战?/p> ]]></content:encoded> </item> <item> <title>?TDengine 存储引擎的变化探讨——ؓ何大家应快切换 3.0 版本Q?/title> <link>//www.yakult-sh.com.cn/tdengine-engineering/17207.html</link> <dc:creator><![CDATA[Yu Chen]]></dc:creator> <pubDate>Mon, 20 Mar 2023 03:07:28 +0000</pubDate> <category><![CDATA[技术文?- 时序数据库]]></category> <category><![CDATA[Time Series DataBase]]></category> <category><![CDATA[TDengine]]></category> <category><![CDATA[时序数据库]]></category> <category><![CDATA[物联|]]></category> <guid isPermaLink="false">//www.yakult-sh.com.cn/?p=17207</guid> <description><![CDATA[TDengine 存储引擎的P代优化中探讨升3.0版本的必要性]]></description> <content:encoded><![CDATA[ <p>是一个有方向感的汉字Qƈ且给便迅L感觉?a href="//www.yakult-sh.com.cn" data-type="URL" data-id="//www.yakult-sh.com.cn" target="_blank" rel="noreferrer noopener"><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-contrast-2-color">TDengine</mark></a>Q?<a href="//www.yakult-sh.com.cn/time-series-database" data-type="URL" data-id="//www.yakult-sh.com.cn/time-series-database" target="_blank" rel="noreferrer noopener"><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-contrast-2-color">Time Series Database</mark></a> Q?a href="//www.yakult-sh.com.cn/tsdb" target="_blank" data-type="URL" data-id="//www.yakult-sh.com.cn/tsdb" rel="noreferrer noopener"><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-contrast-2-color">TSDB</mark></a>Q?产品最初的灉|之一Q便是和“流”字相关Q一台物联网讑֤便是一条数据流Q十万台讑֤便是十万条数据流。它们像溪河汇聚一P每秒每分源源不断地流向了数据处理q_?/p> <p>面对q样规模的大数据挑战QTDengine 选择充分地利用时序数据本w的特点Q可参考:<a href="//mp.weixin.qq.com/s?__biz=MzIzNzg5MTcxNA==&mid=2247483956&idx=1&sn=86c55c40e935acd18835fec764fd7767&chksm=e8c0fbd9dfb772cf4e102a62498b034c6407cd9ea2c47d209b3e737800676cea7a108bf1d9d1&scene=21#wechat_redirect" target="_blank" rel="noreferrer noopener nofollow"><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-contrast-2-color">//mp.weixin.qq.com/s?__biz=MzIzNzg5MTcxNA==&mid=2247483956&idx=1&sn=86c55c40e935acd18835fec764fd7767&chksm=e8c0fbd9dfb772cf4e102a62498b034c6407cd9ea2c47d209b3e737800676cea7a108bf1d9d1&scene=21#wechat_redirec</mark>t</a>Q,来针Ҏ地设计存储引擎。最l的目标其实是Q高效持l地吞吐、消化这些数据流Q让数据能够无gq地产生价倹{?/p> <p>(hong)以_(da)我们q求的便是“流”一(lei)的(qing)产品能力。而关于文章标题的(qing){(jiang)案Q(shen)(long)文将(xi)?TDengine 的存储引擎的(qing)(hong)化(hong)说P(xi)</p> <p>׃认ؓ旉序列拥有天然递增属性,所以在最早期?1.6 版本中,TDengine 是不支持对ؕ序数据的处理的,当时乱序数据写入表中后,pȝ会做报错处理。但l过用户实际场景的磨l后Q?strong>我们不得不把注意力聚焦在q个“害之马”的w上?/strong>在生产环境中Q由于设备损坏,|络延迟{原因,数据乱序到达是难免的。更关键的是Q不数据ؕ序与否,用户都有权利自行军_是否处理它,q是一个品应该具有的灉|度?/p> <p><strong>它让理想(juan)的数据“(chu)ؕ”(jin)Q但我们(hua)却又(juan)能(lu)ּ它?/strong></p> <p>于是Q我们立d 2.0 版本中增加了数据在内存中的排序和盘中的数据子块来支持ؕ序数据的处理Q以此维持了数据的完整性和有序性?/p> <p>但是q对?2.0 版本的流式计和订阅来说Q仍然有cM的麻烦?/p> <p>当时的订?计(q箋查询Q是Z查询引擎的物,它依靠连l不断地执行 SQL 查询l果作出实时反馈。以订阅ZQ每条符合要求被消费掉的数据的时间戳Q都会被记录下来Q从而作Z?SQL 查询中时间范围的起始炏V这Ӟ即便是新数据的时间戳只比q个记录早一U,也不会被 SQL 轮询到。因此可以说Q?2.0 的流计算Q连l查询)/订阅?1.6 一P它只处理了有序部分的数据。本质上来说Q由?SQL 取到的只能是已经入库的数据,所以这个阶D늚查询行ؓ是滞后的?/p> <p><strong>因此Q(shen)们决定在 3.0 再次q行优化(yi)重构Q?/strong></p> <p>虽然数据的时间戳有ؕ序,但是他们到达数据库的旉永远分有先后Q这l序列相当于“数据入库时间”。不q这个“数据入库时间?不是旉戻I而是一个从 0 开始的整型数字Q我们称之ؓ“版本号”,代表的是数据库概忉|“第 x ơ的数据变更”。熟?WAL 概念的伙伴们都知道,TDengine 利用 WAL 技术来提供基本的数据可靠性:每一?WAL 信息代表的是一ơ数据库的变_增删改)Q所以每一?WAL 信息都会有唯一的版本号。通过“版本号”,我们可以明确地告诉流计算/订阅该数据是否ؓ新增数据Q再通过?WAL 的这l“版本号”创建烦引,我们可以快速定位要消费的数据了?/p> <p>以订阅ؓ例:3.0 的订阅引擎ؓ旉驱动Q它会解析每一条新写入?WAL 的消息内容,然后判断是否匚w topic ?sql 条gQ如果匹配则直接?WAL 的消息{化成数据q回l用??/p> <p>除了用于订阅Q(ben)这l版本号q有很(guo)十分重(qiang)(fei)(qiao)用:</p> <ol class="wp-block-list"> <li>它本w核心的职责?raft 日志的编P用于多副本的数据同步Q?/li> <li>把版本号下发l每行数据,以追加写入的形式完成数据的更C删除?/li> </ol> <p>比如Q某?wal (suo)息的(fan)(qiang)Ҏ(yi)写入(ai)一行数(rong):</p> <pre class="wp-block-code"><code>insert into d1 values ("2022-03-10 08:00:00.000",100)Q?/code></pre> <p>那么q行数据׃拥有了这?wal 消息的版本号Q假设ؓ 1Q?Qƈ且永久性地存储在数据文件中?/p> <p>解下来的一?wal 消息的内Ҏ以相同时间戳更新q行数据Q?/p> <pre class="wp-block-code"><code>insert into d1 values ("2022-03-10 08:00:00.000",200)Q?/code></pre> <p>消息的版本号便是 ?”,q条数据会以写入的Ş式追加存储。查询的时候,在时间戳相同的情况下Q通过比对版本号大来选择最新的数据Q因此我们得到的数据便是Q?#8221;2022-03-10 08:00:00.000″,200?/p> <p>删除同理Q被删除的数据是取版本号较大的空数据Q这样便可在不破坏原有数据文件结构的情况下实现高效的删除。以上部分具体实现细节可参考:<a href="//mp.weixin.qq.com/s/imECB9dIFxZKeoaF3uoOgg" target="_blank" rel="noreferrer noopener nofollow"><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-contrast-2-color">//mp.weixin.qq.com/s/imECB9dIFxZKeoaF3uoOgg</mark></a></p> <p class="has-text-align-left">3.另外Q当 follower 副本的数据落后,?leader 上的 WAL 日志已经消失的情况下Q版本号q可以做数据文g的快照。只把增量的数据? 输过去,大大节约 data recovery 的时间?/p> <p>通(yun)q些大刀阔斧的重构,TDengine 完(chu)地(ban)(e)上面几大模块(dun)~(fen)了v来:(xi)</p> <ol class="wp-block-list"> <li>解决了流计算、订阅对于ؕ序数据处理的不支持;</li> <li>让删除操作ؓ逻辑删除Q解决了删除操作的性能问题Q?/li> <li>Z版本号引入了快照机制Q大q优化了特定场景下的数据恢复的速度?/li> </ol> <hr class="wp-block-separator has-alpha-channel-opacity"/> <p>回到标题上,Z TDengine 用户应尽快切?3.0 版本Q答案已l都写在上面了。通过下沉到v量用户实际场景中反复q代优化Q从 1.6 ?2.0 再到 3.0Q?TDengine 从底层结构上解决了最初设计的瑕疵Q各个模块之间结构变得更加清晎ͼ衔接也更加自Ӟq样扎实的底层设计对产品未来的稳定和性能提升所带来的帮助都是巨大的?/p> ]]></content:encoded> </item> <item> <title>时序数据云^台TDengine Cloud 与社区版的区?/title> <link>//www.yakult-sh.com.cn/time-series-database/17472.html</link> <dc:creator><![CDATA[TAOS Data]]></dc:creator> <pubDate>Mon, 13 Mar 2023 09:33:00 +0000</pubDate> <category><![CDATA[Time Series DataBase]]></category> <category><![CDATA[TDengine-TSDB]]></category> <category><![CDATA[开源时序数据库]]></category> <category><![CDATA[时序数据理]]></category> <category><![CDATA[时序数据理q_]]></category> <guid isPermaLink="false">//www.yakult-sh.com.cn/?p=17472</guid> <description><![CDATA[TDengine Cloud 是一个基于开源时序数据库QTime Series Database,TSDBQ?TDengine 开发的全托时序数据处理云服务q_Q它h以下优点?1. 极简的时序数]]></description> <content:encoded><![CDATA[ <p>TDengine Cloud 是一个基于开?a href="//www.yakult-sh.com.cn/" data-internallinksmanager029f6b8e52c="2" title="时序数据? target="_blank" rel="noopener">时序数据?/a>QTime Series Database,<a href="//www.yakult-sh.com.cn/" target="_blank" rel="noreferrer noopener">TSDB</a>Q?TDengine 开发的全托时序数据处理云服务q_Q它h以下优点?/p> <h3 class="gb-headline gb-headline-fe28c3bb gb-headline-text">1. 极简的时序数据管理^?/h3> <p>除高性能、具有(qun)q(qian)x展能力的(zu)(duo)数(ban)库外Q(ben)TDengine Cloud q提供:</p> <ul class="wp-block-list"> <li><strong>~  存</strong>Q无需部v RedisQ应用就能快速的获得最新数据?/li> <li><strong>数据订阅</strong>Q无需部v KafkaQ当pȝ接收到新的数据时Q应用将立即收到通知?/li> <li><strong>式计算</strong>Q无需部v Spark或FlinkQ应用通过SQLp创徏q箋查询或时间驱动的计?/li> </ul> <p>TDengine Cloud 大幅化了pȝ架构、降低系l复杂度、降低运营成本?/p> <h3 class="gb-headline gb-headline-28fa337f gb-headline-text">2. 便捷且安全的数据׃n</h3> <p>既支持将一个库完全开放,讄L写的权限Q也支持通过数据订阅的方式,库、超U表、一l或一张表、或聚合处理后的数据分n出去?/p> <ul class="wp-block-list"> <li><strong>便捷</strong>Q如同在U文档一L单,只需输入Ҏ邮g地址Q设|访问权限和讉K旉卛_实现分n。对Ҏ到邮Ӟ接受邀请后Q可卛_讉K?/li> <li><strong>安全</strong>Q访问权限可以控制到一个运行实例、一个库或订阅的 topicQ对于每个授权的用户Q对分n的资源,pȝ会生成一个访问用?tokenQ而且可以讄讉K到期旉?/li> </ul> <p>便捷而又安全的数据共享,让部门或合作伙伴之间能快速洞察业务的q营?/p> <h3 class="gb-headline gb-headline-c496b5fd gb-headline-text">3. 安全可靠的企业服务</h3> <p>除强大的时序数据理、共享功能之外,TDengine Cloud q提供企业稳定运营必d备的Q?/p> <ul class="wp-block-list"> <li><strong>可靠</strong>Q提供数据定时备份、恢复,数据从运行实例到U有云、其他公有云?Region 的实时复制?/li> <li><strong>安全</strong>Q提供基于角色的讉K权限控制、IP 白名单、用戯为审计等功能?/li> <li><strong>专业</strong>Q提?7*24 的专业技术服务,承诺 99.9% ?Service Level Agreement?/li> </ul> <p>TDengine Cloud 让用h需再ؓ数据理发愁Q完全聚焦自w核心业务?a href="//www.yakult-sh.com.cn/tdengine/cloud/data-sharing" target="_blank" rel="noreferrer noopener"></a></p> <p>相比之下QTDengineC֌版虽然也h高性能、极和云原生{特点,但是需要自己部|和l护Q也没有提供数据׃n和企业云服务等功能?/p> <p>如果您想了解更多关于TDengine Cloud的信息,h看文档?/p> ]]></content:encoded> </item> </channel> </rss>