全面對比,深度解析 Ignite 與 Spark

經(jīng)常有人拿 Ignite 和 Spark 進(jìn)行比較恼五,然后搞不清兩者的區(qū)別和聯(lián)系昌罩。Ignite 和 Spark,如果籠統(tǒng)歸類灾馒,都可以歸于內(nèi)存計算平臺茎用,然而兩者功能上雖然有交集,并且 Ignite 也會對 Spark 進(jìn)行支持睬罗,但是不管是從定位上轨功,還是從功能上來說,它們差別巨大容达,適用領(lǐng)域有顯著的區(qū)別古涧。本文從各個方面對此進(jìn)行對比分析,供各位技術(shù)選型參考董饰。

一蒿褂、綜述

Ignite 和 Spark 都為 Apache 的頂級開源項(xiàng)目圆米,遵循 Apache 2.0 開源協(xié)議卒暂,經(jīng)過多年的發(fā)展,二者都已經(jīng)脫離了單一的技術(shù)組件或者框架的范疇娄帖,向著多元化的生態(tài)圈發(fā)展也祠,并且發(fā)展速度都很快。

Ignite

Ignite 技術(shù)來源于 GridGain 公司的商業(yè)產(chǎn)品近速,于 2014 年將絕大部分功能捐贈給 Apache 社區(qū)诈嘿,并于 2015 年 8 月畢業(yè)成為 Apache 的頂級項(xiàng)目堪旧。Ignite 目前一直保持著高強(qiáng)度的快速迭代式開發(fā),基本一個季度發(fā)布一個大版本奖亚,從提交數(shù)量淳梦、版本發(fā)布數(shù)量等若干指標(biāo)來評估,一直保持在 Apache 社區(qū) 300 多個開源項(xiàng)目的前五位昔字。目前已經(jīng)聚攏了來自多家組織或公司的眾多開發(fā)者爆袍,處于非常活躍的狀態(tài)作郭,開發(fā)者社區(qū)和產(chǎn)品生態(tài)正在形成中陨囊。

Spark

作為 Hadoop 生態(tài)圈重要成員的 Spark 于?2009 年由 Matei Zaharia 在加州大學(xué)伯克利分校 AMPLab 開發(fā),于 2013 年 6 月捐贈給 Apache 基金會并切換協(xié)議至 Apache2.0夹攒,2014 年 2 月畢業(yè)成為 Apache 的頂級項(xiàng)目蜘醋。鑒于 Spark 核心計算模型的先進(jìn)性,它吸引了眾多大企業(yè)和組織的積極參與咏尝,促成了 Spark 的高速發(fā)展和社區(qū)的空前繁榮压语,隨著 Spark 技術(shù)不斷地向縱深發(fā)展以及向外延伸,形成了龐大的 Spark 社區(qū)和生態(tài)圈编检,目前幾乎成為了大數(shù)據(jù)領(lǐng)域影響力最大的開源項(xiàng)目无蜂。

二、定位

Ignite 和 Spark 都是分布式架構(gòu)蒙谓,都?xì)w類于目前的大數(shù)據(jù)技術(shù)類別斥季,二者都是利用大量內(nèi)存的高性能,為原有的技術(shù)方案進(jìn)行提速累驮,但是定位差別很大酣倾。

Ignite

Ignite 的核心定位是一個分布式的內(nèi)存緩存解決方案,通過將數(shù)據(jù)保存在內(nèi)存中谤专,提供比傳統(tǒng)的基于磁盤的方案更快的性能躁锡。然后在分布式緩存的基礎(chǔ)上,一方面進(jìn)一步深入置侍,通過標(biāo)準(zhǔn) SQL 功能的引入映之,向分布式內(nèi)存數(shù)據(jù)庫的方向發(fā)展,一方面功能不斷擴(kuò)展蜡坊,引入了內(nèi)存計算杠输、流數(shù)據(jù)處理、機(jī)器學(xué)習(xí)等功能秕衙。Ignite 部署靈活蠢甲,可以輕易地集成進(jìn)已有的系統(tǒng),非常方便地與已有的數(shù)據(jù)庫系統(tǒng)集成(NoSQL据忘、HDFS 也支持)鹦牛,為已有的業(yè)務(wù)進(jìn)行加速服務(wù)搞糕。不顛覆已有架構(gòu),是 Ignite 很重要的邏輯曼追。

