本篇文章為大家展示了為您的物聯(lián)網(wǎng)系統(tǒng)選擇合適的數(shù)據(jù)庫的4個(gè)步驟分別是什么,內(nèi)容簡明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
為呼瑪?shù)鹊貐^(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及呼瑪網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、呼瑪網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
為物聯(lián)網(wǎng)解決方案選擇正確的數(shù)據(jù)庫平臺(tái)是一項(xiàng)艱巨的任務(wù)。首先,物聯(lián)網(wǎng)解決方案可以跨地理區(qū)域分布。與集中式的基于云的解決方案相反,更多的解決方案正在采用邊緣霧計(jì)算和云計(jì)算的組合。因此,您的數(shù)據(jù)庫平臺(tái)必須為您提供在邊緣處理數(shù)據(jù)以及在邊緣服務(wù)器和云之間進(jìn)行同步的靈活性。
其次,根據(jù)您的物聯(lián)網(wǎng)使用情況,您需要的數(shù)據(jù)庫功能可能包括實(shí)時(shí)數(shù)據(jù)流、數(shù)據(jù)過濾和聚合、接近零延遲的讀取操作、即時(shí)分析、高可用性、地理分布、模式靈活性等等。本文介紹了為物聯(lián)網(wǎng)解決方案選擇正確的數(shù)據(jù)庫平臺(tái)的四個(gè)步驟:
步驟1 確定解決方案的數(shù)據(jù)需求
物聯(lián)網(wǎng)解決方案依賴于從聯(lián)網(wǎng)設(shè)備中收集和處理數(shù)據(jù),做出智能決策,如觸發(fā)通知或動(dòng)作,計(jì)算實(shí)時(shí)分析,從歷史數(shù)據(jù)中收集模式,等等。
為了便于討論,在通用的物聯(lián)網(wǎng)解決方案中,可以在整個(gè)企業(yè)中安裝傳感器和執(zhí)行器。成千上萬的傳感器和執(zhí)行器與一臺(tái)edge服務(wù)器相連。物聯(lián)網(wǎng)解決方案不斷從所有傳感器收集數(shù)據(jù),做出實(shí)時(shí)決策來控制傳感器和執(zhí)行器,向系統(tǒng)監(jiān)視器發(fā)出異?;顒?dòng)警報(bào),并為最終用戶提供分析的歷史視圖。
在決定使用哪些服務(wù)和與之配套的數(shù)據(jù)庫之前,有必要清楚地了解如何使用數(shù)據(jù)以及在何處使用數(shù)據(jù)。一些問題可以幫助理解和優(yōu)先考慮你的數(shù)據(jù)需求:
哪些數(shù)據(jù)處理和決策被委托給邊緣服務(wù)器?
云解決方案是部署在一個(gè)地區(qū),還是分散在多個(gè)地區(qū)?
從設(shè)備到邊緣服務(wù)器和從邊緣服務(wù)器到中央服務(wù)器傳輸?shù)臄?shù)據(jù)量是多少?估計(jì)的峰值容量是多少?
物聯(lián)網(wǎng)解決方案是否控制設(shè)備或致動(dòng)器?如果是,它們需要實(shí)時(shí)響應(yīng)嗎?
從歷史數(shù)據(jù)中獲得的業(yè)務(wù)洞察力是什么?
步驟2 將解決方案分解為獨(dú)立的軟件服務(wù)
在此步驟中,您將設(shè)計(jì)執(zhí)行獨(dú)立的特定任務(wù)的軟件服務(wù)或組件。
當(dāng)將前面描述的樣例物聯(lián)網(wǎng)解決方案分解為獨(dú)立的服務(wù)時(shí),可以得到圖2所示的設(shè)計(jì)。物聯(lián)網(wǎng)解決方案本身是地理分布的,其中一些組件部署在邊緣網(wǎng)絡(luò),其余組件在一個(gè)集中位置。
現(xiàn)在讓我們將架構(gòu)分解為服務(wù),并分析它們的職責(zé)和數(shù)據(jù)需求:
數(shù)據(jù)攝取
目的:收集和存儲(chǔ)設(shè)備日志和消息。
數(shù)據(jù)庫需求:支持高速寫操作,因?yàn)閿?shù)據(jù)可能以突發(fā)的方式到達(dá),確保數(shù)據(jù)在不尋常的情況下不會(huì)丟失。
邊緣分析
用途:對(duì)輸入數(shù)據(jù)執(zhí)行數(shù)據(jù)轉(zhuǎn)換、分類、聚合、過濾和功能。它負(fù)責(zé)在邊緣進(jìn)行實(shí)時(shí)決策。
數(shù)據(jù)庫需求:支持高速讀寫與亞毫秒延遲;提供工具和命令來對(duì)數(shù)據(jù)執(zhí)行復(fù)雜的分析計(jì)算。
設(shè)備管理器
用途:向設(shè)備傳遞信息。
數(shù)據(jù)庫需求:以最小的延遲訪問和向設(shè)備發(fā)送消息。
系統(tǒng)分析
目的:從邊緣服務(wù)器收集數(shù)據(jù),執(zhí)行數(shù)據(jù)轉(zhuǎn)換和分析操作。
數(shù)據(jù)庫需求:提供對(duì)數(shù)據(jù)執(zhí)行分析計(jì)算的命令,并根據(jù)分析引擎的需要長時(shí)間存儲(chǔ)數(shù)據(jù)。
C&C (命令和控制)儀表板
目的:提供物聯(lián)網(wǎng)生態(tài)系統(tǒng)當(dāng)前狀態(tài)的可視化表示。
數(shù)據(jù)庫需求:保持?jǐn)?shù)據(jù)的當(dāng)前和準(zhǔn)確,讀取數(shù)據(jù)的延遲小于毫秒。
商業(yè)智能
用途:從歷史數(shù)據(jù)運(yùn)行報(bào)告、查詢和推斷。
數(shù)據(jù)庫需求:長時(shí)間存儲(chǔ)數(shù)據(jù),節(jié)約成本;提供查詢和分析數(shù)據(jù)的工具。
物聯(lián)網(wǎng)數(shù)據(jù)流出口
用途:將數(shù)據(jù)規(guī)范化為一種通用格式,并將其推送給訂閱服務(wù)器。
數(shù)據(jù)庫需求:高效執(zhí)行數(shù)據(jù)轉(zhuǎn)換操作的能力;支持發(fā)布和訂閱功能。
步驟3:根據(jù)數(shù)據(jù)需求對(duì)服務(wù)進(jìn)行分組,并選擇正確的數(shù)據(jù)庫
下一步是根據(jù)每個(gè)服務(wù)的數(shù)據(jù)選擇正確的數(shù)據(jù)庫。圖3將我們的物聯(lián)網(wǎng)示例中的服務(wù)連接到圖中,根據(jù)數(shù)據(jù)在數(shù)據(jù)庫中停留的時(shí)間和服務(wù)所需的數(shù)據(jù)讀/寫速度對(duì)它們進(jìn)行分類。
您將看到數(shù)據(jù)不斷進(jìn)出數(shù)據(jù)攝取服務(wù)器,在數(shù)據(jù)庫中停留的時(shí)間非常短。同時(shí),數(shù)據(jù)的到達(dá)量大,速度快。因此,我們需要一個(gè)具有低延遲的高速數(shù)據(jù)庫來保存用于攝入服務(wù)的數(shù)據(jù)。另一方面,商業(yè)智能服務(wù)依賴于歷史數(shù)據(jù)。
下一步是對(duì)具有類似數(shù)據(jù)訪問特征的服務(wù)進(jìn)行分組,目標(biāo)是限制數(shù)據(jù)庫的數(shù)量(多余的數(shù)據(jù)庫和不符合您需求的數(shù)據(jù)庫),從而減少操作開銷。
在圖4中,我們將示例服務(wù)分組到兩個(gè)主數(shù)據(jù)庫中—一個(gè)熱數(shù)據(jù)庫和一個(gè)冷數(shù)據(jù)庫。保存熱數(shù)據(jù)的數(shù)據(jù)庫部署在靠近物聯(lián)網(wǎng)設(shè)備的位置,以最小化網(wǎng)絡(luò)延遲。熱數(shù)據(jù)和冷數(shù)據(jù)的數(shù)據(jù)庫選擇是:
熱數(shù)據(jù)庫:由于RAM的成本越來越便宜,內(nèi)存中的數(shù)據(jù)庫通常是一個(gè)不錯(cuò)的選擇。內(nèi)存中的數(shù)據(jù)庫以最小的延遲交付數(shù)據(jù)讀寫能力。當(dāng)選擇一個(gè)熱數(shù)據(jù)庫時(shí),這些額外的功能和能力將幫助您縮小選擇范圍:
數(shù)據(jù)格式的靈活性——幫助您支持廣泛的設(shè)備和通信格式
查詢功能——使您能夠?qū)崟r(shí)運(yùn)行高效的查詢
消息傳遞和排隊(duì)——驅(qū)動(dòng)通信和數(shù)據(jù)交換
分層內(nèi)存模型-提供一個(gè)經(jīng)濟(jì)有效的內(nèi)存模型,但高性能
高可用性和災(zāi)難恢復(fù)-幫助您保持業(yè)務(wù)的所有時(shí)間
地理分布-服務(wù)地理分布的物聯(lián)網(wǎng)部署
二進(jìn)制安全-幫助您保存二進(jìn)制數(shù)據(jù)
冷數(shù)據(jù)庫:物聯(lián)網(wǎng)解決方案的歷史數(shù)據(jù)可能增長到多個(gè)tb,在某些情況下可能超過一個(gè)pb。存儲(chǔ)歷史數(shù)據(jù)的流行選擇包括在普通硬件上存儲(chǔ)解決方案。查詢通常遵循map-reduce模式。通常,歷史數(shù)據(jù)也會(huì)在搜索引擎中建立索引,用于模式匹配和數(shù)據(jù)聚合。如果您要將數(shù)據(jù)存儲(chǔ)在云中,請(qǐng)與您的云服務(wù)提供商聯(lián)系,在您所在的地區(qū),哪種數(shù)據(jù)存儲(chǔ)方案最劃算。
第四步:評(píng)估成本、資源效率
將數(shù)據(jù)庫分為熱數(shù)據(jù)庫和冷數(shù)據(jù)庫有助于縮小數(shù)據(jù)庫選擇范圍。對(duì)于大多數(shù)物聯(lián)網(wǎng)用例,一個(gè)高速數(shù)據(jù)庫可以滿足熱數(shù)據(jù)庫的所有需求。對(duì)于冷數(shù)據(jù)庫,選項(xiàng)可能從關(guān)系數(shù)據(jù)庫到數(shù)據(jù)湖。設(shè)計(jì)人員經(jīng)常犯的一個(gè)錯(cuò)誤是為每個(gè)服務(wù)創(chuàng)建具有專門數(shù)據(jù)庫的多語言體系結(jié)構(gòu)。這增加了應(yīng)用程序堆棧的復(fù)雜性以及操作開銷和成本。
擁有一個(gè)數(shù)據(jù)庫的總成本是許多參數(shù)的函數(shù)。數(shù)據(jù)庫本身的成本只是成本的一小部分。以下是一些費(fèi)用:
數(shù)據(jù)庫許可證成本:該成本可能與cpu數(shù)量、集群中的碎片數(shù)量、數(shù)據(jù)庫大小、吞吐量(每秒最大操作數(shù)量)、時(shí)間(年、月、小時(shí)等)、高可用性和恢復(fù)特性、云的多個(gè)區(qū)域的可用性等有關(guān)。如果您使用的數(shù)據(jù)庫可以作為開放源碼軟件使用,根據(jù)許可證的類型,數(shù)據(jù)庫成本甚至可能為零。
基礎(chǔ)設(shè)施成本:基礎(chǔ)設(shè)施成本取決于數(shù)據(jù)庫的資源效率。例如,一個(gè)輕量級(jí)、線程安全的數(shù)據(jù)庫可能只使用兩個(gè)商用服務(wù)器每秒執(zhí)行100萬次讀/寫操作,而傳統(tǒng)數(shù)據(jù)庫可能需要更多的服務(wù)器才能得到相同的結(jié)果。除了數(shù)據(jù)庫效率,硬件成本還取決于吞吐量、cpu數(shù)量、RAM、數(shù)據(jù)大小、閃存、網(wǎng)卡等。用于高可用性的數(shù)據(jù)庫體系結(jié)構(gòu)也發(fā)揮了作用。例如,基于仲裁的故障轉(zhuǎn)移架構(gòu)將只需要一個(gè)備用服務(wù)器副本,但非基于仲裁的架構(gòu)將需要兩個(gè)數(shù)據(jù)副本,以避免分裂大腦。
數(shù)據(jù)丟失成本:為數(shù)據(jù)丟失提供適當(dāng)?shù)谋kU(xiǎn)是極其重要的,特別是對(duì)于商用物聯(lián)網(wǎng)解決方案。您丟失數(shù)據(jù)的總成本為:虧損的業(yè)務(wù)數(shù)據(jù)丟失的概率*恢復(fù)數(shù)據(jù)的成本
您可以使用數(shù)據(jù)庫供應(yīng)商提供的適當(dāng)SLA來抵消部分成本。
操作開銷:自動(dòng)化是成功的咒語。如果數(shù)據(jù)庫提供控制來自動(dòng)化部署、配置、故障轉(zhuǎn)移、擴(kuò)展、數(shù)據(jù)分區(qū)、備份和恢復(fù)、監(jiān)視和警報(bào)等操作,那么將有助于高效地操作。
當(dāng)為下一代物聯(lián)網(wǎng)解決方案選擇正確的數(shù)據(jù)庫時(shí),很容易迷失在現(xiàn)有的大量數(shù)據(jù)庫中。但是,如果將解決方案分解為組件服務(wù)并理解它們的數(shù)據(jù)庫需求,就可以有效地縮小數(shù)據(jù)庫選擇范圍。大多數(shù)物聯(lián)網(wǎng)解決方案都依賴于熱數(shù)據(jù)庫進(jìn)行實(shí)時(shí)數(shù)據(jù)收集、處理、消息傳遞、分析,而冷數(shù)據(jù)庫用于存儲(chǔ)歷史數(shù)據(jù)和收集商業(yè)智能。這將使架構(gòu)簡單、精簡和健壯。
最后需要說明的是,redis實(shí)驗(yàn)室贊助的開源內(nèi)存數(shù)據(jù)庫Redis是物聯(lián)網(wǎng)解決方案的熱門數(shù)據(jù)庫。它被物聯(lián)網(wǎng)解決方案廣泛用于數(shù)據(jù)攝取、實(shí)時(shí)分析、消息傳遞、緩存和許多其他用例。
上述內(nèi)容就是為您的物聯(lián)網(wǎng)系統(tǒng)選擇合適的數(shù)據(jù)庫的4個(gè)步驟分別是什么,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。