開源合同管理系統_「物聯網架構」最適合物聯網的開源數據庫

eed0a00b2851a3c776f84fb3abcc1ae1.png

物聯網產生大量的數據,包括流數據、時間序列數據、RFID數據、傳感數據等。要有效地管理這些數據,就需要使用數據庫。物聯網數據的本質需要一種不同類型的數據庫。以下是一些數據庫,當與物聯網一起使用時,會給出非常好的結果。

物聯網可以看作是一個網絡,在這個網絡中,各種事物通過一個共同的平臺相互連接。只是想象一個場景,在該場景中,每一個設備在家里和工作場所的連接,和一個世界,空調在房間外面的溫度上升時自動降低其溫度,當在任何公共集會的人數很容易知道,當一個人的健康可以每天監控參數。這就是物聯網可能帶來的影響。

物聯網目前的狀態是非常零散的。有不同的公司和組織正在為他們的客戶或他們的個人需求建立自己的平臺。但是,目前還沒有一種通用的平臺,可以讓所有設備(無論它們是哪家公司的)通過用戶友好的界面相互連接。

據估計,未來5年,物聯網設備的數量將達數萬億。

物聯網需要數據庫嗎?

物聯網帶來了許多繁瑣的挑戰,尤其是在數據庫管理系統領域,比如實時整合海量數據、處理流中的事件以及處理數據的安全性。例如,應用于智能城市的基于物聯網的交通傳感器可以實時生成大量的交通數據。

數據庫在充分處理物聯網數據方面扮演著非常重要的角色。因此,適當的數據庫與適當的平臺同等重要。由于物聯網在世界上不同的環境中運行,選擇合適的數據庫變得非常具有挑戰性。

在為物聯網應用選擇數據庫之前應該考慮的因素是:

  1. 大小、規模和索引
  2. 處理海量數據的有效性
  3. 用戶友好的模式
  4. 可移植性
  5. 查詢語言
  6. 流程建模和事務
  7. 異構性和集成
  8. 時間序列聚合
  9. 歸檔
  10. 安全和成本

物聯網中的數據類型有:

  1. RFID:射頻識別
  2. 地址/惟一標識符
  3. 過程、系統和對象的描述性數據
  4. 普適環境數據和位置數據
  5. 傳感器數據:多維時間序列數據
  6. 歷史數據
  7. 物理模型:作為現實模板的模型
  8. 執行器狀態及控制命令數據

適合物聯網的數據庫

InfluxDB

InfluxDB:流感數據庫首次發布于2013年,是最近的數據庫之一。該數據庫完全基于鍵值數據庫LevelDB,采用Go編程語言進行開發。InfluxDB是一個時間序列數據庫,用于優化和處理時間序列數據。時間序列數據最早由Kdb在2000年發布,但隨著物聯網的興起,隨著NoSQL、NewSQL和大量增長的數據的出現,InfluxDB變得流行起來。

對物聯網數據使用InfluxDB的優點包括:

  • 允許對序列進行索引
  • 它有一個類似sql的查詢語言
  • 對缺失數據提供內置的線性插值
  • 支持數據自動降采樣
  • 支持連續查詢計算聚合

CrateDB

CrateDB: CrateDB是一個分布式SQL數據庫管理系統。它是開源的,用Java編寫的,包含了來自Facebook Presto、Apache Lucene、Elasticsearch和Netty的組件——因此它是為高可伸縮性而設計的。CrateDB是為使物聯網數據工作而設計的。從工業互聯網、聯網汽車到可穿戴設備,CrateDB是新型物聯網解決方案創新者的首選數據庫。

將CrateDB用于物聯網數據的優點包括:

  • 每秒百萬個數據點:快速、線性可擴展的數據攝取
  • 實時查詢:柱狀索引和字段緩存提供內存中的SQL性能
  • 動態模式:動態添加和查詢新的傳感器數據結構
  • 物聯網分析:快速、健壯的時間序列、人工智能、地理空間、文本搜索、連接、聚合
  • Always on:內置的數據復制和集群再平衡確保不間斷的性能
  • ANSI SQL:無鎖定,易于任何開發人員使用和集成
  • 內置的MQTT代理:直接將設備與數據庫集成
  • 物聯網生態系統:使用Kafka、Grafana、NodeRED等流行的物聯網棧軟件
  • 可以在任何地方運行,以便在邊緣或云中進行高效處理