Spark

Spark 的核心定位是一個分布式統(tǒng)一大數(shù)據(jù)分析引擎窍仰,通過先進(jìn)的 RDD 模型和大量內(nèi)存的使用,解決了使用 Hadoop 的 MapReduce 進(jìn)行多輪迭代式計算的性能問題礼殊。然后在 RDD 的基礎(chǔ)上不斷完善辈赋,引入了 Dataset 和 DataFrame、SparkSQL膏燕、Spark Streaming钥屈、SparkML 等更高級的功能。Spark 對 Hadoop 技術(shù)棧有非常好的支持坝辫,很多可以直接集成篷就,雖然也可以支持 RDBMS 的讀寫,但是這不是 Spark 主要的關(guān)注方向近忙。

三竭业、核心技術(shù)

Ignite 和 Spark 核心技術(shù)截然不同。

Ignite

Ignite 的核心數(shù)據(jù)結(jié)構(gòu)為分布式哈希及舍,即鍵-值型存儲未辆,和 Redis 等可以歸于同一類,對于分布式內(nèi)存數(shù)據(jù)庫锯玛,核心技術(shù)來源于 H2 數(shù)據(jù)庫咐柜,也即 Ignite 對 SQL 的支持來源于 H2 的 SQL 引擎。Ignite 的核心計算模型為 MapReduce+支持 SQL 查詢的緩存優(yōu)化攘残。

Ignite 的內(nèi)存數(shù)據(jù)模型為固化內(nèi)存架構(gòu)拙友,同時支持內(nèi)存存儲和磁盤存儲(可選)。數(shù)據(jù)保存在堆外歼郭,因此只要內(nèi)存夠用遗契,不用擔(dān)心內(nèi)存溢出,也不用擔(dān)心大量占用內(nèi)存導(dǎo)致垃圾回收暫停病曾。

Spark

Spark 的核心是建立在統(tǒng)一的抽象 RDD 之上牍蜂,使得 Spark 的各個組件可以無縫進(jìn)行集成,在同一個應(yīng)用程序中完成大數(shù)據(jù)計算任務(wù)泰涂。RDD 可以認(rèn)為是 MapReduce 的超集鲫竞,也即 RDD 也可以實(shí)現(xiàn)傳統(tǒng)的 MapReduce 計算機(jī)制。

四负敏、部署模型

Ignite 和 Spark 的組網(wǎng)基本模式有很大的不同贡茅,但在更高層面的資源管理上,支持能力是差不多的其做。

Ignite

Ignite 集群基于無共享架構(gòu)顶考,所有的集群節(jié)點(diǎn)都是平等的、獨(dú)立的妖泄,整個集群不存在單點(diǎn)故障驹沿。 通過靈活的 Discovery SPI 組件,Ignite 節(jié)點(diǎn)可以自動地發(fā)現(xiàn)對方蹈胡,因此只要需要渊季,可以輕易地對集群進(jìn)行縮放。

Ignite 可以獨(dú)立運(yùn)行罚渐,可以組成集群却汉,可以運(yùn)行于 Kubernetes 和 Docker 容器中,也可以運(yùn)行在 Apache Mesos 以及 Hadoop Yarn 上荷并,可以運(yùn)行于虛擬機(jī)和云環(huán)境合砂,也可以運(yùn)行于物理機(jī),從技術(shù)上來說源织,集群部署在哪里翩伪,是沒有限制的。

Ignite 還支持嵌入式部署谈息,也就是和應(yīng)用集成在一起缘屹。

Spark

Spark 支持四種分布式部署方式:分別是 Standalone、Spark on Mesos侠仇、Spark on YARN 和 Kubernetes轻姿。

Spark 的部署屬于 Master/Slave 模式,可能存在單點(diǎn)故障問題逻炊,但是可以通過 ZooKeeper 解決踢代。

五、功能

內(nèi)存計算

Ignite 和 Spark 都有內(nèi)存計算的能力嗅骄,尤其內(nèi)存計算是 Spark 的主打功能胳挎,從技術(shù)原理上來看它們的能力:SparkRDD > Ignite MapReduce+Cache > Hadoop MapReduce。

