Apache Ignite 與 Apache Spark比較

banq發表於2015-05-04
Apache Ignite是一個記憶體In-memory檔案系統和快取的分散式Data Fabric平臺,其與著名的大資料處理框架Apache Spark的區別如下:

1.主要區別是Ignite是一個in-memory記憶體計算系統,是將記憶體RAM作為首要儲存,而Spark只是使用RAM記憶體處理,只是將記憶體作為memory-first目標,其之所以快速是因為系統進行了更好的索引,降低了抓取獲得時間,避免了序列化。

2.Ignite的mapreduce是充分相容於Hadoop的MR API,這樣能讓每個人可以簡單地重用之前遺留的MR程式碼,而能夠獲得>30倍的效能提升。

3.不像Spark的streaming,Ignite不受RDD大小影響,換句話說,你不必需要在處理之前需要對RDD大小進行一次檢測定型,你能真正實現Streaming計算,意味著在流內容處理時沒有任何延遲。

4.溢位效應是in-memory計算機系統的通用問題,因為記憶體是有限制的,在Spark中,RDD是不可變的,如果一個RDD以>1/2節點記憶體RAM被建立,隨之而來的RDD的轉換與生成(transformation和 generation)將填滿整個節點記憶體,這會引起溢位效應,除非一個新的RDD在不同的其他節點上建立, Tachyon能夠本質上解決這個問題;Ignite並不會有這種資料溢位效應,因為它的快取能夠以原子或事務方式更新,不管如何,溢位可能還是會發生,處理策略見這裡

5.Ignite第一公民是檔案系統的快取層。

6.Ignite使用off-heap記憶體避免GC暫停且高效化。

7.Ignite保證強一致性。

8.Ignite支援SQL99作為其資料處理方式,支援完整的ACID事務。

9.Ignite提供記憶體in-memory的SQL索引功能,能夠避免整個資料的掃描,直接提升效能。

10.Ignite開發者不必學習Scala

原文:On tech-n-stuff: Apache Ignite vs Apache Spark

相關文章