spark 动态预加载数据_热门大数据引擎/组件概要
熱門(mén)大數(shù)據(jù)引擎/組件概要
TeraData
老牌數(shù)倉(cāng)公司,已經(jīng)上市十幾年,數(shù)倉(cāng)領(lǐng)導(dǎo)者地位(from Gartner),目前在向云端發(fā)力。主要提供一體機(jī),MPP架構(gòu),運(yùn)行穩(wěn)定,之前工行用的是TD的系統(tǒng),價(jià)格相對(duì)較貴。
Greenplum
2006年第一款產(chǎn)品,基于PostgreSQL,采用無(wú)共享MPP架構(gòu),主要用于數(shù)據(jù)分析OLAP。2010年被EMC收購(gòu),于2015年開(kāi)源,擁有完整的生態(tài)。Greenplum是全球十大經(jīng)典和實(shí)時(shí)數(shù)據(jù)分析產(chǎn)品中唯一的開(kāi)源數(shù)據(jù)庫(kù)。
Vertica
無(wú)共享列存MPP,開(kāi)創(chuàng)列存DBMS先河,2006年1.0版本,2011被惠普收購(gòu),商業(yè)版功能強(qiáng)大,被很多以數(shù)據(jù)為主的公司采購(gòu)使用。主要用于做數(shù)據(jù)倉(cāng)庫(kù)和OLAP,支持時(shí)序數(shù)據(jù)、機(jī)器學(xué)習(xí)等,也可以適配hadoop,spark等,即便是適配hadoop,速度也顯著超越impala,就更不用說(shuō)hive on tez了。
Hadoop(HDFS+MapReduce+Yarn)
2006年HDFS和MapReduce被納入Hadoop項(xiàng)目,2008年Cloudera基于Hadoop開(kāi)始提供服務(wù)。Hadoop是一個(gè)能夠?qū)Υ罅繑?shù)據(jù)進(jìn)行分布式處理的軟件框架,高擴(kuò)展、高容錯(cuò)、低成本等特點(diǎn)可以認(rèn)為是為大數(shù)據(jù)領(lǐng)域開(kāi)了另一扇門(mén)。
Hive
hive是基于Hadoop構(gòu)建的一套數(shù)據(jù)倉(cāng)庫(kù)分析系統(tǒng),它提供了豐富的SQL查詢方式來(lái)分析存儲(chǔ)在Hadoop分布式文件系統(tǒng)中的數(shù)據(jù)。Hive比較適合離線處理,因?yàn)樗裇QL轉(zhuǎn)MapReduce執(zhí)行響應(yīng)速度較慢,也可以通過(guò)Hive on Tez通過(guò)DAG來(lái)減少落盤(pán)次數(shù)來(lái)提速。
HBase
基于Hadoop的列存數(shù)據(jù)庫(kù),特點(diǎn)是對(duì)大寬表的支持,支持結(jié)構(gòu)化和半結(jié)構(gòu)化數(shù)據(jù)。2007年第一個(gè)可用的HBase隨著Hadoop 0.15.0發(fā)布。HBase的LSM-Tree架構(gòu)大幅提升了寫(xiě)入性能,但影響了實(shí)時(shí)讀取性能,真是魚(yú)和熊掌啊。
Impala
Hadoop之上的開(kāi)源MPP查詢分析引擎,C++,存儲(chǔ)支持hdfs、hbase、S3等。 主要解決Hive速度太慢的問(wèn)題。Cloudera support。可以搭配hdfs+parquet存儲(chǔ)格式使用,也可以集成kudu一起使用。
Spark
用于大規(guī)模數(shù)據(jù)處理的統(tǒng)一分析引擎。既支持作業(yè)任務(wù)處理,又支持流處理(SparkStreaming)和SQL(SparkSQL),以及機(jī)器學(xué)習(xí)和圖處理,社區(qū)生態(tài)活躍。通常認(rèn)為,與MR相比spark通過(guò)內(nèi)存計(jì)算來(lái)顯著提速。Spark社區(qū)非常成熟,后面提到的很多平臺(tái)或大數(shù)據(jù)組件都與spark實(shí)現(xiàn)無(wú)縫集成。
Kylin
一個(gè)開(kāi)源的分布式分析引擎,提供Hadoop/Spark之上的SQL查詢接口及多維分析(OLAP)能力以支持超大規(guī)模數(shù)據(jù),最初由eBay Inc. 開(kāi)發(fā)并貢獻(xiàn)至開(kāi)源社區(qū)。它能在亞秒內(nèi)查詢巨大的Hive表。核心是預(yù)加載和構(gòu)建cube,cube指定度量維度,我覺(jué)得本質(zhì)上是一種物化視圖吧。
Apache Kudu
Kudu是cloudera開(kāi)源的運(yùn)行在hadoop平臺(tái)上的列式存儲(chǔ)系統(tǒng)(fast analytics on fast data),核心C++編寫(xiě)。有了hdfs和hbase為什么還需要kudu?一是kudu的表結(jié)構(gòu)與關(guān)系型數(shù)據(jù)庫(kù)類似,使用簡(jiǎn)單;二是提供高效插入/更新機(jī)制,大量隨機(jī)讀性能要顯著超過(guò)hbase,因此可以適用于近實(shí)時(shí)的分析,快速分析那些快速變化的數(shù)據(jù)。kudu適合做基于SQL的OLAP,其存儲(chǔ)不依賴hdfs,也可以集成impala一起使用。
ClickHouse
最快開(kāi)源OLAP引擎。列存+定長(zhǎng),更能發(fā)揮向量計(jì)算的優(yōu)勢(shì)。稀疏矩陣+近似計(jì)算提升響應(yīng)速度,但不能用于點(diǎn)查。對(duì)標(biāo)Vertica宣稱比vertica快3到5倍,速度是HIVE的300倍。俄羅斯產(chǎn),代碼開(kāi)源很可貴,但詳細(xì)文檔不夠豐富。
SnappyData
基于Spark+GemFire的組合實(shí)現(xiàn)的一個(gè)統(tǒng)一的OLTP+OLAP+流式寫(xiě)入的內(nèi)存分布式數(shù)據(jù)庫(kù),Spark能適配的存儲(chǔ),它都可以適配支持,通過(guò)緩存到內(nèi)存來(lái)提速。某些增強(qiáng)功能(如近似計(jì)算等)由商用版提供。
Druid
OLAP數(shù)據(jù)庫(kù)+時(shí)序支持,支持高頻insert,攝入數(shù)據(jù)分Timestamp、Dimensions、Metrics三部分,按時(shí)間粒度給數(shù)據(jù)做預(yù)聚合,維度不爆炸(對(duì)比kylin)。索引使用bitmap,速度快。數(shù)據(jù)存儲(chǔ)在Deep Storage(永久),并加載到Historicals,可理解為冷數(shù)據(jù)和熱數(shù)據(jù),可以適配各種后端存儲(chǔ)。自帶可視化圖形界面,這個(gè)比較贊。
Presto
純內(nèi)存計(jì)算的OLAP引擎,FaceBook團(tuán)隊(duì)之前使用HIVE,但HIVE依賴的MR太慢了,所以他們又搞了個(gè)Presto,通過(guò)并行的內(nèi)存計(jì)算去提速,本身不存數(shù)據(jù)。用于做數(shù)據(jù)倉(cāng)庫(kù)和OLAP。TeraData的團(tuán)隊(duì)支持過(guò)這個(gè)項(xiàng)目,但目前已經(jīng)沒(méi)有再支持了。
Google Mesa
Mesa是一個(gè)分布式、多副本的、高可用的數(shù)據(jù)處理、存儲(chǔ)和查詢系統(tǒng),針對(duì)結(jié)構(gòu)化數(shù)據(jù)。一般數(shù)據(jù)從上游服務(wù)產(chǎn)生(比如一個(gè)批次的spark streaming作業(yè)產(chǎn)生),在內(nèi)部做數(shù)據(jù)的聚合和存儲(chǔ)。支持近實(shí)時(shí)更新(與Cube方案比),數(shù)據(jù)分維度列和指標(biāo)列,指標(biāo)列指定聚合函數(shù)。
Apache Doris
前身是百度2017年開(kāi)源系統(tǒng)PALO,后貢獻(xiàn)給apache更名為Doris。Doris 是一個(gè) MPP 的 OLAP 系統(tǒng),主 要整合了 Google Mesa(數(shù)據(jù)模型),Apache Impala(MPP Query Engine)和 Apache ORCFile (存儲(chǔ)格式,編碼和壓縮) 的 技術(shù)。高度兼容Mysql協(xié)議。 元數(shù)據(jù)管理對(duì)impala的p2p模式做了更新,Doris 采用 Paxos 協(xié)議以及 Memory + Checkpoint + Journal 的機(jī)制來(lái)確保元數(shù)據(jù)的 高性能及高可靠 。
ElasticSearch
2010年第一個(gè)版本,2012成立公司運(yùn)營(yíng)。目前Elasticsearch是最受歡迎的企業(yè)搜索引擎,其次是Apache Solr,也是基于Lucene。用于實(shí)時(shí)檢索。看家本事是通過(guò)倒排索引支撐的全文檢索
Parquet
基于Google Dremel 實(shí)現(xiàn)的一種精巧的列式存儲(chǔ)格式。核心思想是使用“分片和聚合算法”來(lái)標(biāo)示嵌套類型數(shù)據(jù)。支持多種查詢引擎和計(jì)算框架,能夠平滑轉(zhuǎn)換多種數(shù)據(jù)模型(如Avro, Thrift..等)。聚合算法的核心是分r、d值,代表Repetition level 和 definition level。R標(biāo)示發(fā)生了重復(fù)的字段的level,D:optional 或者 repeated可以不存在,但若實(shí)際存在則D值+1。通過(guò)這兩個(gè)值可以使用向量機(jī)恢復(fù)數(shù)據(jù)結(jié)構(gòu)。
CarbonData
華為開(kāi)源的一種用于交互查詢的indexed列存。通過(guò)建立多級(jí)索引,來(lái)支持多維OLAP和點(diǎn)查詢。支持物化視圖。使用上建議根據(jù)列值特點(diǎn)來(lái)定義良好的索引維度,避免出現(xiàn)強(qiáng)distinct值帶來(lái)的負(fù)面結(jié)果。與SPARK集成更平滑,但仍然要注意使用多種后端存儲(chǔ)格式可能帶來(lái)的工作量。
MongoDb
MongoDb是一種開(kāi)源NoSQL文檔型數(shù)據(jù)庫(kù),基本概念是數(shù)據(jù)庫(kù)、集合、文檔。文檔是一個(gè)鍵值(key-value)對(duì)(即BSON)。MongoDB 的文檔不需要設(shè)置相同的字段,并且相同的字段不需要相同的數(shù)據(jù)類型,這與關(guān)系型數(shù)據(jù)庫(kù)有很大的區(qū)別。支持固定大小的collection。支持MapReduce、聚合、分片與副本。MongoDb生態(tài)不斷完善,在數(shù)據(jù)庫(kù)排名中不斷升高,被各大互聯(lián)網(wǎng)公司追捧。商業(yè)公司10gen提供MongoDB支持,2009 年 2 月 10gen 正式開(kāi)源了 MongoDB 的第一個(gè)版本,后該公司改名為MongoDB,商業(yè)版提供加密、LDAP和Kerberos集成等更為完善的功能支持。
Cassandra
Apache Cassandra是一套開(kāi)源NoSQL數(shù)據(jù)庫(kù)系統(tǒng)。最初由facebook開(kāi)發(fā)之后開(kāi)源。使用寬列存儲(chǔ)模型,類似于HBase,但它不需要存儲(chǔ)在HDFS上,而是直接存本地,結(jié)合內(nèi)存和磁盤(pán)來(lái)進(jìn)行讀寫(xiě)。寫(xiě)入性能大于讀性能。從Benchmark測(cè)試結(jié)果來(lái)看整體性能優(yōu)于HBase。
參考:
Gartner 2019排名:Greenplum躍居第三
淺談從Google Mesa到百度PALO
使用Apache Kudu和Impala實(shí)現(xiàn)存儲(chǔ)分層
Oracle Exadata體系筆記
Teradata 架構(gòu)
有了HBase為什么還要Kudu?
MongoDB 上市后,帶你認(rèn)識(shí)這款非同一般的文檔數(shù)據(jù)庫(kù)
總結(jié)
以上是生活随笔為你收集整理的spark 动态预加载数据_热门大数据引擎/组件概要的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 高效能人士的七个习惯_《高效能人士的七个
- 下一篇: datatable 能不能有vlooku