??一共81個(gè)刽辙,開源大數(shù)據(jù)處理工具匯總(上) | 36大數(shù)據(jù)

//
一共81個(gè)玛追,開源大數(shù)據(jù)處理工具匯總(上) | 36大數(shù)據(jù)
http://www.36dsj.com/archives/24852

本文一共分為上下兩部分旬渠。我們將針對大數(shù)據(jù)開源工具不同的用處來進(jìn)行分類俱萍,并且附上了官網(wǎng)和部分下載鏈接,希望能給做大數(shù)據(jù)的朋友做個(gè)參考坟漱。下面是第一部分鼠次。
查詢引擎
一、Phoenix
貢獻(xiàn)者::Salesforce
簡介:這是一個(gè)Java中間層芋齿,可以讓開發(fā)者在Apache HBase上執(zhí)行SQL查詢腥寇。Phoenix完全使用Java編寫,代碼位于GitHub上觅捆,并且提供了一個(gè)客戶端可嵌入的JDBC驅(qū)動赦役。
Phoenix查詢引擎會將SQL查詢轉(zhuǎn)換為一個(gè)或多個(gè)HBase scan,并編排執(zhí)行以生成標(biāo)準(zhǔn)的JDBC結(jié)果集栅炒。直接使用HBase API掂摔、協(xié)同處理器與自定義過濾器,對于簡單查詢來說赢赊,其性能量級是毫秒乙漓,對于百萬級別的行數(shù)來說,其性能量級是秒释移。
Phoenix最值得關(guān)注的一些特性有:
?嵌入式的JDBC驅(qū)動叭披,實(shí)現(xiàn)了大部分的java.sql接口,包括元數(shù)據(jù)API?可以通過多部行鍵或是鍵/值單元對列進(jìn)行建模?完善的查詢支持玩讳,可以使用多個(gè)謂詞以及優(yōu)化的掃描鍵?DDL支持:通過CREATE TABLE涩蜘、DROP TABLE及ALTER TABLE來添加/刪除列?版本化的模式倉庫:當(dāng)寫入數(shù)據(jù)時(shí)嚼贡,快照查詢會使用恰當(dāng)?shù)哪J?DML支持:用于逐行插入的UPSERT VALUES、用于相同或不同表之間大量數(shù)據(jù)傳輸?shù)腢PSERT ?SELECT同诫、用于刪除行的DELETE?通過客戶端的批處理實(shí)現(xiàn)的有限的事務(wù)支持?單表——還沒有連接粤策,同時(shí)二級索引也在開發(fā)當(dāng)中?緊跟ANSI SQL標(biāo)準(zhǔn)
Phoenix官方網(wǎng)站>>>
二、Stinger
貢獻(xiàn)者::Hortonworks
簡介:原叫Tez误窖,下一代Hive,Hortonworks主導(dǎo)開發(fā)叮盘,運(yùn)行在YARN上的DAG計(jì)算框架。
某些測試下贩猎,Stinger能提升10倍左右的性能熊户,同時(shí)會讓Hive支持更多的SQL,其主要優(yōu)點(diǎn)包括:
?讓用戶在Hadoop獲得更多的查詢匹配吭服。其中包括類似OVER的字句分析功能,支持WHERE查詢蝗罗,讓Hive的樣式系統(tǒng)更符合SQL模型艇棕。
?優(yōu)化了Hive請求執(zhí)行計(jì)劃,優(yōu)化后請求時(shí)間減少90%串塑。改動了Hive執(zhí)行引擎沼琉,增加單Hive任務(wù)的被秒處理記錄數(shù)。
?在Hive社區(qū)中引入了新的列式文件格式(如ORC文件)桩匪,提供一種更現(xiàn)代打瘪、高效和高性能的方式來儲存Hive數(shù)據(jù)。
?引入了新的運(yùn)行時(shí)框架——Tez傻昙,旨在消除Hive的延時(shí)和吞吐量限制闺骚。Tez通過消除不必要的task、障礙同步和對HDFS的讀寫作業(yè)來優(yōu)化Hive job妆档。這將優(yōu)化Hadoop內(nèi)部的執(zhí)行鏈僻爽,徹底加速Hive負(fù)載處理。
Stinger官方網(wǎng)站>>>
三贾惦、Presto
貢獻(xiàn)者::Facebook
簡介:Facebook開源的數(shù)據(jù)查詢引擎Presto 胸梆,可對250PB以上的數(shù)據(jù)進(jìn)行快速地交互式分析。該項(xiàng)目始于 2012 年秋季開始開發(fā)须板,目前該項(xiàng)目已經(jīng)在超過 1000 名 Facebook 雇員中使用碰镜,運(yùn)行超過 30000 個(gè)查詢,每日數(shù)據(jù)在 1PB 級別习瑰。Facebook 稱 Presto 的性能比諸如 Hive 和 Map*Reduce 要好上 10 倍有多绪颖。
Presto 當(dāng)前支持 ANSI SQL 的大多數(shù)特效,包括聯(lián)合查詢杰刽、左右聯(lián)接菠发、子查詢以及一些聚合和計(jì)算函數(shù)王滤;支持近似截然不同的計(jì)數(shù)(DISTINCT COUNT)等。
github源代碼下載>>>

36大數(shù)據(jù)

