六月婷婷AV,国产偷窥猎奇福利二区,日韩三级片。,好吊色网站,日韩成人中文在线视频,国产亚洲午夜啪啪,亚洲欧美另类国产精品,国产成人av1,任你艹在线观看

支持 SQL 并對時(shí)序數(shù)據(jù)處理進(jìn)行擴(kuò)展

支持 SQL 并對時(shí)序數(shù)據(jù)處理進(jìn)行擴(kuò)展

眾多的時(shí)序數(shù)據(jù)庫(Time Series Database)以及傳統(tǒng)的實(shí)時(shí)數(shù)據(jù)庫(Real Time Database),都采用自己的查詢語言,有的甚至只能使用 API 來做查詢。TDengine Database 從誕生的第一天起,就支持 SQL,將 SQL 做為自己的查詢語言,因?yàn)?TDengine 團(tuán)隊(duì)認(rèn)為 SQL 是世界上最簡單易用、最流行的查詢語言,為眾多程序員所喜愛,這樣能夠降低學(xué)習(xí)門檻和應(yīng)用程序遷移成本。同時(shí),為方便大家對時(shí)序數(shù)據(jù)進(jìn)行分析處理,TDengine Database 對標(biāo)準(zhǔn) SQL 進(jìn)行了擴(kuò)展。

與InfluxDB的查詢的簡單對比

InfluxDB 從 2.0 版起,采用 Flux 查詢語言,我們僅僅拿一個(gè)最簡單的例子來讓大家知道使用 SQL 和 Flux的難易程度。

假設(shè)要從庫 power 里查詢上海所有智能電表 smter 在過去的一個(gè)小時(shí)里每分鐘的電壓平均值,F(xiàn)lux 的查詢會是:


from(bucket:"power")
|> range(start:-1h)
|> filter(fn:(r) =>
r._measurement == "smeter" and
r._field = "voltage" and
r.location == "shanghai"
)
|> aggregateWindow(every: 1m, fn: mean)

如果用 TDengine 來寫,查詢語句會是:


select avg(voltage) from power.smeter where ts > now -1h and location = "shanghai" interval(1m)

對比兩種查詢語句,自然可以得出結(jié)論。

數(shù)據(jù)寫入:

InfluxDB、Prometheus 和 OpenTSDB 等眾多時(shí)序數(shù)據(jù)庫采用 schemaless 寫入,這對于不熟悉數(shù)據(jù)庫的開發(fā)者而言,很容易上手。TDengine 采用傳統(tǒng)的關(guān)系型模型,需要用戶定義 schema,對于數(shù)據(jù)寫入,增加了初學(xué)者的難度。為了解決這一問題,TDengine Database 從 2.4 版本起,開始支持 schemaless 寫入,方便初學(xué)者的數(shù)據(jù)寫入操作。

不僅如此,TDengine 現(xiàn)在支持 InfluxDB 的 LINE 格式寫入,現(xiàn)有 Telegraf 或其他數(shù)據(jù)采集應(yīng)用不用修改代碼,只需將寫入的 URL 改為 TDengine Database 集群的 IP 地址即可。而且 TDengine 還支持 OpenTSDB 的多種協(xié)議,包括 Telnet、JSON 等數(shù)據(jù)的寫入,詳細(xì)請看《TDengine 高效數(shù)據(jù)寫入》。

SQL擴(kuò)展

時(shí)序數(shù)據(jù)的分析處理有其特點(diǎn),需要有一些特殊的分析函數(shù),這是傳統(tǒng)的關(guān)系型數(shù)據(jù)庫不支持的。為便于開發(fā)者使用,TDengine 提供了下列 SQL 擴(kuò)展:

  • interval: TDengine 按時(shí)間區(qū)間對采集的數(shù)據(jù)進(jìn)行聚合,比如計(jì)算每 5 分鐘的電壓平均值
  • fill: 在某個(gè)具體的時(shí)間點(diǎn),并沒有數(shù)據(jù),但是 TDengine 可以根據(jù)這個(gè)時(shí)間點(diǎn)前后數(shù)據(jù)進(jìn)行插值計(jì)算,提供給應(yīng)用
  • sliding: 滑動(dòng)窗口,TDengine 可以每隔指定的時(shí)間間隔進(jìn)行查詢計(jì)算
  • last_row: 返回一張表某一列最后的非 NULL 值,這個(gè)對于 IoT 應(yīng)用非常重要,因?yàn)樵O(shè)備的當(dāng)前狀態(tài)是需要快速獲取的
  • tavg: 時(shí)間加權(quán)平均,在工業(yè)互聯(lián)網(wǎng)中,該平均經(jīng)常被用到
  • spread: 統(tǒng)計(jì)某列的最大值和最小值之差
  • ……

TDengine 3.0 版本更新了大量時(shí)序數(shù)據(jù)特有函數(shù)和特色查詢,詳見《TAOS SQL》。

更多亮點(diǎn) >>