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

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

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

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

[復制鏈接]

2607

主題

2607

帖子

7472

積分

高級會員

Rank: 5Rank: 5

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

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

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

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

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

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

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

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

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

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

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

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

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

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

使用道具 舉報

發(fā)表回復

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則


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