四滓鸠、Shark
簡介:Shark即Hive on Spark雁乡,本質(zhì)上是通過Hive的HQL解析,把HQL翻譯成Spark上的RDD操作糜俗,然后通過Hive的metadata獲取數(shù)據(jù)庫里的表信息踱稍,實(shí)際HDFS上的數(shù)據(jù)和文件,會由Shark獲取并放到Spark上運(yùn)算悠抹。Shark的特點(diǎn)就是快珠月,完全兼容Hive,且可以在shell模式下使用rdd2sql()這樣的API楔敌,把HQL得到的結(jié)果集啤挎,繼續(xù)在scala環(huán)境下運(yùn)算,支持自己編寫簡單的機(jī)器學(xué)習(xí)或簡單分析處理函數(shù)卵凑,對HQL結(jié)果進(jìn)一步分析計(jì)算庆聘。
?Shark速度快的原因除了Spark平臺提供的基于內(nèi)存迭代計(jì)算外,在設(shè)計(jì)上還存在對Spark上進(jìn)行了一定的改造勺卢,主要有
?partial DAG execution:對join優(yōu)化伙判,調(diào)節(jié)并行粒度,因?yàn)镾park本身的寬依賴和窄依賴會影響并行計(jì)算和速度
基于列的壓縮和存儲:把HQL表數(shù)據(jù)按列存黑忱,每列是一個(gè)array宴抚,存在JVM上,避免了JVM GC低效甫煞,而壓縮和解壓相關(guān)的技術(shù)是Yahoo!提供的菇曲。
結(jié)來說,Shark是一個(gè)插件式的東西危虱,在我現(xiàn)有的Spark和Hive及hadoop-client之間羊娃,在這兩套都可用的情況下,Shark只要獲取Hive的配置(還有metastore和exec等關(guān)鍵包)埃跷,Spark的路徑蕊玷,Shark就能利用Hive和Spark,把HQL解析成RDD的轉(zhuǎn)換弥雹,把數(shù)據(jù)取到Spark上運(yùn)算和分析垃帅。在SQL on Hadoop這塊,Shark有別于Impala剪勿,Stringer贸诚,而這些系統(tǒng)各有自己的設(shè)計(jì)思路,相對于對MR進(jìn)行優(yōu)化和改進(jìn)的思路,Shark的思路更加簡單明了些酱固。
Shark官方網(wǎng)站>>>
五械念、Pig
簡介:Pig是一種編程語言,它簡化了Hadoop常見的工作任務(wù)运悲。Pig可加載數(shù)據(jù)龄减、表達(dá)轉(zhuǎn)換數(shù)據(jù)以及存儲最終結(jié)果。Pig內(nèi)置的操作使得半結(jié)構(gòu)化數(shù)據(jù)變得有意義(如日志文件)班眯。同時(shí)Pig可擴(kuò)展使用Java中添加的自定義數(shù)據(jù)類型并支持?jǐn)?shù)據(jù)轉(zhuǎn)換希停。
Pig最大的作用就是對mapreduce算法(框架)實(shí)現(xiàn)了一套shell腳本 ,類似我們通常熟悉的SQL語句署隘,在Pig中稱之為Pig Latin宠能,在這套腳本中我們可以對加載出來的數(shù)據(jù)進(jìn)行排序、過濾磁餐、求和违崇、分組(group by)、關(guān)聯(lián)(Joining)诊霹,Pig也可以由用戶自定義一些函數(shù)對數(shù)據(jù)集進(jìn)行操作亦歉,也就是傳說中的UDF(user-defined functions)。
Pig官方網(wǎng)站>>>
六畅哑、Cloudera Impala
貢獻(xiàn)者::Cloudera
簡介:Cloudera Impala 可以直接為存儲在HDFS或HBase中的Hadoop數(shù)據(jù)提供快速,交互式的SQL查詢水由。除了使用相同的存儲平臺外荠呐, Impala和Apache Hive一樣也使用了相同的元數(shù)據(jù),SQL語法(Hive SQL)砂客,ODBC驅(qū)動和用戶接口(Hue Beeswax)泥张,這就很方便的為用戶提供了一個(gè)相似并且統(tǒng)一的平臺來進(jìn)行批量或?qū)崟r(shí)查詢。
Cloudera Impala 是用來進(jìn)行大數(shù)據(jù)查詢的補(bǔ)充工具鞠值。 Impala 并沒有取代像Hive這樣基于MapReduce的分布式處理框架媚创。Hive和其它基于MapReduce的計(jì)算框架非常適合長時(shí)間運(yùn)行的批處理作業(yè),例如那些涉及到批量 Extract彤恶、Transform钞钙、Load ,即需要進(jìn)行ETL作業(yè)声离。
Impala 提供了
?數(shù)據(jù)科學(xué)家或數(shù)據(jù)分析師已經(jīng)熟知的SQL接口
?能夠在Apache Hadoop 的大數(shù)據(jù)中進(jìn)行交互式數(shù)據(jù)查詢
? Single system for big data processing and analytics so customers can avoid costly modeling and ETL just for analytics
Cloudera Impala官方網(wǎng)站>>>
七芒炼、Apache Drill
貢獻(xiàn)者::MapR
簡介:Apache Drill是是一個(gè)能夠?qū)Υ髷?shù)據(jù)進(jìn)行交互分析、開源的分布式系統(tǒng)术徊,且基于Google Dremel實(shí)現(xiàn)本刽,它能夠運(yùn)行在上千個(gè)節(jié)點(diǎn)的服務(wù)器集群上,且能在幾秒內(nèi)處理PB級或者萬億條的數(shù)據(jù)記錄。Drill能夠幫助企業(yè)用戶快速子寓、高效地進(jìn)行Hadoop數(shù)據(jù)查詢和企業(yè)級大數(shù)據(jù)分析暗挑。Drill于2012年8月份由Apache推出。
從Drill官方對其架構(gòu)的介紹中得知斜友,其具有適于實(shí)時(shí)的分析和快速的應(yīng)用開發(fā)炸裆、適于半結(jié)構(gòu)化/嵌套數(shù)據(jù)的分析、兼容現(xiàn)有的SQL環(huán)境和Apache Hive等特征蝙寨。另外晒衩,Drill的核心模塊是Drillbit服務(wù),該服務(wù)模塊包括遠(yuǎn)程訪問子模塊墙歪、SQL解析器听系、查詢優(yōu)化器、任務(wù)計(jì)劃執(zhí)行引擎虹菲、存儲插件接口(DFS靠胜、HBase、Hive等的接口)毕源、分布式緩存模塊等幾部分浪漠,如下圖所示:
36大數(shù)據(jù)

Apache Drill官方網(wǎng)站>>>
八、Apache Tajo
簡介:Apache Tajo項(xiàng)目的目的是在HDFS之上構(gòu)建一個(gè)先進(jìn)的數(shù)據(jù)倉庫系統(tǒng)霎褐。Tajo將自己標(biāo)榜為一個(gè)“大數(shù)據(jù)倉庫”址愿,但是它好像和之前介紹的那些低延遲查詢引擎類似。雖然它支持外部表和Hive數(shù)據(jù)集(通過HCatalog)冻璃,但是它的重點(diǎn)是數(shù)據(jù)管理械哟,提供低延遲的數(shù)據(jù)訪問搏明,以及為更傳統(tǒng)的ETL提供工具卵蛉。它也需要在數(shù)據(jù)節(jié)點(diǎn)上部署Tajo特定的工作進(jìn)程回铛。
Tajo的功能包括:
?ANSI SQL兼容?JDBC 驅(qū)動?集成Hive metastore能夠訪問Hive數(shù)據(jù)集?一個(gè)命令行客戶端?一個(gè)自定義函數(shù)API
Apache Tajo官方網(wǎng)站>>>
九、Hive
簡介:hive是基于Hadoop的一個(gè)數(shù)據(jù)倉庫工具跋炕,可以將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫表赖晶,并提供簡單的sql查詢功能,可以將sql語句轉(zhuǎn)換為MapReduce任務(wù)進(jìn)行運(yùn)行辐烂。 其優(yōu)點(diǎn)是學(xué)習(xí)成本低遏插,可以通過類SQL語句快速實(shí)現(xiàn)簡單的MapReduce統(tǒng)計(jì),不必開發(fā)專門的MapReduce應(yīng)用棉圈,十分適合數(shù)據(jù)倉庫的統(tǒng)計(jì)分析涩堤。
Hive官方網(wǎng)站>>>
流式計(jì)算
一、Facebook Puma
貢獻(xiàn)者:Facebook
簡介:實(shí)時(shí)數(shù)據(jù)流分析
二分瘾、Twitter Rainbird
貢獻(xiàn)者:Twitter
簡介:Rainbird一款基于Zookeeper, Cassandra, Scribe, Thrift的分布式實(shí)時(shí)統(tǒng)計(jì)系統(tǒng)胎围,這些基礎(chǔ)組件的基本功能如下:
? Zookeeper吁系,Hadoop子項(xiàng)目中的一款分布式協(xié)調(diào)系統(tǒng),用于控制分布式系統(tǒng)中各個(gè)組件中的一致性白魂。
?Cassandra汽纤,NoSQL中一款非常出色的產(chǎn)品,集合了Dynamo和Bigtable特性的分布式存儲系統(tǒng)福荸,用于存儲需要進(jìn)行統(tǒng)計(jì)的數(shù)據(jù)蕴坪,統(tǒng)計(jì)數(shù)據(jù),并且提供客戶端進(jìn)行統(tǒng)計(jì)數(shù)據(jù)的查詢敬锐。(需要使用分布式Counter補(bǔ)丁CASSANDRA-1072)
? Scribe背传,F(xiàn)acebook開源的一款分布式日志收集系統(tǒng),用于在系統(tǒng)中將各個(gè)需要統(tǒng)計(jì)的數(shù)據(jù)源收集到Cassandra中台夺。
? Thrift径玖,F(xiàn)acebook開源的一款跨語言C/S網(wǎng)絡(luò)通信框架,開發(fā)人員基于這個(gè)框架可以輕易地開發(fā)C/S應(yīng)用颤介。
用處
Rainbird可以用于實(shí)時(shí)數(shù)據(jù)的統(tǒng)計(jì):
?統(tǒng)計(jì)網(wǎng)站中每一個(gè)頁面梳星,域名的點(diǎn)擊次數(shù)
?內(nèi)部系統(tǒng)的運(yùn)行監(jiān)控(統(tǒng)計(jì)被監(jiān)控服務(wù)器的運(yùn)行狀態(tài))
?記錄最大值和最小值
36大數(shù)據(jù)

三、Yahoo S4
貢獻(xiàn)者:Yahoo
簡介:S4(Simple Scalable Streaming System)最初是Yahoo!為提高搜索廣告有效點(diǎn)擊率的問題而開發(fā)的一個(gè)平臺滚朵,通過統(tǒng)計(jì)分析用戶對廣告的點(diǎn)擊率冤灾,排除相關(guān)度低的廣告,提升點(diǎn)擊率辕近。目前該項(xiàng)目剛啟動不久韵吨,所以也可以理解為是他們提出的一個(gè)分布式流計(jì)算(Distributed Stream Computing)的模型。
S4的設(shè)計(jì)目標(biāo)是:
·提供一種簡單的編程接口來處理數(shù)據(jù)流
·設(shè)計(jì)一個(gè)可以在普通硬件之上可擴(kuò)展的高可用集群移宅。
·通過在每個(gè)處理節(jié)點(diǎn)使用本地內(nèi)存学赛,避免磁盤I/O瓶頸達(dá)到最小化延遲
·使用一個(gè)去中心的,對等架構(gòu)吞杭;所有節(jié)點(diǎn)提供相同的功能和職責(zé)。沒有擔(dān)負(fù)特殊責(zé)任的中心節(jié)點(diǎn)变丧。這大大簡化了部署和維護(hù)芽狗。
·使用可插拔的架構(gòu),使設(shè)計(jì)盡可能的即通用又可定制化痒蓬。
·友好的設(shè)計(jì)理念童擎,易于編程,具有靈活的彈性
Yahoo S4官方網(wǎng)站>>>
四攻晒、Twitter Storm
貢獻(xiàn)者:Twitter
簡介:Storm是Twitter開源的一個(gè)類似于Hadoop的實(shí)時(shí)數(shù)據(jù)處理框架顾复,它原來是由BackType開發(fā),后BackType被Twitter收購鲁捏,將Storm作為Twitter的實(shí)時(shí)數(shù)據(jù)分析系統(tǒng)芯砸。
實(shí)時(shí)數(shù)據(jù)處理的應(yīng)用場景很廣泛,例如商品推薦,廣告投放假丧,它能根據(jù)當(dāng)前情景上下文(用戶偏好双揪,地理位置,已發(fā)生的查詢和點(diǎn)擊等)來估計(jì)用戶點(diǎn)擊的可能性并實(shí)時(shí)做出調(diào)整包帚。
storm的三大作用領(lǐng)域:
1.信息流處理(Stream Processing)
Storm可以用來實(shí)時(shí)處理新數(shù)據(jù)和更新數(shù)據(jù)庫渔期,兼具容錯(cuò)性和可擴(kuò)展性,它 可以用來處理源源不斷的消息,并將處理之后的結(jié)果保存到持久化介質(zhì)中渴邦。
2.連續(xù)計(jì)算(Continuous Computation)
Storm可以進(jìn)行連續(xù)查詢并把結(jié)果即時(shí)反饋給客戶疯趟,比如將Twitter上的熱門話題發(fā)送到客戶端。
3.分布式遠(yuǎn)程過程調(diào)用(Distributed RPC)
除此之外谋梭,Storm也被廣泛用于以下方面:
精確的廣告推送
實(shí)時(shí)日志的處理

Twitter Storm官方網(wǎng)站>>>
迭代計(jì)算
一信峻、Apache Hama
簡介:Apache Hama是一個(gè)純BSP(Bulk Synchronous Parallel)計(jì)算框架,模仿了Google的Pregel章蚣。用來處理大規(guī)模的科學(xué)計(jì)算站欺,特別是矩陣和圖計(jì)算。
?建立在Hadoop上的分布式并行計(jì)算模型纤垂。
?基于 Map/Reduce 和 Bulk Synchronous 的實(shí)現(xiàn)框架矾策。
?運(yùn)行環(huán)境需要關(guān)聯(lián) Zookeeper、HBase峭沦、HDFS 組件贾虽。
Hama中有2個(gè)主要的模型:
– 矩陣計(jì)算(Matrix package)
– 面向圖計(jì)算(Graph package)
Apache Hama官方網(wǎng)站>>>
二、Apache Giraph
代碼托管地址GitHub
簡介:Apache Giraph是一個(gè)可伸縮的分布式迭代圖處理系統(tǒng)吼鱼,靈感來自BSP(bulk synchronous parallel)和Google的Pregel蓬豁,與它們 區(qū)別于則是是開源、基于 Hadoop 的架構(gòu)等菇肃。
Giraph處理平臺適用于運(yùn)行大規(guī)模的邏輯計(jì)算地粪,比如頁面排行、共享鏈接琐谤、基于個(gè)性化排行等蟆技。Giraph專注于社交圖計(jì)算,被Facebook作為其Open Graph工具的核心斗忌,幾分鐘內(nèi)處理數(shù)萬億次用戶及其行為之間的連接质礼。
三、HaLoop
簡介:迭代的MapReduce织阳,HaLoop——適用于迭代計(jì)算的Hadoop 眶蕉。

Hadoop與HaLoop的不同

Hadoop與HaLoop的不同

與Hadoop比較的四點(diǎn)改變:
1.提供了一套新的編程接口,更加適用于迭代計(jì)算唧躲;
HaLoop給迭代計(jì)算一個(gè)抽象的遞歸公式:

大數(shù)據(jù)
2.HaLoop的master進(jìn)行job內(nèi)的循環(huán)控制造挽,直到迭代計(jì)算結(jié)束碱璃;
3.Task Scheduler也進(jìn)行了修改,使得任務(wù)能夠盡量滿足data locality
4.slave nodes對數(shù)據(jù)進(jìn)行cache并index索引刽宪,索引也以文件的形式保存在本地磁盤厘贼。
HaLoop官網(wǎng)>>>
四、Twister
簡介:Twister圣拄, 迭代式MapReduce框架嘴秸,Twister是由一個(gè)印度人開發(fā)的,其架構(gòu)如下:
Twister

在Twister中庇谆,大文件不會自動被切割成一個(gè)一個(gè)block岳掐,因而用戶需提前把文件分成一個(gè)一個(gè)小文件,以供每個(gè)task處理饭耳。在map階段串述,經(jīng)過map()處理完的結(jié)果被放在分布式內(nèi)存中,然后通過一個(gè)broker network(NaradaBroking系統(tǒng))將數(shù)據(jù)push給各個(gè)reduce task(Twister假設(shè)內(nèi)存足夠大寞肖,中間數(shù)據(jù)可以全部放在內(nèi)存中)纲酗;在reduce階段,所有reduce task產(chǎn)生的結(jié)果通過一個(gè)combine操作進(jìn)行歸并新蟆,此時(shí)觅赊,用戶可以進(jìn)行條件判定, 確定迭代是否結(jié)束琼稻。combine后的數(shù)據(jù)直接被送給map task吮螺,開始新一輪的迭代。為了提高容錯(cuò)性帕翻,Twister每隔一段時(shí)間會將map task和reduce task產(chǎn)生的結(jié)果寫到磁盤上鸠补,這樣,一旦某個(gè)task失敗嘀掸,它可以從最近的備份中獲取輸入紫岩,重新計(jì)算。
為了避免每次迭代重新創(chuàng)建task睬塌,Twister維護(hù)了一個(gè)task pool被因,每次需要task時(shí)直接從pool中取。在Twister中衫仑,所有消息和數(shù)據(jù)都是通過broker network傳遞的,該broker network是一個(gè)獨(dú)立的模塊堕花,目前支持NaradaBroking和ActiveMQ文狱。
離線計(jì)算
一、Hadoop MapReduce
簡介:MapReduce是一種編程模型缘挽,用于大規(guī)模數(shù)據(jù)集(大于1TB)的并行運(yùn)算瞄崇。概念”Map(映射)”和”Reduce(歸約)”呻粹,和它們的主要思想,都是從函數(shù)式編程語言里借來的苏研,還有從矢量編程語言里借來的特性等浊。它極大地方便了編程人員在不會分布式并行編程的情況下,將自己的程序運(yùn)行在分布式系統(tǒng)上摹蘑。 當(dāng)前的軟件實(shí)現(xiàn)是指定一個(gè)Map(映射)函數(shù)筹燕,用來把一組鍵值對映射成一組新的鍵值對,指定并發(fā)的Reduce(歸約)函數(shù)衅鹿,用來保證所有映射的鍵值對中的每一個(gè)共享相同的鍵組撒踪。
Hadoop MapReduce官方網(wǎng)站>>>
二、Berkeley Spark
簡介:Spark是UC Berkeley AMP lab所開源的類Hadoop MapReduce的通用的并行大渤,Spark制妄,擁有Hadoop MapReduce所具有的優(yōu)點(diǎn);但不同于MapReduce的是Job中間輸出結(jié)果可以保存在內(nèi)存中泵三,從而不再需要讀寫HDFS耕捞,因此Spark能更好地適用于數(shù)據(jù)挖掘與機(jī)器學(xué)習(xí)等需要迭代的map reduce的算法。
三烫幕、DataTorrent
簡介:DataTorrent基于Hadoop 2.x構(gòu)建俺抽,是一個(gè)實(shí)時(shí)的、有容錯(cuò)能力的數(shù)據(jù)流式處理和分析平臺纬霞,它使用本地Hadoop應(yīng)用程序凌埂,而這些應(yīng)用程序可以與執(zhí)行其它任務(wù),如批處理诗芜,的應(yīng)用程序共存瞳抓。該平臺的架構(gòu)如下圖所示:
DataTorrent

相關(guān)文章:DataTorrent 1.0每秒處理超過10億個(gè)實(shí)時(shí)事件
DataTorrent 將數(shù)據(jù)分析速度從“實(shí)時(shí)”提升至“現(xiàn)在時(shí)”

鍵值存儲
一、LevelDB

LevelDB

貢獻(xiàn)者:Google
簡介:Leveldb是一個(gè)google實(shí)現(xiàn)的非常高效的kv數(shù)據(jù)庫伏恐,目前的版本1.2能夠支持billion級別的數(shù)據(jù)量了孩哑。 在這個(gè)數(shù)量級別下還有著非常高的性能,主要?dú)w功于它的良好的設(shè)計(jì)翠桦。特別是LMS算法横蜒。
LevelDB 是單進(jìn)程的服務(wù),性能非常之高销凑,在一臺4核Q6600的CPU機(jī)器上丛晌,每秒鐘寫數(shù)據(jù)超過40w,而隨機(jī)讀的性能每秒鐘超過10w斗幼。
此處隨機(jī)讀是完全命中內(nèi)存的速度澎蛛,如果是不命中 速度大大下降。
LevelDB官方網(wǎng)站>>>
二蜕窿、RocksDB
貢獻(xiàn)者:facebook
簡介:RocksDB雖然在代碼層面上是在LevelDB原有的代碼上進(jìn)行開發(fā)的谋逻,但卻借鑒了Apache HBase的一些好的idea呆馁。在云計(jì)算橫行的年代,開口不離Hadoop毁兆,RocksDB也開始支持HDFS浙滤,允許從HDFS讀取數(shù)據(jù)。RocksDB支持一次獲取多個(gè)K-V气堕,還支持Key范圍查找纺腊。LevelDB只能獲取單個(gè)Key。
RocksDB除了簡單的Put送巡、Delete操作摹菠,還提供了一個(gè)Merge操作,說是為了對多個(gè)Put操作進(jìn)行合并骗爆。
RocksDB提供一些方便的工具次氨,這些工具包含解析sst文件中的K-V記錄、解析MANIFEST文件的內(nèi)容等摘投。RocksDB支持多線程合并煮寡,而LevelDB是單線程合并的。
RocksDB官方網(wǎng)站>>>
三犀呼、HyperDex
貢獻(xiàn)者:Facebook
HyperDex

HyperDex是一個(gè)分布式幸撕、可搜索的鍵值存儲系統(tǒng),特性如下:
分布式KV存儲外臂,系統(tǒng)性能能夠隨節(jié)點(diǎn)數(shù)目線性擴(kuò)展
吞吐和延時(shí)都能秒殺現(xiàn)在風(fēng)頭正勁的MonogDB坐儿,吞吐甚至強(qiáng)于Redis
使用了hyperspace hashing技術(shù),使得對存儲的K-V的任意屬性進(jìn)行查詢成為可能

官網(wǎng):http://hyperdex.org/
四宋光、TokyoCabinet

大數(shù)據(jù)

日本人Mikio Hirabayashi(平林干雄)開發(fā)的一款DBM數(shù)據(jù)庫貌矿。Tokyo Cabinet 是一個(gè)DBM的實(shí)現(xiàn)。這里的數(shù)據(jù)庫由一系列key-value對的記錄構(gòu)成罪佳。key和value都可以是任意長度的字節(jié)序列,既可以是二進(jìn)制也可以是字符串逛漫。這里沒有數(shù)據(jù)類型和數(shù)據(jù)表的概念。

當(dāng) 做為Hash表數(shù)據(jù)庫使用時(shí)赘艳,每個(gè)key必須是不同的,因此無法存儲兩個(gè)key相同的值酌毡。提供了以下訪問方法:提供key,value參數(shù)來存儲,按 key刪除記錄蕾管,按key來讀取記錄枷踏,另外,遍歷key也被支持掰曾,雖然順序是任意的不能被保證旭蠕。這些方法跟Unix標(biāo)準(zhǔn)的DBM,例如GDBM,NDBM 等等是相同的,但是比它們的性能要好得多(因此可以替代它們) 。下一代KV存儲系統(tǒng)下梢,支持strings、integers塞蹭、floats孽江、lists、maps和sets等豐富的數(shù)據(jù)類型番电。

TokyoCabinet官方網(wǎng)站>>>

五岗屏、Voldemort

大數(shù)據(jù)