MongoDB

MongoDB: MongoDB是一個免費的、開源的、跨平臺的、面向文檔的數據庫程序。它被歸類為一個NoSQL數據庫程序。MongoDB使用具有模式的類似json的文檔。它是物聯網組織的首選,因為它可以讓他們存儲來自任何上下文的數據,可以實時分析,也可以在他們進行時改變模式。

MongoDB用于物聯網數據的優點包括:

  • 強大的數據庫
  • 面向文檔的
  • 具有一般用途
  • 作為一個NoSQL數據庫,它使用類似JSON的帶有模式的文檔

RethinkDB

RethinkDB:在開放源碼數據庫列表中,RethinkDB位于頂部。它是一個可伸縮的實時Web JSON數據庫,是從頭開始構建的。RethinkDB通過改變傳統數據庫架構引入了一種令人興奮的新訪問模型。當開發人員向它發出命令時,它可以不斷地將更新后的查詢結果實時推送到應用程序。這是一個被開發人員稱為change feed的特性。RethinkDB充當數據庫、實時存儲庫和系統狀態的消息代理,這是change feed允許的。它的實時推送架構大大減少了構建可伸縮實時應用程序所需的時間和精力。

對物聯網傳感器數據使用RethinkDB的優點包括:

  • RethinkDB有一個可適應的查詢語言來檢查API,非常容易設置和學習。
  • 如果主服務器出現故障,命令會自動轉移到新服務器上。
  • 節點實時即插即用功能,無需停機一秒,方便添加節點。
  • 在Ruby和Tornado中通過Eventmachine提供異步查詢,提供異步應用程序編程接口。
  • 它提供SSL訪問,只是為了通過公共互聯網安全訪問RethinkDB。
  • Floor, ceil和round是RethinkDB提供的各種數學運算符。

SQLite

SQLite數據庫引擎是一個進程庫,它提供了一個無服務器的(自包含的)事務性SQL數據庫引擎。由于其可移植性和較小的內存占用,它對游戲和移動應用程序開發產生了重大影響。

SQLite適用于不需要任何人工支持的設備,因為數據庫不需要管理權限。它非常適合用于手機、機頂盒、電視、游戲機、相機、手表、廚房電器、恒溫器、汽車、機床、飛機、遠程傳感器、無人機、醫療設備和機器人,以及物聯網。

客戶端/服務器數據庫引擎被設計為駐留在網絡核心的數據中心內。SQLite也在那里工作,但SQLite也在網絡的邊緣蓬勃發展,在為自己提供快速可靠的數據服務的同時,為那些連接不可靠的應用程序提供服務。

對物聯網數據使用SQLite的優點包括:

  • 內存占用小
  • 它是真實的
  • 使用前無需設置
  • 沒有依賴性

Cassandra

Apache Cassandra: Apache Cassandra是一個免費的開源分布式NoSQL數據庫管理系統,最初發布于2008年。它旨在通過許多商用服務器處理大量數據,提供沒有單點故障的高可用性。

在物聯網中,由于連接的設備數量巨大,通過各種網絡產生、跟蹤和共享數據的規模非常大。Cassandra非常擅長利用大量的時間序列數據,這些數據直接來自于設備、用戶、傳感器以及存在于不同地理位置的類似機制。

在物聯網中使用Apache Cassandra的優點

數據包括:

  • 容錯
  • 展示了高性能
  • 去中心化:集群中的每個節點都是相同的
  • 可伸縮
  • 持久性
  • 確保可控:每次更新都可以選擇同步復制和異步復制
  • 彈性:讀寫都是實時執行的,任何應用都不存在停機
  • 專業支持:加強第三方提供的合同和服務。

