TDengine

TDengine 是濤思數(shù)據(jù)旗下一款產(chǎn)品開(kāi)源、云原生的時(shí)序數(shù)據(jù)庫(kù)(Time Series Database),已在2018年8月推出正式商業(yè)化版本。TDengine不依賴(lài)任何開(kāi)源或第三方軟件,擁有完全自主知識(shí)產(chǎn)權(quán),具有高性能、高可靠、可伸縮、零管理、簡(jiǎn)單易學(xué)等技術(shù)特點(diǎn)。 [1] 提供緩存、數(shù)據(jù)訂閱、流式計(jì)算等功能,最大程度減少研發(fā)和運(yùn)維的復(fù)雜度。
TDengine官方文檔

一.TDengin 安裝

1.拉取TDengine鏡像

docker pull tdengine/tdengine:latest

2.使用docker安裝tdengine需映射網(wǎng)絡(luò)端口和文件夾,時(shí)間較長(zhǎng)

sudo docker run -d --name tdengine -h tdengine -p 6041:6041 -p 6030-6035:6030-6035 -p 6030-6035:6030-6035/udp tdengine/tdengine:latest

3.通過(guò) docker exec 命令,進(jìn)入到 docker 容器,進(jìn)入TDengine客戶(hù)端

docker exec -it tdengine /bin/bash

4.應(yīng)用示例:在宿主機(jī)使用 taosBenchmark 寫(xiě)入數(shù)據(jù)到 Docker 容器中的 TDengine server

在tdengine容器里執(zhí)行

taosBenchmark 

回車(chē)后,該命令將在數(shù)據(jù)庫(kù) test 下面自動(dòng)創(chuàng)建一張超級(jí)表 meters,該超級(jí)表下有 1 萬(wàn)張表,表名為 “d0” 到 “d9999”,每張表有 1 萬(wàn)條記錄,每條記錄有 (ts, current, voltage, phase) 四個(gè)字段,時(shí)間戳從 “2017-07-14 10:40:00 000” 到 “2017-07-14 10:40:09 999”,每張表帶有標(biāo)簽 location 和 groupId,groupId 被設(shè)置為 1 到 10, location 被設(shè)置為 “California.SanFrancisco” 或者 “California.SanDieo”。
最后共插入 1 億條記錄。

進(jìn)入客戶(hù)端程序

taos

查看數(shù)據(jù)庫(kù)

show databases;

查看超級(jí)表

use test;

查詢(xún)表,限制輸出十條

select * from test.d0 limit 10;

二.TDengine 建表

1.創(chuàng)建庫(kù)

CREATE DATABASE sin KEEP 365 DAYS 10 BLOCKS 6 UPDATE 1;

上述語(yǔ)句將創(chuàng)建一個(gè)名為 sin 的庫(kù),這個(gè)庫(kù)的數(shù)據(jù)將保留 365 天(超過(guò) 365 天將被自動(dòng)刪除),每 10 天一個(gè)數(shù)據(jù)文件,內(nèi)存塊數(shù)為 6,允許更新數(shù)據(jù)。

創(chuàng)建庫(kù)之后,需要使用 SQL 命令 USE 將當(dāng)前庫(kù)切換過(guò)來(lái)

USE sin;

2.創(chuàng)建超級(jí)表

一個(gè)物聯(lián)網(wǎng)系統(tǒng),往往存在多種類(lèi)型的設(shè)備,比如對(duì)于電網(wǎng),存在智能電表、變壓器、母線(xiàn)、開(kāi)關(guān)等等。為便于多表之間的聚合,使用 TDengine, 需要對(duì)每個(gè)類(lèi)型的數(shù)據(jù)采集點(diǎn)創(chuàng)建一個(gè)超級(jí)表。

CREATE STABLE gl07 (ts timestamp,value int) TAGS (groupId int);

3.創(chuàng)建表

TDengine 對(duì)每個(gè)數(shù)據(jù)采集點(diǎn)需要獨(dú)立建表。與標(biāo)準(zhǔn)的關(guān)系型數(shù)據(jù)庫(kù)一樣,一張表有表名,Schema,但除此之外,還可以帶有一到多個(gè)標(biāo)簽。創(chuàng)建時(shí),需要使用超級(jí)表做模板,同時(shí)指定標(biāo)簽的具體值。

CREATE TABLE d1008 USING gl07 TAGS (1008);

4.自動(dòng)建表

在某些特殊場(chǎng)景中,用戶(hù)在寫(xiě)數(shù)據(jù)時(shí)并不確定某個(gè)數(shù)據(jù)采集點(diǎn)的表是否存在,此時(shí)可在寫(xiě)入數(shù)據(jù)時(shí)使用自動(dòng)建表語(yǔ)法來(lái)創(chuàng)建不存在的表,若該表已存在則不會(huì)建立新表且后面的 USING 語(yǔ)句被忽略。

INSERT INTO d1009 USING gl07 TAGS (1009) VALUES (now, 9);

驗(yàn)證是否創(chuàng)建

select * from d1009;

TDengine SQL寫(xiě)入數(shù)據(jù)
1.寫(xiě)入一條數(shù)據(jù),子表不存在自動(dòng)創(chuàng)建

INSERT INTO d1009 USING gl07 TAGS (1009) VALUES (now, 10);

2.寫(xiě)入一條數(shù)據(jù)

INSERT INTO d1001 VALUES (now, 34);

3.寫(xiě)入多條數(shù)據(jù)

INSERT INTO d1001 VALUES (now,14) (now,16);
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容