但具體來說溺森,Ignite 的計算模型優(yōu)于 Hadoop 毋庸置疑慕爬。但是 Ignite 和 Spark,雖然 Ignite 技術(shù)原理上不如 SparkRDD 先進(jìn)屏积,但是落實(shí)到具體的實(shí)踐中医窿,則要看具體的業(yè)務(wù)場景、技術(shù)人員對技術(shù)和設(shè)計的掌控力炊林、代碼優(yōu)化程度等姥卢,無法直接下結(jié)論,這個要具體問題具體分析。

Spark 擅長的多輪迭代式計算独榴、交互式計算僧叉、圖計算等,Ignite 則沒有對應(yīng)的解決方案棺榔。

Ignite

Ignite 的計算功能原理與 Hadoop 一致瓶堕,都是 MapReduce 范式,即可以將一個批量任務(wù)拆分為多個部分症歇,然后在不同的節(jié)點(diǎn)并行執(zhí)行郎笆,這樣就可以并行地利用所有節(jié)點(diǎn)的資源,來減少計算任務(wù)的整體執(zhí)行時間忘晤。

但是 Ignite 的計算有兩個重要的獨(dú)特之處宛蚓,一個是鑒于 Ignite 靈活的部署模型,Ignite 可以是離線計算设塔,也可以是在線計算凄吏,對于在線的場景,比如 OLTP 業(yè)務(wù)壹置,它可以通過將請求中的計算負(fù)載同步地放在多個可用節(jié)點(diǎn)上竞思,然后將結(jié)果返回,這樣可以提高整個系統(tǒng)的擴(kuò)展性和容錯能力钞护。 另一個是計算可以和數(shù)據(jù)并置盖喷,即計算會被發(fā)送到要處理的數(shù)據(jù)所在的節(jié)點(diǎn),這樣會使開銷最小化难咕。

Spark

Spark 的計算模型從原理上來說课梳,作為 MapReduce 的超集是非常先進(jìn)的,Spark 也具有 MapReduce 的機(jī)制和開發(fā)接口余佃,所以用 Spark 實(shí)現(xiàn) MapReduce 計算模型是可以的暮刃。

Spark 的核心概念 RDD,作為一個通用的數(shù)據(jù)抽象爆土,著重解決了 MapReduce 模型在處理多輪迭代式算法(比如機(jī)器學(xué)習(xí)椭懊、圖算法等)的性能瓶頸,避免了中間結(jié)果落盤導(dǎo)致的大量數(shù)據(jù)復(fù)制步势、磁盤 IO 和序列化開銷氧猬。但是 Spark 的計算功能是按照離線系統(tǒng)設(shè)計的,無法實(shí)現(xiàn) Ignite 的在線計算功能坏瘩。

存儲支持能力

Ignite 和 Spark 都可以將第三方存儲作為數(shù)據(jù)來源用作后續(xù)的處理盅抚,兩者對第三方存儲的支持程度、側(cè)重點(diǎn)完全不同倔矾。這里說的第三方存儲妄均,暫時劃分為傳統(tǒng)的 RDBMS 和 NoSQL(HDFS柱锹、Hive、Cassandra 等)丰包。但是 Ignite 在支持第三方存儲的同時禁熏,本身還具有原生持久化的能力。

Ignite

RDBMS:Ignite 作為一個緩存系統(tǒng)烫沙,天然對 RDBMS 有良好的支持匹层,基本上只要支持 JDBC/ODBC 協(xié)議的數(shù)據(jù)庫都沒有問題隙笆。對于數(shù)據(jù)的加載锌蓄、數(shù)據(jù)的讀寫及其一致性(事務(wù))保證、各種工具的支持撑柔、各種通信協(xié)議的支持都一應(yīng)俱全瘸爽,是一個完整的方案;

NoSQL:Ignite 對于各種 NoSQL 數(shù)據(jù)庫的支持是有限的铅忿,因?yàn)楣δ芏ㄎ坏脑蚣艟觯皇侨魏?NoSQL 產(chǎn)品都適合和 Ignite 整合進(jìn)而提升能力,就目前來說檀训,Ignite 在不同的功能場景對 NoSQL 提供了支持柑潦,包括對 HDFS 的支持,也包括與 Cassandra 的原生集成峻凫;