本文:http://jiagoushi.pro/node/1331

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/446201.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/446201.shtml
英文地址,請注明出處:http://en.pswp.cn/news/446201.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

java 方法重載

概念 代碼 package lesson.l10_oop;/*** Illustration** author DengQing* version 1.0* datetime 2022/7/1 14:31* function 方法重載*/ public class Load {public static void main(String[] args) {Load load new Load();load.mOL(4);load.mOL(4, 5);load.mOL("ff&qu…

STL源碼剖析 第八章 配接器

設計模式:將一個類的接口轉化為另外一個類的接口 配接器的概觀和分類 改變仿函數接口 函數配接器 ;queue和stack 通過修飾deque函數接口來實現改變容器接口 容器配接器 ; insert、reverse、iostream 等iterators他們的接口可以由ite…

python中random庫_python標準庫之random模塊

Python中的random模塊用于生成隨機數。 下面具體介紹random模塊的功能&#xff1a; 1.random.random() #用于生成一個0到1的 隨機浮點數&#xff1a;0< n < 1.0 1 import random 2 a random.random() 3 print (a)2.random.uniform(a,b) #用于生成一個指定范圍內的隨機符…

java 可變個數形參

概念 案例 package lesson.l10_oop;/*** Illustration** author DengQing* version 1.0* datetime 2022/7/1 14:53* function 可變個數形參*/ public class ChangeableFormalParameter {public static void main(String[] args) {ChangeableFormalParameter parameter new Ch…

C++標準庫 第七章 STL迭代器

迭代器 能力&#xff1a;行進和存取的能力Input迭代器 一次一個向前讀取元素&#xff0c;按此順序一個一個返回元素例子&#xff1a;從標準輸入裝置(鍵盤) 讀取數據&#xff0c;同一個數據不會被讀取兩次&#xff0c;流水一樣&#xff0c;指向的是邏輯位置使用前置式遞增運算…

nacos集群的ap cp切換_阿里Nacos-配置-多環境

多環境的配置隔離是配置中心最基礎的一個功能之一。不同的環境配置的值不一樣&#xff0c;比如數據庫的信息&#xff0c;業務的配置等。Spring Boot 多環境配置首先我們來回顧下在Spring Boot中用配置文件的方式怎么進行環境的隔離。默認我們都會創建一個application.propertie…

java 值傳遞機制

說明 案例1 案例2 案例3 案例4 案例5 案例6 package lesson.l11_oop2;/*** Illustration** author DengQing* version 1.0* datetime 2022/7/2 21:24* function 將對象作為參數傳遞給方法*/ public class Circle {double radius;public double findArea() {return Math.PI * Ma…

密碼學專題 非對稱加密算法指令概述 RSA

非對稱加密算法也稱為公開密鑰算法&#xff0c;其解決了對稱加密算法密鑰需要預分配的難題&#xff0c;使得現代密碼學的研究和應用取得了重大發展。非對稱加密算法的基本特點如下: 加密密鑰和解密密鑰不相同;密鑰對中的一個密鑰可以公開(稱為公開密鑰);根據公開密鑰很難推算出…

python元胞自動機模擬交通_結構專欄 | 解析DEFORM軟件中的元胞自動機法

點擊上方藍色字體&#xff0c;關注我們導語金屬材料的性能取決于內部的微觀組織結構&#xff0c;而好的材料性能和價格是產品最大的優勢。隨著現代物理冶金、熱成形技術、熱處理技術和計算機技術的興起與發展&#xff0c;使預測和控制金屬材料熱加工過程中的組織演變成為可能。…

java 遞歸

概念 代碼 package lesson.l11_oop2;/*** Illustration** author DengQing* version 1.0* datetime 2022/7/2 21:42* function 遞歸&#xff1a;求n個數的和、乘積*/ public class Recursion {public static void main(String[] args) {Recursion recursion new Recursion();S…

密碼學專題 非對稱加密算法指令概述 DH算法指令

DH概述 用于密鑰交換的公開算法&#xff0c;廣泛應用于各種安全協議SSL協議同樣支持DH算法DH算法使用之前需要預先共享兩個參數&#xff0c;本原元g和模n&#xff0c;這兩個參數影響到算法的安全性&#xff0c;因此需要預先生成并檢測其安全性生成這些必要參數和管理這些參數的…

java 封裝和隱藏 權限修飾符

概念 問題的引入 封裝性的體現 權限修飾符 案例 package lesson.l11_oop2;/*** Illustration** author DengQing* version 1.0* datetime 2022/7/3 15:28* function*/ public class Person {private int age;public void setAge(int age) { /* if (age<0||age>…

if __name__ == __main___python中 __name__ == #x27;__main__#x27; 有什么作用?

python中if __name__ ‘__main__’ 的作用&#xff0c;到底干嘛的&#xff1f;有句話經典的概括了這段代碼的意義&#xff1a;“Make a script both importable and executable”就是讓你寫的腳本模塊既可以導入到別的模塊中用&#xff0c;另外該模塊自己也可執行。這句話&…

密碼學專題 非對稱加密算法指令概述 DSA算法指令

DSA算法和DSA指令概述 DSA算法是美國國家標準的數字簽名算法&#xff0c;只具備數字簽名的功能不具備密鑰交換的功能生成DSA參數然后生成DSA密鑰&#xff0c;DSA參數決定了DSA密鑰的長度三個指令首先是dsaparam指令&#xff0c;該指令主要用來生成DSA密鑰參數&#xff0c;并提…

每天定時打開某個網頁_Python科普帖定時通知

0 復習上一關我們學習了selenium&#xff0c;它有可視模式與靜默模式這兩種瀏覽器的設置方法&#xff0c;二者各有優勢。然后學習了使用.get(URL)獲取數據&#xff0c;以及解析與提取數據的方法。在這個過程中&#xff0c;我們操作對象的轉換過程&#xff1a;除了上面的方法&am…

java 構造器

概念 案例1 package lesson.l11_oop2;/*** Illustration** author DengQing* version 1.0* datetime 2022/7/3 15:28* function*/ public class Person {private int age;private String name;public Person() {this.age 18;}public Person(int age, String name) {this.age …

密碼學專題 信息摘要和數字簽名指令

信息摘要 區別于對稱加密和非對稱加密&#xff0c;信息摘要算數是一種不可逆的操作&#xff0c;無論輸入數據的大小輸出的數據長度是固定的信息摘要算數對輸入很敏感&#xff0c;即使數據變化很細微&#xff0c;輸出的結果會出現很大的差異從不同輸入得到相同的輸出的概率非常…

dataframe 篩選_Spark.DataFrame與Spark.ML簡介

本文是PySpark銷量預測系列第一篇&#xff0c;后面會陸續通過實戰案例詳細介紹PySpark銷量預測流程&#xff0c;包含特征工程、特征篩選、超參搜索、預測算法。在零售銷量預測領域&#xff0c;銷售小票數據動輒上千萬條&#xff0c;這個量級在單機版上進行數據分析/挖掘是非常困…

密碼學專題 證書和CA指令 證書和CA功能概述

為什么需要證書 實現了公鑰和私鑰的相互驗證&#xff0c;但是任何人都可以生成很多的密鑰對&#xff0c;密鑰對并沒有關聯實體身份&#xff0c;因此誕生可數字證書前提是CA是所有用戶都信任的用戶需要將自己的信息和公鑰交給CA進行認證生成一個屬于自己并被其與用戶認可的數字…

python怎么接外活_java和Python兩門語言,哪個適合接活單干?

謝邀。 根據知乎規矩&#xff1a;不說需求就挑語言的行為就是耍流氓。 如果接的活傾向于OA系統、管理系統之類的&#xff0c;建議是java&#xff0c;畢竟框架模板都很成熟&#xff0c;也比較好找&#xff0c;快速開發什么的在晚上搜一下&#xff0c;改改樣式就可以了。這些項目…