<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
付出的代價:
這樣設計的最終目的是為了將相同Tag組合的資料放到一起,但是系統設計時完全可以自己內部針對這個Tag組合記錄一個唯一id或者唯一字串來作為內部隱藏的表名,來替換讓使用者自己起表名的操作,對使用者只需要呈現一個超級表STable即可,減輕使用者負擔。
其實可以看到上述其實是將系統內部判斷唯一的負擔轉交給使用者,麻煩了使用者。假如系統內部自動判斷Tag組合是否唯一,則在資料寫入過程中一直需要判斷當前Tag組合是否存在以及查詢對應的底層唯一id或者唯一字串,而讓使用者起表名則省去了上述代價,因為使用者起的表名就是一個唯一的字串,所以寫入效能自然好一些
每張表會記錄該表目前寫入的最大時間,一旦後續的寫入時間小於該時間則不允許寫入。假如你不小心向某張表寫入2021-07-24 00:00:00時間的資料,那麼該時間之前的資料都無法寫入了
這樣做帶來的好處,簡化了寫入過程,寫入過程永遠是append操作。舉個簡單例子,比如用陣列來存放記憶體資料,陣列中的資料是按時間排序的,如果後來的資料的時間不是遞增,那麼就需要將資料插入到陣列中間的某個位置,並且需要將該位置之後的資料全部後移。假如後來的資料的時間都是遞增的,那麼直接往陣列的最後面放即可,所以不支援亂序寫入即以犧牲使用者使用為代價來簡化寫入過程提高寫入效能
不支援亂序寫入還省去的一個麻煩就是:LSM中常見的compact。如果允許亂序寫入,那麼就會存在2個檔案中時間範圍是有重疊的,那麼就需要像RocksDB那樣來進行compact來消滅重疊,進而減少查詢時要查詢的檔案個數,所以你就會發現HBase、RocksDB、InfluxDB等等辛辛苦苦設計的compact在TDengine中基本不存在
總結一下就是:不支援亂序寫入是以犧牲使用者的使用為代價來提高寫入效能以及簡化設計
order by只能對時間、以及tag進行排序。top或者bottom只能對某個field求topN
時序領域非常常見的topN的group,比如求CPU利用率最大的3臺機器,目前也無法滿足
downsampling
:將同一根時間線上1s粒度的資料聚合成10s粒度的資料
aggregation
:將同一時刻多根時間線聚合成1根時間線
比如每個appId有多臺機器,每臺機器每秒都會記錄該機器的連線數,目前想畫出每個appId的總連線數的曲線
假如使用標準SQL則可能表示如下:
select sum(avg_host_conn),appid,new_time from ( select avg(connection) as avg_host_conn, appid,host,time/10 as new_time from t1 group by appid,host,time/10 ) as t2 group by appid, new_time
內部的子查詢會先將每個appid的host 10s內的connection求平均值,即downsampling,外部的查詢將每個appid下的host的上述平均值求和,即aggregation
由於這類需求在時序查詢中太常見了,使用上述SQL書寫非常麻煩,有些系統就通過函數巢狀的方式來簡化這類查詢的書寫
目前TDengine的聚合函數要麼只能是downsampling要麼只能是aggregation,也不支援子查詢,那麼是無法滿足上述需求的
查詢分2階段:第一階段請求管理節點,獲取符合tag過濾的所有表的meta資訊(包含每個表在哪個資料節點上),假如滿足條件的表有上百萬個,這這個階段的查詢基本也吃不消,第二階段向資料節點查詢聚合每個表的資料,返回給使用者端,使用者端再做最終的聚合。
這種查詢方案終究還是會面臨使用者端聚合瓶頸的,還是要上多機協調的分散式查詢方案比如類似Presto、Impala等等
以上就是時序資料庫TDengine寫入問題分析的詳細內容,更多關於時序資料庫TDengine寫入的資料請關注it145.com其它相關文章!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45