開啟一個新時代: Apache HBase 1.0 發布
版本啊版本
在列舉這個版本的詳細特性之前,讓我們來瀏覽一下過去的版本歷史。HBase 始於 Apache Hadoop 一個子項目, 大約在 2007 隨同 Hadoop 一起發布。三年後,HBase 成為了一個獨立的 Apache 頂級項目。由於 HBase 依賴於 HDFS,所以社區讓 HBase 與 Hadoop 的主版本號保持一致。例如,HBase 0.19.x 可以和 Hadoop 0.19.x 協同工作,等等。
然而,HBase 社區希望可以讓一個 HBase 版本可以與多個 Hadoop 版本協同工作—不僅僅是其所匹配的主版本號。這樣一來,一個新的命名方案就誕生了,新版本將以接近1.0的主版本0.90開始,就像上面時間線中展示的一樣。我們也運用了一種「偶數-奇數」版本的慣例,也就是奇數版本是「開發者預覽」,偶數版本是可以用來發布的「穩定版」。穩定發布系列包括0.90、0.92、0.94、0.96和0.98(詳見HBase版本)。
在0.98之後,我們把主幹版本命名為0.99-SNAPSHOT,但是我們官方已經用完了所有的數字!欠考慮了,去年 HBase 社區一致認可這個項目已經足夠成熟穩定,可以作為1.0.0版本了。在三個0.99.x「開發者預覽」系列版本和六個 Apache HBase 1.0.0備選版本之後,HBase 1.0.0現在發布了!看上面的圖表,它是由 Lars George 發布的時間表,顯示了每個版本的支持周期,及任何開發者預覽版本(例如0.99->1.0.0),如果有的話。
HBase 1.0.0,開啟了一個新時代
1.0.0版本有三個目標
1)為將來的1.x系列版本奠定穩定基礎
2)穩定運行的 HBase 集群及客戶端
3)讓版本和兼容性方面更加明確
包括之前的0.99.x系列版本,1.0.0解決了超過1500個 JIRA 跟蹤的問題。其中一些主要的修改包括:
API 整理和改變
HBase 的客戶級 API 已經發展多年了。為了簡化語義和支持,讓它可以擴展並且在將來更容易使用,我們回顧了1.0之前的API。為此,1.0.0引進了新的 API,並且廢棄了一些常用的客戶端 API(HTableInterface, HTable 和 HBaseAdmin)
我們建議您更新您的應用程序來使用新風格的 API,因為這些廢棄的 API 在將來2.x系列版本之後被刪除。進一步的指導,請訪問:http://www.slideshare.net/xefyr/apache-hbase-10-release和 http://s.apache.org/hbase-1.0-api。
所有的客戶端 API 都標識為 InterfaceAudience.Public 類。以表明其是 HBase 官方的「客戶端 API」(更多 Audience 的說明詳見 HBase Refguide 中的「11.1.1HBase API Surfase」)。接下來,所有的1.x 版本的 API 都會與 public 客戶端的類相兼容。
使用時間軸協調區域副本的可讀性
作為第一階段的一部分,這個發行版包括了一個實驗性的「使用時間軸協調區域副本的可讀性」特點。也就是說,一個區域可以以只讀模式放在多個區域伺服器上。該區域副本之一將會是主伺服器,支持寫入,其它副本將共享與之相同的數據。對複製副本的讀請求可以為後備的 RPC 請求來提供時間連續的高可用性。查看JIRA HBASE-10070 了解更多詳情。
在線配置修改及來自0.89-fb分支的其它前向移植
Apache HBase 的 0.89-fb 分支是 Facebook 發布他們的修改的地方。 HBASE-12147 JIRA 的前向移植補丁支持重載伺服器配置的一個子集,而無需重啟區域伺服器。
除了上面所列舉的,還有成百上千的改進和性能提升(提升的WAL pipeline,使用 disruptor, 多 WAL, 更多的off-heap 等等)和漏洞修復以及其它好的東西,太多了就不列舉了。詳細介紹請查看官方的發布日誌。發布日誌和白皮書也包含了二進位、源代碼和協議的兼容性說明、所支持的 Hadoop 和 Java 版本,從0.94、0.96和0.98版本升級的說明以及其它重要詳情。
HBase 1.0.0版本也開始使用「語義版本號」發布 HBase。換言之,將來 HBase 版本將會使用顯示兼容語義的「主版本.次版本.補丁」版本號。HBas e的白皮書包含了所有兼容性方面的內容和不同版本之間預計的內容。
接下來
我們將 HBase 1.0.0標記為 HBase 的下一個穩定版本,這就意味著所有的新用戶都應該開始使用這個版本。然而,作為一個資料庫,我們明白,切換到更新的版本可能會花費一些時間。我們將會繼續維護和使用0.98.x版本,直到用戶社區準備結束它的生命。1.0.x、1.1.0、1.2.0等發行版預計將發布其相應的分支,而2.0.0和其它主要的版本也將如時到達。
兩段讀複製、按列族刷新、procedure v2、SSD for WAL 或列族數據等等特性也即將到來。
總結
最後,HBase 1.0.0發行版已經走過了一段漫長的道路,大量的核心成員、提交者、貢獻者的辛勤工作帶來了諸多貢獻,我們想對所有的用戶和 HBase 貢獻者致以衷心的感謝!
Keep HBase』ing!
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive