九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
一共81個(gè),開源大數(shù)據(jù)處理工具匯總(上)


作者:大數(shù)據(jù)女神-諾藍(lán)(微信公號:dashujunvshen)。本文是36大數(shù)據(jù)專稿,轉(zhuǎn)載必須標(biāo)明來源36大數(shù)據(jù)。


我們需要向你道歉,由于本文圖片太多,且文字太長,微信公眾平臺不支持那么多文字,所以本文只放出一部分。實(shí)在抱歉。請你在Wifi環(huán)境下,點(diǎn)擊左下角“閱讀原文”到36大數(shù)據(jù)官網(wǎng)閱讀。你也可以百度“36大數(shù)據(jù)”,查看更多我們的文章。


本文一共分為上下兩部分。我們將針對大數(shù)據(jù)開源工具不同的用處來進(jìn)行分類,并且附上了官網(wǎng)和部分下載鏈接,希望能給做大數(shù)據(jù)的朋友做個(gè)參考。


另外第二部分將整合大數(shù)據(jù)日志收集系統(tǒng)、消息系統(tǒng)、集群管理、基礎(chǔ)設(shè)施、監(jiān)控管理等開源工具。并將于3月12日發(fā)布,盡請期待。


下面是第一部分。



查詢引擎

一、Phoenix


貢獻(xiàn)者::Salesforce


簡介:這是一個(gè)Java中間層,可以讓開發(fā)者在Apache HBase上執(zhí)行SQL查詢。Phoenix完全使用Java編寫,代碼位于GitHub上,并且提供了一個(gè)客戶端可嵌入的JDBC驅(qū)動(dòng)。


Phoenix查詢引擎會將SQL查詢轉(zhuǎn)換為一個(gè)或多個(gè)HBase scan,并編排執(zhí)行以生成標(biāo)準(zhǔn)的JDBC結(jié)果集。直接使用HBase API、協(xié)同處理器與自定義過濾器,對于簡單查詢來說,其性能量級是毫秒,對于百萬級別的行數(shù)來說,其性能量級是秒。


Phoenix最值得關(guān)注的一些特性有:


嵌入式的JDBC驅(qū)動(dòng),實(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?/p>


DML支持:用于逐行插入的UPSERT VALUES、用于相同或不同表之間大量數(shù)據(jù)傳輸?shù)腢PSERT


SELECT、用于刪除行的DELETE


通過客戶端的批處理實(shí)現(xiàn)的有限的事務(wù)支持


單表——還沒有連接,同時(shí)二級索引也在開發(fā)當(dāng)中


緊跟ANSI SQL標(biāo)準(zhǔn)


二、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%。改動(dòng)了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ù)載處理。


三、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)等。


四、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的思路更加簡單明了些。


五、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)。


六、Cloudera Impala


貢獻(xiàn)者::Cloudera


簡介:Cloudera Impala 可以直接為存儲在HDFS或HBase中的Hadoop數(shù)據(jù)提供快速,交互式的SQL查詢。除了使用相同的存儲平臺外, Impala和Apache Hive一樣也使用了相同的元數(shù)據(jù),SQL語法(Hive SQL),ODBC驅(qū)動(dòng)和用戶接口(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


七、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等的接口)、分布式緩存模塊等幾部分,如下圖所示:




八、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ū)動(dòng)


集成Hive metastore能夠訪問Hive數(shù)據(jù)集


一個(gè)命令行客戶端


一個(gè)自定義函數(shù)API


九、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ì)分析。


流式計(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))


記錄最大值和最小值

三、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)目剛啟動(dò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ì)理念,易于編程,具有靈活的彈性


四、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í)日志的處理


迭代計(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 Giraph


簡介: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比較的四點(diǎn)改變:


  1. 提供了一套新的編程接口,更加適用于迭代計(jì)算;


HaLoop給迭代計(jì)算一個(gè)抽象的遞歸公式:



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索引,索引也以文件的形式保存在本地磁盤。



四、Twister


簡介:Twister, 迭代式MapReduce框架,Twister是由一個(gè)印度人開發(fā)的,其架構(gòu)如下:

在Twister中,大文件不會自動(dòng)被切割成一個(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è)共享相同的鍵組。


二、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)如下圖所示:


鍵值存儲


一、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)存的速度,如果是不命中 速度大大下降。


二、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是單線程合并的。


三、HyperDex


貢獻(xiàn)者:Facebook

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)行查詢成為可能




四、TokyoCabinet

日本人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ù)類型。


五、Voldemort


Voldemort是一個(gè)分布式鍵值存儲系統(tǒng),是Amazon’s Dynamo的一個(gè)開源克隆。特性如下:


  • 支持自動(dòng)復(fù)制數(shù)據(jù)到多個(gè)服務(wù)器上。


  • 支持?jǐn)?shù)據(jù)自動(dòng)分割所以每個(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ù)放置策略


六、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ù)模型及存儲算法。


七、Tair


貢獻(xiàn)者:淘寶


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

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


九、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客戶端,使用很方便。


表格存儲

一、OceanBase


貢獻(xiàn)者:阿里巴巴


簡介: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。

我們需要向你道歉,由于本文圖片太多,且文字太長,微信公眾平臺不支持那么多文字,所以本文只放出一部分。實(shí)在抱歉。請你在Wifi環(huán)境下,點(diǎn)擊左下角“閱讀原文”到36大數(shù)據(jù)官網(wǎng)閱讀。你也可以百度“36大數(shù)據(jù)”,查看更多我們的文章。

點(diǎn)擊下方閱讀原文查看全文
↓↓↓
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
開源大數(shù)據(jù)OLAP引擎對比
盤點(diǎn)Hadoop生態(tài)圈:13個(gè)讓大象飛起來的開源工具
工業(yè)大數(shù)據(jù)漫談10:開源工業(yè)大數(shù)據(jù)軟件簡介(下)
日志分析方法概述
揭秘大數(shù)據(jù)(一)從Hadoop框架討論大數(shù)據(jù)生態(tài)
收藏丨大數(shù)據(jù):Hadoop族群介紹
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服