① 五種大數據處理架構
五種大數據處理架構
大數據是收集、整理、處理大容量數據集,並從中獲得見解所需的非傳統戰略和技術的總稱。雖然處理數據所需的計算能力或存儲容量早已超過一台計算機的上限,但這種計算類型的普遍性、規模,以及價值在最近幾年才經歷了大規模擴展。
本文將介紹大數據系統一個最基本的組件:處理框架。處理框架負責對系統中的數據進行計算,例如處理從非易失存儲中讀取的數據,或處理剛剛攝入到系統中的數據。數據的計算則是指從大量單一數據點中提取信息和見解的過程。
下文將介紹這些框架:
· 僅批處理框架:
Apache Hadoop
· 僅流處理框架:
Apache Storm
Apache Samza
· 混合框架:
Apache Spark
Apache Flink
大數據處理框架是什麼?
處理框架和處理引擎負責對數據系統中的數據進行計算。雖然「引擎」和「框架」之間的區別沒有什麼權威的定義,但大部分時候可以將前者定義為實際負責處理數據操作的組件,後者則可定義為承擔類似作用的一系列組件。
例如Apache Hadoop可以看作一種以MapRece作為默認處理引擎的處理框架。引擎和框架通常可以相互替換或同時使用。例如另一個框架Apache Spark可以納入Hadoop並取代MapRece。組件之間的這種互操作性是大數據系統靈活性如此之高的原因之一。
雖然負責處理生命周期內這一階段數據的系統通常都很復雜,但從廣義層面來看它們的目標是非常一致的:通過對數據執行操作提高理解能力,揭示出數據蘊含的模式,並針對復雜互動獲得見解。
為了簡化這些組件的討論,我們會通過不同處理框架的設計意圖,按照所處理的數據狀態對其進行分類。一些系統可以用批處理方式處理數據,一些系統可以用流方式處理連續不斷流入系統的數據。此外還有一些系統可以同時處理這兩類數據。
在深入介紹不同實現的指標和結論之前,首先需要對不同處理類型的概念進行一個簡單的介紹。
批處理系統
批處理在大數據世界有著悠久的歷史。批處理主要操作大容量靜態數據集,並在計算過程完成後返回結果。
批處理模式中使用的數據集通常符合下列特徵…
· 有界:批處理數據集代表數據的有限集合
· 持久:數據通常始終存儲在某種類型的持久存儲位置中
· 大量:批處理操作通常是處理極為海量數據集的唯一方法
批處理非常適合需要訪問全套記錄才能完成的計算工作。例如在計算總數和平均數時,必須將數據集作為一個整體加以處理,而不能將其視作多條記錄的集合。這些操作要求在計算進行過程中數據維持自己的狀態。
需要處理大量數據的任務通常最適合用批處理操作進行處理。無論直接從持久存儲設備處理數據集,或首先將數據集載入內存,批處理系統在設計過程中就充分考慮了數據的量,可提供充足的處理資源。由於批處理在應對大量持久數據方面的表現極為出色,因此經常被用於對歷史數據進行分析。
大量數據的處理需要付出大量時間,因此批處理不適合對處理時間要求較高的場合。
Apache Hadoop
Apache Hadoop是一種專用於批處理的處理框架。Hadoop是首個在開源社區獲得極大關注的大數據框架。基於谷歌有關海量數據處理所發表的多篇論文與經驗的Hadoop重新實現了相關演算法和組件堆棧,讓大規模批處理技術變得更易用。
新版Hadoop包含多個組件,即多個層,通過配合使用可處理批數據:
· HDFS:HDFS是一種分布式文件系統層,可對集群節點間的存儲和復制進行協調。HDFS確保了無法避免的節點故障發生後數據依然可用,可將其用作數據來源,可用於存儲中間態的處理結果,並可存儲計算的最終結果。
· YARN:YARN是Yet Another Resource Negotiator(另一個資源管理器)的縮寫,可充當Hadoop堆棧的集群協調組件。該組件負責協調並管理底層資源和調度作業的運行。通過充當集群資源的介面,YARN使得用戶能在Hadoop集群中使用比以往的迭代方式運行更多類型的工作負載。
· MapRece:MapRece是Hadoop的原生批處理引擎。
批處理模式
Hadoop的處理功能來自MapRece引擎。MapRece的處理技術符合使用鍵值對的map、shuffle、rece演算法要求。基本處理過程包括:
· 從HDFS文件系統讀取數據集
· 將數據集拆分成小塊並分配給所有可用節點
· 針對每個節點上的數據子集進行計算(計算的中間態結果會重新寫入HDFS)
· 重新分配中間態結果並按照鍵進行分組
· 通過對每個節點計算的結果進行匯總和組合對每個鍵的值進行「Recing」
· 將計算而來的最終結果重新寫入 HDFS
優勢和局限
由於這種方法嚴重依賴持久存儲,每個任務需要多次執行讀取和寫入操作,因此速度相對較慢。但另一方面由於磁碟空間通常是伺服器上最豐富的資源,這意味著MapRece可以處理非常海量的數據集。同時也意味著相比其他類似技術,Hadoop的MapRece通常可以在廉價硬體上運行,因為該技術並不需要將一切都存儲在內存中。MapRece具備極高的縮放潛力,生產環境中曾經出現過包含數萬個節點的應用。
MapRece的學習曲線較為陡峭,雖然Hadoop生態系統的其他周邊技術可以大幅降低這一問題的影響,但通過Hadoop集群快速實現某些應用時依然需要注意這個問題。
圍繞Hadoop已經形成了遼闊的生態系統,Hadoop集群本身也經常被用作其他軟體的組成部件。很多其他處理框架和引擎通過與Hadoop集成也可以使用HDFS和YARN資源管理器。
總結
Apache Hadoop及其MapRece處理引擎提供了一套久經考驗的批處理模型,最適合處理對時間要求不高的非常大規模數據集。通過非常低成本的組件即可搭建完整功能的Hadoop集群,使得這一廉價且高效的處理技術可以靈活應用在很多案例中。與其他框架和引擎的兼容與集成能力使得Hadoop可以成為使用不同技術的多種工作負載處理平台的底層基礎。
流處理系統
流處理系統會對隨時進入系統的數據進行計算。相比批處理模式,這是一種截然不同的處理方式。流處理方式無需針對整個數據集執行操作,而是對通過系統傳輸的每個數據項執行操作。
· 流處理中的數據集是「無邊界」的,這就產生了幾個重要的影響:
· 完整數據集只能代表截至目前已經進入到系統中的數據總量。
· 工作數據集也許更相關,在特定時間只能代表某個單一數據項。
處理工作是基於事件的,除非明確停止否則沒有「盡頭」。處理結果立刻可用,並會隨著新數據的抵達繼續更新。
流處理系統可以處理幾乎無限量的數據,但同一時間只能處理一條(真正的流處理)或很少量(微批處理,Micro-batch Processing)數據,不同記錄間只維持最少量的狀態。雖然大部分系統提供了用於維持某些狀態的方法,但流處理主要針對副作用更少,更加功能性的處理(Functional processing)進行優化。
功能性操作主要側重於狀態或副作用有限的離散步驟。針對同一個數據執行同一個操作會或略其他因素產生相同的結果,此類處理非常適合流處理,因為不同項的狀態通常是某些困難、限制,以及某些情況下不需要的結果的結合體。因此雖然某些類型的狀態管理通常是可行的,但這些框架通常在不具備狀態管理機制時更簡單也更高效。
此類處理非常適合某些類型的工作負載。有近實時處理需求的任務很適合使用流處理模式。分析、伺服器或應用程序錯誤日誌,以及其他基於時間的衡量指標是最適合的類型,因為對這些領域的數據變化做出響應對於業務職能來說是極為關鍵的。流處理很適合用來處理必須對變動或峰值做出響應,並且關注一段時間內變化趨勢的數據。
Apache Storm
Apache Storm是一種側重於極低延遲的流處理框架,也許是要求近實時處理的工作負載的最佳選擇。該技術可處理非常大量的數據,通過比其他解決方案更低的延遲提供結果。
流處理模式
Storm的流處理可對框架中名為Topology(拓撲)的DAG(Directed Acyclic Graph,有向無環圖)進行編排。這些拓撲描述了當數據片段進入系統後,需要對每個傳入的片段執行的不同轉換或步驟。
拓撲包含:
· Stream:普通的數據流,這是一種會持續抵達系統的無邊界數據。
· Spout:位於拓撲邊緣的數據流來源,例如可以是API或查詢等,從這里可以產生待處理的數據。
· Bolt:Bolt代表需要消耗流數據,對其應用操作,並將結果以流的形式進行輸出的處理步驟。Bolt需要與每個Spout建立連接,隨後相互連接以組成所有必要的處理。在拓撲的尾部,可以使用最終的Bolt輸出作為相互連接的其他系統的輸入。
Storm背後的想法是使用上述組件定義大量小型的離散操作,隨後將多個組件組成所需拓撲。默認情況下Storm提供了「至少一次」的處理保證,這意味著可以確保每條消息至少可以被處理一次,但某些情況下如果遇到失敗可能會處理多次。Storm無法確保可以按照特定順序處理消息。
為了實現嚴格的一次處理,即有狀態處理,可以使用一種名為Trident的抽象。嚴格來說不使用Trident的Storm通常可稱之為Core Storm。Trident會對Storm的處理能力產生極大影響,會增加延遲,為處理提供狀態,使用微批模式代替逐項處理的純粹流處理模式。
為避免這些問題,通常建議Storm用戶盡可能使用Core Storm。然而也要注意,Trident對內容嚴格的一次處理保證在某些情況下也比較有用,例如系統無法智能地處理重復消息時。如果需要在項之間維持狀態,例如想要計算一個小時內有多少用戶點擊了某個鏈接,此時Trident將是你唯一的選擇。盡管不能充分發揮框架與生俱來的優勢,但Trident提高了Storm的靈活性。
Trident拓撲包含:
· 流批(Stream batch):這是指流數據的微批,可通過分塊提供批處理語義。
· 操作(Operation):是指可以對數據執行的批處理過程。
優勢和局限
目前來說Storm可能是近實時處理領域的最佳解決方案。該技術可以用極低延遲處理數據,可用於希望獲得最低延遲的工作負載。如果處理速度直接影響用戶體驗,例如需要將處理結果直接提供給訪客打開的網站頁面,此時Storm將會是一個很好的選擇。
Storm與Trident配合使得用戶可以用微批代替純粹的流處理。雖然藉此用戶可以獲得更大靈活性打造更符合要求的工具,但同時這種做法會削弱該技術相比其他解決方案最大的優勢。話雖如此,但多一種流處理方式總是好的。
Core Storm無法保證消息的處理順序。Core Storm為消息提供了「至少一次」的處理保證,這意味著可以保證每條消息都能被處理,但也可能發生重復。Trident提供了嚴格的一次處理保證,可以在不同批之間提供順序處理,但無法在一個批內部實現順序處理。
在互操作性方面,Storm可與Hadoop的YARN資源管理器進行集成,因此可以很方便地融入現有Hadoop部署。除了支持大部分處理框架,Storm還可支持多種語言,為用戶的拓撲定義提供了更多選擇。
總結
對於延遲需求很高的純粹的流處理工作負載,Storm可能是最適合的技術。該技術可以保證每條消息都被處理,可配合多種編程語言使用。由於Storm無法進行批處理,如果需要這些能力可能還需要使用其他軟體。如果對嚴格的一次處理保證有比較高的要求,此時可考慮使用Trident。不過這種情況下其他流處理框架也許更適合。
Apache Samza
Apache Samza是一種與Apache Kafka消息系統緊密綁定的流處理框架。雖然Kafka可用於很多流處理系統,但按照設計,Samza可以更好地發揮Kafka獨特的架構優勢和保障。該技術可通過Kafka提供容錯、緩沖,以及狀態存儲。
Samza可使用YARN作為資源管理器。這意味著默認情況下需要具備Hadoop集群(至少具備HDFS和YARN),但同時也意味著Samza可以直接使用YARN豐富的內建功能。
流處理模式
Samza依賴Kafka的語義定義流的處理方式。Kafka在處理數據時涉及下列概念:
· Topic(話題):進入Kafka系統的每個數據流可稱之為一個話題。話題基本上是一種可供消耗方訂閱的,由相關信息組成的數據流。
· Partition(分區):為了將一個話題分散至多個節點,Kafka會將傳入的消息劃分為多個分區。分區的劃分將基於鍵(Key)進行,這樣可以保證包含同一個鍵的每條消息可以劃分至同一個分區。分區的順序可獲得保證。
· Broker(代理):組成Kafka集群的每個節點也叫做代理。
· Procer(生成方):任何向Kafka話題寫入數據的組件可以叫做生成方。生成方可提供將話題劃分為分區所需的鍵。
· Consumer(消耗方):任何從Kafka讀取話題的組件可叫做消耗方。消耗方需要負責維持有關自己分支的信息,這樣即可在失敗後知道哪些記錄已經被處理過了。
由於Kafka相當於永恆不變的日誌,Samza也需要處理永恆不變的數據流。這意味著任何轉換創建的新數據流都可被其他組件所使用,而不會對最初的數據流產生影響。
優勢和局限
乍看之下,Samza對Kafka類查詢系統的依賴似乎是一種限制,然而這也可以為系統提供一些獨特的保證和功能,這些內容也是其他流處理系統不具備的。
例如Kafka已經提供了可以通過低延遲方式訪問的數據存儲副本,此外還可以為每個數據分區提供非常易用且低成本的多訂閱者模型。所有輸出內容,包括中間態的結果都可寫入到Kafka,並可被下游步驟獨立使用。
這種對Kafka的緊密依賴在很多方面類似於MapRece引擎對HDFS的依賴。雖然在批處理的每個計算之間對HDFS的依賴導致了一些嚴重的性能問題,但也避免了流處理遇到的很多其他問題。
Samza與Kafka之間緊密的關系使得處理步驟本身可以非常鬆散地耦合在一起。無需事先協調,即可在輸出的任何步驟中增加任意數量的訂閱者,對於有多個團隊需要訪問類似數據的組織,這一特性非常有用。多個團隊可以全部訂閱進入系統的數據話題,或任意訂閱其他團隊對數據進行過某些處理後創建的話題。這一切並不會對資料庫等負載密集型基礎架構造成額外的壓力。
直接寫入Kafka還可避免回壓(Backpressure)問題。回壓是指當負載峰值導致數據流入速度超過組件實時處理能力的情況,這種情況可能導致處理工作停頓並可能丟失數據。按照設計,Kafka可以將數據保存很長時間,這意味著組件可以在方便的時候繼續進行處理,並可直接重啟動而無需擔心造成任何後果。
Samza可以使用以本地鍵值存儲方式實現的容錯檢查點系統存儲數據。這樣Samza即可獲得「至少一次」的交付保障,但面對由於數據可能多次交付造成的失敗,該技術無法對匯總後狀態(例如計數)提供精確恢復。
Samza提供的高級抽象使其在很多方面比Storm等系統提供的基元(Primitive)更易於配合使用。目前Samza只支持JVM語言,這意味著它在語言支持方面不如Storm靈活。
總結
對於已經具備或易於實現Hadoop和Kafka的環境,Apache Samza是流處理工作負載一個很好的選擇。Samza本身很適合有多個團隊需要使用(但相互之間並不一定緊密協調)不同處理階段的多個數據流的組織。Samza可大幅簡化很多流處理工作,可實現低延遲的性能。如果部署需求與當前系統不兼容,也許並不適合使用,但如果需要極低延遲的處理,或對嚴格的一次處理語義有較高需求,此時依然適合考慮。
混合處理系統:批處理和流處理
一些處理框架可同時處理批處理和流處理工作負載。這些框架可以用相同或相關的組件和API處理兩種類型的數據,藉此讓不同的處理需求得以簡化。
如你所見,這一特性主要是由Spark和Flink實現的,下文將介紹這兩種框架。實現這樣的功能重點在於兩種不同處理模式如何進行統一,以及要對固定和不固定數據集之間的關系進行何種假設。
雖然側重於某一種處理類型的項目會更好地滿足具體用例的要求,但混合框架意在提供一種數據處理的通用解決方案。這種框架不僅可以提供處理數據所需的方法,而且提供了自己的集成項、庫、工具,可勝任圖形分析、機器學習、互動式查詢等多種任務。
Apache Spark
Apache Spark是一種包含流處理能力的下一代批處理框架。與Hadoop的MapRece引擎基於各種相同原則開發而來的Spark主要側重於通過完善的內存計算和處理優化機制加快批處理工作負載的運行速度。
Spark可作為獨立集群部署(需要相應存儲層的配合),或可與Hadoop集成並取代MapRece引擎。
批處理模式
與MapRece不同,Spark的數據處理工作全部在內存中進行,只在一開始將數據讀入內存,以及將最終結果持久存儲時需要與存儲層交互。所有中間態的處理結果均存儲在內存中。
雖然內存中處理方式可大幅改善性能,Spark在處理與磁碟有關的任務時速度也有很大提升,因為通過提前對整個任務集進行分析可以實現更完善的整體式優化。為此Spark可創建代表所需執行的全部操作,需要操作的數據,以及操作和數據之間關系的Directed Acyclic Graph(有向無環圖),即DAG,藉此處理器可以對任務進行更智能的協調。
為了實現內存中批計算,Spark會使用一種名為Resilient Distributed Dataset(彈性分布式數據集),即RDD的模型來處理數據。這是一種代表數據集,只位於內存中,永恆不變的結構。針對RDD執行的操作可生成新的RDD。每個RDD可通過世系(Lineage)回溯至父級RDD,並最終回溯至磁碟上的數據。Spark可通過RDD在無需將每個操作的結果寫回磁碟的前提下實現容錯。
流處理模式
流處理能力是由Spark Streaming實現的。Spark本身在設計上主要面向批處理工作負載,為了彌補引擎設計和流處理工作負載特徵方面的差異,Spark實現了一種叫做微批(Micro-batch)*的概念。在具體策略方面該技術可以將數據流視作一系列非常小的「批」,藉此即可通過批處理引擎的原生語義進行處理。
Spark Streaming會以亞秒級增量對流進行緩沖,隨後這些緩沖會作為小規模的固定數據集進行批處理。這種方式的實際效果非常好,但相比真正的流處理框架在性能方面依然存在不足。
優勢和局限
使用Spark而非Hadoop MapRece的主要原因是速度。在內存計算策略和先進的DAG調度等機制的幫助下,Spark可以用更快速度處理相同的數據集。
Spark的另一個重要優勢在於多樣性。該產品可作為獨立集群部署,或與現有Hadoop集群集成。該產品可運行批處理和流處理,運行一個集群即可處理不同類型的任務。
除了引擎自身的能力外,圍繞Spark還建立了包含各種庫的生態系統,可為機器學習、互動式查詢等任務提供更好的支持。相比MapRece,Spark任務更是「眾所周知」地易於編寫,因此可大幅提高生產力。
為流處理系統採用批處理的方法,需要對進入系統的數據進行緩沖。緩沖機制使得該技術可以處理非常大量的傳入數據,提高整體吞吐率,但等待緩沖區清空也會導致延遲增高。這意味著Spark Streaming可能不適合處理對延遲有較高要求的工作負載。
由於內存通常比磁碟空間更貴,因此相比基於磁碟的系統,Spark成本更高。然而處理速度的提升意味著可以更快速完成任務,在需要按照小時數為資源付費的環境中,這一特性通常可以抵消增加的成本。
Spark內存計算這一設計的另一個後果是,如果部署在共享的集群中可能會遇到資源不足的問題。相比HadoopMapRece,Spark的資源消耗更大,可能會對需要在同一時間使用集群的其他任務產生影響。從本質來看,Spark更不適合與Hadoop堆棧的其他組件共存一處。
總結
Spark是多樣化工作負載處理任務的最佳選擇。Spark批處理能力以更高內存佔用為代價提供了無與倫比的速度優勢。對於重視吞吐率而非延遲的工作負載,則比較適合使用Spark Streaming作為流處理解決方案。
Apache Flink
Apache Flink是一種可以處理批處理任務的流處理框架。該技術可將批處理數據視作具備有限邊界的數據流,藉此將批處理任務作為流處理的子集加以處理。為所有處理任務採取流處理為先的方法會產生一系列有趣的副作用。
這種流處理為先的方法也叫做Kappa架構,與之相對的是更加被廣為人知的Lambda架構(該架構中使用批處理作為主要處理方法,使用流作為補充並提供早期未經提煉的結果)。Kappa架構中會對一切進行流處理,藉此對模型進行簡化,而這一切是在最近流處理引擎逐漸成熟後才可行的。
流處理模型
Flink的流處理模型在處理傳入數據時會將每一項視作真正的數據流。Flink提供的DataStream API可用於處理無盡的數據流。Flink可配合使用的基本組件包括:
· Stream(流)是指在系統中流轉的,永恆不變的無邊界數據集
· Operator(操作方)是指針對數據流執行操作以產生其他數據流的功能
· Source(源)是指數據流進入系統的入口點
· Sink(槽)是指數據流離開Flink系統後進入到的位置,槽可以是資料庫或到其他系統的連接器
為了在計算過程中遇到問題後能夠恢復,流處理任務會在預定時間點創建快照。為了實現狀態存儲,Flink可配合多種狀態後端系統使用,具體取決於所需實現的復雜度和持久性級別。
此外Flink的流處理能力還可以理解「事件時間」這一概念,這是指事件實際發生的時間,此外該功能還可以處理會話。這意味著可以通過某種有趣的方式確保執行順序和分組。
批處理模型
Flink的批處理模型在很大程度上僅僅是對流處理模型的擴展。此時模型不再從持續流中讀取數據,而是從持久存儲中以流的形式讀取有邊界的數據集。Flink會對這些處理模型使用完全相同的運行時。
Flink可以對批處理工作負載實現一定的優化。例如由於批處理操作可通過持久存儲加以支持,Flink可以不對批處理工作負載創建快照。數據依然可以恢復,但常規處理操作可以執行得更快。
另一個優化是對批處理任務進行分解,這樣即可在需要的時候調用不同階段和組件。藉此Flink可以與集群的其他用戶更好地共存。對任務提前進行分析使得Flink可以查看需要執行的所有操作、數據集的大小,以及下游需要執行的操作步驟,藉此實現進一步的優化。
優勢和局限
Flink目前是處理框架領域一個獨特的技術。雖然Spark也可以執行批處理和流處理,但Spark的流處理採取的微批架構使其無法適用於很多用例。Flink流處理為先的方法可提供低延遲,高吞吐率,近乎逐項處理的能力。
Flink的很多組件是自行管理的。雖然這種做法較為罕見,但出於性能方面的原因,該技術可自行管理內存,無需依賴原生的Java垃圾回收機制。與Spark不同,待處理數據的特徵發生變化後Flink無需手工優化和調整,並且該技術也可以自行處理數據分區和自動緩存等操作。
Flink會通過多種方式對工作進行分許進而優化任務。這種分析在部分程度上類似於SQL查詢規劃器對關系型資料庫所做的優化,可針對特定任務確定最高效的實現方法。該技術還支持多階段並行執行,同時可將受阻任務的數據集合在一起。對於迭代式任務,出於性能方面的考慮,Flink會嘗試在存儲數據的節點上執行相應的計算任務。此外還可進行「增量迭代」,或僅對數據中有改動的部分進行迭代。
在用戶工具方面,Flink提供了基於Web的調度視圖,藉此可輕松管理任務並查看系統狀態。用戶也可以查看已提交任務的優化方案,藉此了解任務最終是如何在集群中實現的。對於分析類任務,Flink提供了類似SQL的查詢,圖形化處理,以及機器學習庫,此外還支持內存計算。
Flink能很好地與其他組件配合使用。如果配合Hadoop 堆棧使用,該技術可以很好地融入整個環境,在任何時候都只佔用必要的資源。該技術可輕松地與YARN、HDFS和Kafka 集成。在兼容包的幫助下,Flink還可以運行為其他處理框架,例如Hadoop和Storm編寫的任務。
目前Flink最大的局限之一在於這依然是一個非常「年幼」的項目。現實環境中該項目的大規模部署尚不如其他處理框架那麼常見,對於Flink在縮放能力方面的局限目前也沒有較為深入的研究。隨著快速開發周期的推進和兼容包等功能的完善,當越來越多的組織開始嘗試時,可能會出現越來越多的Flink部署
總結
Flink提供了低延遲流處理,同時可支持傳統的批處理任務。Flink也許最適合有極高流處理需求,並有少量批處理任務的組織。該技術可兼容原生Storm和Hadoop程序,可在YARN管理的集群上運行,因此可以很方便地進行評估。快速進展的開發工作使其值得被大家關注。
結論
大數據系統可使用多種處理技術。
對於僅需要批處理的工作負載,如果對時間不敏感,比其他解決方案實現成本更低的Hadoop將會是一個好選擇。
對於僅需要流處理的工作負載,Storm可支持更廣泛的語言並實現極低延遲的處理,但默認配置可能產生重復結果並且無法保證順序。Samza與YARN和Kafka緊密集成可提供更大靈活性,更易用的多團隊使用,以及更簡單的復制和狀態管理。
對於混合型工作負載,Spark可提供高速批處理和微批處理模式的流處理。該技術的支持更完善,具備各種集成庫和工具,可實現靈活的集成。Flink提供了真正的流處理並具備批處理能力,通過深度優化可運行針對其他平台編寫的任務,提供低延遲的處理,但實際應用方面還為時過早。
最適合的解決方案主要取決於待處理數據的狀態,對處理所需時間的需求,以及希望得到的結果。具體是使用全功能解決方案或主要側重於某種項目的解決方案,這個問題需要慎重權衡。隨著逐漸成熟並被廣泛接受,在評估任何新出現的創新型解決方案時都需要考慮類似的問題。
② 關於大數據架構的相關知識
隨著科技的發展和社會的進步,大數據、人工智慧等新興技術開始進入了我們的生活。我們已經從信息時代跨入了大數據時代,而大數據是一個十分火熱的技術,現如今大數據已經涉及到了各行各業的方方面面。但是目前而言,很多人對於大數據不是十分清楚,下面我們就給大家講一講大數據的架構知識。
1.大數據架構的特點
一般來說,大數據的架構是比較復雜的,大數據的應用開發過於偏向底層,具有學習難度大,涉及技術面廣的問題,這制約了大數據的普及。所以我們必須開發一種技術,把大數據開發中一些通用的,重復使用的基礎代碼、演算法封裝為類庫,降低大數據的學習門檻,降低開發難度,提高大數據項目的開發效率。
2.大數據在工作的應用
大數據在工作中的應用有三種,第一種就是與業務相關,比如用戶畫像、風險控制等。第二種就是與決策相關,數據科學的領域,了解統計學、演算法,這是數據科學家的范疇。第三種就是與工程相關,如何實施、如何實現、解決什麼業務問題,這是數據工程師的工作。由此可見大數據是一門高深的學問。
3.對數據源的分類
根據數據源的特點,我們可以把數據源分為四大類。第一類就是從來源來看分為內部數據和外部數據,第二類就是從結構來看分為非結構化數據和結構化數據,第三類就是從可變性來看分為不可變可添加數據和可修改刪除數據,第四類就是從規模來看分為大量數據和小量數據。這四類將大數據的數據源表達的淋漓盡致。完善了大數據的數據源。
4.為什麼重視數據源?
為什麼大數據平台十分重視數據源呢?這是因為大數據平台第一個要素就是數據源,我們要處理的數據源往往是在業務系統上,數據分析的時候可能不會直接對業務的數據源進行處理,而是先經過數據採集、數據存儲,之後才是數據分析和數據處理。所以大數據平台十分重視數據源。
在這篇文章中我們給大家介紹了大數據架構的具體知識,大體包括大數據架構的特點、大數據在工作的應用、對數據源的分類、為什麼重視數據源,希望這篇文章能夠幫助大家更好地理解大數據。
③ 大數據定義、思維方式及架構模式
大數據定義、思維方式及架構模式
一、大數據何以為大
數據現在是個熱點詞彙,關於有了大數據,如何發揮大數據的價值,議論紛紛,而筆者以為,似乎這有點搞錯了原因與結果,就象關聯關系,有A的時候,B與之關聯,而有B的時候,A卻未必關聯,筆者還是從通常的4個V來描述一下我所認為的大數據思維。
1、大數據的量,數據量足夠大,達到了統計性意義,才有價值。筆者看過的一個典型的案例就是,例如傳統的,收集幾千條數據,很難發現血緣關系對遺傳病的影響,而一旦達到2萬條以上,那麼發現這種影響就會非常明顯。那麼對於我們在收集問題時,是為了發現隱藏的知識去收集數據,還是不管有沒有價值地收集,這還是值得商榷的。其實收集數據,對於數據本身,還是可以劃分出一些標准,確立出層級,結合需求、目標來收集,當然有人會說,這樣的話,將會導致巨大的偏差,例如說喪失了數據的完整性,有一定的主觀偏向,但是筆者以為,這樣至少可以讓收集到的數據的價值相對較高。
2、大數據的種類,也可以說成數據的維度,對於一個對象,採取標簽化的方式,進行標記,針對需求進行種類的擴充,和數據的量一樣,筆者認為同樣是建議根據需求來確立,但是對於標簽,有一個通常採取的策略,那就是推薦標簽和自定義標簽的問題,分類法其實是人類文明的一大創舉,採取推薦標簽的方式,可以大幅度降低標簽的總量,而減少後期的規約工作,數據收集時擴充量、擴充維度,但是在數據進入應用狀態時,我們是希望處理的是小數據、少維度,而通過這種推薦、可選擇的方式,可以在標准化基礎上的自定義,而不是毫無規則的擴展,甚至用戶的自定義標簽給予一定的限制,這樣可以使維度的價值更為顯現。
3、關於時效性,現在進入了讀秒時代,那麼在很短的時間進行問題分析、關聯推薦、決策等等,需要的數據量和數據種類相比以前,往往更多,換個說法,因為現在時效性要求高了,所以處理數據的方式變了,以前可能多人處理,多次處理,現在必須變得單人處理、單次處理,那麼相應的信息系統、工作方式、甚至企業的組織模式,管理績效都需要改變,例如筆者曾經工作的企業,上了ERP系統,設計師意見很大,說一個典型案例,以往發一張變更單,發出去工作結束,而上了ERP系統以後,就必須為這張變更單設定物料代碼,設置需要查詢物料的存儲,而這些是以前設計師不管的,又沒有為設計師為這些增加的工作支付獎勵,甚至因為物料的缺少而導致變更單不能發出,以至於設計師工作沒有完成,導致被處罰。但是我們從把工作一次就做完,提升企業的工作效率角度,這樣的設計變更與物料集成的方式顯然是必須的。那麼作為一個工作人員,如何讓自己的工作更全面,更完整,避免王府,讓整個企業工作更具有時間的競爭力,提高數據的數量、種類、處理能力是必須的。
4、關於大數據價值,一種說法是大數據有大價值,還有一種是相對於以往的結構化數據、少量數據,現在是大數據了,所以大數據的單位價值下降。筆者以為這兩種說法都正確,這是一個從總體價值來看,一個從單元數據價值來看的問題。而筆者提出一個新的關於大數據價值的觀點,那就是真正發揮大數據的價值的另外一個思路。這個思路就是針對企業的問題,首先要說什麼是問題,筆者說的問題不是一般意義上的問題,因為一說問題,大家都以為不好、錯誤等等,而筆者的問題的定義是指狀態與其期望狀態的差異,包括三種模式,
1)通常意義的問題,例如失火了,必須立即撲救,其實這是三種模式中最少的一種;
2)希望保持狀態,
3)期望的狀態,這是比原來的狀態高一個層級的。
我們針對問題,提出一系列解決方案,這些解決方案往往有多種,例如員工的培訓,例如設備的改進,例如組織的方式的變化,當然解決方案包括信息化手段、大數據手段,我們一樣需要權衡大數據的方法是不是一種相對較優的方法,如果是,那麼用這種手段去解決,那麼也就是有價值了。例如筆者知道的一個案例,一個企業某產品部件偶爾會出現問題,企業經歷數次後決定針對設備上了一套工控系統,記錄材料的溫度,結果又一次出現問題時,進行分析認為,如果工人正常上班操作,不應該有這樣的數據記錄,而經過與值班工人的質詢,值班工人承認其上晚班時睡覺,沒有及時處理。再往後,同樣的問題再沒有再次發生。
總結起來,筆者以為大數據思維的核心還是要落實到價值上,面向問題,收集足夠量的數據,足夠維度的數據,達到具有統計學意義,也可以滿足企業生產、客戶需求、甚至競爭的時效要求,而不是一味為了大數據而大數據,這樣才是一種務實、有效的正確思維方式,是一線大數據的有效的項目推進方式,在這樣的思維模式基礎上,採取滾雪球方式,把大數據逐步展開,才真正贏來大數據百花齊放的春天。
二、大數據思維方式
大數據研究專家舍恩伯格指出,大數據時代,人們對待數據的思維方式會發生如下三個變化:
1)人們處理的數據從樣本數據變成全部數據;
2)由於是全樣本數據,人們不得不接受數據的混雜性,而放棄對精確性的追求;
3)人類通過對大數據的處理,放棄對因果關系的渴求,轉而關注相關關系。
事實上,大數據時代帶給人們的思維方式的深刻轉變遠不止上述三個方面。筆者認為,大數據思維最關鍵的轉變在於從自然思維轉向智能思維,使得大數據像具有生命力一樣,獲得類似於「人腦」的智能,甚至智慧。
1、總體思維
社會科學研究社會現象的總體特徵,以往采樣一直是主要數據獲取手段,這是人類在無法獲得總體數據信息條件下的無奈選擇。在大數據時代,人們可以獲得與分析更多的數據,甚至是與之相關的所有數據,而不再依賴於采樣,從而可以帶來更全面的認識,可以更清楚地發現樣本無法揭示的細節信息。
正如舍恩伯格總結道:「我們總是習慣把統計抽樣看作文明得以建立的牢固基石,就如同幾何學定理和萬有引力定律一樣。但是,統計抽樣其實只是為了在技術受限的特定時期,解決當時存在的一些特定問題而產生的,其歷史不足一百年。如今,技術環境已經有了很大的改善。在大數據時代進行抽樣分析就像是在汽車時代騎馬一樣。
在某些特定的情況下,我們依然可以使用樣本分析法,但這不再是我們分析數據的主要方式。」也就是說,在大數據時代,隨著數據收集、存儲、分析技術的突破性發展,我們可以更加方便、快捷、動態地獲得研究對象有關的所有數據,而不再因諸多限制不得不採用樣本研究方法,相應地,思維方式也應該從樣本思維轉向總體思維,從而能夠更加全面、立體、系統地認識總體狀況。
2、容錯思維
在小數據時代,由於收集的樣本信息量比較少,所以必須確保記錄下來的數據盡量結構化、精確化,否則,分析得出的結論在推及總體上就會「南轅北轍」,因此,就必須十分注重精確思維。然而,在大數據時代,得益於大數據技術的突破,大量的非結構化、異構化的數據能夠得到儲存和分析,這一方面提升了我們從數據中獲取知識和洞見的能力,另一方面也對傳統的精確思維造成了挑戰。
舍恩伯格指出,「執迷於精確性是信息缺乏時代和模擬時代的產物。只有5%的數據是結構化且能適用於傳統資料庫的。如果不接受混亂,剩下95%的非結構化數據都無法利用,只有接受不精確性,我們才能打開一扇從未涉足的世界的窗戶」。也就是說,在大數據時代,思維方式要從精確思維轉向容錯思維,當擁有海量即時數據時,絕對的精準不再是追求的主要目標,適當忽略微觀層面上的精確度,容許一定程度的錯誤與混雜,反而可以在宏觀層面擁有更好的知識和洞察力。
3、相關思維
在小數據世界中,人們往往執著於現象背後的因果關系,試圖通過有限樣本數據來剖析其中的內在機理。小數據的另一個缺陷就是有限的樣本數據無法反映出事物之間的普遍性的相關關系。而在大數據時代,人們可以通過大數據技術挖掘出事物之間隱蔽的相關關系,獲得更多的認知與洞見,運用這些認知與洞見就可以幫助我們捕捉現在和預測未來,而建立在相關關系分析基礎上的預測正是大數據的核心議題。
通過關注線性的相關關系,以及復雜的非線性相關關系,可以幫助人們看到很多以前不曾注意的聯系,還可以掌握以前無法理解的復雜技術和社會動態,相關關系甚至可以超越因果關系,成為我們了解這個世界的更好視角。舍恩伯格指出,大數據的出現讓人們放棄了對因果關系的渴求,轉而關注相關關系,人們只需知道「是什麼」,而不用知道「為什麼」。我們不必非得知道事物或現象背後的復雜深層原因,而只需要通過大數據分析獲知「是什麼」就意義非凡,這會給我們提供非常新穎且有價值的觀點、信息和知識。也就是說,在大數據時代,思維方式要從因果思維轉向相關思維,努力顛覆千百年來人類形成的傳統思維模式和固有偏見,才能更好地分享大數據帶來的深刻洞見。
4、智能思維
不斷提高機器的自動化、智能化水平始終是人類社會長期不懈努力的方向。計算機的出現極大地推動了自動控制、人工智慧和機器學習等新技術的發展,「機器人」研發也取得了突飛猛進的成果並開始一定應用。應該說,自進入到信息社會以來,人類社會的自動化、智能化水平已得到明顯提升,但始終面臨瓶頸而無法取得突破性進展,機器的思維方式仍屬於線性、簡單、物理的自然思維,智能水平仍不盡如人意。
但是,大數據時代的到來,可以為提升機器智能帶來契機,因為大數據將有效推進機器思維方式由自然思維轉向智能思維,這才是大數據思維轉變的關鍵所在、核心內容。眾所周知,人腦之所以具有智能、智慧,就在於它能夠對周遭的數據信息進行全面收集、邏輯判斷和歸納總結,獲得有關事物或現象的認識與見解。同樣,在大數據時代,隨著物聯網、雲計算、社會計算、可視技術等的突破發展,大數據系統也能夠自動地搜索所有相關的數據信息,並進而類似「人腦」一樣主動、立體、邏輯地分析數據、做出判斷、提供洞見,那麼,無疑也就具有了類似人類的智能思維能力和預測未來的能力。
「智能、智慧」是大數據時代的顯著特徵,大數據時代的思維方式也要求從自然思維轉向智能思維,不斷提升機器或系統的社會計算能力和智能化水平,從而獲得具有洞察力和新價值的東西,甚至類似於人類的「智慧」。
舍恩伯格指出,「大數據開啟了一個重大的時代轉型。就像望遠鏡讓我們感受宇宙,顯微鏡讓我們能夠觀測到微生物一樣,大數據正在改變我們的生活以及理解世界的方式,成為新發明和新服務的源泉,而更多的改變正蓄勢待發」。
大數據時代將帶來深刻的思維轉變,大數據不僅將改變每個人的日常生活和工作方式,改變商業組織和社會組織的運行方式,而且將從根本上奠定國家和社會治理的基礎數據,徹底改變長期以來國家與社會諸多領域存在的「不可治理」狀況,使得國家和社會治理更加透明、有效和智慧。
④ 淺談大數據時代的IT建設
淺談大數據時代的IT建設
現在已經進入大數據時代,大數據既能促進信息消費,又能帶動社會管理創新。當然,大多數企業早已認識到大數據對產業的影響,只是面臨著大數據落地的難題。在商業應用層面,維克托·邁爾·舍恩伯格在其所著的《大數據時代》一書中通過大量的實例進行闡釋;而在技術層面,互聯網巨頭有著得天獨厚的優勢。比如這次的講解人李彥宏所代表的網路,其搜索技術應用於大數據就是順理成章的事情。
在互聯網和IT行業之外的傳統行業也在關注大數據,傳統企業希望通過大數據技術指導企業戰略,了解產業發展、商業模式、市場競爭中成功的關鍵要素,進而提高企業核心能力。然而,傳統企業不具備互聯網企業對數據信息的敏感度,它們產生海量的數據卻不能有效利用數據,或者說數據產生、收集、存儲都可能是數據鏈條的末端,有關數據的進程便完全停止。所以,傳統企業需要在大數據背景下實現轉型。在今天,新技術不斷地顛覆傳統產業,企業深知「慢一拍」會是什麼後果——柯達被數碼時代拋棄,諾基亞被智能機時代拋棄,蘇寧在電商時代匆忙追趕,電信在互聯網時代尋求突破??各行各業的企業都可能在大數據時代掉隊,反過來也有機會得以煥發青春。
大數據時代,所有的企業都將由數據驅動,數據將成為企業和公共組織越來越重要的資產。同時,企業更需要高效的大數據工具,讓數據資產產生真正的價值。在這個時候,人們首先會朝著互聯網企業看過去。互聯網產業是信息產業,是數據產業,它們生產、交換、再次加工以及最終呈現到用戶面前的「產品」都是數據。因此,在大數據時代,有學者提出「泛互聯網化」的思路,以實踐收集數據資產、發揮大數據商業價值。這正是廣義上的物聯網的概念,數據產生、收集、傳輸、存儲、處理都實現互聯網化,各行各業都互聯網化。
在這個大背景下,企業實現大數據的步驟變得明朗起來。在企業明確自己的大數據項目計劃之後,下一步便是實施滿足大數據要求的IT建設。
面向雲計算的企業IT建設
大數據離不開雲計算的支持,雲計算是大數據誕生的前提和必要條件。
目前,已經發展成熟的雲計算擁有強大的計算、存儲能力,可以作為大數據集中採集和存儲數據的基礎。雲計算和大數據的關系可以理解為:雲計算為大數據提供了計算能力、存儲空間和訪問通道,而大數據則是雲計算的終極應用。
大數據時代的第一定律是「樣本即全體」。隨著數據獲取、整理、挖掘的成本伴隨著摩爾定律不斷降低,藉助於IT公司提供的數據分析工具,企業將有可能獲得產業鏈上下游的全部數據,從而將企業的市場決策、供應鏈管控、內部管理的效率提高到前所未有的程度。在IT系統的建設過程中,企業首先面臨的最大困難是在內部解決數據的產生、收集以及存儲問題。當然,此時的數據也可能不夠大,但面臨的問題沒有本質區別。很明顯,能夠建設完整大數據IT系統的企業鳳毛麟角,大多數企業(特別是傳統企業)也沒有這個必要,因為大數據對於它們來說是輔助而非核心業務。企業可以選擇將部分業務外包出去,再將生成的數據傳輸回來,但這時又要面臨數據的傳輸問題。總之,大數據IT建設之前,要考慮哪一部分是本地建設,哪一部分置之雲端。
模式一旦確定,平台的選擇便成為關鍵,選擇哪一種數據分析工具,哪一種資料庫,哪一類雲服務等等。不同的行業、不同的企業建設大數據IT系統的方案不盡相同,這里不作展開討論。不過,對大數據IT系統在軟硬體方面的一些發展趨勢,企業需要重點關注。因為IT技術的發展日新月異,選擇一個具有競爭力和強大生命力的平台,企業才能少走彎路,才能真正從投資中獲益。
數據倉庫特殊性尤為重要
對於大多數企業而言,大數據意味著為長年維護且塵封已久的數據倉庫配備一道可訪問的大門。
數據倉庫過去一直是、未來也將仍然是企業級機構所不可或缺的關鍵性組成部分。這類系統的作用是將企業方方面面產生的數據匯聚起來,然後分門別類加以劃分,最終讓這些紛繁復雜的信息成為業務分析師深入了解企業運營狀況的寶貴資料。一套針對可擴展性而精心設計出的基礎設施正是大數據能否真正發揮作用的關鍵所在。
⑤ 大數據技術在工業化轉型革命中,解決了哪些傳統的難題
5G、大數據、工業互聯網、雲計算、人工智慧等新一代信息技術與行業經濟深度融合,加快了工業經濟數字化、網路化、智能化進程,從根本上改變了經濟發展方式。重塑了全球產業鏈分工。
數字經濟正以「變局者」的姿態,給全世界帶來巨大變化,數字化轉型已經成為企業首要且不可迴避的命題。據IDC調查報告顯示,在全球TOP2000的企業中,2/3的CEO 將數字化轉型作為企業戰略的核心。
就如前一陣子「阿里新掌門」張勇在2019杭州雲棲大會上強調的「在數字化驅動和承載的新經濟和新社會當中,一切都在被重新定義。」各行各業都在全面走向數字化運營、數字化產業升級。
在資金和技術的推動之下,有些行業已經找到了「頭部模式」,但是對於眾多的工業企業來說是機會也是挑戰。
2019——工業互聯網動盪的一年
在經濟下行的壓力下,工業企業也開始依靠企數字化轉型來達到提升效率,降低成本,提升經濟效益。
工業互聯網平台向上承載應用生態,向下接入系統設備,是連接工業用戶企業、設備廠商、服務提供商等的樞紐,是工業互聯網建設和發展的核心。
目前,我國已經成為世界上工業互聯網產業培育土壤最為旺盛的過國家,截止2019年上半年,已經有超過84.9%的中國製造型企業開始了數字化轉型。已經誕生出具有一定影響力的平台50餘家,部分平台的工業設備連接數量超過了10萬套,然而,在進行數字化轉型的過程中,大部分企業都和預期相差甚遠。
萬變不離其宗,工業行業所面臨這一切的關鍵在於實現數字化轉型。我們已經由熱火朝天的炒作概念走到了實際效益的階段,很多企業也由於缺乏對數字化戰略的錯誤認識和牢固的企業根基,在激烈的市場競爭中敗下陣來。
因為我國大量企業尤其是中小企業的工業設備相對老舊,協議不開放導致連接困難。在平台基礎框架、邊緣計算架構、大數據管理、微服務架構、APP開發等方面,主流的技術架構將成為工業互聯網新入企業的主要選擇。因此,隨著平台的速度加快將倒逼設備數據採集技術實現爆發性增長,從而促生很多本地化、行業化的中國特色採集技術的出現,並進一步推進相關技術標準的研究和發展。
IT技術——工業企業數字化戰略的核心
IT架構作為戰略就緒的核心點,其重構的路徑可由數字化走向智能化, 企業IT架構的演進分為三個階段:電子化——信息化——智能化。
1、電子化
其特點是交易驅動,通過將原來的線下交易轉移到網上,可以在一定程度上解決效率問題。實現企業數字處理的電子化還存在的許多問題,如系統建設無計劃、無序、無組織、無業務線隨機建設、系統重疊嚴重等。
2、信息化
其特點是流程驅動,打破部門壁壘,實現整個企業的業務流程信息化。接下來,我可以從四個方面來理解信息階段的it架構:集中化、集成化、專業化和標准化。
集中化:在企業內部,各個分子公司的應用系統集中成組。
集成化:建立一個SOA或ESB系統來支持系統之間的數據傳輸。
專業化:按照專業化制度。
標准化:建立企業標准。
雖然it體系結構已經發展到信息化階段,但系統之間的煙囪屏障仍然存在。
3、智能化
其特點是數據驅動。運用人工智慧、大數據等技術,重構企業組織、流程和規則,促進企業經營管理的智能化。在智能化階段,企業可以通過it架構實現業務重塑、創建新的業務模式、關注生態圈、實現企業平台。智能化階段的企業it架構包括三個層次:前端應用層(如b2b協作、內部商城、新零售等應用)、中間能力層(如結算、稅務、會計、支付等)和後端數據層(如數據倉庫、數據應用等)。
平台戰略——提速數字化轉型
面對企業整體數字化轉型需求和市面上的碎片化供給,企業原有的自研,定製加標准化產品采購的建設模式已經難以為繼。平台+生態的新模式成為必然。
平台化之所以重要,就是因為它賦予或加強了企業在以用戶為中心的現代商業戰爭中最最最核心的能力:用戶響應力。這種能力可以幫助企業在商戰上先發制人,始終搶得先機。
要用好平台的能力,首先是明確方向,與企業戰略匹配;其次是自上而下設計,避免碎片化的方案;三是自下而上實施,項目管理是核心,項目數據是企業的核心數據,因此項目層數字化能力的建設是核心的抓手;最後,階段推進,價值驅改搏動,從高價值業務做起,價值驅動,試點先行,樣本引路,強力推廣。
企業需要一個用於構建和運行應用和服務纖鎮的平台,來自動執行並集成DevOps、持續交付、微服務和容器等概念,幫助企業提高開發資源利用率, 加速資源整合和優化,促進和推動企毀殲粗業數字化、互聯網化、智能化轉型。
「1+N」平台體系——構建企業數字化轉型的最佳陣容
工業企業數字化轉型迫切需要一站式集成供應鏈平台建設方案和服務。市場上的數字產品和方案普遍缺乏整體的數字戰略規劃,導致路徑不清晰;產品應用星羅棋布,整體信息水平較低;數據不流動,業務系統、數據之間沒有聚合和交互,數據孤島現象嚴重,不能充分發揮數據的價值;技術體系落後,整體維修性差,性能穩定問題突出。
數商雲工業供應鏈系統開發「1+N」工業供應鏈平台體系,分PC端和App端,利用自主研發的優勢,和行業多年的經驗積累,為解決諸多客戶總結行業痛點,積累完善產品系列而誕生的供應鏈管理的軟體。
「1+N」工業互聯網平台體系,秉承一個理念,建設一個平台,具備關鍵技術,搭載N個應用,做到對傳統工業企業的關鍵要素進行全面的感知和實時互聯,實現平台的數字化、系統化、智能化,從而驅動工業企業的轉型升級。
一個理念:是指數字化企業理念,是工業企業轉型升級的核心引擎。它結合先進的精益建造理論方法,集成人員、流程、數據、技術和業務系統,實現工業的全過程、全要素、全參與方的數字化、在線化和智能化,構建項目、企業和行業的平台生態新體系,從而推動以新設計、新建造、新運維為代表的產業升級。
一個平台:是我們的工業,包含了技術、數據和業務,是驅動工業企業數字化轉型的核心引擎。他是我們能夠根據客戶的需求,快速通過組件生成應用,組成靈活解決方案的保障,也是我們能夠連接產業鏈上的生態合作夥伴的軟硬體產品,共同為客戶服務的一個必需品。供應鏈平台
關鍵技術:通過大數據技術提供項目層的全量數據,並提供數字資產管理,數據服務管理,以及數據智能處理(統計,匯總,預測,科學分析)能力;平台能夠從現場圖片、影像中提取信息並應用。
N個應用:一套兼容應用生態夥伴的集成應用。完善地覆蓋業務場景。
不難看出,通過數字化思路,以及信息技術來改進工業企業各干係組織、協同作業的新工業方式,將有效滿足數字時代施工企業項目管理的新需求。數字化轉型是整個經濟體的大發展趨勢,企業在順應發展潮流加快自身轉型的時候,切記不可本末倒置,牢記用技術提升體驗,用數據挖掘價值的核心思想。未來,數商雲供應鏈將能更好地賦能智慧工業,承載起智慧工業互聯網的藍圖構想。
作者:雲朵匠 | 數商雲(微信ID:shushangyun_com)
⑥ 大數據時代下的三種存儲架構
大數據時代下的三種存儲架構_數據分析師考試
大數據時代,移動互聯、社交網路、數據分析、雲服務等應用的迅速普及,對數據中心提出革命性的需求,存儲基礎架構已經成為IT核心之一。政府、軍隊軍工、科研院所、航空航天、大型商業連鎖、醫療、金融、新媒體、廣電等各個領域新興應用層出不窮。數據的價值日益凸顯,數據已經成為不可或缺的資產。作為數據載體和驅動力量,存儲系統成為大數據基礎架構中最為關鍵的核心。
傳統的數據中心無論是在性能、效率,還是在投資收益、安全,已經遠遠不能滿足新興應用的需求,數據中心業務急需新型大數據處理中心來支撐。除了傳統的高可靠、高冗餘、綠色節能之外,新型的大數據中心還需具備虛擬化、模塊化、彈性擴展、自動化等一系列特徵,才能滿足具備大數據特徵的應用需求。這些史無前例的需求,讓存儲系統的架構和功能都發生了前所未有的變化。
基於大數據應用需求,「應用定義存儲」概念被提出。存儲系統作為數據中心最核心的數據基礎,不再僅是傳統分散的、單一的底層設備。除了要具備高性能、高安全、高可靠等特徵之外,還要有虛擬化、並行分布、自動分層、彈性擴展、異構資源整合、全局緩存加速等多方面的特點,才能滿足具備大數據特徵的業務應用需求。
尤其在雲安防概念被熱炒的時代,隨著高清技術的普及,720P、1080P隨處可見,智能和高清的雙向需求、動輒500W、800W甚至上千萬更高解析度的攝像機面市,大數據對存儲設備的容量、讀寫性能、可靠性、擴展性等都提出了更高的要求,需要充分考慮功能集成度、數據安全性、數據穩定性,系統可擴展性、性能及成本各方面因素。
目前市場上的存儲架構如下:
(1)基於嵌入式架構的存儲系統
節點NVR架構主要面向小型高清監控系統,高清前端數量一般在幾十路以內。系統建設中沒有大型的存儲監控中心機房,存儲容量相對較小,用戶體驗度、系統功能集成度要求較高。在市場應用層面,超市、店鋪、小型企業、政法行業中基本管理單元等應用較為廣泛。
(2)基於X86架構的存儲系統
平台SAN架構主要面向中大型高清監控系統,前端路數成百上千甚至上萬。一般多採用IPSAN或FCSAN搭建高清視頻存儲系統。作為監控平台的重要組成部分,前端監控數據通過錄像存儲管理模塊存儲到SAN中。
此種架構接入高清前端路數相對節點NVR有了較高提升,具備快捷便利的可擴展性,技術成熟。對於IPSAN而言,雖然在ISCSI環節數據並發讀寫傳輸速率有所消耗,但其憑借擴展性良好、硬體平台通用、海量數據可充分共享等優點,仍然得到很多客戶的青睞。FCSAN在行業用戶、封閉存儲系統中應用較多,比如縣級或地級市高清監控項目,大數據量的並發讀寫對千兆網路交換提出了較大的挑戰,但應用FCSAN構建相對獨立的存儲子系統,可以有效解決上述問題。
面對視頻監控系統大文件、隨機讀寫的特點,平台SAN架構系統不同存儲單元之間的數據共享冗餘方面還有待提高;從高性能伺服器轉發視頻數據到存儲空間的策略,從系統架構而言也增加了隱患故障點、ISCSI帶寬瓶頸導致無法充分利用硬體數據並發性能、接入前端數據較少。上述問題催生了平台NVR架構解決方案。
該方案在系統架構上省去了存儲伺服器,消除了上文提到的性能瓶頸和單點故障隱患。大幅度提高存儲系統的寫入和檢索速度;同時也徹底消除了傳統文件系統由於供電和網路的不穩定帶來的文件系統損壞等問題。
平台NVR中存儲的數據可同時供多個客戶端隨時查詢,點播,當用戶需要查看多個已保存的視頻監控數據時,可通過授權的視頻監控客戶端直接查詢並點播相應位置的視頻監控數據進行歷史圖像的查看。由於數據管理伺服器具有監控系統所有監控點的錄像文件的索引,因此通過平台CMS授權,視頻監控客戶端可以查詢並點播整個監控系統上所有監控點的數據,這個過程對用戶而言也是透明的。
(3)基於雲技術的存儲方案
當前,安防行業可謂「雲」山「物」罩。隨著視頻監控的高清化和網路化,存儲和管理的視頻數據量已有海量之勢,雲存儲技術是突破IP高清監控存儲瓶頸的重要手段。雲存儲作為一種服務,在未來安防監控行業有著客觀的應用前景。
與傳統存儲設備不同,雲存儲不僅是一個硬體,而是一個由網路設備、存儲設備、伺服器、軟體、接入網路、用戶訪問介面以及客戶端程序等多個部分構成的復雜系統。該系統以存儲設備為核心,通過應用層軟體對外提供數據存儲和業務服務。
一般分為存儲層、基礎管理層、應用介面層以及訪問層。存儲層是雲存儲系統的基礎,由存儲設備(滿足FC協議、iSCSI協議、NAS協議等)構成。基礎管理層是雲存儲系統的核心,其擔負著存儲設備間協同工作,數據加密,分發以及容災備份等工作。應用介面層是系統中根據用戶需求來開發的部分,根據不同的業務類型,可以開發出不同的應用服務介面。訪問層指授權用戶通過應用介面來登錄、享受雲服務。其主要優勢在於:硬體冗餘、節能環保、系統升級不會影響存儲服務、海量並行擴容、強大的負載均衡功能、統一管理、統一向外提供服務,管理效率高,雲存儲系統從系統架構、文件結構、高速緩存等方面入手,針對監控應用進行了優化設計。數據傳輸可採用流方式,底層採用突破傳統文件系統限制的流媒體數據結構,大幅提高了系統性能。
高清監控存儲是一種大碼流多並發寫為主的存儲應用,對性能、並發性和穩定性等方面有很高的要求。該存儲解決方案採用獨特的大緩存順序化演算法,把多路隨機並發訪問變為順序訪問,解決了硬碟磁頭因頻繁尋道而導致的性能迅速下降和硬碟壽命縮短的問題。
針對系統中會產生PB級海量監控數據,存儲設備的數量達數十台上百台,因此管理方式的科學高效顯得十分重要。雲存儲可提供基於集群管理技術的多設備集中管理工具,具有設備集中監控、集群管理、系統軟硬體運行狀態的監控、主動報警,圖像化系統檢測等功能。在海量視頻存儲檢索應用中,檢索性能尤為重要。傳統文件系統中,文件檢索採用的是「目錄-》子目錄-》文件-》定位」的檢索步驟,在海量數據的高清視頻監控,目錄和文件數量十分可觀,這種檢索模式的效率就會大打折扣。採用序號文件定位可以有效解決該問題。
雲存儲可以提供非常高的的系統冗餘和安全性。當在線存儲系統出現故障後,熱備機可以立即接替服務,當故障恢復時,服務和數據回遷;若故障機數據需要調用,可以將故障機的磁碟插入到冷備機中,實現所有數據的立即可用。
對於高清監控系統,隨著監控前端的增加和存儲時間的延長,擴展能力十分重要。市場中已有友商可提供單純針對容量的擴展櫃擴展模式和性能容量同步線性擴展的堆疊擴展模式。
雲存儲系統除上述優點之外,在平台對接整合、業務流程梳理、視頻數據智能分析深度挖掘及成本方面都將面臨挑戰。承建大型系統、構建雲存儲的商業模式也亟待創新。受限於寬頻網路、web2.0技術、應用存儲技術、文件系統、P2P、數據壓縮、CDN技術、虛擬化技術等的發展,未來雲存儲還有很長的路要走。
以上是小編為大家分享的關於大數據時代下的三種存儲架構的相關內容,更多信息可以關注環球青藤分享更多干貨
⑦ 大數據的預測功能是增值服務的核心
大數據的預測功能是增值服務的核心
從走在大數據發展前沿的互聯網新興行業,到與人類生活息息相關的醫療保健、電力、通信等傳統行業,大數據浪潮無時無刻不在改變著人們的生產和生活方式。大數據時代的到來,給國內外各行各業帶來諸多的變革動力和巨大價值。
最新發布的報告稱,全球大數據市場規模將在未來五年內迎來高達26%的年復合增長率——從今年的148.7億美元增長到2018年的463.4億美元。全球各大公司、企業和研究機構對大數據商業模式進行了廣泛地探索和嘗試,雖然仍舊有許多模式尚不明朗,但是也逐漸形成了一些成熟的商業模式。
兩種存儲模式為主
互聯網上的每一個網頁、每一張圖片、每一封郵件,通信行業每一條短消息、每一通電話,電力行業每一戶用電數據等等,這些足跡都以「數據」的形式被記錄下來,並以幾何量級的速度增長。這就是大數據時代帶給我們最直觀的沖擊。
正因為數據量之大,數據多為非結構化,現有的諸多存儲介質和系統極大地限制著大數據的挖掘和發展。為更好地解決大數據存儲問題,國內外各大企業和研究機構做了許許多多的嘗試和努力,並不斷摸索其商業化前景,目前形成了如下兩種比較成熟的商業模式:
可擴展的存儲解決方案。該存儲解決方案可幫助政府、企業對存儲的內容進行分類和確定優先順序,高效安全地存儲到適當存儲介質中。而以存儲區域網路(SAN)、統一存儲、文件整合/網路連接存儲(NAS)的傳統存儲解決方案,無法提供和擴展處理大數據所需要的靈活性。而以Intel、Oracle、華為、中興等為代表的新一代存儲解決方案提供商提供的適用於大、中小企業級的全系存儲解決方案,通過標准化IT基礎架構、自動化流程和高擴展性,來滿足大數據多種應用需求。
雲存儲。雲存儲是一個以數據存儲和管理為核心的雲計算系統,其結構模型一般由存儲層、基礎管理、應用介面和訪問層四層組成。通過易於使用的API,方便用戶將各種數據放到雲存儲裡面,然後像使用水電一樣按用量進行收費。用戶不用關心數據的存儲介質、網路狀況以及安全性的管理,只需按需向提供方購買空間。
源數據價值水漲船高
在紅紅火火的大數據時代,隨著數據的累積,數據本身的價值也在不斷升值,這種情況很好地反應了事物由量變到質變的規律。例如有一種罕見的疾病,得病率為十萬分之一,如果從小樣本數據來看非常罕見,但是擴大到全世界70億人,那麼數量就非常龐大。以前技術落後,不能將該病情數字化集中研究,所以很難攻克。但是,我們現在把各種各樣的數據案例搜集起來統一分析,我們很快就能攻克很多以前想像不到的科學難題。類似的例子,不勝枚舉。
正是由於可以通過大數據挖掘到很多看不見的價值,源數據本身的價值也水漲船高。一些掌握海量有效數據的公司和企業找到了一條行之有效的商業路徑:對源數據直接或者經過簡單封裝銷售。在互聯網領域,以Facebook、twitter、微博為代表的社交網站擁有大量的用戶和用戶關系數據,這些網站正嘗試以各種方式對該源數據進行商業化銷售,Google、Yahoo!、網路[微博]等搜索公司擁有大量的搜索軌跡數據以及網頁數據,他們可以通過簡單API提供給第三方並從中盈利;在傳統行業中,中國聯通[微博](3.44, 0.03, 0.88%)、中國電信[微博]等運營商擁有大量的底層用戶資料,可以通過簡單地去隱私化,然後進行銷售盈利。
各大公司或者企業通過提供海量數據服務來支撐公司發展,同時以免費的服務補償用戶,這種成熟的商業模式經受住了時間的考驗。但是對於任何用戶數據的買賣,還需處理好用戶隱私信息,通過去隱私化方式,來保護好用戶隱私。
預測是增值服務的核心
在大數據基礎上進行深度挖掘,所衍生出來的增值服務,是大數據領域最具想像空間的商業模式。大數據增值服務的核心是什麼?預測!大數據引發了商業分析模式轉變,從過去的樣本模式到現在的全數據模式,從過去的小概率到現在的大概率,從而能夠得到比以前更准確的預測。目前形成了如下幾種比較成熟的商業模式。
個性化的精準營銷。一提起「垃圾簡訊」,大家都很厭煩,這是因為本來在營銷方看來是有價值的、「對」的信息,發到了「錯」的用戶手裡。通過對用戶的大量的行為數據進行詳細分析,深度挖掘之後,能夠實現給「對」的用戶發送「對」的信息。比如大型商場可以對會員的購買記錄進行深度分析,發掘用戶和品牌之間的關聯。然後,當某個品牌的忠實用戶收到該品牌打折促銷的簡訊之後,一定不是厭煩,而是欣喜。如優捷信達、中科嘉速等擁有強大數據處理技術的公司在數據挖掘、精準廣告分析等方面擁有豐富的經驗。
企業經營的決策指導。針對大量的用戶數據,運用成熟的數據挖掘技術,分析得到企業運營的各種趨勢,從而給企業的決策提供強有力的指導。例如,汽車銷售公司,可以通過對網路上用戶的大量評論進行分析,得到用戶最關心和最不滿意的功能,然後對自己的下一代產品進行有針對性的改進,以提升消費者的滿意度。
總體來說,從宏觀層面來看,大數據是我們未來社會的新能源;從企業微觀層面來看,大數據分析和運用能力正成為企業的核心競爭力。深入研究和積極探索大數據的商業模式,對企業的未來發展有至關重要的意義。
⑧ 如何架構大數據系統hadoop
大數據數量龐大,格式多樣化。
大量數據由家庭、製造工廠和辦公場所的各種設備、互聯網事務交易、社交網路的活動、自動化感測器、移動設備以及科研儀器等生成。
它的爆炸式增長已超出了傳統IT基礎架構的處理能力,給企業和社會帶來嚴峻的數據管理問題。
因此必須開發新的數據架構,圍繞「數據收集、數據管理、數據分析、知識形成、智慧行動」的全過程,開發使用這些數據,釋放出更多數據的隱藏價值。
一、大數據建設思路
1)數據的獲得
大數據產生的根本原因在於感知式系統的廣泛使用。
隨著技術的發展,人們已經有能力製造極其微小的帶有處理功能的感測器,並開始將這些設備廣泛的布置於社會的各個角落,通過這些設備來對整個社會的運轉進行監控。
這些設備會源源不斷的產生新數據,這種數據的產生方式是自動的。
因此在數據收集方面,要對來自網路包括物聯網、社交網路和機構信息系統的數據附上時空標志,去偽存真,盡可能收集異源甚至是異構的數據,必要時還可與歷史數據對照,多角度驗證數據的全面性和可信性。
2)數據的匯集和存儲
互聯網是個神奇的大網,大數據開發和軟體定製也是一種模式,這里提供最詳細的報價,如果你真的想做,可以來這里,這個手機的開始數字是一八七中間的是三兒零最後的是一四二五零,按照順序組合起來就可以找到,我想說的是,除非你想做或者了解這方面的內容,如果只是湊熱鬧的話,就不要來了
數據只有不斷流動和充分共享,才有生命力。
應在各專用資料庫建設的基礎上,通過數據集成,實現各級各類信息系統的數據交換和數據共享。
數據存儲要達到低成本、低能耗、高可靠性目標,通常要用到冗餘配置、分布化和雲計算技術,在存儲時要按照一定規則對數據進行分類,通過過濾和去重,減少存儲量,同時加入便於日後檢索的標簽。
3)數據的管理
大數據管理的技術也層出不窮。
在眾多技術中,有6種數據管理技術普遍被關注,即分布式存儲與計算、內存資料庫技術、列式資料庫技術、雲資料庫、非關系型的資料庫、移動資料庫技術。
其中分布式存儲與計算受關注度最高。
上圖是一個圖書數據管理系統。
4)數據的分析
數據分析處理:有些行業的數據涉及上百個參數,其復雜性不僅體現在數據樣本本身,更體現在多源異構、多實體和多空間之間的交互動態性,難以用傳統的方法描述與度量,處理的復雜度很大,需要將高維圖像等多媒體數據降維後度量與處理,利用上下文關聯進行語義分析,從大量動態而且可能是模稜兩可的數據中綜合信息,並導出可理解的內容。
大數據的處理類型很多,主要的處理模式可以分為流處理和批處理兩種。
批處理是先存儲後處理,而流處理則是直接處理數據。
挖掘的任務主要是關聯分析、聚類分析、分類、預測、時序模式和偏差分析等。
5)大數據的價值:決策支持系統
大數據的神奇之處就是通過對過去和現在的數據進行分析,它能夠精確預測未來;通過對組織內部的和外部的數據整合,它能夠洞察事物之間的相關關系;通過對海量數據的挖掘,它能夠代替人腦,承擔起企業和社會管理的職責。
6)數據的使用
大數據有三層內涵:一是數據量巨大、來源多樣和類型多樣的數據集;二是新型的數據處理和分析技術;三是運用數據分析形成價值。
大數據對科學研究、經濟建設、社會發展和文化生活等各個領域正在產生革命性的影響。
大數據應用的關鍵,也是其必要條件,就在於"IT"與"經營"的融合,當然,這里的經營的內涵可以非常廣泛,小至一個零售門店的經營,大至一個城市的經營。
二、大數據基本架構
基於上述大數據的特徵,通過傳統IT技術存儲和處理大數據成本高昂。
一個企業要大力發展大數據應用首先需要解決兩個問題:一是低成本、快速地對海量、多類別的數據進行抽取和存儲;二是使用新的技術對數據進行分析和挖掘,為企業創造價值。
因此,大數據的存儲和處理與雲計算技術密不可分,在當前的技術條件下,基於廉價硬體的分布式系統(如Hadoop等)被認為是最適合處理大數據的技術平台。
Hadoop是一個分布式的基礎架構,能夠讓用戶方便高效地利用運算資源和處理海量數據,目前已在很多大型互聯網企業得到了廣泛應用,如亞馬遜、Facebook和Yahoo等。
其是一個開放式的架構,架構成員也在不斷擴充完善中,通常架構如圖2所示:
Hadoop體系架構
(1)Hadoop最底層是一個HDFS(Hadoop Distributed File System,分布式文件系統),存儲在HDFS中的文件先被分成塊,然後再將這些塊復制到多個主機中(DataNode,數據節點)。
(2)Hadoop的核心是MapRece(映射和化簡編程模型)引擎,Map意為將單個任務分解為多個,而Rece則意為將分解後的多任務結果匯總,該引擎由JobTrackers(工作追蹤,對應命名節點)和TaskTrackers(任務追蹤,對應數據節點)組成。
當處理大數據查詢時,MapRece會將任務分解在多個節點處理,從而提高了數據處理的效率,避免了單機性能瓶頸限制。
(3)Hive是Hadoop架構中的數據倉庫,主要用於靜態的結構以及需要經常分析的工作。
Hbase主要作為面向列的資料庫運行在HDFS上,可存儲PB級的數據。
Hbase利用MapRece來處理內部的海量數據,並能在海量數據中定位所需的數據且訪問它。
(4)Sqoop是為數據的互操作性而設計,可以從關系資料庫導入數據到Hadoop,並能直接導入到HDFS或Hive。
(5)Zookeeper在Hadoop架構中負責應用程序的協調工作,以保持Hadoop集群內的同步工作。
(6)Thrift是一個軟體框架,用來進行可擴展且跨語言的服務的開發,最初由Facebook開發,是構建在各種編程語言間無縫結合的、高效的服務。
Hadoop核心設計
Hbase——分布式數據存儲系統
Client:使用HBase RPC機制與HMaster和HRegionServer進行通信
Zookeeper:協同服務管理,HMaster通過Zookeepe可以隨時感知各個HRegionServer的健康狀況
HMaster: 管理用戶對表的增刪改查操作
HRegionServer:HBase中最核心的模塊,主要負責響應用戶I/O請求,向HDFS文件系統中讀寫數據
HRegion:Hbase中分布式存儲的最小單元,可以理解成一個Table
HStore:HBase存儲的核心。
由MemStore和StoreFile組成。
HLog:每次用戶操作寫入Memstore的同時,也會寫一份數據到HLog文件
結合上述Hadoop架構功能,大數據平台系統功能建議如圖所示:
應用系統:對於大多數企業而言,運營領域的應用是大數據最核心的應用,之前企業主要使用來自生產經營中的各種報表數據,但隨著大數據時代的到來,來自於互聯網、物聯網、各種感測器的海量數據撲面而至。
於是,一些企業開始挖掘和利用這些數據,來推動運營效率的提升。
數據平台:藉助大數據平台,未來的互聯網路將可以讓商家更了解消費者的使用**慣,從而改進使用體驗。
基於大數據基礎上的相應分析,能夠更有針對性的改進用戶體驗,同時挖掘新的商業機會。
數據源:數據源是指資料庫應用程序所使用的資料庫或者資料庫伺服器。
豐富的數據源是大數據產業發展的前提。
數據源在不斷拓展,越來越多樣化。
如:智能汽車可以把動態行駛過程變成數據,嵌入到生產設備里的物聯網可以把生產過程和設備動態狀況變成數據。
對數據源的不斷拓展不僅能帶來採集設備的發展,而且可以通過控制新的數據源更好地控制數據的價值。
然而我國數字化的數據資源總量遠遠低於美歐,就已有有限的數據資源來說,還存在標准化、准確性、完整性低,利用價值不高的情況,這**降低了數據的價值。
三、大數據的目標效果
通過大數據的引入和部署,可以達到如下效果:
1)數據整合
·統一數據模型:承載企業數據模型,促進企業各域數據邏輯模型的統一;
·統一數據標准:統一建立標準的數據編碼目錄,實現企業數據的標准化與統一存儲;
·統一數據視圖:實現統一數據視圖,使企業在客戶、產品和資源等視角獲取到一致的信息。
2)數據質量管控
·數據質量校驗:根據規則對所存儲的數據進行一致性、完整性和准確性的校驗,保證數據的一致性、完整性和准確性;
·數據質量管控:通過建立企業數據的質量標准、數據管控的組織、數據管控的流程,對數據質量進行統一管控,以達到數據質量逐步完善。
3)數據共享
·消除網狀介面,建立大數據共享中心,為各業務系統提供共享數據,降低介面復雜度,提高系統間介面效率與質量;
·以實時或准實時的方式將整合或計算好的數據向外系統提供。
4)數據應用
·查詢應用:平台實現條件不固定、不可預見、格式靈活的按需查詢功能;
·固定報表應用:視統計維度和指標固定的分析結果的展示,可根據業務系統的需求,分析產生各種業務報表數據等;
·動態分析應用:按關心的維度和指標對數據進行主題性的分析,動態分析應用中維度和指標不固定。
四、總結
基於分布式技術構建的大數據平台能夠有效降低數據存儲成本,提升數據分析處理效率,並具備海量數據、高並發場景的支撐能力,可大幅縮短數據查詢響應時間,滿足企業各上層應用的數據需求。