tailieunhanh - Large-scale Incremental Processing Using Distributed Transactions and Notifications

Query processing in the original TinyDB implementation works as follows. The query is input on the user’s PC, or basestation. This query is optimized to improve execution; currently, TinyDB only considers the order of selection predicates during optimization (as the existing version does not support joins). Once optimized, the query is translated into a sensor-network specific format and injected into the network via a gateway node. The query is sent to all nodes in the network using a simple broadcast flood (TinyDB also implements a form of epidemic query sharing which we do not discuss) | Large-scale Incremental Processing Using Distributed Transactions and Notifications Daniel Peng and Frank Dabek dpeng@ fdabek@ Google Inc. Abstract Updating an index of the web as documents are crawled requires continuously transforming a large repository of existing documents as new documents arrive. This task is one example of a class of data processing tasks that transform a large repository of data via small independent mutations. These tasks lie in a gap between the capabilities of existing infrastructure. Databases do not meet the storage or throughput requirements of these tasks Google s indexing system stores tens of petabytes of data and processes billions of updates per day on thousands of machines. MapReduce and other batch-processing systems cannot process small updates individually as they rely on creating large batches for efficiency. We have built Percolator a system for incrementally processing updates to a large data set and deployed it to create the Google web search index. By replacing a batch-based indexing system with an indexing system based on incremental processing using Percolator we process the same number of documents per day while reducing the average age of documents in Google search results by 50 . 1 Introduction Consider the task of building an index of the web that can be used to answer search queries. The indexing system starts by crawling every page on the web and processing them while maintaining a set of invariants on the index. For example if the same content is crawled under multiple URLs only the URL with the highest Page-Rank 28 appears in the index. Each link is also inverted so that the anchor text from each outgoing link is attached to the page the link points to. Link inversion must work across duplicates links to a duplicate of a page should be forwarded to the highest PageRank duplicate if necessary. This is a bulk-processing task that can be expressed as a series of MapReduce 13 operations one for .