原生持久化:Ignite 基于固化內(nèi)存架構(gòu)渗鬼,提供了原生持久化,可以同時處理存儲于內(nèi)存和磁盤上的數(shù)據(jù)和索引荧琼,它將內(nèi)存計算的性能和擴(kuò)展性與磁盤持久化和強(qiáng)一致性整合到一個系統(tǒng)中譬胎。 原生持久化以有限的性能損失,透明地提供了更強(qiáng)大的功能命锄,即使整個集群重啟堰乔,內(nèi)存不需要預(yù)熱,數(shù)據(jù)可以直接訪問脐恩。

Spark

RDBMS:SparkRDD 可以將 RDBMS 作為數(shù)據(jù)來源之一镐侯,支持 RDBMS 數(shù)據(jù)的批量讀寫,也支持各種類型的 RDBMS驶冒,但是 Spark 對 RDBMS 的讀寫苟翻,屬于批量模式,Spark 更多地會將 RDBMS 作為分析型業(yè)務(wù)的數(shù)據(jù)來源之一只怎,最后如有必要袜瞬,則將業(yè)務(wù)分析的結(jié)果批量回寫 RDBMS;

NoSQL:Spark 原生支持 JDBC身堡、JSON邓尤、Parquet、csv、libsvm 以及 orcFile 等汞扎,也可以通過擴(kuò)展接口自定義數(shù)據(jù)源季稳。Spark 可以直接或者通過各種連接器讀取 Hive、Hbase澈魄、Cassandra 中的數(shù)據(jù)景鼠,然后創(chuàng)建對應(yīng)的 RDD,寫入也是同理痹扇,這個能力是 Ignite 所不具備的铛漓;

原生持久化:Spark 不具備原生的持久化能力。

SQL

Ignite 和 Spark 都支持 SQL鲫构,但是兩者的定位和能力浓恶,有所不同。

Ignite

Ignite SQL 目前的語法兼容于 ANSI-99结笨,支持查詢包晰、刪除、更新與插入炕吸,但語法和功能與標(biāo)準(zhǔn)并不完全一致伐憾。Ignite 如果做好了數(shù)據(jù)并置,SQL 查詢的性能是很好的赫模,同時 Ignite 還支持索引树肃,這都進(jìn)一步提升了 Ignite SQL 的能力。另外嘴瓤,Ignite SQL 對緩存的功能進(jìn)行了極大的增強(qiáng)扫外,通常用于緩存的在線查詢和計算,用于離線數(shù)據(jù)處理也是可以的廓脆。

Spark

SparkSQL 最初來源于 Shark 項(xiàng)目筛谚,后來兩者進(jìn)行了合并,SparkSQL 構(gòu)建于 Dataset/DataFrame 機(jī)制基礎(chǔ)上停忿,目前只支持查詢驾讲,主要適用于分析型業(yè)務(wù)以及對來自不同數(shù)據(jù)源的結(jié)構(gòu)化數(shù)據(jù)進(jìn)行處理。它也可以進(jìn)行交互式查詢席赂,因?yàn)椴恢С炙饕鹊仍蛩泵孕阅茌^差,響應(yīng)時間可能較長颅停。

數(shù)據(jù)一致性(事務(wù))

Ignite

Ignite 整體來說對事務(wù)的支持還不完善谓晌,具體來說,在鍵-值 API 層面癞揉,有完善的事務(wù)機(jī)制纸肉,主要原理來自于經(jīng)過優(yōu)化的二階段提交協(xié)議溺欧,但是 SQL 層面的 DML 語句還不支持事務(wù),未來版本會解決該問題柏肪。

在計算層面姐刁,因?yàn)橹С重S富的編程接口,也可以非常容易地與各種開源的 ORM 框架集成烦味,所以也可以方便地對事務(wù)進(jìn)行細(xì)粒度的控制聂使,比如 CRUD 都是沒問題的。

Spark

