「物聯網架構」在物聯網應用使用關係資料庫還是NoSQL?

2020-12-09 騰訊網

物聯網數據很複雜,需要多個用戶訪問,所以不要犯創建數據孤島的錯誤。

幾乎在每個行業,都有一個由物聯網數據驅動的數位化轉型正在進行中。重要的是要認識到物聯網不是關於事物的;而是那些東西創造和收集的數據。組織依靠這些數據提供更好的用戶體驗,做出更明智的業務決策,並最終推動其增長。

然而,如果沒有一個可靠的資料庫來處理物聯網設備產生的大量數據,這一切都是不可能的。關係資料庫以靈活、易於使用和成熟而聞名。它們並不特別出名的是規模,這促使了NoSQL資料庫的創建。你可能知道也可能不知道,有一些方法可以克服這個缺點。

另一件需要注意的事情是,物聯網數據本質上是時間序列。通過使用像TimescaleDB這樣的時間序列資料庫,組織可以利用隱藏在機器生成數據中的洞察力來構建新特性、自動化流程和提高效率(稍後將對此進行更多介紹)。通常,工程團隊最終會將數據存儲在多個資料庫中:元數據存儲在關係資料庫中,時間序列數據存儲在NoSQL存儲中。不要這樣做。

下面,我們將概述您希望在NoSQL之上使用關係資料庫的主要原因,並解釋TimescaleDB + PostgreSQL可以為物聯網提供的優勢。

利用SQL及其生態系統

物聯網數據需要多樣化的、可定製的攝食管道,這需要一個具有廣泛生態系統的資料庫。要滿足這些需求,開發人員只需查看SQL即可。

關係資料庫和SQL密不可分,許多跨組織的人員(例如內部數據分析師、應用程式開發人員或希望實時訪問數據的外部用戶)通常已經了解SQL。例如,在製造業中,有些團隊可能想要監視設備維護和預測故障,有些團隊可能想要跟蹤生產率和運輸物流數據,等等。SQL使其變得容易。

此外,還有一些非常酷的功能,如:

連接:基於兩個或多個表之間的相關列,將這些行組合在一起

聚合:將多個行的值分組在一起,形成一個匯總值(即最小、最大、AVG)

窗口函數:對一組行進行操作,並從底層查詢中為每一行返回一個值(即PARTITION BY、ORDER BY)。

公共表表達式(CTEs):簡化複雜的連接和子查詢(即使用)

ROLLUPS: GROUP BY子句的擴展,允許您使用單個查詢生成多個分組集

此外,開發人員通常希望在現有的物聯網基礎設施上構建應用程式。SQL兼容許多管理工具,流管道(如Kafka或RabbitMQ)、消息傳遞協議(如MQTT)、可視化工具(如Seeq)、工業自動化平臺(如Ignition),以及用於處理地理空間和其他數據類型的擴展。

模式(大綱)是一件好事

對於關係資料庫,您可以使用模式來幫助進行數據建模。雖然「無模式」資料庫看起來似乎更容易入門,但它們最終會導致重大的技術債務。用戶通常必須預先就如何存儲他們的數據做出設計決策,而這些決策在未來很難更改。這意味著,如果新的查詢模式需要不同的設置來提高性能,那麼它們將得不到很好的支持。

另一方面,使用SQL預先構建模式實際上支持複雜的查詢。用戶還可以使用一組DDL(數據定義語言)命令來調整和更新模式。但是,正確地建模數據以提高性能是很重要的。為給定的工作負載創建適當的索引和表模式可以顯著提高性能。相反,設計錯誤的模式會導致顯著的性能下降。

本質上,你需要的是一種靈活的模式,特別是在存儲半結構化數據時(例如,存儲來自收集不同測量值的物聯網傳感器的讀數)。您還需要一個能夠靈活地管理和訪問數據的資料庫。特別是在物聯網中,您收集數據的設備並不總是在線的,從而導致批量上傳的數據次序混亂。您還可能需要更新不正確的傳感器測量值。關係模型很好地支持所有這些函數。

消除數據孤島

我們已經提到了這樣一個事實,即組織中很多人都知道SQL,它允許多個用戶訪問數據。我們經常從客戶那裡聽到,他們希望將時間序列資料庫與完整的關係系統結合在一起,並且希望能夠連接這些數據。

幸運的是,關係資料庫支持連接並消除了在多個位置存儲數據的需要。通過這樣做,組織還可以節省操作多個系統的開銷成本。此外,它們還可以避免與維護獨立資料庫相關的完整性問題,這就引出了我們的下一點。

依賴關係資料庫獲得可靠性

許多存儲敏感數據的組織依靠關係資料庫來保證信息的安全。畢竟,關係資料庫早在70年代就出現了,並且在保證財富500強公司數據安全方面有著良好的記錄。

物聯網應用程式通常必須處理大量複雜的查詢和事務。使用關係資料庫,您可以確保這些事務將是進程的可靠性,這要歸功於ACID(原子性、一致性、隔離性、持久性)。如果您不熟悉,那麼可以告訴您,ACID是修改資料庫時使用的一組屬性。它們保證即使在遇到錯誤、斷電、崩潰等情況下,事務也是有效的。

