4.HBase In Action 第一章-HBase简介(1.1.2 数据创新)
As we now know, many prominent internet companies, most notably Google, Amazon, Yahoo!, and Facebook, were on the forefront of this explosion of data. Some generated their own data, and others collected what was freely available; but managing these vastly different kinds of datasets became core to doing business. They all started by building on the technology available at the time, but the limitations of this technology became limitations on the continued growth and success of these businesses. Although data management technology wasn’t core to the businesses, it became essential for doing business. The ensuing internal investment in technical research resulted in many new experiments in data technology.
正如我们现在所知道的,许多著名的互联网公司,尤其是谷歌,亚马逊,雅虎和Facebook,他们冲在了这些爆炸性增长数据处理技术的前沿。其中一些公司的系统在生成这些数据,而另一些公司则是收集那些免费的数据, 而另一些是免费的。管理这些截然不同的数据集明显已经成为了公司处理业务的核心支撑。他们都开始通过当前的可用技术来建立自己的系统,但这些技术的局限性明显成为限制这些企业业务持续增长和成功的约束。尽管数据管理技术并不是企业的核心业务,但它已经成为了企业业务处理所必需的支撑,于是企业的内部技术研究性投资,促进了许多数据技术方面的新试验。
Although many companies kept their research closely guarded, Google chose to talk about its successes. The publications that shook things up were the Google File System and MapReduce papers. Taken together, these papers represented a novel approach to the storage and processing of data. Shortly thereafter, Google published the Bigtable paper, which provided a complement to the storage paradigm provided by its file system. Other companies built on this momentum, both the ideas and the habit of publishing their successful experiments. As Google’s publications provided insight into indexing the internet, Amazon published Dynamo, demystifying a fundamental component of the company’s shopping cart.
尽管许多公司继续严格保密自己的研究成果,但是谷歌选择了开放并探讨它的成果。它发行和出版了Google文件系统和MapReduce的论文。这些论文展示了数据存储和处理的新方法。此后不久,谷歌发表这篇Bigtable的论文,提供了一份关于它的存储文件系统的存储模式的范例。其他公司看到这样一种势头, 也开始展示他们的成功功经验与成果。谷歌的出版公司提供了互联网索引技术的细节内容,而亚马逊公司则公布了该公司购物车模块的一个神秘组成部分。
It didn’t take long for all these new ideas to begin condensing into open source implementations. In the years following, the data management space has come to host all manner of projects. Some focus on fast key-value stores, whereas others provide native data structures or document-based abstractions. Equally diverse are the intended access patterns and data volumes these technologies support. Some forego writing data to disk, sacrificing immediate persistence for performance. Most of these technologies don’t hold ACID guarantees as sacred. Although proprietary products do exist, the vast majority of the technologies are open source projects. Thus, these technologies as a collection have come to be known as NoSQL.
没过多久,所有这些新想法开始变成了开源实现。之后的几年里,源代码管理空间里托管了各种各样的这种类型的项目。一些专注于快速键值对存储功能,而另一些则提供原生的数据结构或基于文档的抽象存储功能。不同之处就在于这些技术支持不同的访问模式和数据量。一些技术选择放弃将数据实时写入磁盘,为了性能而牺牲了立即持久的特性。大部分的这些技术不再信奉ACID的约束。虽然这类技术有的是选择成为了专利产品,但绝大多数这类技术还是属于开放源码的项目。这些技术统称为NoSQL技术。
Where does HBase fit in? HBase does qualify as a NoSQL store. It provides a key value API, although with a twist not common in other key-value stores. It promises strong consistencyso clients can see data immediately after it’s written. HBase runs on multiple nodes in a cluster instead of on a single machine. It doesn’t expose this detail to its clients. Your application code doesn’t know if it’s talking to 1 node or 100, which makes things simpler for everyone. HBase is designed for terabytes to petabytes of data, so it optimizes for this use case. It’s a part of the Hadoop ecosystemand depends on some key features, such as data redundancy and batch processing, to be provided by other parts of Hadoop.
HBase的适合用于什么场景呢? HBase的确有资格称为NoSQL存储。它提供了一个键值对操作API,尽管与其他键值对存储系统不太一样。它提供了强一致性,客户端可以立即看到它刚写入后和数据。 HBase运行于多服务器节点的集群中,而不是在单台机器上。但它的客户端并不需要理会这个细节。客户端应用程序的代码根本不知道它是在和1个节点还是100个节点通讯,这使得大家使用起来感觉更简单。 HBase的是专为TB到PB级的数据而准备的,所以它针对这种场景做了专门的优化。它是Hadoop生态圈的一部分,并依赖于生态圈中的一些关键功能,例如,数据冗余和批量处理,这些关键功能是由Hadoop生态圈的其他部分提供的,而不是HBase本身所具备的。
Now that you have some context for the environment at large, let’s consider specifically the beginnings of HBase.
好,现在大家了解了大数据方面的一些来龙去脉了,那么让我们开始HBase的专项学习吧。
Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung, “The Google File System,” Google Research Publications, http://research.google.com/archive/gfs.html.
Jeffrey Dean and Sanjay Ghemawat, “MapReduce: Simplified Data Processing on Large Clusters,” Google Research Publications, http://research.google.com/archive/mapreduce.html.
Fay Chang et al., “Bigtable: A Distributed Storage System for Structured Data,” Google Research Publications, http://research.google.com/archive/bigtable.html.
Werner Vogels, “Amazon’s Dynamo,” All Things Distributed, www.allthingsdistributed.com/2007/10/amazons_dynamo.html.
桑杰 Ghemawat,霍华德Gobioff和舜德亮,“谷歌文件系统”,谷歌研究出版物,http://research.google.com/archive/gfs.html。
杰弗里·迪恩和桑杰 Ghemawat“MapReduce:简化数据处理的大型集群”,谷歌研究出版物,http://research.google.com/archive/mapreduce.html。
费伊Chang等人,“Bigtable:一个结构化数据的分布式存储系统”,谷歌研究出版物,http://research.google.com/archive/bigtable.html。
维尔纳·沃格尔,“亚马逊的发电机”,万物分布式出版社区,www.allthingsdistributed.com/2007/10/amazons_dynamo.html。