SparkSQL 本身并不提供事務(wù)機(jī)制谬俄。Spark 本身也不適用于 RDBMS 的細(xì)粒度數(shù)據(jù)維護(hù)柏靶,RDBMS 對于 Spark 來說,只是數(shù)據(jù)的一個來源和存儲地之一凤瘦,通常都是批量操作宿礁,如果批量操作失敗案铺,Spark 有容錯機(jī)制可以重來蔬芥,以保證整體的一致性。

流計算

Spark 有 Spark Streaming控汉,Ignite 也支持流數(shù)據(jù)處理笔诵。

Ignite

Ignite 可以與主流的流處理技術(shù)和框架進(jìn)行集成,比如 Kafka姑子、Camel乎婿、Storm 與 JMS,提供可擴(kuò)展和容錯的能力街佑。流處理技術(shù)為 Ignite 提供了一種數(shù)據(jù)加載機(jī)制谢翎,針對流式數(shù)據(jù),Ignite 也提供了各種處理和查詢功能沐旨。Ignite 社區(qū)官方提供了 10 種流處理技術(shù)的集成實(shí)現(xiàn)森逮,利用統(tǒng)一的 API,開發(fā)者也可以自行開發(fā)流處理技術(shù)實(shí)現(xiàn)磁携。Ignite 為所有流入 Ignite 的數(shù)據(jù)以可擴(kuò)展和容錯的方式提供至少一次保證褒侧。

Spark

Spark Streaming 是基于 Spark 的流式批處理引擎,其基本原理是把輸入數(shù)據(jù)以某一時間間隔批量的處理谊迄,即以時間為單位切分?jǐn)?shù)據(jù)流闷供,每個切片內(nèi)的數(shù)據(jù)對應(yīng)一個 RDD,進(jìn)而可以采用 Spark 引擎進(jìn)行快速計算统诺。其同樣支持眾多的數(shù)據(jù)源歪脏,內(nèi)部的數(shù)據(jù)表示形式為 DStream。Spark Streaming 吞吐量高粮呢,可以做復(fù)雜的業(yè)務(wù)邏輯婿失,但是秒級別的延遲是否符合業(yè)務(wù)需求需要確認(rèn)怠硼。Spark Streaming 可以與 Spark 其他技術(shù)完美集成,包括 SparkML移怯、SparkSQL 等香璃。

機(jī)器學(xué)習(xí)

Ignite 和 Spark 都支持機(jī)器學(xué)習(xí)。

Ignite

Ignite 從 2.5 版本開始舟误,提供了完整的機(jī)器學(xué)習(xí)解決方案葡秒,Ignite 的機(jī)器學(xué)習(xí)有兩個優(yōu)點(diǎn):一個是如果已經(jīng)在 Ignite 中持有了大量的數(shù)據(jù),那么繼續(xù)在 Ignite 中進(jìn)行機(jī)器學(xué)習(xí)的訓(xùn)練和推理嵌溢,就不需要在不同系統(tǒng)間進(jìn)行 ETL 的等待眯牧,提高效率。另一個是 Ignite 提供了一系列的機(jī)器學(xué)習(xí)和深度學(xué)習(xí)算法赖草,對 Ignite 的分布式并置處理進(jìn)行優(yōu)化学少,這樣在處理大規(guī)模的數(shù)據(jù)集或者不斷增長的輸入數(shù)據(jù)流時,提供了內(nèi)存級的速度和近乎無限的擴(kuò)展性秧骑,而不需要將數(shù)據(jù)移到另外的存儲版确。目前支持的算法包括回歸、分類乎折、聚類以及對數(shù)據(jù)進(jìn)行預(yù)處理等绒疗。另外 Ignite 還支持了一組遺傳算法,該算法適合于以最優(yōu)的方式檢索大量復(fù)雜的數(shù)據(jù)集骂澄。

Spark

Spark 很早就包含了機(jī)器學(xué)習(xí)庫吓蘑,RDD 模型面向的一個主要場景就是機(jī)器學(xué)習(xí)這樣的多輪迭代式計算。目前的 Spark 機(jī)器學(xué)習(xí)庫有 2 個實(shí)現(xiàn)坟冲,正在逐步向 SparkML 過渡磨镶,SparkML 基于 DataFrame API,更強(qiáng)大更靈活健提,而傳統(tǒng)的 MLlib 會處于維護(hù)狀態(tài)琳猫。SparkML 基于 DataFrames 對 API 進(jìn)行了統(tǒng)一,使用體驗(yàn)更友好矩桂》幸疲可以使用 SparkSQL 等更高級的功能,支持流水線侄榴,特別是特征變換雹锣。Spark 的機(jī)器學(xué)習(xí)因?yàn)?RDD 的原因性能更好,支持的算法也更多癞蚕。

