當(dāng)今的IoT用例越來越依賴于對大量設(shè)備生成的數(shù)據(jù)進(jìn)行分析或?qū)崟r更新機(jī)器學(xué)習(xí)算法。如果沒有實時獲取、處理和采取行動,以監(jiān)控患者、自動駕駛汽車或預(yù)測性維護(hù)應(yīng)用的數(shù)據(jù),則患者會遭受傷害,車輛墜毀或系統(tǒng)出現(xiàn)故障。
那么,企業(yè)如何才能經(jīng)濟(jì)高效地構(gòu)建一個可靠的平臺來大規(guī)模接收和響應(yīng)大量數(shù)據(jù)?企業(yè)可以使用基于開放源代碼軟件堆棧構(gòu)建的流平臺和數(shù)據(jù)存儲系統(tǒng)來做到這一點。
事實證明,當(dāng)今許多開源解決方案在數(shù)千個生產(chǎn)部署中都是可靠的。許多產(chǎn)品都可從商業(yè)企業(yè)獲得企業(yè)級支持和咨詢服務(wù),這也可能會提供企業(yè)級版本的解決方案。這些受支持的解決方案使企業(yè)可以通過實施IoT解決方案來實現(xiàn)其數(shù)字化轉(zhuǎn)型目標(biāo),而無需支付大量的前期費(fèi)用,同時還為其公司提供可靠的、面向未來的基礎(chǔ)設(shè)施。
以下是開放源代碼解決方案的樣本,這些解決方案是當(dāng)今許多最成功的數(shù)字化轉(zhuǎn)型企業(yè)的基礎(chǔ)。
流數(shù)據(jù)
諸如Apache Kafka或Apache Flink之類的開源流解決方案用于構(gòu)建實時數(shù)據(jù)管道,以在IoT部署中的系統(tǒng)和應(yīng)用之間移動數(shù)據(jù)。例如,在患者監(jiān)控用例中,流傳輸解決方案會將由連接到患者的IoT傳感器收集的數(shù)據(jù)傳遞到平臺,在平臺上可以對數(shù)據(jù)進(jìn)行匯總、分析和存儲。
Box、LinkedIn、Netflix、Oracle和Twitter使用Kafka。Flink在阿里巴巴、AWS、Capital One、eBay和Lyft的運(yùn)營中使用。但是,要使流傳輸解決方案大規(guī)模支持實時業(yè)務(wù)流程,必須將其與其他技術(shù)集成,包括分布式內(nèi)存計算平臺、容器管理解決方案以及分析和機(jī)器學(xué)習(xí)功能。
內(nèi)存計算
Apache Ignite是部署在商品服務(wù)器群集上的分布式內(nèi)存計算平臺。它可用作插入現(xiàn)有應(yīng)用程序和基于磁盤的數(shù)據(jù)庫之間的內(nèi)存數(shù)據(jù)網(wǎng)格,也可用作新應(yīng)用程序的獨立內(nèi)存數(shù)據(jù)庫。 Ignite池化了群集的可用CPU和RAM,并將數(shù)據(jù)和計算分配到各個節(jié)點。它可以部署在本地、公共或私有云中或混合環(huán)境中。Ignite支持ANSI-99 SQL和ACID事務(wù)。
Ignite可以實時攝取大量數(shù)據(jù)。在所有數(shù)據(jù)都保留在內(nèi)存中的情況下,Ignite使用MapReduce在整個分布式群集上執(zhí)行大規(guī)模并行處理(MPP)。利用內(nèi)存數(shù)據(jù)緩存和MPP,與使用基于磁盤的數(shù)據(jù)庫的應(yīng)用相比,Ignite在規(guī)模上可將應(yīng)用性能提高多達(dá)1000倍。Ignite用戶還可以利用本機(jī)Kafka集成來輕松地將流數(shù)據(jù)從IoT設(shè)備提取到內(nèi)存計算集群中。
正如我在上一篇文章中討論的那樣,Ignite可用于構(gòu)建數(shù)字集成中心(DIH),以聚合和處理來自多個本地數(shù)據(jù)存儲,基于云的數(shù)據(jù)源和流數(shù)據(jù)源的數(shù)據(jù)。作為DIH,Ignite提供了一個高性能的數(shù)據(jù)訪問層,使聚合的數(shù)據(jù)實時可用于多個業(yè)務(wù)應(yīng)用。 Apache Ignite已用于美國航空、IBM、ING和24 Hour Fitness的生產(chǎn)中。
集群管理
Kubernetes可以自動執(zhí)行已在Docker或其他容器解決方案中容器化的應(yīng)用的部署和管理。容器解決方案創(chuàng)建一個包含應(yīng)用和虛擬化操作系統(tǒng)的軟件包,以使該應(yīng)用可以在同一硬件上或跨虛擬化硬件(例如在云服務(wù)上)運(yùn)行多個完全獨立的應(yīng)用版本。Kubernetes使管理Docker容器變得更容易,并確??绶?wù)器群集的一致性,該服務(wù)器群集可以部署在任何位置,例如本地、公共或私有云或混合環(huán)境。
API使Kubernetes能夠管理Apache Ignite和流媒體平臺資源,并自動擴(kuò)展基于IoT內(nèi)存計算的群集。更高的管理簡便性可以大大降低復(fù)雜性和錯誤并減少開發(fā)時間。Kubernetes用于Booking.com、Capital One、Box、IBM和Sling的運(yùn)營中。
分析和機(jī)器學(xué)習(xí)
流平臺難題的最后一部分是對數(shù)據(jù)采取行動的能力。對于分析用例,Apache Spark是一個分布式計算引擎,用于處理和分析大量數(shù)據(jù)。Spark可以利用Apache Ignite內(nèi)存計算平臺來快速分析通過流傳輸管道提取的大量數(shù)據(jù)。 Spark還可以將Ignite用作在線數(shù)據(jù)存儲,從而使Spark用戶可以將數(shù)據(jù)追加到其現(xiàn)有的DataFrame或RDD中并重新運(yùn)行Spark作業(yè)。 Spark還使在分布式計算環(huán)境中為非結(jié)構(gòu)化數(shù)據(jù)編寫簡單查詢變得容易。Spark已在Amazon、Credit Karma、eBay、NTT Data和Yahoo!等運(yùn)營中使用。
對于機(jī)器學(xué)習(xí)用例,Apache Ignite包括集成的、完全分布式的機(jī)器學(xué)習(xí)和深度學(xué)習(xí)庫,這些庫已針對大規(guī)模并行處理進(jìn)行了優(yōu)化。這種集成使企業(yè)能夠創(chuàng)建連續(xù)學(xué)習(xí)應(yīng)用,其中機(jī)器學(xué)習(xí)或深度學(xué)習(xí)算法將針對內(nèi)存中計算集群每個節(jié)點上的內(nèi)存中數(shù)據(jù)在本地運(yùn)行。在本地運(yùn)行算法可允許在模型上不斷更新模型,因為新數(shù)據(jù)已部署在節(jié)點上,甚至達(dá)到了PB級。
責(zé)任編輯:pj
-
阿里巴巴
+關(guān)注
關(guān)注
7文章
1603瀏覽量
46774 -
數(shù)字化
+關(guān)注
關(guān)注
8文章
8351瀏覽量
61385 -
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8306瀏覽量
131841
發(fā)布評論請先 登錄
相關(guān)推薦
評論