物聯網選擇PostgreSQL + TimescaleDB

如果您正在尋找用於物聯網的關係資料庫,我們建議您選擇PostgreSQL。雖然我們似乎有些偏頗,但PostgreSQL的受歡迎程度依然堅定,並且連續第二次被db引擎評為年度最佳DBMS:

PostgreSQL首次發布於1989年,今年已經30歲了,它的人氣達到了頂峰,沒有任何老化的跡象,擁有一個非常活躍的社區。由於其穩定性和特性集,PostgreSQL已經成為眾多開發人員首選的數據存儲。」

雖然還有其他的關係資料庫管理系統,但PostgreSQL和TimescaleDB為物聯網開發人員提供了顯著的優勢。

總結:

謝謝大家關注,轉發,點讚和點在看。

相關焦點

  • 物聯網平臺架構設計
    ,但大部分都是介紹理論或者有關硬體,通訊相關的問題,比如物聯網模塊,物聯網通訊協議MQTT、XMPP、NB_IOT等,個人認為這些只是物聯網中一部分,而涉及到物聯網的設備如何管理,用戶如何管理,數據包如何解析,大數據如何展示等也是物聯網模塊中非常重要的部分,所以作者就根據自身工作中總結出來的建構在雲端的物聯網平臺基本架構分享給大家,並基於此架構如何一步一步來開發一套物聯網平臺。
  • Postgres:物聯網的新基礎?
    有人稱之為「物聯網」、「聯網設備」或「普適計算」。隨著每個潮流的出現,軟體開發者和企業都在努力尋找合適的軟體基礎設施來開發他們的應用程式,很快像Unix,windows,LAMP技術棧,ios/android的常見的平臺出現。今天基於物聯網的應用開發者正在問自己一個重要的問題:新的服務應該採用什麼什麼樣的合適的基礎設施呢?
  • 物聯網架構設計
    在設計 lan (Github: https://github.com/phodal/lan) 物聯網平臺的時候,結合之前的一些經驗,構建出一個實際應用中的物聯網構架模型
  • ADI與中移物聯網建立戰略合作關係,攜手推進中國物聯網應用
    ADI與中移物聯網建立戰略合作關係,攜手推進中國物聯網應用 ADI和中移物聯網作為全球物聯網生態系統的引領者,將協力為各行業客戶提供物聯網解決方案。 ADI和中移物聯網將共同探索並改善物聯網技術在全球範圍內對個人生活的影響,共同著眼於提供從建築、交通、能源系統、環境質量監測、個人醫療保健、車輛與基礎設施通訊、智能系統以及物聯網系統等在人們日常生活中扮演日益重要角色的領域的物聯網應用解決方案。為實現上述智能應用,ADI致力於將數據轉換為有價值、可執行的信息,並構建平臺級解決方案,幫助客戶快速設計和部署高性價比的智能應用。
  • 物聯網大數據平臺:TIZA STAR架構/應用案例解析
    第三次浪潮是以信息感知為特徵的物聯網,實現了物與物、人與物的全面聯通,這次浪潮還沒有形成寡頭,但是隨著傳感技術、通信技術以及大數據處理技術的發展,物聯網已經在公共事務管理、公共社會服務和經濟發展建設等領域中遍地開花,涉及到的行業也越來越多,如交通管理、節能環保、物流零售等。
  • IBM Adept系統:使用比特幣技術的物聯網架構
    最近,IBM的研究團隊正在建立一個使用塊鏈技術的物聯網分布式平臺。IBM開發的系統名為Adept,將使用三種不同的技術來解決物聯網面對的技術和經濟問題。Adept由IBM的商業價值研究院(IBV)的研究人員創建,將在Github上發布。
  • 物聯網架構是否可以運行在雲端?
    這使人們想到了一個核心問題:採用哪種最佳技術架構來解決這一爆炸性增長的數據趨勢?這裡有三個廣泛的選擇:本地部署,雲計算,或混合架構。其答案始終取決於使用情況。  本地部署的物聯網架構  本地部署的物聯網架構採用邊緣計算,其中在網絡邊緣處理數據,這個位置最接近數據源頭。
  • 物聯網的三層架構
    這是在IC咖啡學堂001|物聯網 微信群 的第二次物聯網課程的分享。我們春節前介紹了物聯網的基本概念——三個關鍵詞,原計劃今天講物聯網的發展趨勢,在準備課程的時候,發現如果沒有講物聯網的三層架構介紹清楚,是講不清楚物聯網發展趨勢的,所以今天首先介紹一下物聯網的三層架構。
  • 物聯網架構各個層次使用的是什麼通訊協議
    物聯網架構各個層次使用的是什麼通訊協議 物聯網共享經濟資 發表於 2020-03-18 15:42:41 如下圖所示,本文從以下幾個維度對物聯網常見的幾種協議進行闡述
  • 物聯網4個領域的PaaS平臺大盤點 - 物聯網_CIO時代網 - CIO時代...
    其雲服務滿足物聯網項目的典型要求,軟體開發人員可以在實施之前快速設置原型應用程式,在幾分鐘內完成部署,並在高可用性的情況下運行程序。此外,該平臺的設備管理功能也可以單獨使用或現場使用。博世市場領先的基於OSGi的ProSyst網關軟體可廣泛用於不同的領域,實現基於網關的眾多物聯網場景。  目前,已有超過500萬臺設備和機器通過博世物聯網套件實現了廣泛互聯。
  • 前瞻物聯網產業全球周報第46期:深圳大手筆扶持物聯網,全球物聯網...
    無錫數字經濟賦能司法應用 率先開展「物聯網法院」可行性研究6月23日,無錫市中級人民法院與無錫物聯網產業研究院籤訂《物聯網技術司法應用戰略合作協議》,合作開展基於物聯網技術的司法應用與研究,在全國率先探索開展物聯網技術司法應用及「物聯網法院」建設可行性研究工作。
  • 浙江省《城鄉一體化供水管網物聯網信息應用技術標準》(徵求意見稿)
    4 系統架構4.1 一般規定4.1.1供水管網物聯網的系統架構應分為感知層、網絡層、應用層等三層。4.1.2物聯網應用支撐平臺應對物聯網應用提供物聯網終端(接入網關)、網絡及業務的能力和資源,可根據物聯網應用特點選擇不同的信息傳送通路,提供對物聯網信息的統一採集、處理、存儲等能力,並應支持對大信息量的存儲和處理。4.1.3物聯網信息流應包括管理控制流和業務數據流,物聯網應用支撐平臺應提供業務數據流和管理控制流的路由功能。
  • 物聯網是什麼?及物聯網架構的詳細說明
    及物聯網架構的詳細說明 物聯之家網 發表於 2020-02-05 10:51:27 物聯網超越了計算機和智慧型手機,使人類文化與數字信息系統互聯成為可能。
  • 有關物聯網的20個問題
    基於RFID的物聯網應用架構基於傳感網絡的物聯網應用架構基於M2M的物聯網應用架構5、一個完整的物聯網系統的構成或產業鏈的劃分為幾層?目前業界比較統一的觀點基本都認為應該包括三個層面: 末端設備或子系統,通信連接系統,以及管理和應用系統。筆者把它歸結為Device—設備,Connect—連接,和Manage—管理。
  • 特斯聯副總裁李楊:城市級移動物聯網運營平臺架構及應用
    2016 年11月25-26日,WOT2016大數據峰會在北京粵財JW萬豪酒店召開,50多位大數據領域一線專家、數據技術先行者齊聚現場,在圍繞數據智能、大數據商業、區塊鏈、實時計算、系統架構、NoSQL等前沿技術話題展開深度交流和溝通探討的同時,分享大數據領域最新實踐和最熱門的行業應用。
  • 蜂窩物聯網是什麼?它有哪些應用場景呢?
    2 物聯網發展中面臨的問題隨著物聯網終端的多樣化、物聯網業務應用的豐富化,以移動通信網絡為純管道的傳統物聯網體系架構面臨著如下新的問題:(1)在接入側,很多物聯網終端在工作時由於沒有外接電源,
  • 如何理解雲計算、大數據、物聯網、人工智慧之間的關係?
    廣義上說,當下涉及的信息技術的應用,都可以納入物聯網的範疇。  物聯網的關鍵技術  1.傳感器技術:這也是計算機應用中的關鍵技術。大家都知道,到目前為止絕大部分計算機處理的都是數位訊號。自從有計算機以來就需要傳感器把模擬信號轉換成數位訊號計算機才能處理。
  • Kepware在PTC物聯網解決方案架構的定位
    非常有趣的是我離開Servigistics之後沒多久就進入了物聯網領域,而PTC後來轉型的方向也是物聯網,隨著PTC收購物聯網平臺Thingworx後,PTC的物聯網戰略就非常清晰了。關於物聯網平臺,筆者最開始研究的是Xively和Thingworx,而Thingworx是當時研究物聯網平臺時,為數不多的可以承載工業應用的物聯網平臺。
  • 物聯網應用技術應該要學習哪些課程
    物聯網基本概念 物聯網是指射頻識別(RFID)、紅外感應器、全球定位系統、雷射掃描器等信息傳感設備,通過物聯網域名,將任何物品與網際網路相連接,進行信息交換和通信,以實現智能化識別、定位、跟蹤、監控和管理的一種網絡概念。 物聯網是新一代信息技術的重要組成部分,也是「信息化」時代的重要發展階段。
  • 物聯網邊緣計算你的了解有多少
    什麼是霧和邊緣計算,它們與物聯網有什麼關係? 霧計算和邊緣計算不僅僅是流行語,而是目前在物聯網部署中使用的真實系統設計。隨著物聯網進入全球各地的業務,許多行業發現霧和邊緣計算可以填補傳統的以云為中心的物聯網設計所遺漏的空白。