开启一个新时代： Apache HBase 1.0 发布
HBase社区的过去、现在及未来 Apache HBase社区发布了Apache HBase 1.0.0。它花费了七年时间在Apache HBase项目领域取得了里程碑式的发展，这次发布提供了一些令人兴奋的特性和并未牺牲稳定性的新API，无论在线还是在硬盘上都与HBase 0.98.x兼容。 让我们回顾Apache HBase 项目的过去、纵观它的现在、展望一下未来。  版本啊版本 在列举这个版本的详细特性之前，让我们来浏览一下过去的版本历史。HBase 始于 Apache Hadoop 一个子项目， 大约在 2007 随同 Hadoop 一起发布。三年后，HBase 成为了一个独立的 Apache 顶级项目。由于 HBase
Hbase
61.230.123.14
我觉得你好慢好难用。
微博评论
2015-02-26T17:33:02.000
113.92.174.14
回复@BlueKiller-原来过得很快乐:我？！
微博评论
2015-02-26T18:03:04.000
113.92.174.14
回复@Linux中国:HBase
微博评论
2015-02-26T18:03:04.000
113.92.174.14
回复@BlueKiller-原来过得很快乐:[偷笑]
微博评论
2015-02-26T18:03:04.000
HBase社区的过去、现在及未来 Apache HBase社区发布了Apache HBase 1.0.0。它花费了七年时间在Apache HBase项目领域取得了里程碑式的发展，这次发布提供了一些令人兴奋的特性和并未牺牲稳定性的新API，无论在线还是在硬盘上都与HBase 0.98.x兼容。 让我们回顾Apache HBase 项目的过去、纵观它的现在、展望一下未来。  版本啊版本 在列举这个版本的详细特性之前，让我们来浏览一下过去的版本历史。HBase 始于 Apache Hadoop 一个子项目， 大约在 2007 随同 Hadoop 一起发布。三年后，HBase 成为了一个独立的 Apache 顶级项目。由于 HBase
### HBase社区的过去、现在及未来


Apache HBase社区发布了Apache HBase 1.0.0。它花费了七年时间在Apache HBase项目领域取得了里程碑式的发展，这次发布提供了一些令人兴奋的特性和并未牺牲稳定性的新API，无论在线还是在硬盘上都与HBase 0.98.x兼容。


让我们回顾Apache HBase 项目的过去、纵观它的现在、展望一下未来。


![](/data/attachment/album/201502/26/165705f6o447t441totuj4.png)


### 版本啊版本


在列举这个版本的详细特性之前，让我们来浏览一下过去的版本历史。HBase 始于 Apache Hadoop 一个子项目， 大约在 2007 随同 Hadoop 一起发布。三年后，HBase 成为了一个独立的 Apache 顶级项目。由于 HBase 依赖于 HDFS，所以社区让 HBase 与 Hadoop 的主版本号保持一致。例如，HBase 0.19.x 可以和 Hadoop 0.19.x 协同工作，等等。


![](/data/attachment/album/201502/26/164442jnyu4yhs9743udhu.jpeg)


然而，HBase 社区希望可以让一个 HBase 版本可以与多个 Hadoop 版本协同工作—不仅仅是其所匹配的主版本号。这样一来，一个新的命名方案就诞生了，新版本将以接近1.0的主版本0.90开始，就像上面时间线中展示的一样。我们也运用了一种“偶数-奇数”版本的惯例，也就是奇数版本是“开发者预览”，偶数版本是可以用来发布的“稳定版”。稳定发布系列包括0.90、0.92、0.94、0.96和0.98（详见[HBase版本](https://hbase.apache.org/book.html#hbase.versioning)）。


在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](https://hbase.apache.org/apidocs/org/apache/hadoop/hbase/classification/InterfaceAudience.Public.html) 类。以表明其是 HBase 官方的“客户端 API”（更多 Audience 的说明详见 [HBase Refguide](http://hbase.apache.org/book.html) 中的“11.1.1HBase API Surfase”）。接下来，所有的1.x 版本的 API 都会与 public 客户端的类相兼容。 


#### 使用时间轴协调区域副本的可读性


作为第一阶段的一部分，这个发行版包括了一个实验性的“使用时间轴协调区域副本的可读性”特点。也就是说，一个区域可以以只读模式放在多个区域服务器上。该区域副本之一将会是主服务器，支持写入，其它副本将共享与之相同的数据。对复制副本的读请求可以为后备的 RPC 请求来提供时间连续的高可用性。查看JIRA [HBASE-10070](https://issues.apache.org/jira/browse/HBASE-10070) 了解更多详情。


#### 在线配置修改及来自0.89-fb分支的其它前向移植


Apache HBase 的 0.89-fb 分支是 Facebook 发布他们的修改的地方。 [HBASE-12147](https://issues.apache.org/jira/browse/HBASE-12147) JIRA 的前向移植补丁支持重载服务器配置的一个子集，而无需重启区域服务器。


除了上面所列举的，还有成百上千的改进和性能提升（提升的WAL pipeline，使用 disruptor, 多 WAL, 更多的off-heap 等等）和漏洞修复以及其它好的东西，太多了就不列举了。详细介绍请查看官方的[发布日志](http://markmail.org/message/u43qluenc7soxloe)。发布日志和[白皮书](https://hbase.apache.org/book.html#hbase.versioning)也包含了二进制、源代码和协议的兼容性说明、所支持的 Hadoop 和 Java 版本，从0.94、0.96和0.98版本升级的说明以及其它重要详情。


HBase 1.0.0版本也开始使用“[语义版本号](http://semver.org/)”发布 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!**

