物聯(lián)網(wǎng)產生大量的數(shù)據(jù),包括流數(shù)據(jù)、時間序列數(shù)據(jù)、RFID數(shù)據(jù)、傳感數(shù)據(jù)等。要有效地管理這些數(shù)據(jù),就需要使用數(shù)據(jù)庫。物聯(lián)網(wǎng)數(shù)據(jù)的本質需要一種不同類型的數(shù)據(jù)庫。以下是一些數(shù)據(jù)庫,當與物聯(lián)網(wǎng)一起使用時,會給出非常好的結果。
物聯(lián)網(wǎng)可以看作是一個網(wǎng)絡,在這個網(wǎng)絡中,各種事物通過一個共同的平臺相互連接。只是想象一個場景,在該場景中,每一個設備在家里和工作場所的連接,和一個世界,空調在房間外面的溫度上升時自動降低其溫度,當在任何公共集會的人數(shù)很容易知道,當一個人的健康可以每天監(jiān)控參數(shù)。這就是物聯(lián)網(wǎng)可能帶來的影響。
物聯(lián)網(wǎng)目前的狀態(tài)是非常零散的。有不同的公司和組織正在為他們的客戶或他們的個人需求建立自己的平臺。但是,目前還沒有一種通用的平臺,可以讓所有設備(無論它們是哪家公司的)通過用戶友好的界面相互連接。
據(jù)估計,未來5年,物聯(lián)網(wǎng)設備的數(shù)量將達數(shù)萬億。
物聯(lián)網(wǎng)需要數(shù)據(jù)庫嗎?
物聯(lián)網(wǎng)帶來了許多繁瑣的挑戰(zhàn),尤其是在數(shù)據(jù)庫管理系統(tǒng)領域,比如實時整合海量數(shù)據(jù)、處理流中的事件以及處理數(shù)據(jù)的安全性。例如,應用于智能城市的基于物聯(lián)網(wǎng)的交通傳感器可以實時生成大量的交通數(shù)據(jù)。
數(shù)據(jù)庫在充分處理物聯(lián)網(wǎng)數(shù)據(jù)方面扮演著非常重要的角色。因此,適當?shù)臄?shù)據(jù)庫與適當?shù)钠脚_同等重要。由于物聯(lián)網(wǎng)在世界上不同的環(huán)境中運行,選擇合適的數(shù)據(jù)庫變得非常具有挑戰(zhàn)性。
在為物聯(lián)網(wǎng)應用選擇數(shù)據(jù)庫之前應該考慮的因素是:
大小、規(guī)模和索引
處理海量數(shù)據(jù)的有效性
用戶友好的模式
可移植性
查詢語言
流程建模和事務
異構性和集成
時間序列聚合
歸檔
安全和成本
物聯(lián)網(wǎng)中的數(shù)據(jù)類型有:
地址/惟一標識符
過程、系統(tǒng)和對象的描述性數(shù)據(jù)
普適環(huán)境數(shù)據(jù)和位置數(shù)據(jù)
傳感器數(shù)據(jù):多維時間序列數(shù)據(jù)
歷史數(shù)據(jù)
物理模型:作為現(xiàn)實模板的模型
執(zhí)行器狀態(tài)及控制命令數(shù)據(jù)
適合物聯(lián)網(wǎng)的數(shù)據(jù)庫
InfluxDB
InfluxDB:流感數(shù)據(jù)庫首次發(fā)布于2013年,是最近的數(shù)據(jù)庫之一。該數(shù)據(jù)庫完全基于鍵值數(shù)據(jù)庫LevelDB,采用Go編程語言進行開發(fā)。InfluxDB是一個時間序列數(shù)據(jù)庫,用于優(yōu)化和處理時間序列數(shù)據(jù)。時間序列數(shù)據(jù)最早由Kdb在2000年發(fā)布,但隨著物聯(lián)網(wǎng)的興起,隨著NoSQL、NewSQL和大量增長的數(shù)據(jù)的出現(xiàn),InfluxDB變得流行起來。
對物聯(lián)網(wǎng)數(shù)據(jù)使用InfluxDB的優(yōu)點包括:
- 允許對序列進行索引
- 它有一個類似sql的查詢語言
- 對缺失數(shù)據(jù)提供內置的線性插值
- 支持數(shù)據(jù)自動降采樣
- 支持連續(xù)查詢計算聚合
CrateDB
CrateDB: CrateDB是一個分布式SQL數(shù)據(jù)庫管理系統(tǒng)。它是開源的,用Java編寫的,包含了來自Facebook Presto、Apache Lucene、Elasticsearch和Netty的組件——因此它是為高可伸縮性而設計的。CrateDB是為使物聯(lián)網(wǎng)數(shù)據(jù)工作而設計的。從工業(yè)互聯(lián)網(wǎng)、聯(lián)網(wǎng)汽車到可穿戴設備,CrateDB是新型物聯(lián)網(wǎng)解決方案創(chuàng)新者的首選數(shù)據(jù)庫。
將CrateDB用于物聯(lián)網(wǎng)數(shù)據(jù)的優(yōu)點包括:
每秒百萬個數(shù)據(jù)點:快速、線性可擴展的數(shù)據(jù)攝取
實時查詢:柱狀索引和字段緩存提供內存中的SQL性能
動態(tài)模式:動態(tài)添加和查詢新的傳感器數(shù)據(jù)結構
物聯(lián)網(wǎng)分析:快速、健壯的時間序列、人工智能、地理空間、文本搜索、連接、聚合
Always on:內置的數(shù)據(jù)復制和集群再平衡確保不間斷的性能
ANSI SQL:無鎖定,易于任何開發(fā)人員使用和集成
內置的MQTT代理:直接將設備與數(shù)據(jù)庫集成
物聯(lián)網(wǎng)生態(tài)系統(tǒng):使用Kafka、Grafana、NodeRED等流行的物聯(lián)網(wǎng)棧軟件
可以在任何地方運行,以便在邊緣或云中進行高效處理
MongoDB
MongoDB: MongoDB是一個免費的、開源的、跨平臺的、面向文檔的數(shù)據(jù)庫程序。它被歸類為一個NoSQL數(shù)據(jù)庫程序。MongoDB使用具有模式的類似json的文檔。它是物聯(lián)網(wǎng)組織的首選,因為它可以讓他們存儲來自任何上下文的數(shù)據(jù),可以實時分析,也可以在他們進行時改變模式。
MongoDB用于物聯(lián)網(wǎng)數(shù)據(jù)的優(yōu)點包括:
- 強大的數(shù)據(jù)庫
- 面向文檔的
- 具有一般用途
作為一個NoSQL數(shù)據(jù)庫,它使用類似JSON的帶有模式的文檔
RethinkDB
RethinkDB:在開放源碼數(shù)據(jù)庫列表中,RethinkDB位于頂部。它是一個可伸縮的實時Web JSON數(shù)據(jù)庫,是從頭開始構建的。RethinkDB通過改變傳統(tǒng)數(shù)據(jù)庫架構引入了一種令人興奮的新訪問模型。當開發(fā)人員向它發(fā)出命令時,它可以不斷地將更新后的查詢結果實時推送到應用程序。這是一個被開發(fā)人員稱為change feed的特性。RethinkDB充當數(shù)據(jù)庫、實時存儲庫和系統(tǒng)狀態(tài)的消息代理,這是change feed允許的。它的實時推送架構大大減少了構建可伸縮實時應用程序所需的時間和精力。
對物聯(lián)網(wǎng)傳感器數(shù)據(jù)使用RethinkDB的優(yōu)點包括:
RethinkDB有一個可適應的查詢語言來檢查API,非常容易設置和學習。
如果主服務器出現(xiàn)故障,命令會自動轉移到新服務器上。
節(jié)點實時即插即用功能,無需停機一秒,方便添加節(jié)點。
在Ruby和Tornado中通過Eventmachine提供異步查詢,提供異步應用程序編程接口。
它提供SSL訪問,只是為了通過公共互聯(lián)網(wǎng)安全訪問RethinkDB。
Floor, ceil和round是RethinkDB提供的各種數(shù)學運算符。
SQLite
SQLite數(shù)據(jù)庫引擎是一個進程庫,它提供了一個無服務器的(自包含的)事務性SQL數(shù)據(jù)庫引擎。由于其可移植性和較小的內存占用,它對游戲和移動應用程序開發(fā)產生了重大影響。
SQLite適用于不需要任何人工支持的設備,因為數(shù)據(jù)庫不需要管理權限。它非常適合用于手機、機頂盒、電視、游戲機、相機、手表、廚房電器、恒溫器、汽車、機床、飛機、遠程傳感器、無人機、醫(yī)療設備和機器人,以及物聯(lián)網(wǎng)。
客戶端/服務器數(shù)據(jù)庫引擎被設計為駐留在網(wǎng)絡核心的數(shù)據(jù)中心內。SQLite也在那里工作,但SQLite也在網(wǎng)絡的邊緣蓬勃發(fā)展,在為自己提供快速可靠的數(shù)據(jù)服務的同時,為那些連接不可靠的應用程序提供服務。
對物聯(lián)網(wǎng)數(shù)據(jù)使用SQLite的優(yōu)點包括:
- 內存占用小
- 它是真實的
- 使用前無需設置
- 沒有依賴性
Cassandra
Apache Cassandra: Apache Cassandra是一個免費的開源分布式NoSQL數(shù)據(jù)庫管理系統(tǒng),最初發(fā)布于2008年。它旨在通過許多商用服務器處理大量數(shù)據(jù),提供沒有單點故障的高可用性。
在物聯(lián)網(wǎng)中,由于連接的設備數(shù)量巨大,通過各種網(wǎng)絡產生、跟蹤和共享數(shù)據(jù)的規(guī)模非常大。Cassandra非常擅長利用大量的時間序列數(shù)據(jù),這些數(shù)據(jù)直接來自于設備、用戶、傳感器以及存在于不同地理位置的類似機制。
在物聯(lián)網(wǎng)中使用Apache Cassandra的優(yōu)點
數(shù)據(jù)包括:
- 容錯
- 展示了高性能
- 去中心化:集群中的每個節(jié)點都是相同的
- 可伸縮
- 持久性
- 確??煽?每次更新都可以選擇同步復制和異步復制
- 彈性:讀寫都是實時執(zhí)行的,任何應用都不存在停機
- 專業(yè)支持:加強第三方提供的合同和服務。
-
物聯(lián)網(wǎng)
+關注
關注
2928文章
46028瀏覽量
389557 -
數(shù)據(jù)庫
+關注
關注
7文章
3905瀏覽量
65879
發(fā)布評論請先 登錄
不用編程不用聯(lián)網(wǎng),PLC和儀表直接對SQL接數(shù)據(jù)庫,有異常時還可先將數(shù)據(jù)緩存
數(shù)據(jù)庫數(shù)據(jù)恢復——MongoDB數(shù)據(jù)庫文件拷貝后服務無法啟動的數(shù)據(jù)恢復