Voldemort是一個(gè)分布式鍵值存儲系統(tǒng),是Amazon’s Dynamo的一個(gè)開源克隆漱办。特性如下:
支持自動復(fù)制數(shù)據(jù)到多個(gè)服務(wù)器上这刷。
支持?jǐn)?shù)據(jù)自動分割所以每個(gè)服務(wù)器只包含總數(shù)據(jù)的一個(gè)子集。
提供服務(wù)器故障透明處理功能娩井。
支持可撥插的序化支持暇屋,以實(shí)現(xiàn)復(fù)雜的鍵-值存儲,它能夠很好的5.集成常用的序化框架如:Protocol Buffers洞辣、Thrift咐刨、Avro和Java Serialization。
數(shù)據(jù)項(xiàng)都被標(biāo)識版本能夠在發(fā)生故障時(shí)盡量保持?jǐn)?shù)據(jù)的完整性而不會影響系統(tǒng)的可用性扬霜。
每個(gè)節(jié)點(diǎn)相互獨(dú)立定鸟,互不影響。
支持可插拔的數(shù)據(jù)放置策略

官網(wǎng):http://project-voldemort.com/

六著瓶、Amazon Dynamo

貢獻(xiàn)者:亞馬遜

簡介:Amazon Dynamo 是一個(gè)經(jīng)典的分布式Key-Value 存儲系統(tǒng)联予,具備去中心化,高可用性材原,高擴(kuò)展性的特點(diǎn)沸久,但是為了達(dá)到這個(gè)目標(biāo)在很多場景中犧牲了一致性。Dynamo在Amazon中得到了成功的應(yīng)用华糖,能夠跨數(shù)據(jù)中心部署于上萬個(gè)結(jié)點(diǎn)上提供服務(wù)麦向,它的設(shè)計(jì)思想也被后續(xù)的許多分布式系統(tǒng)借鑒。如近來火熱的Cassandra客叉,實(shí)際上就是基本照搬了Dynamo的P2P架構(gòu)诵竭,同時(shí)融合了BigTable的數(shù)據(jù)模型及存儲算法。

Amazon Dynamo官方網(wǎng)站>>>

七兼搏、Tair

貢獻(xiàn)者:淘寶

簡介:tair 是淘寶自己開發(fā)的一個(gè)分布式 key/value 存儲引擎. tair 分為持久化和非持久化兩種使用方式. 非持久化的 tair 可以看成是一個(gè)分布式緩存. 持久化的 tair 將數(shù)據(jù)存放于磁盤中. 為了解決磁盤損壞導(dǎo)致數(shù)據(jù)丟失, tair 可以配置數(shù)據(jù)的備份數(shù)目, tair 自動將一份數(shù)據(jù)的不同備份放到不同的主機(jī)上, 當(dāng)有主機(jī)發(fā)生異常, 無法正常提供服務(wù)的時(shí)候, 其于的備份會繼續(xù)提供服務(wù).tair 的總體結(jié)構(gòu)

Tair
tair 作為一個(gè)分布式系統(tǒng), 是由一個(gè)中心控制節(jié)點(diǎn)和一系列的服務(wù)節(jié)點(diǎn)組成. 我們稱中心控制節(jié)點(diǎn)為config server. 服務(wù)節(jié)點(diǎn)是data server. config server 負(fù)責(zé)管理所有的data server, 維護(hù)data server的狀態(tài)信息. data server 對外提供各種數(shù)據(jù)服務(wù), 并以心跳的形式將自身狀況匯報(bào)給config server. config server是控制點(diǎn), 而且是單點(diǎn), 目前采用一主一備的形式來保證其可靠性. 所有的 data server 地位都是等價(jià)的.

八卵慰、Apache Accumulo

Apache Accumulo

Apache Accumulo 是一個(gè)可靠的、可伸縮的佛呻、高性能的排序分布式的 Key-Value 存儲解決方案裳朋,基于單元訪問控制以及可定制的服務(wù)器端處理。Accumulo使用 Google BigTable 設(shè)計(jì)思路吓著,基于 Apache Hadoop鲤嫡、Zookeeper 和 Thrift 構(gòu)建送挑。


官網(wǎng)http://accumulo.apache.org/
九、Redis

Redis

Redis是一個(gè)高性能的key-value存儲系統(tǒng)暖眼,和Memcached類似惕耕,它支持存儲的value類型相對更多,包括string(字符串)诫肠、list(鏈表)司澎、set(集合)和zset(有序集合)。與memcached一樣栋豫,為了保證效率挤安,數(shù)據(jù)都是緩存在內(nèi)存中,區(qū)別的是Redis會周期性的把更新的數(shù)據(jù)寫入磁盤或者把修改操作寫入追加的記錄文件丧鸯,并且在此基礎(chǔ)上實(shí)現(xiàn)了主從同步蛤铜。
Redis的出現(xiàn),很大程度補(bǔ)償了memcached這類key/value存儲的不足骡送,在部分場合可以對關(guān)系數(shù)據(jù)庫起到很好的補(bǔ)充作用昂羡。它提供了Python、Ruby摔踱、Erlang虐先、PHP客戶端,使用很方便派敷。
官網(wǎng)http://redis.io/

表格存儲
** 一蛹批、OceanBase**
貢獻(xiàn)者:阿里巴巴
相關(guān)文章26頁P(yáng)PT解密支撐支付寶交易的分布式數(shù)據(jù)庫系統(tǒng)——OceanBase
簡介:OceanBase是一個(gè)支持海量數(shù)據(jù)的高性能分布式數(shù)據(jù)庫系統(tǒng),實(shí)現(xiàn)了數(shù)千億條記錄篮愉、數(shù)百TB數(shù)據(jù)上的跨行跨表事務(wù)腐芍,由淘寶核心系統(tǒng)研發(fā)部、運(yùn)維试躏、DBA猪勇、廣告、應(yīng)用研發(fā)等部門共同完成颠蕴。在設(shè)計(jì)和實(shí)現(xiàn)OceanBase的時(shí)候暫時(shí)摒棄了不緊急的DBMS的功能泣刹,例如臨時(shí)表,視圖(view)犀被,研發(fā)團(tuán)隊(duì)把有限的資源集中到關(guān)鍵點(diǎn)上椅您,當(dāng)前 OceanBase主要解決數(shù)據(jù)更新一致性、高性能的跨表讀事務(wù)寡键、范圍查詢掀泳、join、數(shù)據(jù)全量及增量dump、批量數(shù)據(jù)導(dǎo)入员舵。
目前OceanBase已經(jīng)應(yīng)用于淘寶收藏夾脑沿,用于存儲淘寶用戶收藏條目和具體的商品、店鋪信息马僻,每天支持4~5千萬的更新操作捅伤。等待上線的應(yīng)用還包括CTU、SNS等巫玻,每天更新超過20億,更新數(shù)據(jù)量超過2.5TB祠汇,并會逐步在淘寶內(nèi)部推廣仍秤。
OceanBase 0.3.1在Github開源,開源版本為Revision:12336可很。
官網(wǎng)http://alibaba.github.io/oceanbase/
二诗力、Amazon SimpleDB
貢獻(xiàn)者:亞馬遜
Amazon SimpleDB是一個(gè)分散式數(shù)據(jù)庫,以Erlang撰寫我抠。同與Amazon EC2和亞馬遜的S3一樣作為一項(xiàng)Web 服務(wù)苇本,屬于亞馬遜網(wǎng)絡(luò)服務(wù)的一部分。

Amazon SimpleDB

