P2p, Fall 05 1 Querying the Internet with PIER (PIER = Peer-to-peer Information Exchange and Retrieval) VLDB 2003 Ryan Huebsch, Joe Hellerstein, Nick Lanham,

Slides:



Advertisements
Similar presentations
Implementing declarative overlays Boom Thau Loo Tyson Condie Joseph M. Hellerstein Petros Maniatis Timothy Roscoe Ion Stoica.
Advertisements

P2P data retrieval DHT (Distributed Hash Tables) Partially based on Hellerstein’s presentation at VLDB2004.
CS 245Notes 71 CS 245: Database System Principles Notes 7: Query Optimization Hector Garcia-Molina.
6.830 Lecture 9 10/1/2014 Join Algorithms. Database Internals Outline Front End Admission Control Connection Management (sql) Parser (parse tree) Rewriter.
Querying the Internet with PIER Article by: Ryan Huebsch, Joseph M. Hellerstein, Nick Lanham, Boon Thau Loo, Scott Shenker, Ion Stoica, 2003 EECS Computer.
Somdas Bandyopadhyay Anirban Basumallik
Database Management Systems 3ed, R. Ramakrishnan and Johannes Gehrke1 Evaluation of Relational Operations: Other Techniques Chapter 14, Part B.
The Architecture of PIER: an Internet-Scale Query Processor (PIER = Peer-to-peer Information Exchange and Retrieval) Ryan Huebsch Brent Chun, Joseph M.
1 HYRISE – A Main Memory Hybrid Storage Engine By: Martin Grund, Jens Krüger, Hasso Plattner, Alexander Zeier, Philippe Cudre-Mauroux, Samuel Madden, VLDB.
Query Evaluation. An SQL query and its RA equiv. Employees (sin INT, ename VARCHAR(20), rating INT, age REAL) Maintenances (sin INT, planeId INT, day.
BTrees & Bitmap Indexes
A Physical Query Algebra for DHT-based P2P Systems Kai-Uwe Sattler 1, Philipp Rösch 1, Erik Buchmann 2, Klemens Böhm 2 1 Department of Computer Science.
Sharing Aggregate Computation for Distributed Queries Ryan Huebsch, UC Berkeley Minos Garofalakis, Yahoo! Research † Joe Hellerstein, UC Berkeley Ion Stoica,
Querying the Internet with PIER (PIER = Peer-to-peer Information Exchange and Retrieval)
Freddies: DHT-Based Adaptive Query Processing via Federated Eddies Ryan Huebsch Shawn Jeffery CS Peer-to-Peer Systems 12/9/03.
1 PIER. 2 Presentation overview PIER Core functionality and design principles Core functionality and design principles Distributed join example. Distributed.
Object Naming & Content based Object Search 2/3/2003.
1 CS 194: Distributed Systems Distributed Hash Tables Scott Shenker and Ion Stoica Computer Science Division Department of Electrical Engineering and Computer.
Peer To Peer Distributed Systems Pete Keleher. Why Distributed Systems? l Aggregate resources! –memory –disk –CPU cycles l Proximity to physical stuff.
P2p, Fall 06 1 Querying the Internet with PIER (PIER = Peer-to-peer Information Exchange and Retrieval) VLDB 2003 Ryan Huebsch, Joe Hellerstein, Nick Lanham,
SIMULATING A MOBILE PEER-TO-PEER NETWORK Simo Sibakov Department of Communications and Networking (Comnet) Helsinki University of Technology Supervisor:
INTRODUCTION TO PEER TO PEER NETWORKS Z.M. Joseph CSE 6392 – DB Exploration Spring 2006 CSE, UT Arlington.
Querying the Internet with PIER (PIER = Peer-to-peer Information Exchange and Retrieval) Ryan Huebsch Joe Hellerstein, Nick Lanham, Boon Thau Loo, Timothy.
Complex Queries in DHT-based Peer-to-Peer Networks Matthew Harren, Joe Hellerstein, Ryan Huebsch, Boon Thau Loo, Scott Shenker, Ion Stoica
HBase A column-centered database 1. Overview An Apache project Influenced by Google’s BigTable Built on Hadoop ▫A distributed file system ▫Supports Map-Reduce.
An Integration Framework for Sensor Networks and Data Stream Management Systems.
A Metadata Based Approach For Supporting Subsetting Queries Over Parallel HDF5 Datasets Vignesh Santhanagopalan Graduate Student Department Of CSE.
PIER & PHI Overview of Challenges & Opportunities Ryan Huebsch † Joe Hellerstein † °, Boon Thau Loo †, Sam Mardanbeigi †, Scott Shenker †‡, Ion Stoica.
Querying the Internet with PIER (PIER = Peer-to-peer Information Exchange and Retrieval) Ryan Huebsch † Joe Hellerstein †, Nick Lanham †, Boon Thau Loo.
Ripple Joins for Online Aggregation by Peter J. Haas and Joseph M. Hellerstein published in June 1999 presented by Ronda Hilton.
Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications Xiaozhou Li COS 461: Computer Networks (precept 04/06/12) Princeton University.
Titanium/Java Performance Analysis Ryan Huebsch Group: Boon Thau Loo, Matt Harren Joe Hellerstein, Ion Stoica, Scott Shenker P I E R Peer-to-Peer.
Sensor Database System Sultan Alhazmi
Ripple Joins for Online Aggregation by Peter J. Haas and Joseph M. Hellerstein published in June 1999 presented by Nag Prajval B.C.
Peer-to-Peer Name Service (P2PNS) Ingmar Baumgart Institute of Telematics, Universität Karlsruhe IETF 70, Vancouver.
Resource Addressable Network (RAN) An Adaptive Peer-to-Peer Substrate for Internet-Scale Service Platforms RAN Concept & Design  Adaptive, self-organizing,
A Peer-to-Peer Approach to Resource Discovery in Grid Environments (in HPDC’02, by U of Chicago) Gisik Kwon Nov. 18, 2002.
An IP Address Based Caching Scheme for Peer-to-Peer Networks Ronaldo Alves Ferreira Joint work with Ananth Grama and Suresh Jagannathan Department of Computer.
REED: Robust, Efficient Filtering and Event Detection in Sensor Networks Daniel Abadi, Samuel Madden, Wolfgang Lindner MIT United States VLDB 2005.
The Replica Location Service The Globus Project™ And The DataGrid Project Copyright (c) 2002 University of Chicago and The University of Southern California.
Paper Survey of DHT Distributed Hash Table. Usages Directory service  Very little amount of information, such as URI, metadata, … Storage  Data, such.
MapReduce and Data Management Based on slides from Jimmy Lin’s lecture slides ( (licensed.
PIER: Peer-to-Peer Information Exchange and Retrieval Ryan Huebsch Joe Hellerstein, Nick Lanham, Boon Thau Loo, Scott Shenker, Ion Stoica
CS4432: Database Systems II Query Processing- Part 2.
Plethora: Infrastructure and System Design. Introduction Peer-to-Peer (P2P) networks: –Self-organizing distributed systems –Nodes receive and provide.
Querying The Internet With PIER Nitin Khandelwal.
1. Efficient Peer-to-Peer Lookup Based on a Distributed Trie 2. Complex Queries in DHT-based Peer-to-Peer Networks Lintao Liu 5/21/2002.
1 30 November 2006 An Efficient Nearest Neighbor (NN) Algorithm for Peer-to-Peer (P2P) Settings Ahmed Sabbir Arif Graduate Student, York University.
Minimizing Churn in Distributed Systems P. Brighten Godfrey, Scott Shenker, and Ion Stoica UC Berkeley SIGCOMM’06.
PIER ( Peer-to-Peer Information Exchange and Retrieval ) 30 March 07 Neha Singh.
LOOKING UP DATA IN P2P SYSTEMS Hari Balakrishnan M. Frans Kaashoek David Karger Robert Morris Ion Stoica MIT LCS.
MapReduce Joins Shalish.V.J. A Refresher on Joins A join is an operation that combines records from two or more data sets based on a field or set of fields,
Query Execution Query compiler Execution engine Index/record mgr. Buffer manager Storage manager storage User/ Application Query update Query execution.
Bigtable: A Distributed Storage System for Structured Data
Malugo – a scalable peer-to-peer storage system..
REED : Robust, Efficient Filtering and Event Detection in Sensor Network Daniel J. Abadi, Samuel Madden, Wolfgang Lindner Proceedings of the 31st VLDB.
Querying the Internet with PIER CS294-4 Paul Burstein 11/10/2003.
SQL and Query Execution for Aggregation. Example Instances Reserves Sailors Boats.
1 Overview of Query Evaluation Chapter Outline  Query Optimization Overview  Algorithm for Relational Operations.
1 VLDB, Background What is important for the user.
DATABASE OPERATORS AND SOLID STATE DRIVES Geetali Tyagi ( ) Mahima Malik ( ) Shrey Gupta ( ) Vedanshi Kataria ( )
COMP7330/7336 Advanced Parallel and Distributed Computing MapReduce - Introduction Dr. Xiao Qin Auburn University
Ryan Huebsch, Joseph M. Hellerstein, Ion Stoica, Nick Lanham, Boon Thau Loo, Scott Shenker Querying the Internet with PIER Speaker: Natalia KozlovaTutor:
Network Topologies for Scalable Multi-User Virtual Environments Lingrui Liang.
More SQL: Complex Queries, Triggers, Views, and Schema Modification
File System Structure How do I organize a disk into a file system?
CHAPTER 3 Architectures for Distributed Systems
Chapter 15 QUERY EXECUTION.
Physical Database Design
CS222P: Principles of Data Management Notes #13 Set operations, Aggregation, Query Plans Instructor: Chen Li.
Presentation transcript:

p2p, Fall 05 1 Querying the Internet with PIER (PIER = Peer-to-peer Information Exchange and Retrieval) VLDB 2003 Ryan Huebsch, Joe Hellerstein, Nick Lanham, Boon Thau Loo, Timothy Roscoe, Scott Shenker, Ion Stoica

p2p, Fall 05 2 What is PIER? A query engine that scales up to thousands of participating nodes = relational queries + DHT Built on top of a DHT Motivation, Why? In situ distributed querying (as opposed to warehousing) Network monitoring network intrusion detection: sharing and querying fingerprint information

p2p, Fall 05 3 Architecture DHT is divided into 3 modules:  Routing Layer  Storage Manager  Provider Goal is to make each simple and replaceable  In the paper, it is CAN, with d = 4 An instance of each DHT and PIER component runs at each participating node

p2p, Fall 05 4 Architecture Routing Layer API lookup(key) -> ippaddr join(landmark) leave() LocationMapChange() Callback used to notify higher levels asynchronously when a set of kwys mapped locally has changed

p2p, Fall 05 5 Architecture Storage Manager Temporary storage of DHT- based data Local database at each DHT node a simple in memory storage- system API store(key, item) retrieve(key) -> item remove(key)

p2p, Fall 05 6 Architecture Provider What PIER sees What are the data items (relations) handled by PIER?

p2p, Fall 05 7 Naming Scheme Each object: (namespace, resourceID, instanceID) Namespace: group, application the object belongs to In PIER, the Relation Name ResourceID: some semantic meaning In PIER, the value of the primary key for base tuples DHT key: hash on namespace, resourceID InstanceID: an integer randomly assigned by the user application Use by the storage manager to separate items

p2p, Fall 05 8 Soft State Each object associated with a lifetime: how long should the DHT store the object To extend it, must use periodical RENEW calls

p2p, Fall 05 9 Architecture Provider API get(namespace, resourceID) -> item put(namespace, resourceID, instanceID, item, lifetime) renew(namespace, resourceID, instanceID, item, lifetime) -> bool multicast(namespace, resourceID, item) Contacts all nodes that hold data in a particular namespace lscan(namespace) -> iterator Scan over all data stored locally newData(namespace) -> item Callback to the application to inform it that new data has arrived in a particular namespace

p2p, Fall Architecture  PIER currently only one primary module: the relational execution engine Executes a pre-optimized query plan Query plan is a box-and-arrow description of how to connect basic operators together –selection, projection, join, group-by/aggregation, and some DHT specific operators such as rehash Traditional DBs use an optimizer + catalog to take SQL and generate the query plan, those are “just” add-ons to PIER

p2p, Fall Joins: The Core of Query Processing R Join S, relations R and S stored in separate namespaces N R and N S How: –Get tuples that have the same value for a particular attribute(s) (the join attribute(s)) to the same site, then append tuples together Why Joins? A relational join can be used to calculate: –The intersection of two sets –Correlate information –Find matching data Algorithms come from existing database literature, minor adaptations to use DHT.

p2p, Fall Symmetric Hash Join (SHJ) Algorithm for each site –(Scan – Retrieve local data) Use two lscan calls to retrieve all data stored locally from the source tables –(Rehash based on the join attribute) put a copy of each eligible tuple with the hash key based on the value of the join attribute (new unique namespace N Q ) –(Listen) use newData and get to N Q to see the rehashed tuples –(Compute) Run standard one-site join algorithm on the tuples as they arrive Scan/Rehash steps must be run on all sites that store source data Listen/Compute steps can be run on fewer nodes by choosing the hash key differently

p2p, Fall Fetch Matches (FM) Algorithm for each site –(Scan) Use lscan to retrieve all data from ONE table N R –(Get) Based on the value for the join attribute, for each R tuple issue a get for the possible matching tuples from the S table Big picture: –SHJ is put based –FM is get based When one of the tables, say S is already hashed on the join attribute

p2p, Fall Joins: Additional Strategies Bloom Filters –Use of bloom filters can be used to reduce the amount of data rehashed in the SHJ Symmetric Semi-Join –Run a SHJ on the source data projected to only have the hash key and join attributes. –Use the results of this mini-join as source for two FM joins to retrieve the other attributes for tuples that are likely to be in the answer set Big Picture: –Tradeoff bandwidth (extra rehashing) for latency (time to exchange filters)

p2p, Fall Naïve Group-By/Aggregation A group-by/aggregation can be used to calculate: –Split data into groups based on value –Max, Min, Sum, Count, etc. Goal: –Get tuples that have the same value for a particular attribute(s) (group-by attribute(s)) to the same site, then summarize data (aggregation).

p2p, Fall Naïve Group-By/Aggregation At each site –(Scan) lscan the source table Determine group tuple belongs in Add tuple’s data to that group’s partial summary –(Rehash) for each group represented at the site, rehash the summary tuple with hash key based on group-by attribute –(Combine) use newData to get partial summaries, combine and produce final result after specified time, number of partial results, or rate of input Hierarchical Aggregation: Can add multiple layers of rehash/combine to reduce fan-in. –Subdivide groups in subgroups by randomly appending a number to the group’s key

p2p, Fall Naïve Group-By/Aggregation Sources Root Application Overlay Sources Root … Each message may take multiple hops Each level fewer nodes participate

p2p, Fall Codebase Approximately 17,600 lines of NCSS Java Code Same code (overlay components/pier) run on the simulator or over a real network without changes Runs simple simulations with up to 10k nodes –Limiting factor: 2GB addressable memory for the JVM (in Linux) Runs on Millennium and Planet Lab up to 64 nodes –Limiting factor: Available/working nodes & setup time Code: –Basic implementations of Chord and CAN –Selection, projection, joins (4 methods), and naïve aggregation. –Non-continuous queries

p2p, Fall Seems to scale Simulations of 1 SHJ Join Warehousing Full Parallelization

p2p, Fall Some real-world results 1 SHJ Join on Millennium Cluster