如何為物聯(lián)網(wǎng)構(gòu)建數(shù)據(jù)流、人工智能和機器學習平臺

責任編輯:cres

作者:蒙光偉編譯

2020-09-15 13:23:01

摘自:千家網(wǎng)

企業(yè)如何才能經(jīng)濟高效地構(gòu)建一個可靠的平臺來大規(guī)模接收和響應大量數(shù)據(jù)?企業(yè)可以使用基于開放源代碼軟件堆棧構(gòu)建的流平臺和數(shù)據(jù)存儲系統(tǒng)來做到這一點。

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

鏈接已復制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號-6京公網(wǎng)安備 11010502049343號