正如EC2和S3菜拓,SimpleDB的按照存儲量瓣窄,在互聯(lián)網(wǎng)上的傳輸量和吞吐量收取費(fèi)用。 在2008年12月1日纳鼎,亞馬遜推出了新的定價(jià)策略俺夕,提供了免費(fèi)1 GB的數(shù)據(jù)和25機(jī)器小時(shí)的自由層(Free Tire)。 將其中的數(shù)據(jù)轉(zhuǎn)移到其他亞馬遜網(wǎng)絡(luò)服務(wù)是免費(fèi)的贱鄙。
它是一個(gè)可大規(guī)模伸縮劝贸、用 Erlang 編寫的高可用數(shù)據(jù)存儲。
官網(wǎng)http://aws.amazon.com/cn/simpledb/
三逗宁、Vertica
貢獻(xiàn)者:惠普
簡介:惠普2011年2月份起始3月21號完成收購Vertica映九。Vertica基于列存儲∠箍牛基于列存儲的設(shè)計(jì)相比傳統(tǒng)面向行存儲的數(shù)據(jù)庫具有巨大的優(yōu)勢件甥。同時(shí)Vertica支持MPP(massively parallel processing)等技術(shù),查詢數(shù)據(jù)時(shí)Vertica只需取得需要的列言缤,而不是被選擇行的所有數(shù)據(jù)嚼蚀,其平均性能可提高50x-1000x倍。(查詢性能高速度快)
Vertica的設(shè)計(jì)者多次表示他們的產(chǎn)品圍繞著高性能和高可用性設(shè)計(jì)管挟。由于對MPP技術(shù)的支持轿曙,可提供對粒度,可伸縮性和可用性的優(yōu)勢。每個(gè)節(jié)點(diǎn)完全獨(dú)立運(yùn)作导帝,完全無共享架構(gòu)守谓,降低對共享資源的系統(tǒng)競爭。
Vertica的數(shù)據(jù)庫使用標(biāo)準(zhǔn)的SQL查詢您单,同時(shí)Vertica的架構(gòu)非常適合云計(jì)算斋荞,包括虛擬化,分布式多節(jié)點(diǎn)運(yùn)行等虐秦,并且可以和Hadoop/MapReduce進(jìn)行集成平酿。
Vertica官網(wǎng)http://www.vertica.com/
四、Cassandra
貢獻(xiàn)者:facebook
相關(guān)文章開源分布式NoSQL數(shù)據(jù)庫系統(tǒng)——Cassandra Cassandra與HBase的大數(shù)據(jù)對決 誰是勝者悦陋?
簡介:Cassandra是一套開源分布式NoSQL數(shù)據(jù)庫系統(tǒng)蜈彼。它最初由Facebook開發(fā),用于儲存收件箱等簡單格式數(shù)據(jù)俺驶,集GoogleBigTable的數(shù)據(jù)模型與Amazon Dynamo的完全分布式的架構(gòu)于一身Facebook于2008將 Cassandra 開源幸逆,此后,由于Cassandra良好的可擴(kuò)放性暮现,被Digg还绘、Twitter等知名Web 2.0網(wǎng)站所采納,成為了一種流行的分布式結(jié)構(gòu)化數(shù)據(jù)存儲方案栖袋。
Cassandra

Cassandra是一個(gè)混合型的非關(guān)系的數(shù)據(jù)庫拍顷,類似于Google的BigTable。其主要功能比Dynamo (分布式的Key-Value存儲系統(tǒng))更豐富塘幅,但支持度卻不如文檔存儲MongoDB(介于關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫之間的開源產(chǎn)品恩袱,是非關(guān)系數(shù)據(jù)庫當(dāng)中功能最豐富煤墙,最像關(guān)系數(shù)據(jù)庫的堕扶。支持的數(shù)據(jù)結(jié)構(gòu)非常松散徊件,是類似json的bjson格式,因此可以存儲比較復(fù)雜的數(shù)據(jù)類型)匆背。Cassandra最初由Facebook開發(fā)呼伸,后轉(zhuǎn)變成了開源項(xiàng)目。它是一個(gè)網(wǎng)絡(luò)社交云計(jì)算方面理想的數(shù)據(jù)庫钝尸。以Amazon專有的完全分布式的Dynamo為基礎(chǔ)括享,結(jié)合了Google BigTable基于列族(Column Family)的數(shù)據(jù)模型。P2P去中心化的存儲珍促。很多方面都可以稱之為Dynamo 2.0铃辖。
Cassandra官網(wǎng)http://cassandra.apache.org/
** 五、HyperTable**
Hypertable

簡介:Hypertable是一個(gè)開源猪叙、高性能娇斩、可伸縮的數(shù)據(jù)庫仁卷,它采用與Google的Bigtable相似的模型。在過去數(shù)年中犬第,Google為在PC集群 上運(yùn)行的可伸縮計(jì)算基礎(chǔ)設(shè)施設(shè)計(jì)建造了三個(gè)關(guān)鍵部分锦积。
Hypertable

第一個(gè)關(guān)鍵的基礎(chǔ)設(shè)施是Google File System(GFS),這是一個(gè)高可用的文件系統(tǒng)歉嗓,提供了一個(gè)全局的命名空間丰介。它通過跨機(jī)器(和跨機(jī)架)的文件數(shù)據(jù)復(fù)制來達(dá)到高可用性,并因此免受傳統(tǒng) 文件存儲系統(tǒng)無法避免的許多失敗的影響鉴分,比如電源哮幢、內(nèi)存和網(wǎng)絡(luò)端口等失敗。第二個(gè)基礎(chǔ)設(shè)施是名為Map-Reduce的計(jì)算框架志珍,它與GFS緊密協(xié)作家浇,幫 助處理收集到的海量數(shù)據(jù)。第三個(gè)基礎(chǔ)設(shè)施是Bigtable碴裙,它是傳統(tǒng)數(shù)據(jù)庫的替代。Bigtable讓你可以通過一些主鍵來組織海量數(shù)據(jù)点额,并實(shí)現(xiàn)高效的 查詢舔株。Hypertable是Bigtable的一個(gè)開源實(shí)現(xiàn),并且根據(jù)我們的想法進(jìn)行了一些改進(jìn)还棱。
HyperTable官網(wǎng)http://hypertable.org/
六载慈、FoundationDB
簡介:支持ACID事務(wù)處理的NoSQL數(shù)據(jù)庫,提供非常好的性能珍手、數(shù)據(jù)一致性和操作彈性办铡。
2015年1月2日,F(xiàn)oundationDB已經(jīng)發(fā)布了其key-value數(shù)據(jù)庫的3.0版本琳要,主要專注于可伸縮性和性能上的改善寡具。FoundationDB的CEO David Rosenthal在一篇博客上宣布了新的版本,其中展示了FoundationDB 3.0在可伸縮性方面的數(shù)據(jù)稚补,它可以在一個(gè)32位的c3.8xlarge EC2實(shí)例上每秒寫入1440萬次童叠;這在性能上是之前版本的36倍。
除了性能和可伸縮性的改善之外课幕,F(xiàn)oundationDB 3.0還包含了對監(jiān)控支持的改善厦坛。這種監(jiān)控機(jī)制不僅僅是簡單的機(jī)器檢查,它添加了對多種潛在的硬件瓶頸的診斷乍惊,并且把那些高層級的信息整合到現(xiàn)有監(jiān)控基礎(chǔ)架構(gòu)中杜秸。
官網(wǎng)https://foundationdb.com/
七:HBase
貢獻(xiàn)者: Fay Chang 所撰寫的“Bigtable
HBase