圖計算

Ignite

暫不支持

Spark

Spark 中包含了 GraphX蕊爵,這是一個圖計算組件。它在 RDD 基礎(chǔ)上引入了新的 Graph 抽象桦山,為了支持圖形計算攒射,GraphX 公開了一組基本運(yùn)算符(例如子圖醋旦、連接頂點(diǎn)和聚合消息)以及 Pregel API 的優(yōu)化變型。此外会放,GraphX 還包括了越來越多的圖形算法和構(gòu)造者饲齐,以簡化圖形分析任務(wù)。

開發(fā)語言和客戶端協(xié)議

Ignite

Ignite 是以 Java 語言為主進(jìn)行開發(fā)的咧最,因此可以在 JVM 支持的任何操作系統(tǒng)和架構(gòu)上部署和運(yùn)行捂人。Java 的 API 支持 Ignite 的所有功能,使用 Java 或者 Scala 開發(fā)的應(yīng)用矢沿,相關(guān)的邏輯可以直接嵌入 Ignite滥搭,然后借助于 SQL 以及鍵-值操作與集群進(jìn)行交互,執(zhí)行分布式計算和機(jī)器學(xué)習(xí)算法等等捣鲸。

除了 Java瑟匆,Ignite 還支持 .NET 平臺與 C++,Ignite.NET 和 Ignite C++ 使用 JNI栽惶,會把大部分的調(diào)用轉(zhuǎn)發(fā)給 Java愁溜。

Ignite 還支持使用標(biāo)準(zhǔn)的 JDBC 或者 ODBC 連接,可以像其它 SQL 存儲一樣與 Ignite 進(jìn)行交互媒役。Ignite 還為 Java祝谚、.NET 和 C++ 開發(fā)者提供原生的 SQL API,性能更好酣衷。

Ignite 還支持其它的語言訪問,比如 Python次泽、Ruby穿仪、PHP 與 NodeJS,另外還可以考慮使用 Ignite 的二進(jìn)制客戶端協(xié)議接入集群意荤。

Spark

Spark 使用 Scala 語言開發(fā)啊片,目前支持使用 Scala、Java玖像、Python紫谷、R 語言開發(fā) Spark 程序。

監(jiān)控運(yùn)維工具支持

Ignite

Ignite 開源版沒有提供圖形化的監(jiān)控工具捐寥,但是提供了簡易的命令行工具笤昨,同時為了簡化開發(fā)笔横,Ignite 提供了圖形化的 Web 控制臺覆醇。

Ignite 運(yùn)行時可以通過 API 接口獲取大量的指標(biāo)熬粗,通過編程的方式了解集群的狀況循诉。

如果需要強(qiáng)大的監(jiān)控運(yùn)維工具抓半,可以購買 GridGain 的商業(yè)版軟件和服務(wù)嫌术。如果搭建的是一個小規(guī)模的集群奔缠,鑒于 Ignite 的無共享架構(gòu)蜻底,部署運(yùn)維都是比較簡單的。

Spark

Spark 啟動后會有一個 Web 控制臺拔稳,雖然不是很美觀葛峻,但是可以從總體上看到 Spark 的當(dāng)前運(yùn)行狀態(tài)。

Spark 屬于 Master/Slave 模式巴比,如果直接拿開源版本搭建大規(guī)模集群泞歉,部署運(yùn)維還是非常麻煩的,但是國內(nèi)有很多廠商開發(fā)包含 Spark 組件的大數(shù)據(jù)平臺匿辩,為部署和運(yùn)維提供了很大的便利腰耙。

六、總結(jié)

