全方位認識HBase:一個值得擁有的NoSQL資料庫(一)

周蓬勃發表於2020-04-18

前言:說起HBase這門技術,在認知上對於稍微接觸或使用過它的人來講,可能只是百千資料庫中一個很普通的庫,大概就像我對Redis的認知一樣:快取嘛!可對於HBase,我確實是帶著某些感情在的。今日突然萌生了一個生趣的想法,想拋開技術的視角,從情感的角度,像寫小說一樣,寫寫這位老朋友,這可能會有點滑稽吧,不過我覺得很放鬆。《全方位認識HBase:一個值得擁有的NoSQL資料庫》:從今天起,我們就暫且認為這是一本小說的名字吧!哈哈~

其實我特別想做的一件事情,就是想讓更多的人來認識並使用HBase這門地地道道的大資料棧技術,當然不為別的,主要原因還是HBase真的很棒很熱,自己用著感覺真的好,不好的產品我怎麼會推薦給你呢?畢竟HBase這傢伙不會給我一分錢的廣告費~

那首先,我想給大家分享的內容就是:在我剛接觸HBase這位老朋友的時候根本不想去看的一些覺得沒用的東西。什麼呢?其實就是特別無聊又深奧的好像還不得不問的靈魂三問:我是誰?我從哪裡來?我要到哪裡去?

為什麼想寫寫這個呢?真的好無聊啊~ 當然肯定不是我太無聊了,說實話,是因為對它真的有感情了,所以就想把它的前世今生全都介紹給你,可能算是一種情懷,也可能算是一種敬畏,也可能只是怕趕路的人忘了它是誰。

我從哪裡來?

我們知道,HBase出現於大資料背景之下,那麼談到這個問題,我們不得不提一下當年奠定了大資料演算法基礎的風靡全球的Google三篇論文,也稱為Google的三駕馬車:Google FS[2003]、MapReduce[2004]、BigTable[2006]。三篇論文中文版連結這裡提供給大家,閒來沒事可以看一看。

連結:https://pan.baidu.com/s/1EIhGR6gADm2BnEh5hW4KUA 
提取碼:c1wb 

這三篇論文為何風靡全球呢?我們說隨著大資料時代的到來,我們同樣面臨著大資料所帶給我們的核心二問:

1、海量資料如何儲存?
2、海量資料如何計算?
3、海量結構化資料如何高效讀寫?

然而,而谷歌公司在2003年至2006年釋出的三篇論文則為解決兩個問題提供了思路。

“ 我們設計並實現了 Google GFS 檔案系統,一個面向大規模資料密集型應用的、可伸縮的分散式檔案系統。
GFS 雖然執行在廉價的普遍硬體裝置上,但是它依然了提供災難冗餘的能力,為大量客戶機提供了高效能的
服務。
...
GFS 完全滿足了我們對儲存的需求。”

Google GFS 檔案系統超前的設計思想,為解決大資料時代海量資料的儲存提出瞭解決思路,同時對今後的分散式系統設計都提供了寶貴的指導意義。而MapReduce框架則解決了大資料時代海量資料如何計算的問題,雖然現在的Spark很火,但吃水不能忘了挖井人。

2006年,Google釋出了第三篇重要論文。Bigtable 是一個分散式的結構化資料儲存系統,它被設計用來處理海量資料:通常是分佈在數千臺普通伺服器上的 PB 級的資料。Bigtable 的設計目的是可靠的處理 PB 級別的資料,並且能夠部署到上千臺機器上。用於解決Google內部海量結構化資料的儲存以及高效讀寫問題。

也正是因為這三篇論文的發表,才有了而後的HDFS、MapReduce 和 HBase,才有了2015大資料元年。下面我們詳細看一下Hadoop 家族的編年史,這裡你大概也可以看出HBase在Hadoop家族中的地位。

*   2002年10月,Doug Cutting和Mike Cafarella建立了開源網頁爬蟲專案Nutch。

*   2003年10月,Google發表Google File System論文。

*   2004年7月,Doug Cutting和Mike Cafarella在Nutch中實現了類似GFS的功能,即後來HDFS的前身。

*   2004年10月,Google發表了MapReduce論文。

*   2005年2月,Mike Cafarella在Nutch中實現了MapReduce的最初版本。

*   2006年1月,Doug Cutting加入雅虎,Yahoo!提供一個專門的團隊和資源將Hadoop發展成一個可在網路上執行的系統。

*   2006年2月,Apache Hadoop專案正式啟動以支援MapReduce和HDFS的獨立發展。

*   2006年3月,Yahoo!建設了第一個Hadoop叢集用於開發。

*   2006年4月,第一個Apache Hadoop釋出。

*   2006年11月,Google發表了Bigtable論文,這最終激發了HBase庫的建立。

*   2007年10月,第一個可用的HBase釋出了。

*   2008年1月,Hadoop成為Apache頂級專案。

*   2008年1月,HBase成為 Hadoop 的子專案。

*   2008年6月,Hadoop的第一個SQL框架——Hive成為了Hadoop的子專案。

*   2009年7月 ,MapReduce 和 HDFS成為Hadoop專案的獨立子專案。

*   2009年7月 ,Avro 和 Chukwa 成為Hadoop新的子專案。

*   2009年10月,首屆Hadoop World大會在紐約召開。

*   2010年5月 ,HBase脫離Hadoop專案,成為Apache頂級專案。

*   2010年9月,Hive 脫離Hadoop,成為Apache頂級專案。

*   2010年9月,Pig脫離Hadoop,成為Apache頂級專案。

*   2011年1月,ZooKeeper 脫離Hadoop,成為Apache頂級專案。

*   2012年8月,YARN成為Hadoop子專案。

*   2012年10月,第一個Hadoop原生MPP查詢引擎Impala加入到了Hadoop生態圈。

*  2014年2月,Spark逐漸代替MapReduce成為Hadoop的預設執行引擎,併成為Apache基金會頂級專案。

*   2015年10月,Cloudera公佈繼HBase以後的第一個Hadoop原生儲存替代方案——Kudu。

*   2015年12月,Cloudera發起的Impala和Kudu專案加入Apache孵化器。

好了,一張圖向大家道一聲晚安吧,挺晚了,該睡了~ 下一章我們再追問“我是誰?”的靈魂思考吧~

我從哪裡來?

參考文章

https://blog.csdn.net/lfq1532632051/article/details/53219558

掃描二維碼關注博主公眾號

轉載請註明出處!歡迎關注本人微信公眾號【HBase工作筆記】

相關文章