簡介:HBase是一個(gè)分布式的、面向列的開源數(shù)據(jù)庫润绎,該技術(shù)來源于 Fay Chang 所撰寫的Google論文“Bigtable:一個(gè)結(jié)構(gòu)化數(shù)據(jù)的分布式存儲系統(tǒng)”撬碟。就像Bigtable利用了Google文件系統(tǒng)(File System)所提供的分布式數(shù)據(jù)存儲一樣诞挨,HBase在Hadoop之上提供了類似于Bigtable的能力。HBase是Apache的Hadoop項(xiàng)目的子項(xiàng)目小作。HBase不同于一般的關(guān)系數(shù)據(jù)庫亭姥,它是一個(gè)適合于非結(jié)構(gòu)化數(shù)據(jù)存儲的數(shù)據(jù)庫。另一個(gè)不同的是HBase基于列的而不是基于行的模式顾稀。
官網(wǎng)http://hbase.apache.org/
文件存儲
一达罗、CouchDB
簡介:CouchDB是用Erlang開發(fā)的面向文檔的數(shù)據(jù)庫系統(tǒng),最近剛剛發(fā)布了1.0版本(2010年7月14日)静秆。CouchDB不是一個(gè)傳統(tǒng)的關(guān)系數(shù)據(jù)庫粮揉,而是面向文檔的數(shù)據(jù)庫,其數(shù)據(jù)存儲方式有點(diǎn)類似lucene的index文件格式抚笔,CouchDB最大的意義在于它是一個(gè)面向web應(yīng)用的新一代存儲系統(tǒng)扶认,事實(shí)上,CouchDB的口號就是:下一代的Web應(yīng)用存儲系統(tǒng)殊橙。
CouchDB

特點(diǎn):
一辐宾、CouchDB是分布式的數(shù)據(jù)庫,他可以把存儲系統(tǒng)分布到n臺物理的節(jié)點(diǎn)上面膨蛮,并且很好的協(xié)調(diào)和同步節(jié)點(diǎn)之間的數(shù)據(jù)讀寫一致性叠纹。這當(dāng)然也得靠Erlang無與倫比的并發(fā)特性才能做到。對于基于web的大規(guī)模應(yīng)用文檔應(yīng)用敞葛,分布式可以讓它不必像傳統(tǒng)的關(guān)系數(shù)據(jù)庫那樣分庫拆表誉察,在應(yīng)用代碼層進(jìn)行大量的改動。
二惹谐、CouchDB是面向文檔的數(shù)據(jù)庫持偏,存儲半結(jié)構(gòu)化的數(shù)據(jù),比較類似lucene的index結(jié)構(gòu)氨肌,特別適合存儲文檔鸿秆,因此很適合CMS,電話本怎囚,地址本等應(yīng)用谬莹,在這些應(yīng)用場合,文檔數(shù)據(jù)庫要比關(guān)系數(shù)據(jù)庫更加方便桩了,性能更好附帽。
三、CouchDB支持REST API井誉,可以讓用戶使用JavaScript來操作CouchDB數(shù)據(jù)庫蕉扮,也可以用JavaScript編寫查詢語句,我們可以想像一下颗圣,用AJAX技術(shù)結(jié)合CouchDB開發(fā)出來的CMS系統(tǒng)會是多么的簡單和方便喳钟。
其實(shí)CouchDB只是Erlang應(yīng)用的冰山一角屁使,在最近幾年,基于Erlang的應(yīng)用也得到的蓬勃的發(fā)展奔则,特別是在基于web的大規(guī)模蛮寂,分布式應(yīng)用領(lǐng)域,幾乎都是Erlang的優(yōu)勢項(xiàng)目易茬。
官網(wǎng)http://couchdb.apache.org/
二酬蹋、MongoDB
簡介:MongoDB 是一個(gè)基于分布式文件存儲的數(shù)據(jù)庫。由C++語言編寫抽莱。旨在為WEB應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲解決方案范抓。
MongoDB是一個(gè)介于關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫之間的產(chǎn)品,是非關(guān)系數(shù)據(jù)庫當(dāng)中功能最豐富食铐,最像關(guān)系數(shù)據(jù)庫的匕垫。他支持的數(shù)據(jù)結(jié)構(gòu)非常松散,是類似json的bson格式虐呻,因此可以存儲比較復(fù)雜的數(shù)據(jù)類型象泵。Mongo最大的特點(diǎn)是他支持的查詢語言非常強(qiáng)大,其語法有點(diǎn)類似于面向?qū)ο蟮牟樵冋Z言斟叼,幾乎可以實(shí)現(xiàn)類似關(guān)系數(shù)據(jù)庫單表查詢的絕大部分功能偶惠,而且還支持對數(shù)據(jù)建立索引。
相關(guān)文章MongoDB的基本特性與內(nèi)部構(gòu)造 大數(shù)據(jù)吃香 創(chuàng)業(yè)公司MongoDB估值達(dá)16億美元
mongodb

特點(diǎn)
它的特點(diǎn)是高性能犁柜、易部署、易使用堂淡,存儲數(shù)據(jù)非常方便馋缅。主要功能特性有:
*面向集合存儲,易存儲對象類型的數(shù)據(jù)绢淀。
mongodb集群參考
mongodb集群參考
*模式自由萤悴。
*支持動態(tài)查詢。
*支持完全索引皆的,包含內(nèi)部對象覆履。
*支持查詢。
*支持復(fù)制和故障恢復(fù)费薄。
*使用高效的二進(jìn)制數(shù)據(jù)存儲硝全,包括大型對象(如視頻等)。
*自動處理碎片楞抡,以支持云計(jì)算層次的擴(kuò)展性伟众。
*支持RUBY,PYTHON召廷,JAVA凳厢,C++账胧,PHP,C#等多種語言先紫。
*文件存儲格式為BSON(一種JSON的擴(kuò)展)治泥。
*可通過網(wǎng)絡(luò)訪問。
官網(wǎng)https://www.mongodb.org/
三遮精、Tachyon
貢獻(xiàn)者:Haoyuan Li(李浩源)
李浩源

簡介:Tachyon是一個(gè)分布式內(nèi)存文件系統(tǒng)居夹,可以在集群里以訪問內(nèi)存的速度來訪問存在tachyon里的文件。把Tachyon是架構(gòu)在最底層的分布式文件存儲和上層的各種計(jì)算框架之間的一種中間件仑鸥。主要職責(zé)是將那些不需要落地到DFS里的文件吮播,落地到分布式內(nèi)存文件系統(tǒng)中,來達(dá)到共享內(nèi)存眼俊,從而提高效率意狠。同時(shí)可以減少內(nèi)存冗余,GC時(shí)間等疮胖。
Tachyon

Tachyon架構(gòu)
Tachyon的架構(gòu)是傳統(tǒng)的Master—slave架構(gòu)环戈,這里和Hadoop類似,TachyonMaster里WorkflowManager是 Master進(jìn)程澎灸,因?yàn)槭菫榱朔乐箚吸c(diǎn)問題院塞,通過Zookeeper做了HA,可以部署多臺Standby Master性昭。Slave是由Worker Daemon和Ramdisk構(gòu)成拦止。這里個(gè)人理解只有Worker Daemon是基于JVM的,Ramdisk是一個(gè)off heap memory糜颠。Master和Worker直接的通訊協(xié)議是Thrift汹族。
下圖來自Tachyon的作者Haoyuan Li:
Tachyon

下載地址https://github.com/amplab/tachyon
四、KFS
簡介:GFS的C++開源版本其兴,Kosmos distributed file system (KFS)是一個(gè)專門為數(shù)據(jù)密集型應(yīng)用(搜索引擎顶瞒,數(shù)據(jù)挖掘等)而設(shè)計(jì)的存儲系統(tǒng),類似于Google的GFS和Hadoop的HDFS分布式文件系統(tǒng)元旬。 KFS使用C++實(shí)現(xiàn)榴徐,支持的客戶端包括C++,Java和Python匀归。KFS系統(tǒng)由三部分組成坑资,分別是metaserver、chunkserver和client library穆端。
官網(wǎng):http://code.google.com/p/kosmosfs/
五盐茎、HDFS
大數(shù)據(jù)