綜上所述铲球,Ignite 和 Spark 功能都很全面挺庞,已經(jīng)脫離了簡單開源技術(shù)組件的范圍,都成為了自成體系的開源大數(shù)據(jù)平臺稼病。上面主要對 Ignite 和 Spark 的主要功能做了簡單的梳理對比选侨,不一定全面,也沒有對其各自特有的功能進(jìn)行梳理然走。但經(jīng)過這么一些分析援制,還是可以得出這樣一個結(jié)論:兩者差別很大,定位不同芍瑞,因此會有不同的適用領(lǐng)域晨仑。

Ignite

Ignite 以緩存為中心構(gòu)建大數(shù)據(jù)體系,底層存儲模型更偏向傳統(tǒng)關(guān)系型數(shù)據(jù)架構(gòu)拆檬,上層為應(yīng)用開發(fā)的便利做了大量的工作洪己,包括為各種常見語言和協(xié)議提供支持。中間核心層在緩存的基礎(chǔ)上不斷向外擴(kuò)展竟贯,功能日趨豐富強(qiáng)大答捕。

Ignite 從定位上來說有兩個突出點(diǎn),一是可以獨(dú)立組網(wǎng)屑那,構(gòu)建獨(dú)立的大數(shù)據(jù)平臺拱镐,然后企業(yè)在其上開發(fā)全新的大數(shù)據(jù)應(yīng)用,包括緩存持际、計算沃琅、流數(shù)據(jù)處理、機(jī)器學(xué)習(xí)應(yīng)用等等选酗。二是還可以與傳統(tǒng)應(yīng)用緊密整合阵难,在不顛覆已有架構(gòu)的前提下,幫助用戶進(jìn)行傳統(tǒng)應(yīng)用的分布式架構(gòu)轉(zhuǎn)型芒填。為運(yùn)行多年的復(fù)雜呜叫、運(yùn)行緩慢空繁、技術(shù)架構(gòu)落后的業(yè)務(wù)系統(tǒng),提供加速能力的同時朱庆,引入眾多的先進(jìn)功能盛泡,大幅提升原有系統(tǒng)的能力從而延長已有架構(gòu)的壽命,產(chǎn)生更大的價值娱颊,保護(hù)客戶原有投資傲诵。

Ignite 的定位和架構(gòu),與 Hadoop 體系大數(shù)據(jù)組件有很大的不同箱硕,但是并不沖突拴竹,即使企業(yè)已經(jīng)部署了基于 Hadoop 技術(shù)體系的大數(shù)據(jù)平臺,那么也可以繼續(xù)引入 Ignite 作為補(bǔ)充剧罩。

Spark

Spark 以計算為中心構(gòu)建大數(shù)據(jù)體系栓拜,底層存儲對各種數(shù)據(jù)源進(jìn)行了抽象,總體上更偏向非結(jié)構(gòu)化的數(shù)據(jù)惠昔,上層應(yīng)用支持多種語言幕与,核心層基于 RDD 模型,然后進(jìn)行了大量的擴(kuò)展镇防,支持了更多更高級的功能啦鸣,比如 SparkSQL、Spark Streaming来氧、SparkML 與 Spark GraphX 等诫给。Spark 的核心優(yōu)勢是進(jìn)行多輪迭代式計算、交互式計算以及圖計算等饲漾。

