Search is the act of locating information you care about: for example, searching for pages in a textbook that contain the topic you want to read about, or for web pages that have the information you’re looking for. Searching for documents containing particular terms requires looking up indexes that map terms to the documents that contain them. To enable search, you have to build these indexes. This is precisely what Google and other search engines do. Their document corpus is the entire internet; the search terms are whatever you type in the search box.

搜索是我们所关注的查找信息的行为:例如,在教科书中搜索包含您想阅读的主题的书页,或搜索含有你想寻找的信息的网页。搜索包含特定词的文件,是需要查询文档索引的,这些索引映射了词与文档的关系。要启用搜索,你必须先建立这些索引。谷歌和其他搜索引擎就正是这么做的。他们的文档语料库是整个互联网级的,搜索条件是你在搜索框中键入的任何内容。

http://www.uifanr.com/

Bigtable, and by extension HBase, provides storage for this corpus of documents. Bigtable supports row-level access so crawlers can insert and update documents individually. The search index can be generated efficiently via MapReduce directly against Bigtable. Individual document results can be retrieved directly. Support for all these access patterns was key in influencing the design of Bigtable. Figure 1.1 illustrates the critical role of Bigtable in the web-search application.

Bigtable和HBase为语料库中的文档提供了存储。 Bigtable支持行级的访问,以便抓取工具可以插入或更新单独的文档。搜索索引可以通过Bigtable提供的MapReduce而产生。特定的文档结果可以直接被检索出来。支持所有这些访问模式是决定Bigtable设计的关键。图1.1显示了Bigtable在网络搜索应用程序中的关键作用。

http://www.uifanr.com/

NOTE:In the interest of brevity, this look at Bigtable doesn’t do the original authors justice. We highly recommend the three papers on Google File System, MapReduce, and Bigtable as required reading for anyone curious about these technologies. You won’t be disappointed

注:为简便起见,这个看的Bigtable不做原作者正义。我们强烈建议任何好奇这些技术的人都阅读一下“谷歌文件系统”,“MapReduce”,和“Bigtable”这三篇论文。看过后,你一定不会感到失望的。

http://www.uifanr.com/

Figure 1.1 Providing web-search results using Bigtable, simplified. The crawlers—applications collecting web pages—store their data in Bigtable. A MapReduce process scans the table to produce the search  index. Search results are queried from Bigtable to display to the user.

1.Crawlers constantly scour the internet for new pages. Those pages are stored as individual records in Bigtable.

2.A MapReduce job runs over the entire table, generating search indexes for the web search application

3.The user initiates a web search request.

4.The web search application queries the search indexes and retries matching documents directly from Bigtable.

5.Search results are presented to the user.

图1.1 简单地了介绍了下基于Bigtable的网页搜索处理流程。爬虫是收集的网页的应用程序,把数据存储在Bigtable中。MapReduce进程扫描表来建立搜索索引。搜寻结果是从Bigtable中查询出来的,并显示给用户。

1. 爬虫们不断抓取互联网新的页面。这些网页都存储在Bigtable的文档记录。

2. MapReduce的作业运行在整个表上,为页面搜索应用程序生成搜索索引。

3. 用户发起网络页面搜索请求。

4. 网络页面搜索应用程序查询搜索索引,然后直接从Bigtable中找出匹配的文档。

5. 查询的结果返回并呈现给用户。

http://www.uifanr.com/

With the canonical HBase example covered, let’s look at other places where HBase has found purchase. The adoption of HBase has grown rapidly over the last couple of years. This has been fueled by the system becoming more reliable and performant, due in large part to the engineering effort invested by the various companies backing and using it. As more commercial vendors provide support, users are increasingly confident in using the system for critical applications. A technology designed to store a continuously updated copy of the internet turns out to be pretty good at other things internet-related. HBase has found a home filling a variety of roles in and around social-networking companies. From storing communications between individuals to communication analytics, HBase has become a critical infrastructure at Facebook, Twitter, and StumbleUpon, to name a few.

了解了典型的HBase应用案例后,让我们来看看其他有HBase市场的地方。在过去几年里,基于HBase的应用发展迅速。这带动了HBase系统变得更可靠,更高性能,这一变化在很大程度上是由于一些公司支持并使用它,为它投入了工程设计与开发的精力。随着越来越多的商业供应商对HBase提供支持,用户越来越有信心在关键应用系统里使用HBase。这一原来设计用来存储互联网不断更新的数据的技术,变得也适用其他的东西还不错互联网相关。 HBase的已经找到了家和周围的社交网络公司灌装各种角色。从存储个人通讯分析之间的通信,HBase的已成为在Facebook,Twitter的,和StumbleUpon一个重要的基础设施,仅举几例。

