隨著數(shù)據(jù)時(shí)代的來臨,開源軟件越來越被重視,尤其在Web應(yīng)用服務(wù)器、應(yīng)用程序架構(gòu)和大數(shù)據(jù)處理方面更是應(yīng)用廣泛,其中Hadoop、Apache 、MYSQL等開源軟件更是家喻戶曉,在企業(yè)大型網(wǎng)絡(luò)應(yīng)用中承擔(dān)重要作用。免費(fèi)、運(yùn)行速度快等優(yōu)點(diǎn)使開源軟件迅速發(fā)展,近一年在服務(wù)器領(lǐng)域應(yīng)用更是越加廣泛,下面我們來看一下未來將一段時(shí)間內(nèi)服務(wù)器行業(yè)的軟件主角。
一、HBase
HBase是一個(gè)分布式的、面向列的開源數(shù)據(jù)庫(kù),HBase在Hadoop之上提供了類似于Bigtable的能力。HBase是Apache的Hadoop項(xiàng)目的子項(xiàng)目。HBase不同于一般的關(guān)系數(shù)據(jù)庫(kù),它是一個(gè)適合于非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)的數(shù)據(jù)庫(kù)。另一個(gè)不同的是HBase基于列的而不是基于行的模式。
HBase(Hadoop Database)是一個(gè)高可靠性、高性能、面向列、可伸縮的分布式存儲(chǔ)系統(tǒng),利用HBase技術(shù)可在廉價(jià)PC Server上搭建起大規(guī)模結(jié)構(gòu)化存儲(chǔ)集群。
HBase是Google Bigtable的開源實(shí)現(xiàn),類似Google Bigtable利用GFS作為其文件存儲(chǔ)系統(tǒng),HBase利用Hadoop HDFS作為其文件存儲(chǔ)系統(tǒng);Google運(yùn)行MapReduce來處理Bigtable中的海量數(shù)據(jù),HBase同樣利用Hadoop MapReduce來處理HBase中的海量數(shù)據(jù);Google Bigtable利用 Chubby作為協(xié)同服務(wù),HBase利用Zookeeper作為對(duì)應(yīng)。
HBase
上圖描述了Hadoop EcoSystem中的各層系統(tǒng),其中HBase位于結(jié)構(gòu)化存儲(chǔ)層,Hadoop HDFS為HBase提供了高可靠性的底層存儲(chǔ)支持,HadoopMapReduce為HBase提供了高性能的計(jì)算能力,Zookeeper為HBase提供了穩(wěn)定服務(wù)和failover機(jī)制。
此外,Pig和Hive還為HBase提供了高層語言支持,使得在HBase上進(jìn)行數(shù)據(jù)統(tǒng)計(jì)處理變的非常簡(jiǎn)單。Sqoop則為HBase提供了方便的RDBMS數(shù)據(jù)導(dǎo)入功能,使得傳統(tǒng)數(shù)據(jù)庫(kù)數(shù)據(jù)向HBase中遷移變的非常方便。