Spark 是圍繞 RDD 構(gòu)建生態(tài)蝙搔,用戶可以以 Spark 為中心搭建大數(shù)據(jù)平臺,滿足大量數(shù)據(jù)的獲取考传、清洗、處理证鸥、加載僚楞、計算、存儲等需求枉层,核心定位是解決大數(shù)據(jù)的分析問題泉褐。雖然 Spark 的計算能力也可以處理傳統(tǒng)的關(guān)系型數(shù)據(jù),但這并非 Spark 的強(qiáng)項(xiàng)鸟蜡,因此和傳統(tǒng)業(yè)務(wù)系統(tǒng)并沒有太多的交集膜赃。企業(yè)基于 Spark 搭建大數(shù)據(jù)平臺之后,其上的應(yīng)用基本需要全新開發(fā)揉忘。傳統(tǒng)的數(shù)據(jù)處理業(yè)務(wù)跳座,即使適合用 Spark 實(shí)現(xiàn)端铛,原有的業(yè)務(wù)邏輯也無法直接、簡單地移植進(jìn)入 Spark 技術(shù)堆棧疲眷。Spark 技術(shù)堆棧更適合用于處理傳統(tǒng)技術(shù)處理起來很麻煩禾蚕、性能很差、數(shù)據(jù)量又很大的非結(jié)構(gòu)化數(shù)據(jù)狂丝,Spark 適合對眾多系統(tǒng)的相關(guān)數(shù)據(jù)進(jìn)行整合换淆,通過分析后能產(chǎn)生更大價值的業(yè)務(wù)場景。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末几颜,一起剝皮案震驚了整個濱河市倍试,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蛋哭,老刑警劉巖县习,帶你破解...
    沈念sama閱讀 222,000評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異具壮,居然都是意外死亡准颓,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評論 3 399
  • 文/潘曉璐 我一進(jìn)店門棺妓,熙熙樓的掌柜王于貴愁眉苦臉地迎上來攘已,“玉大人,你說我怎么就攤上這事怜跑⊙” “怎么了?”我有些...
    開封第一講書人閱讀 168,561評論 0 360
  • 文/不壞的土叔 我叫張陵性芬,是天一觀的道長峡眶。 經(jīng)常有香客問我,道長植锉,這世上最難降的妖魔是什么辫樱? 我笑而不...
    開封第一講書人閱讀 59,782評論 1 298
  • 正文 為了忘掉前任,我火速辦了婚禮俊庇,結(jié)果婚禮上狮暑,老公的妹妹穿的比我還像新娘。我一直安慰自己辉饱,他們只是感情好搬男,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,798評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著彭沼,像睡著了一般缔逛。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,394評論 1 310
  • 那天褐奴,我揣著相機(jī)與錄音按脚,去河邊找鬼。 笑死歉糜,一個胖子當(dāng)著我的面吹牛乘寒,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播匪补,決...
    沈念sama閱讀 40,952評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼伞辛,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了夯缺?” 一聲冷哼從身側(cè)響起蚤氏,我...
    開封第一講書人閱讀 39,852評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎踊兜,沒想到半個月后竿滨,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,409評論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡捏境,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,483評論 3 341
  • 正文 我和宋清朗相戀三年于游,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片垫言。...
    茶點(diǎn)故事閱讀 40,615評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡贰剥,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出筷频,到底是詐尸還是另有隱情蚌成,我是刑警寧澤,帶...
    沈念sama閱讀 36,303評論 5 350
  • 正文 年R本政府宣布凛捏,位于F島的核電站担忧,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏坯癣。R本人自食惡果不足惜瓶盛,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,979評論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望示罗。 院中可真熱鬧蓬网,春花似錦、人聲如沸鹉勒。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽禽额。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間脯倒,已是汗流浹背实辑。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留藻丢,地道東北人剪撬。 一個月前我還...
    沈念sama閱讀 49,041評論 3 377
  • 正文 我出身青樓,卻偏偏與公主長得像悠反,于是被迫代替她去往敵國和親残黑。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,630評論 2 359

推薦閱讀更多精彩內(nèi)容

  • 有時候做一個小孩子真的很幸福
    愛吃的小胖紙閱讀 255評論 0 0
  • 艾爾尼一下子從床上坐了起來斋否±嫠“女巫”,她自言自語道茵臭。 她環(huán)顧四周疫诽。沒錯,我回到了我的房間里旦委。但這不像是一場夢奇徒,我記...
    Iflina閱讀 222評論 0 0
  • 騰訊:https://mp.weixin.qq.com/s?__biz=MzA3NzM0NzkxMQ==&mid=...
    iRemark閱讀 400評論 0 0
  • 我選擇了秋天摩钙, 卻沒有收獲。 我選擇了藍(lán)天追葡, 卻不能成為風(fēng)景腺律。 我選擇了獨(dú)立, 卻陷入孤單的守望宜肉。 我選擇了這一刻...
    昊水長天閱讀 124評論 0 1
  • 昨天按摩器到了后匀钧,帶著出門,右腳一直轉(zhuǎn)得很不順谬返,有種停滯的感覺之斯,感覺堵得厲害,在右腳背外側(cè)使勁按摩遣铝,感覺微微的好了...
    老瓜子閱讀 124評論 0 0