http://www.uifanr.com/

HBase has been used in three major types of use cases but it’s not limited to those. In the interest of keeping this chapter short and sweet, we’ll cover the major use cases here.

HBase的已被用于在用例3主要类型,但它并不局限于这些。为了保持这一章简短而亲切的利益,我们将在这里涵盖了主要的用例。

http://www.uifanr.com/

7.HBase In Action 第一章-HBase简介(1.2.1 典型的网络搜索问题:Bigtable的起原)的更多相关文章

  1. 1.HBase In Action 第一章-HBase简介(后续翻译中)

    This chapter covers ■ The origins of Hadoop, HBase, and NoSQL ■ Common use cases for HBase ■ A basic ...

  2. 8.HBase In Action 第一章-HBase简介(1.2.2 捕获增量数据)

    Data often trickles in and is added to an existing data store for further usage, such as analytics, ...

  3. 6.HBase In Action 第一章-HBase简介(1.2 HBase的使用场景和成功案例)

    Sometimes the best way to understand a software product is to look at how it's used. The kinds of pr ...

  4. 5.HBase In Action 第一章-HBase简介(1.1.3 HBase的兴起)

    Pretend that you're working on an open source project for searching the web by crawling websites and ...

  5. 4.HBase In Action 第一章-HBase简介(1.1.2 数据创新)

    As we now know, many prominent internet companies, most notably Google, Amazon, Yahoo!, and Facebook ...

  6. 3.HBase In Action 第一章-HBase简介(1.1.1 大数据你好呀)

    Let's take a closer look at the term Big Data. To be honest, it's become something of a loaded term, ...

  7. 2.HBase In Action 第一章-HBase简介(1.1数据管理系统:快速学习)

    Relational database systems have been around for a few decades and have been hugely successful in so ...

  8. 第一章 C++简介

    第一章  C++简介 1.1  C++特点 C++融合了3种不同的编程方式:C语言代表的过程性语言,C++在C语言基础上添加的类代表的面向对象语言,C++模板支持的泛型编程. 1.2  C语言及其编程 ...

  9. python 教程 第一章、 简介

    第一章. 简介 官方介绍: Python是一种简单易学,功能强大的编程语言,它有高效率的高层数据结构,简单而有效地实现面向对象编程.Python简洁的语法和对动态输入的支持,再加上解释性语言的本质,使 ...

随机推荐

  1. 利用JS实现手机访问PC网址自动跳转到wap网站

    方法一:使用百度siteapp中的js进行判断 <script src="http://siteapp.baidu.com/static/webappservice/uaredirec ...

  2. Effective Java 28 Use bounded wildcards to increase API flexibility

    Get and Put Principle PECS stands for producer-extends(? extends T), consumer-super(? super T). For ...

  3. MySQL之ALTER

    1:删除列 ALTER TABLE [表名字] DROP [列名称] 2:增加列 ALTER TABLE [表名字] ADD [列名称] INT NOT NULL COMMENT '注释说明' 3:修 ...

  4. linux中如何查看进程对应的cpu使用情况?

    使用ps aux | grep <进程名>即可查看指定进程的cpu使用情况.

  5. 获取bing每日图片

    http://global.bing.com/HPImageArchive.aspx?format=xml&idx=0&n=1&mkt=en-US 其中idx表示倒数第几张图片 ...

  6. Hadoop 2.0中单点故障解决方案总结

    Hadoop 1.0内核主要由两个分支组成:MapReduce和HDFS,众所周知,这两个系统的设计缺陷是单点故障,即MR的JobTracker和HDFS的NameNode两个核心服务均存在单点问题, ...

  7. selenium处理div生成弹框

    目前遇到的弹框有两种,一种是alert,一种是div,如果遇到div模拟的弹框,在用alert就不行了. 1. public static Alert getAlert(WebDriver dr) { ...

  8. 你知道的display的值有多少?用了多少?

    它的语法如下: display:none | inline | block | list-item | inline-block | table | inline-table | table-capt ...

  9. POJ 2387 Til the Cows Come Home --最短路模板题

    Dijkstra模板题,也可以用Floyd算法. 关于Dijkstra算法有两种写法,只有一点细节不同,思想是一样的. 写法1: #include <iostream> #include ...

  10. java8-3 多态的好处和弊端以及多态的理解

    多态的好处: A:提高了代码的维护性(继承保证) B:提高了代码的扩展性(由多态保证) 猫狗案例代码 class Animal { public void eat(){ System.out.prin ...