簡介:Hadoop分布式文件系統(tǒng)(HDFS)被設(shè)計(jì)成適合運(yùn)行在通用硬件(commodity hardware)上的分布式文件系統(tǒng)。它和現(xiàn)有的分布式文件系統(tǒng)有很多共同點(diǎn)徙赢。但同時(shí)字柠,它和其他的分布式文件系統(tǒng)的區(qū)別也是很明顯的探越。HDFS是一個(gè)高度容錯(cuò)性的系統(tǒng),適合部署在廉價(jià)的機(jī)器上窑业。HDFS能提供高吞吐量的數(shù)據(jù)訪問钦幔,非常適合大規(guī)模數(shù)據(jù)集上的應(yīng)用。HDFS放寬了一部分POSIX約束常柄,來實(shí)現(xiàn)流式讀取文件系統(tǒng)數(shù)據(jù)的目的鲤氢。HDFS在最開始是作為Apache Nutch搜索引擎項(xiàng)目的基礎(chǔ)架構(gòu)而開發(fā)的。HDFS是Apache Hadoop Core項(xiàng)目的一部分西潘。
官網(wǎng)http://hadoop.apache.org/
資源管理
一卷玉、Twitter Mesos
開發(fā)者:Twitter研發(fā)人員John Oskasson
Twitter Mesos

簡介:Apache Mesos是由加州大學(xué)伯克利分校的AMPLab首先開發(fā)的一款開源群集管理軟件,支持Hadoop喷市、ElasticSearch相种、Spark、Storm 和Kafka等架構(gòu)品姓,由于其開源性質(zhì)越來越受到一些大型云計(jì)算公司的青睞寝并,例如Twitter、Facebook等腹备。
參考文章Mesos漸入主流,Twitter模式有望“無限復(fù)制”-CSDN.NET
官網(wǎng)http://mesos.apache.org/
二、Hadoop Yarn
Hadoop 新 MapReduce 框架 Yarn镀岛。為從根本上解決舊 MapReduce 框架的性能瓶頸友驮,促進(jìn) Hadoop 框架的更長遠(yuǎn)發(fā)展,從 0.23.0 版本開始拨与,Hadoop 的 MapReduce 框架完全重構(gòu)艾猜,發(fā)生了根本的變化捻悯。新的 Hadoop MapReduce 框架命名為 MapReduceV2 或者叫 Yarn匆赃,其架構(gòu)圖如下圖所示:
Hadoop Yarn

Yarn 框架相對于老的 MapReduce 框架什么優(yōu)勢呢?我們可以看到:
1今缚、這個(gè)設(shè)計(jì)大大減小了 JobTracker(也就是現(xiàn)在的 ResourceManager)的資源消耗算柳,并且讓監(jiān)測每一個(gè) Job 子任務(wù) (tasks) 狀態(tài)的程序分布式化了,更安全姓言、更優(yōu)美瞬项。
2蔗蹋、在新的 Yarn 中,ApplicationMaster 是一個(gè)可變更的部分囱淋,用戶可以對不同的編程模型寫自己的 AppMst猪杭,讓更多類型的編程模型能夠跑在 Hadoop 集群中,可以參考 hadoop Yarn 官方配置模板中的 mapred-site.xml 配置妥衣。
3皂吮、對于資源的表示以內(nèi)存為單位 ( 在目前版本的 Yarn 中,沒有考慮 cpu 的占用 )税手,比之前以剩余 slot 數(shù)目更合理蜂筹。
4、老的框架中芦倒,JobTracker 一個(gè)很大的負(fù)擔(dān)就是監(jiān)控 job 下的 tasks 的運(yùn)行狀況艺挪,現(xiàn)在,這個(gè)部分就扔給 ApplicationMaster 做了熙暴,而 ResourceManager 中有一個(gè)模塊叫做 ApplicationsMasters( 注意不是 ApplicationMaster)闺属,它是監(jiān)測 ApplicationMaster 的行狀況,如果出問題掂器,會將其在其他機(jī)器上重啟国瓮。
5、Container 是 Yarn 為了將來作資源隔離而提出的一個(gè)框架孵睬。這一點(diǎn)應(yīng)該借鑒了 Mesos 的工作,目前是一個(gè)框架蹈集,僅僅提供 java 虛擬機(jī)內(nèi)存的隔離 ,hadoop 團(tuán)隊(duì)的設(shè)計(jì)思路應(yīng)該后續(xù)能支持更多的資源調(diào)度和控制 , 既然資源表示成內(nèi)存量拢肆,那就沒有了之前的 map slot/reduce slot 分開造成集群資源閑置的尷尬情況。
官網(wǎng):http://hadoop.apache.org/
第二部分將整合大數(shù)據(jù)日志收集系統(tǒng)悼院、消息系統(tǒng)咒循、集群管理颖医、基礎(chǔ)設(shè)施熔萧、監(jiān)控管理等開源工具。并將于3月12日發(fā)布俺榆,盡請期待罐脊。
一共81個(gè),開源大數(shù)據(jù)處理工具匯總(下)上炎,包括日志收集系統(tǒng)/集群管理/RPC等
End.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市铅碍,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌憨愉,老刑警劉巖径密,帶你破解...
    沈念sama閱讀 219,427評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件享扔,死亡現(xiàn)場離奇詭異,居然都是意外死亡氛魁,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評論 3 395
  • 文/潘曉璐 我一進(jìn)店門或链,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人洞就,你說我怎么就攤上這事「锫Γ” “怎么了匆浙?”我有些...
    開封第一講書人閱讀 165,747評論 0 356
  • 文/不壞的土叔 我叫張陵首尼,是天一觀的道長迎捺。 經(jīng)常有香客問我,道長岖瑰,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,939評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮玫锋,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘节沦。我一直安慰自己甫贯,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,955評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著惨奕,像睡著了一般雹洗。 火紅的嫁衣襯著肌膚如雪穴吹。 梳的紋絲不亂的頭發(fā)上港令,一...
    開封第一講書人閱讀 51,737評論 1 305
  • 那天咪惠,我揣著相機(jī)與錄音朵纷,去河邊找鬼鞋仍。 笑死威创,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的详炬。 我是一名探鬼主播寞奸,決...
    沈念sama閱讀 40,448評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼呛谜,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了枪萄?” 一聲冷哼從身側(cè)響起隐岛,我...
    開封第一講書人閱讀 39,352評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎瓷翻,沒想到半個(gè)月后聚凹,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體湘今,經(jīng)...
    沈念sama閱讀 45,834評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡岸梨,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,992評論 3 338
  • 正文 我和宋清朗相戀三年芥炭,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片城侧。...
    茶點(diǎn)故事閱讀 40,133評論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡火脉,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出祖很,到底是詐尸還是另有隱情,我是刑警寧澤拟糕,帶...
    沈念sama閱讀 35,815評論 5 346
  • 正文 年R本政府宣布奥吩,位于F島的核電站旅东,受9級特大地震影響康吵,放射性物質(zhì)發(fā)生泄漏跌前。R本人自食惡果不足惜田弥,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,477評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望本橙。 院中可真熱鬧潜的,春花似錦、人聲如沸梭姓。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽寄月。三九已至,卻和暖如春无牵,著一層夾襖步出監(jiān)牢的瞬間漾肮,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評論 1 272
  • 我被黑心中介騙來泰國打工茎毁, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留克懊,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,398評論 3 373
  • 正文 我出身青樓七蜘,卻偏偏與公主長得像谭溉,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子橡卤,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,077評論 2 355

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