內存計算或成為主流
企業數據如今呈現指數型暴漲,如今的用戶企業公司越來越多的意識到數據的重要價值,于是,數據分析成為了一個快速發展的行業,數據分析技術也是快速發展,成為了企業業務快速增長的一個強大助力。
在2013年,我曾經寫過一篇《傳統存儲遭遇挑戰 內存計算或成為主流》文章,在里面我們詳細分析了內存分析技術迎來快速發展的原因:用戶將放置在硬盤的數據集放置在內存中,這樣的好處是系統可以快速的訪問到數據,提高企業IT系統的計算能力,提高企業IT系統的計算能力。
內存分析的好處就是企業用戶可以“實時”執行復雜的分析,并允許用戶大型數據集切片和切塊的那種通常與桌面電子表格軟件的靈活性。
隨著內存計算的發展,越來越多的廠商開始發現內存分析的強大優勢,越來越多的廠商開始推出一系列的產品,如SAP HANA,當然,除此之外,我們還不能忘了這個在開源領域可以和Hadoop、openstrack相提并論的Apache Spark。那么下面就讓我們來看一下用戶該如何選擇這些不同產品呢?
說到內存分析,相信更多的人都聽說過SAP HANA這個平臺,其是一個軟硬件的結合體,SAP提供分析平臺,同時與多個產生過合作生產支持HANA的高性能服務器,包括戴爾、HP、富士通、以及中國的華為和收購IBM的聯想如今都能夠支持。簡單的說,這些高性能的服務器大多具有較高的內存支持,來為HANA提供支持。
華為FusionCube HANA一體機
用戶采用HANA可以直接對量實時業務數據進行查詢和分析,而不需要對業務數據進行建模、聚合等。用戶拿到的是一個裝有預配置軟件的設備。至于HANA的云服務,只是對用戶而言可以在不購買相關硬件的情況下享受HANA的高性能,而HANA云服務的背后其實還是需要更高性能的硬件支撐的。
除了SAP HANA,甲骨文也推出了類似的軟硬件結合體Exadata,Exadata由Exadata數據庫機器、Exadata數據庫服務器、Exadata存儲服務器以及高速網絡接口等組成。InfiniBand端口的傳輸速度可以達到40Gb/秒。
與HANA不同的是,Exadata的快在于把大部分數據庫操作push到硬件,通過高性能硬件提高數據查詢速度,通過采用列式結構減少需要在存儲和內存間移動的數據量,通過高速網絡接口提供數據傳輸的效率。
Oracle Exalytics內存分析一體機是面向分析的集成設計系統,可以無限制提供最佳可視化分析和更智能的分析應用程序。內存分析硬件部分是一臺為基于內存計算的商務智能而特別優化的服務器,具有提供 強勁計算能力的40核中央處理器,高達1TB的內存以及快速的網絡。
開源SPark的優勢及發展前景
IBM solidDB是一個專為用戶獲取極高的速度和可用性的內存數據庫,用戶既可以單獨部署作為獨立的數據庫支持應用程序,也可以部署為其它關系型數據庫的加速緩存以提高應用程序性能。
IBM solidDB
其中,IBM solidDB Universal Cache功能將這些數據庫中存儲的性能關鍵型數據緩存到solidDB Universal Cache中,加快領先關系數據庫的速度。solidDB Universal Cache 功能使用檢查點和事務日志將數據持久保存在 磁盤上,從而保持數據耐久性。
除了SAP、IBM和甲骨文等IT巨頭推出的軟硬件的部署內存分析平臺,在開源市場,Spark也越來越多的得到用戶的關注,這個在開源領域可以說能夠跟OpenStack相提并論。
Spark的核心機制方面主要由兩個層面構成,首先是RDD(Resilient Distributed Datasets),RDD是Spark的最基本抽象,是對分布式內存的抽象使用,實現了以操作本地集合的方式來操作分布式數據集的抽象實現,它表示已被分區,不可變的并能夠被并行操作的數據集合,并且通常緩存到內存中,并且每次對RDD數據集的操作之后的結果,都可以存放到內存中,下一個操作可以直接從內存中輸入,省去了Map Reduce框架中由于Shuffle操作所引發的大量磁盤IO。
其次,在RDD上面執行的算子(Operator),在Spark的支持算子方面,主要有轉換(Transformation)和操作(Action)這兩大類。在轉換方面支持算子有map, filter,groupBy和join等,而在操作方面支持算子有count,collect和save等。
Spark常見存儲數據的格式是Key-Value,也就是Hadoop標準的Sequence File,但同時也聽說支持類似Parquet這樣的列存格式。Key-Value格式的優點在于靈活,上至數據挖掘算法,明細數據查詢,下至復雜SQL處理都能承載,缺點也很明顯就是存儲空間比較浪費,和類似Parquet列存格式相比更是如此,key-Value格式數據一般是原始數據大小的2倍左右,而列存一般是原始數據的1/3到1/4。
當下Spark已不止步于實時計算,目標直指通用大數據處理平臺,而終止Shark,開啟SparkSQL或許已經初見端倪。
因此,盡管它今天看起來可能仍是昂貴的,但內存計算最終的總擁有成本更低將會被證明,因為它性能更強。在內存計算方面,SAP、甲骨文、IBM以及開源Spark都快速發展,隨著新一輪的至強E7 v3處理器的發布,相信會給內存分析帶來新的動力。