電子產(chǎn)業(yè)一站式賦能平臺(tái)

PCB聯(lián)盟網(wǎng)

搜索
查看: 2974|回復(fù): 0
收起左側(cè)

嵌入式系統(tǒng)到底該選哪款數(shù)據(jù)庫,SQLite真的是最優(yōu)解嗎?

[復(fù)制鏈接]

2607

主題

2607

帖子

7472

積分

高級(jí)會(huì)員

Rank: 5Rank: 5

積分
7472
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2020-7-17 10:33:30 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
  

由于受嵌入式設(shè)備資源的限制,SQLite憑借其輕小的優(yōu)勢(shì)在嵌入式系統(tǒng)的數(shù)據(jù)處理中獨(dú)占鰲頭,裝機(jī)總量超過千億臺(tái),遠(yuǎn)遠(yuǎn)超過大家熟悉的MySQL, Oracle等數(shù)據(jù)庫。

但SQLite真的是嵌入式系統(tǒng)數(shù)據(jù)庫選型的最優(yōu)解嗎?未必。

在邊緣計(jì)算、物聯(lián)網(wǎng)網(wǎng)關(guān)、嵌入式系統(tǒng)中,數(shù)據(jù)往往是各種傳感器或設(shè)備采集的時(shí)序數(shù)據(jù),這些數(shù)據(jù)具有如下鮮明的特點(diǎn),1:數(shù)據(jù)是時(shí)序的,一定帶有時(shí)間戳;2:數(shù)據(jù)是結(jié)構(gòu)化的;3: 數(shù)據(jù)極少有更新或刪除操作;4:數(shù)據(jù)產(chǎn)生源是唯一的;5:相對(duì)互聯(lián)網(wǎng)應(yīng)用,寫多讀少;6:用戶關(guān)注的是一段時(shí)間的趨勢(shì),而不是某一特點(diǎn)時(shí)間點(diǎn)的值;7: 數(shù)據(jù)是有保留期限的;8:數(shù)據(jù)的查詢分析一定是基于時(shí)間段和地理區(qū)域的;9:除存儲(chǔ)查詢外,還往往需要各種統(tǒng)計(jì)、插值和其他實(shí)時(shí)計(jì)算操作;10:數(shù)據(jù)流量平穩(wěn)。

SQLite是關(guān)系型數(shù)據(jù)庫,沒有利用上述數(shù)據(jù)特點(diǎn),因此在存儲(chǔ)、查詢數(shù)據(jù)的性能上嚴(yán)重不足,而且不提供插值、不提供流式計(jì)算、不提供數(shù)據(jù)生命周期管理、無賬號(hào)、無遠(yuǎn)程登錄等功能,也難實(shí)現(xiàn)邊云協(xié)同。隨著物聯(lián)網(wǎng)、工業(yè)互聯(lián)網(wǎng)的發(fā)展,SQLite的局限越來越明顯。

我們?nèi)缙谕瞥?u>ARM 32位版,為邊緣計(jì)算、嵌入式場(chǎng)景下時(shí)序數(shù)據(jù)的存儲(chǔ)、查詢、分析與計(jì)算提供一強(qiáng)大的工具,以解決流行的SQLite在該場(chǎng)景下的諸多不足,并且100%開源。

TDengine是濤思數(shù)據(jù)團(tuán)隊(duì)針對(duì)物聯(lián)網(wǎng)、工業(yè)互聯(lián)網(wǎng)數(shù)據(jù)特點(diǎn)而開發(fā)的一數(shù)據(jù)處理平臺(tái),近期推出了ARM 32位版本,為邊緣計(jì)算、嵌入式場(chǎng)景下時(shí)序數(shù)據(jù)的存儲(chǔ)、查詢、分析與計(jì)算提供一強(qiáng)大的工具,以解決流行的SQLite在該場(chǎng)景下的諸多不足,并且100%開源。與InfluxDB, OpenTSDB等其他專業(yè)時(shí)序數(shù)據(jù)庫相比,除超強(qiáng)的插入、查詢性能外,TDengine還具有幾大優(yōu)勢(shì),1:體量很小,安裝包不到1.3M;2:占用的CPU、內(nèi)存資源很少;3:數(shù)據(jù)壓縮率高,占用的存儲(chǔ)資源大幅減少。這幾大優(yōu)勢(shì)讓TDengine在資源緊張的嵌入式系統(tǒng)里如魚得水。

在2019年7月TDengine宣布開源后,獲得全球開發(fā)者的高度關(guān)注(GitHub Star超過1萬,F(xiàn)ork數(shù)超過2.9k),很多開發(fā)者希望濤思數(shù)據(jù)提供ARM 32位版本,以代替他們現(xiàn)在使用的SQLite。今天,濤思數(shù)據(jù)團(tuán)隊(duì)不負(fù)眾望,終于推出。

相比SQLite,TDengine具有哪些優(yōu)勢(shì)?

提供數(shù)據(jù)庫遠(yuǎn)程登錄功能:你可以使用TDengine shell程序從Windows、Linux系統(tǒng)通過網(wǎng)絡(luò)直接訪問數(shù)據(jù)庫,與使用MySQL沒有區(qū)別。

提供數(shù)據(jù)的生命周期管理:你可以設(shè)置數(shù)據(jù)保留時(shí)長(zhǎng),數(shù)據(jù)超過保留時(shí)長(zhǎng)后,會(huì)被自動(dòng)刪除,這樣不用擔(dān)心硬盤塞滿。

提供流式計(jì)算:通過連續(xù)查詢的方式,可以對(duì)一個(gè)或多個(gè)數(shù)據(jù)流進(jìn)行實(shí)時(shí)計(jì)算,包括數(shù)據(jù)降采樣、插值、多個(gè)數(shù)據(jù)流的聚合等等。

提供數(shù)據(jù)訂閱服務(wù):云端或其他設(shè)備可以訂閱嵌入式系統(tǒng)里存儲(chǔ)于TDengine里的符合過濾條件的數(shù)據(jù),不用自己再去實(shí)現(xiàn)斷點(diǎn)續(xù)傳,不用擔(dān)心網(wǎng)絡(luò)中斷等系列問題,很容易實(shí)現(xiàn)邊云協(xié)同。

支持更好的并發(fā):TDengine的服務(wù)是單個(gè)持久性進(jìn)程,對(duì)每個(gè)時(shí)間序列單獨(dú)建表,支持很好的并發(fā);而SQLite只提供數(shù)據(jù)庫級(jí)的定,在并發(fā)的讀寫方面性能不是很好,數(shù)據(jù)庫可能會(huì)被寫操作獨(dú)占,從而導(dǎo)致其它讀寫操作阻塞或出錯(cuò)。

發(fā)表回復(fù)

本版積分規(guī)則


聯(lián)系客服 關(guān)注微信 下載APP 返回頂部 返回列表