數(shù)據(jù)庫數(shù)據(jù)恢復—SQL Server附加數(shù)據(jù)庫提示“錯誤 823”的數(shù)據(jù)恢復案例

MySQL數(shù)據(jù)庫的安裝

SqlServer數(shù)據(jù)恢復—SqlServer數(shù)據(jù)庫數(shù)據(jù)恢復案例

云數(shù)據(jù)庫是哪種數(shù)據(jù)庫類型?
數(shù)據(jù)庫數(shù)據(jù)恢復—Mysql數(shù)據(jù)庫表記錄丟失的數(shù)據(jù)恢復流程

數(shù)據(jù)庫事件觸發(fā)的設置和應用
數(shù)據(jù)庫數(shù)據(jù)恢復—MYSQL數(shù)據(jù)庫ibdata1文件損壞的數(shù)據(jù)恢復案例
數(shù)據(jù)庫數(shù)據(jù)恢復—通過拼接數(shù)據(jù)庫碎片恢復SQLserver數(shù)據(jù)庫

Oracle數(shù)據(jù)恢復—異常斷電后Oracle數(shù)據(jù)庫啟庫報錯的數(shù)據(jù)恢復案例

數(shù)據(jù)庫數(shù)據(jù)恢復—Oracle數(shù)據(jù)庫文件system01.dbf損壞的數(shù)據(jù)恢復案例

數(shù)據(jù)庫數(shù)據(jù)恢復—SQL Server數(shù)據(jù)庫出現(xiàn)823錯誤的數(shù)據(jù)恢復案例

評論