MonetDB/XQuery: High Performance, Purely Relational XQuery Processing

Size: px
Start display at page:

Download "MonetDB/XQuery: High Performance, Purely Relational XQuery Processing"

Transcription

1 ADT 7 Lecture 4 MonetDB/XQuery: High Performance, Purely Relational XQuery Processing xquery.org/ xquery.org/ Stefan Manegold Stefan.Manegold@cwi.nl

2 Schedule Last lecture (7.9.): RDBMS back-end support for XML/XQuery (/): Document Representation (XPath Accelerator, Pre/Post plane) XPath navigation (Staircase Join) ADT 7

3 Schedule Last lecture (7.9.): RDBMS back-end support for XML/XQuery (/): Document Representation (XPath Accelerator, Pre/Post plane) XPath navigation (Staircase Join) Today: XQuery to Relational Algebra Compiler: Item- & Sequence- Representation Efficient FLWoR Evaluation (Loop-Lifting) Optimization RDBMS back-end support for XML/XQuery (/): Updateable Document Representation ADT 7

4 4 Source Language: XQuery Core ADT 7

5 5 Target Language: Relational Algebra ADT 7

6 6 Sequence Representation sequence = table of items add pos column for maintaining order ignore polymorphism for the moment ADT 7

7 7 Sequence Representation Item sequences, sequence order Item (, x, <a/>, ) Problems: Pos Node Atom NULL NULL x pre(a) NULL 4 NULL Polymorphic columns Redundant storage Copy overhead (especially with strings) Pos Item X pre(a) 4 ADT 7

8 8 Item Representation Item sequences, sequence order Item (, x, <a/>, ) Pos Item X pre(a) 4 Pos Node Atom NULL NULL x pre(a) NULL 4 NULL Pos 4 Item Int Pos Item X pre(a) 4 x ADT 7

9 9 Iterations ADT 7

10 Iterations ADT 7

11 Iterations ADT 7

12 Iterations ADT 7

13 Loop Lifting ADT 7

14 4 Loop Lifting ADT 7

15 5 Loop Lifting ADT 7

16 6 Loop Lifting ADT 7

17 7 Deriving loop ADT 7

18 Nested Scopes 8 ADT 7

19 Nested Scopes 9 ADT 7

20 Loop lifting ADT 7

21 Full Example join calc project ADT 7

22 XQuery On SQL Hosts [VLDB4] XQuery Construct sequence construction if then else for loops calculations list functions, e.g. fn:first() element construction XPath steps Relational Mapping A union B select(cond=true,b) union select(a=false,c) cartesian product project(a,x=expr(y,..yn) select(a,pos=) updates in temporary tables staircase join ADT 7

23 XMark Query 8 let $auction := doc("auctions.xml") ret urn for $p in $auction/site/people/person let $a := for $t in $auction/site/ closed_auctions/closed_auction whe re $t/buyer/@person = $p/@id ret urn $t ret urn <item person="{$p/name/text()}"> {count($a)} </item> ADT 7

24 Peephole Optimization 4 [Grust, XIME P 5] ADT 7

25 Peephole Optimization 5 [Grust, XIME P 5] ADT 7

26 Peephole Optimization 6 [Grust, XIME P 5] ADT 7

27 Peephole Optimization 7 [Grust, XIME P 5] ADT 7

28 Peephole Optimization 8 [Grust, XIME P 5] ADT 7

29 Peephole Optimization 9 [Grust, XIME P 5] Plan simplification ADT 7

30 Peephole Optimization [Boncz et al., SIGMOD 6] Sort Avoidance generated by DENSE RANK pos ORDER BY pos PARTITION BY iter by tracking secondary ordering properties [po s it er], [Wang&Cherniack, VLDB ] iter pos item X Y Z A B C [iter,pos] ADT 7

31 Peephole Optimization [Boncz et al., SIGMOD 6] Sort Avoidance generated by DENSE RANK pos ORDER BY pos PARTITION BY iter by tracking secondary ordering properties [po s it er], [Wang&Cherniack, VLDB ] iter pos item X Y Z A B C iter pos item X Y Z A B C [iter,pos] ADT 7

32 Peephole Optimization [Boncz et al., SIGMOD 6] Sort Avoidance generated by DENSE RANK pos ORDER BY pos PARTITION BY iter by tracking secondary ordering properties [po s it er], [Wang&Cherniack, VLDB ] hash based (streaming) DENSE_RANK iter pos item X Z A Y B C iter pos item X Z A Y B C [pos iter] ADT 7

33 Peephole Optimization [Boncz et al., SIGMOD 6] Sort Avoidance generated by DENSE RANK pos ORDER BY pos PARTITION BY iter by tracking secondary ordering properties [po s it er], [Wang&Cherniack, VLDB ] hash based (streaming) DENSE_RANK ADT 7

34 4 Peephole Optimization [Boncz et al., SIGMOD 6] Sort Avoidance generated by DENSE RANK pos ORDER BY pos PARTITION BY iter by tracking secondary ordering properties [pos i ter], [Wang&Cherniack, VLDB ] hash based (streaming) DENSE_RANK Sort Reduction if [iter,item] order is required, and [iter] only is present use a refine sort rather than a full sort. pipelinable sort ADT 7

35 5 Peephole Optimization [Boncz et al., SIGMOD 6] Sort Avoidance generated by DENSE RANK pos ORDER BY pos PARTITION BY iter by tracking secondary ordering properties [it em i ter], [Wang&Cherniack, VLDB ] hash based (streaming) DENSE_RANK Sort Reduction if [iter,item] order is required, and [iter] only is present use a refine sort rather than a full sort. pipelinable sort Join Detection detect cartesian products as multi valued dependencies in the precense of a theta selection theta join ADT 7

36 6 Loop lifted XPath Steps Many algorithms have been proposed & studied for XPath evaluation: Dataguide based, Structural Join, Staircase Join, Holistic Twig Join IN: sequence of context nodes in (doc order) OUT: sequence of document nodes (unique, in doc order) ADT 7

37 Loop lifted XPath Steps 7 In XQuery, expressions generally occur inside FLWR blocks, i.e. inside a for loop fo r $x in do c()// emplo yee $x/ ances tor:: depar tment Choice: call XPath algorithm N times, accessing document and index structures N times. use a loop lifted algorithm: IN: for each iteration, a sequence of context nodes OUT: for each iteration, a sequence of document nodes (per iteration unique, in doc order) ADT 7

38 Staircase join 8 document List of context nodes ADT 7

39 9 Loop lifted staircase join document List of context nodes document Multiple lists of context nodes Active stack Adapt: pruning, partitioning and skipping rules to correctly deal with multiple context sets ADT 7

40 Loop lifted staircase join 4 Results on the XMark queries: ADT 7

41 4 Performance Evaluation Extensive performance Evaluation on XMark data sizes KB, MB, MB, MB,.GB, GB MonetDB/XQuery, Galax.6, X Hive 6., Berkeley DB XML., exist 8GB RAM Extensive XMark performance Literature Overview IPSI XQ v..b, Dynamic Interval Encoding, Kweelt, QuiP, FluX, TurboXPath, Timber, Qizx/Open (Version.4/p), Saxon (Version 8.), BEA/XQRL, VX Crude comparison (normalized by CPU SPECint) ADT 7

42 4 XMark Benchmark MB XML GB XML Galax X Hive Berkeley DB XML exist ADT 7

43 4 What is MonetDB? Main memory based DBMS backend/kernel Developed at CWI since 99 Query intensive applications Data mining Data warehousing / decision support Multi media information retrieval (text, images, audio, video, XML,...) XML databases GIS part of Data Distilleries' products CWI spin off company (>GB) databases at ABN Amro, Postbank, Ohra, Spaarbeleg, FBTO, Centerparcs, Vodafone Nowadays: part of SPSS ADT 7

44 44 MonetDB: Motivation (/) Relational DBMS dominate the scene Oracle, SQLserver, DB databases a solved problem? ADT 7

45 45 MonetDB: Motivation (/) Relational DBMS dominate the scene Oracle, SQLserver, DB databases a solved problem? No! Problems: performance new query intensive applications (data mining, et al) extensibility new applications (GIS,text,image,audio,video,XML) ADT 7

46 46 MonetDB: Motivation (/) are relational DBMS fit for the job? developed in end 97 s begin 98 s ADT 7

47 47 MonetDB: Motivation (/) are relational DBMS fit for the job? developed in end 97 s begin 98 s hardware has changed CPUs get faster but more vulnerable capacity and bandwidth follows Moore s law latency becomes a bottleneck (I/O and RAM) ADT 7

48 48 MonetDB: Motivation (/) are relational DBMS fit for the job? developed in end 97 s begin 98 s hardware has changed CPUs get faster but more vulnerable capacity and bandwidth follows Moore s law latency becomes a bottleneck (I/O and RAM) applications have changed RDBMS tuned for transaction processing not query intensive only business domain ADT 7

49 Transactions (OLTP) 49 ADT 7

50 OLAP, Data Mining 5 ADT 7

51 How is MonetDB Different 5 full vertical fragmentation: always! everything in binary ( column) tables saves you from table scan hell in OLAP and Data Mining the RISC approach to databases simple data model, simple query language don t need (to pay for) a buffer manager => manage virtual memory explicit transaction management => DIY approach to ACID CPU and memory cache optimized programming team experienced in main memory DBMS techniques use of scientific programming optimizations (loop unrolling) Cache conscious data structures and algorithms ADT 7

52 5 MonetDB: Shopping List A quantum leap in performance requires a quantum leap in technology (and risk) Better support for non administrative applications, using: Multi model database kernel support Extensible data types, operators, accelerators Database hot set is memory resident (but scale to TB) Use simple data structures Index management should be automatic Algebraic language as the computational model Query optimization = strategic + tactic + operational optimization Dynamic optimization, parallelism, JIT compile link run Cooperative (application) transaction management Do not replicate the operating system ADT 7

53 Storing Relations in MonetDB 5 ADT 7

54 Relational Mapping 54 ADT 7

55 Object Oriented Mapping 55 ADT 7

56 56 BAT Data Structure BAT: binary association table BUN: binary unit Hash tables, T trees, R trees,... BUN heap: consecutive memory block (array) memory mapped file ADT 7

57 BAT Storage Optimizations 57 Dense ascending sequence ADT 7

58 BAT Property Management 58 type (physical) type number enum enumerated type flag dense dense ascending range sorted ascending head sorting constant all equal values align unique sequence id key no duplicates on column set no duplicates in BAT hash accelerator flag Ttree accelerator flag mirrored head=tail value count cardinality ADT 7

59 59 XML/XQuery Updates ADT 7

60 6 XML/ XQuery Updates ADT 7

61 XML/XQuery Updates 6 ADT 7

62 XML/XQuery Updates 6 ADT 7

63 6 XML/ XQuery Updates Staircase Join ADT 7

64 64 XML Storage Revisited a b c d e f g h i j pre post pre size level post = pre + size level pre size level 5 null null null Allow holes rid size level nid 5 4 null null N N null null N N N4 N5 N6 N7 N8 N9 Define logical pages ADT 7

65 65 XML Storage Revisited a b c d e f g h i j pre post pre size level post = pre + size level pre size level 5 null null null Allow holes rid = pre.swizzle rid ( null null N N null null N6 N7 N8 N9 N N N4 N5 Define logical pages page map size level nid ) ADT 7

66 66 XML Storage Revisited Update friendly rid table is append only rid tuples may be unused rid = autoincrement column MonetDB: rid not stored but computed (virtual oid) allows positional lookup/join Opportunity currently not exploited by other RDBMS rid size level nid 5 4 null null N N null null N6 N7 N8 N9 N N N4 N5 Occurs widely in our XQuery translation. ADT 7

67 67 XML Storage Revisited Update friendly rid table is append only rid tuples may be unused rid = autoincrement column MonetDB: rid not stored but computed (virtual oid) allows positional lookup/join Opportunity currently not exploited by other RDBMS rid size level nid 5 4 null null N N null null N6 N7 N8 N9 N N N4 N5 Occurs widely in our XQuery translation. ADT 7

68 68 MonetDB/XQuery Our own XML DBMS with (almost..) full XQuery support. Built purely on an RDBMS, namely MonetDB Future: also middleware support (PP!!) in AmbientDB Pathfinder compiler & staircase join (see later): Technical University Munich (Torsten Grust, et al.) Technical University Twente (Maurice van Keulen, et. al.) MonetDB High Performance DBMS CWI Amsterdam (Peter Boncz, Stefan Manegold,...) Pathfinder Compiler Relational Algebra RDBMS Useful for: (MonetDB) Large XML databases! Querying XML annotations (multimedia, forensic NFI) XQuery ADT 7

69 Current Projects 69 Value indeces & runtime optimization Code freeze, release this week Algebraic Query Optimization Some released, most still in the development version Distributed XQuery PP XQuery SOAP group communication, XQuery RPC VLDB'7 [Zhang, Boncz] Benchmarking beyond XMark ExpDB'6 Workshop [Manegold] Support for XML Interval Annotations XIME P'6 Workshop [Alink et al.]... ADT 7

70 Conclusions 7 Relational approach can be scalable & fast MonetDB/XQuery compares favorably with all other available systems Techniques that made it work Property driven peephole optimization Order & other properties Loop lifted XPath steps Evaluate Sets of context nodes in a single pass Support for dense (autoincrement) keys Positional lookup Background Information & Literature xquery.org xquery.org ADT 7

MonetDB/XQuery (2/2): High-Performance, Purely Relational XQuery Processing

MonetDB/XQuery (2/2): High-Performance, Purely Relational XQuery Processing ADT 2010 MonetDB/XQuery (2/2): High-Performance, Purely Relational XQuery Processing http://pathfinder-xquery.org/ http://monetdb-xquery.org/ Stefan Manegold Stefan.Manegold@cwi.nl http://www.cwi.nl/~manegold/

More information

ADT 2010 ADT XQuery Updates in MonetDB/XQuery & Other Approaches to XQuery Processing

ADT 2010 ADT XQuery Updates in MonetDB/XQuery & Other Approaches to XQuery Processing 1 XQuery Updates in MonetDB/XQuery & Other Approaches to XQuery Processing Stefan Manegold Stefan.Manegold@cwi.nl http://www.cwi.nl/~manegold/ MonetDB/XQuery: Updates Schedule 9.11.1: RDBMS back-end support

More information

ADT 2009 Other Approaches to XQuery Processing

ADT 2009 Other Approaches to XQuery Processing Other Approaches to XQuery Processing Stefan Manegold Stefan.Manegold@cwi.nl http://www.cwi.nl/~manegold/ 12.11.2009: Schedule 2 RDBMS back-end support for XML/XQuery (1/2): Document Representation (XPath

More information

Pathfinder: XQuery Compilation Techniques for Relational Database Targets

Pathfinder: XQuery Compilation Techniques for Relational Database Targets EMPTY_FRAG SERIALIZE (item, pos) ROW# (pos:) (pos1, item) X (iter = iter1) ELEM (iter1, item:) (iter1, item1, pos) ROW# (pos:/iter1) (iter1, pos1, item1) access

More information

Pathfinder/MonetDB: A High-Performance Relational Runtime for XQuery

Pathfinder/MonetDB: A High-Performance Relational Runtime for XQuery Introduction Problems & Solutions Join Recognition Experimental Results Introduction GK Spring Workshop Waldau: Pathfinder/MonetDB: A High-Performance Relational Runtime for XQuery Database & Information

More information

INS. Information Systems. INformation Systems. Loop-lifted staircase join: from XPath to XQuery

INS. Information Systems. INformation Systems. Loop-lifted staircase join: from XPath to XQuery C e n t r u m v o o r W i s k u n d e e n I n f o r m a t i c a INS Information Systems INformation Systems Loop-lifted staircase join: from XPath to XQuery P.A. Boncz, T. Grust, M. van Keulen, S. Manegold,

More information

MonetDB: Open-source Columnar Database Technology Beyond Textbooks

MonetDB: Open-source Columnar Database Technology Beyond Textbooks MonetDB: Open-source Columnar Database Technology Beyond Textbooks http://wwwmonetdborg/ Stefan Manegold StefanManegold@cwinl http://homepagescwinl/~manegold/ >5k downloads per month Why? Why? Motivation

More information

A high performance database kernel for query-intensive applications. Peter Boncz

A high performance database kernel for query-intensive applications. Peter Boncz MonetDB: A high performance database kernel for query-intensive applications Peter Boncz CWI Amsterdam The Netherlands boncz@cwi.nl Contents The Architecture of MonetDB The MIL language with examples Where

More information

Part XVII. Staircase Join Tree-Aware Relational (X)Query Processing. Torsten Grust (WSI) Database-Supported XML Processors Winter 2008/09 440

Part XVII. Staircase Join Tree-Aware Relational (X)Query Processing. Torsten Grust (WSI) Database-Supported XML Processors Winter 2008/09 440 Part XVII Staircase Join Tree-Aware Relational (X)Query Processing Torsten Grust (WSI) Database-Supported XML Processors Winter 2008/09 440 Outline of this part 1 XPath Accelerator Tree aware relational

More information

Updating XML documents

Updating XML documents Grindei Manuela Lidia Updating XML documents XQuery Update XQuery is the a powerful functional language, which enables accessing different nodes of an XML document. However, updating could not be done

More information

Pathfinder: Compiling XQuery for Execution on the Monet Database Engine

Pathfinder: Compiling XQuery for Execution on the Monet Database Engine Pathfinder: Compiling XQuery for Execution on the Monet Database Engine Jens Teubner University of Konstanz Dept. of Computer & Information Science Box D 188, 78457 Konstanz, Germany teubner@inf.uni-konstanz.de

More information

Pathfinder: XQuery Compilation Techniques for Relational Database Targets

Pathfinder: XQuery Compilation Techniques for Relational Database Targets Pathfinder: XQuery Compilation Techniques for Relational Database Targets Jens Teubner Technische Universität München, Institut für Informatik jensteubner@intumde Abstract: Relational database systems

More information

Part XII. Mapping XML to Databases. Torsten Grust (WSI) Database-Supported XML Processors Winter 2008/09 321

Part XII. Mapping XML to Databases. Torsten Grust (WSI) Database-Supported XML Processors Winter 2008/09 321 Part XII Mapping XML to Databases Torsten Grust (WSI) Database-Supported XML Processors Winter 2008/09 321 Outline of this part 1 Mapping XML to Databases Introduction 2 Relational Tree Encoding Dead Ends

More information

Part V. Relational XQuery-Processing. Marc H. Scholl (DBIS, Uni KN) XML and Databases Winter 2007/08 297

Part V. Relational XQuery-Processing. Marc H. Scholl (DBIS, Uni KN) XML and Databases Winter 2007/08 297 Part V Relational XQuery-Processing Marc H Scholl (DBIS, Uni KN) XML and Databases Winter 2007/08 297 Outline of this part (I) 12 Mapping Relational Databases to XML Introduction Wrapping Tables into XML

More information

1 The size of the subtree rooted in node a is 5. 2 The leaf-to-root paths of nodes b, c meet in node d

1 The size of the subtree rooted in node a is 5. 2 The leaf-to-root paths of nodes b, c meet in node d Enhancing tree awareness 15. Staircase Join XPath Accelerator Tree aware relational XML resentation Tree awareness? 15. Staircase Join XPath Accelerator Tree aware relational XML resentation We now know

More information

Pathfinder/MonetDB: A Relational Runtime for XQuery

Pathfinder/MonetDB: A Relational Runtime for XQuery Master Thesis Pathfinder/MonetDB: A Relational Runtime for XQuery Jan Rittinger jan.rittinger@uni-konstanz.de University of Konstanz, Germany August 2005 Pathfinder/MonetDB: A Relational Runtime for XQuery

More information

Advanced Database Systems

Advanced Database Systems Lecture IV Query Processing Kyumars Sheykh Esmaili Basic Steps in Query Processing 2 Query Optimization Many equivalent execution plans Choosing the best one Based on Heuristics, Cost Will be discussed

More information

Architecture-Conscious Database Systems

Architecture-Conscious Database Systems Architecture-Conscious Database Systems 2009 VLDB Summer School Shanghai Peter Boncz (CWI) Sources Thank You! l l l l Database Architectures for New Hardware VLDB 2004 tutorial, Anastassia Ailamaki Query

More information

XQuery Optimization in Relational Database Systems

XQuery Optimization in Relational Database Systems XQuery Optimization in Relational Database Systems Riham Abdel Kader Supervised by Maurice van Keulen Univeristy of Twente P.O. Box 217 7500 AE Enschede, The Netherlands r.abdelkader@utwente.nl ABSTRACT

More information

BDCC: Exploiting Fine-Grained Persistent Memories for OLAP. Peter Boncz

BDCC: Exploiting Fine-Grained Persistent Memories for OLAP. Peter Boncz BDCC: Exploiting Fine-Grained Persistent Memories for OLAP Peter Boncz NVRAM System integration: NVMe: block devices on the PCIe bus NVDIMM: persistent RAM, byte-level access Low latency Lower than Flash,

More information

Pushing XPath Accelerator to its Limits

Pushing XPath Accelerator to its Limits 1st International Workshop on Performance and Evaluation of Data Management Systems EXPDB 2006, June 30 Pushing XPath Accelerator to its Limits Christian Grün, Marc Kramis Alexander Holupirek, Marc H.

More information

Advanced Database Systems

Advanced Database Systems Lecture II Storage Layer Kyumars Sheykh Esmaili Course s Syllabus Core Topics Storage Layer Query Processing and Optimization Transaction Management and Recovery Advanced Topics Cloud Computing and Web

More information

Performance Optimization for Informatica Data Services ( Hotfix 3)

Performance Optimization for Informatica Data Services ( Hotfix 3) Performance Optimization for Informatica Data Services (9.5.0-9.6.1 Hotfix 3) 1993-2015 Informatica Corporation. No part of this document may be reproduced or transmitted in any form, by any means (electronic,

More information

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe CHAPTER 19 Query Optimization Introduction Query optimization Conducted by a query optimizer in a DBMS Goal: select best available strategy for executing query Based on information available Most RDBMSs

More information

XML Systems & Benchmarks

XML Systems & Benchmarks XML Systems & Benchmarks Christoph Staudt Peter Chiv Saarland University, Germany July 1st, 2003 Main Goals of our talk Part I Show up how databases and XML come together Make clear the problems that arise

More information

Final Exam Review 2. Kathleen Durant CS 3200 Northeastern University Lecture 23

Final Exam Review 2. Kathleen Durant CS 3200 Northeastern University Lecture 23 Final Exam Review 2 Kathleen Durant CS 3200 Northeastern University Lecture 23 QUERY EVALUATION PLAN Representation of a SQL Command SELECT {DISTINCT} FROM {WHERE

More information

(Storage System) Access Methods Buffer Manager

(Storage System) Access Methods Buffer Manager 6.830 Lecture 5 9/20/2017 Project partners due next Wednesday. Lab 1 due next Monday start now!!! Recap Anatomy of a database system Major Components: Admission Control Connection Management ---------------------------------------(Query

More information

Systems Infrastructure for Data Science. Web Science Group Uni Freiburg WS 2014/15

Systems Infrastructure for Data Science. Web Science Group Uni Freiburg WS 2014/15 Systems Infrastructure for Data Science Web Science Group Uni Freiburg WS 2014/15 Lecture X: Parallel Databases Topics Motivation and Goals Architectures Data placement Query processing Load balancing

More information

11. XML storage details Introduction Last Lecture Introduction Introduction. XML Databases XML storage details

11. XML storage details Introduction Last Lecture Introduction Introduction. XML Databases XML storage details XML Databases Silke Eckstein Andreas Kupfer Institut für Informationssysteme Technische Universität Braunschweig http://www.ifis.cs.tu-bs.de 2 11.1 Last Lecture Different methods for storage of XML documents

More information

Introduction to Query Processing and Query Optimization Techniques. Copyright 2011 Ramez Elmasri and Shamkant Navathe

Introduction to Query Processing and Query Optimization Techniques. Copyright 2011 Ramez Elmasri and Shamkant Navathe Introduction to Query Processing and Query Optimization Techniques Outline Translating SQL Queries into Relational Algebra Algorithms for External Sorting Algorithms for SELECT and JOIN Operations Algorithms

More information

Compression of the Stream Array Data Structure

Compression of the Stream Array Data Structure Compression of the Stream Array Data Structure Radim Bača and Martin Pawlas Department of Computer Science, Technical University of Ostrava Czech Republic {radim.baca,martin.pawlas}@vsb.cz Abstract. In

More information

XML Databases 11. XML storage details

XML Databases 11. XML storage details XML Databases 11. XML storage details Silke Eckstein Andreas Kupfer Institut für Informationssysteme Technische Universität Braunschweig http://www.ifis.cs.tu-bs.de 11. XML storage details 11.1 Introduction

More information

User Perspective. Module III: System Perspective. Module III: Topics Covered. Module III Overview of Storage Structures, QP, and TM

User Perspective. Module III: System Perspective. Module III: Topics Covered. Module III Overview of Storage Structures, QP, and TM Module III Overview of Storage Structures, QP, and TM Sharma Chakravarthy UT Arlington sharma@cse.uta.edu http://www2.uta.edu/sharma base Management Systems: Sharma Chakravarthy Module I Requirements analysis

More information

Advanced Database Systems

Advanced Database Systems Advanced Database Systems DBMS Internals Data structures and algorithms to implement RDBMS Internals of non relational data management systems Why to take this course? To understand the strengths and weaknesses

More information

PS2 out today. Lab 2 out today. Lab 1 due today - how was it?

PS2 out today. Lab 2 out today. Lab 1 due today - how was it? 6.830 Lecture 7 9/25/2017 PS2 out today. Lab 2 out today. Lab 1 due today - how was it? Project Teams Due Wednesday Those of you who don't have groups -- send us email, or hand in a sheet with just your

More information

Hash Joins for Multi-core CPUs. Benjamin Wagner

Hash Joins for Multi-core CPUs. Benjamin Wagner Hash Joins for Multi-core CPUs Benjamin Wagner Joins fundamental operator in query processing variety of different algorithms many papers publishing different results main question: is tuning to modern

More information

In-Memory Data Management Jens Krueger

In-Memory Data Management Jens Krueger In-Memory Data Management Jens Krueger Enterprise Platform and Integration Concepts Hasso Plattner Intitute OLTP vs. OLAP 2 Online Transaction Processing (OLTP) Organized in rows Online Analytical Processing

More information

Chapter 12: Query Processing

Chapter 12: Query Processing Chapter 12: Query Processing Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Overview Chapter 12: Query Processing Measures of Query Cost Selection Operation Sorting Join

More information

Rajiv GandhiCollegeof Engineering& Technology, Kirumampakkam.Page 1 of 10

Rajiv GandhiCollegeof Engineering& Technology, Kirumampakkam.Page 1 of 10 Rajiv GandhiCollegeof Engineering& Technology, Kirumampakkam.Page 1 of 10 RAJIV GANDHI COLLEGE OF ENGINEERING & TECHNOLOGY, KIRUMAMPAKKAM-607 402 DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING QUESTION BANK

More information

XML Query Processing. Announcements (March 31) Overview. CPS 216 Advanced Database Systems. Course project milestone 2 due today

XML Query Processing. Announcements (March 31) Overview. CPS 216 Advanced Database Systems. Course project milestone 2 due today XML Query Processing CPS 216 Advanced Database Systems Announcements (March 31) 2 Course project milestone 2 due today Hardcopy in class or otherwise email please I will be out of town next week No class

More information

Data Modeling and Databases Ch 10: Query Processing - Algorithms. Gustavo Alonso Systems Group Department of Computer Science ETH Zürich

Data Modeling and Databases Ch 10: Query Processing - Algorithms. Gustavo Alonso Systems Group Department of Computer Science ETH Zürich Data Modeling and Databases Ch 10: Query Processing - Algorithms Gustavo Alonso Systems Group Department of Computer Science ETH Zürich Transactions (Locking, Logging) Metadata Mgmt (Schema, Stats) Application

More information

The Internals of the Monet Database

The Internals of the Monet Database Bogdan Dumitriu Lee Provoost Department of Computer Science University of Utrecht June 6, 2005 Outline 1 Classical databases Monet database 2 3 Classical databases Classical databases Monet database Most

More information

Database Architectures

Database Architectures Database Architectures CPS352: Database Systems Simon Miner Gordon College Last Revised: 4/15/15 Agenda Check-in Parallelism and Distributed Databases Technology Research Project Introduction to NoSQL

More information

Performance Issues and Query Optimization in Monet

Performance Issues and Query Optimization in Monet Performance Issues and Query Optimization in Monet Stefan Manegold Stefan.Manegold@cwi.nl 1 Contents Modern Computer Architecture: CPU & Memory system Consequences for DBMS - Data structures: vertical

More information

Accelerating Foreign-Key Joins using Asymmetric Memory Channels

Accelerating Foreign-Key Joins using Asymmetric Memory Channels Accelerating Foreign-Key Joins using Asymmetric Memory Channels Holger Pirk Stefan Manegold Martin Kersten holger@cwi.nl manegold@cwi.nl mk@cwi.nl Why? Trivia: Joins are important But: Many Joins are (Indexed)

More information

Data Modeling and Databases Ch 9: Query Processing - Algorithms. Gustavo Alonso Systems Group Department of Computer Science ETH Zürich

Data Modeling and Databases Ch 9: Query Processing - Algorithms. Gustavo Alonso Systems Group Department of Computer Science ETH Zürich Data Modeling and Databases Ch 9: Query Processing - Algorithms Gustavo Alonso Systems Group Department of Computer Science ETH Zürich Transactions (Locking, Logging) Metadata Mgmt (Schema, Stats) Application

More information

CompSci 516 Database Systems

CompSci 516 Database Systems CompSci 516 Database Systems Lecture 20 NoSQL and Column Store Instructor: Sudeepa Roy Duke CS, Fall 2018 CompSci 516: Database Systems 1 Reading Material NOSQL: Scalable SQL and NoSQL Data Stores Rick

More information

Query Processing & Optimization

Query Processing & Optimization Query Processing & Optimization 1 Roadmap of This Lecture Overview of query processing Measures of Query Cost Selection Operation Sorting Join Operation Other Operations Evaluation of Expressions Introduction

More information

CMSC424: Database Design. Instructor: Amol Deshpande

CMSC424: Database Design. Instructor: Amol Deshpande CMSC424: Database Design Instructor: Amol Deshpande amol@cs.umd.edu Databases Data Models Conceptual representa1on of the data Data Retrieval How to ask ques1ons of the database How to answer those ques1ons

More information

Hardware Acceleration for Database Systems using Content Addressable Memories

Hardware Acceleration for Database Systems using Content Addressable Memories Hardware Acceleration for Database Systems using Content Addressable Memories Nagender Bandi, Sam Schneider, Divyakant Agrawal, Amr El Abbadi University of California, Santa Barbara Overview The Memory

More information

Chapter 12: Query Processing. Chapter 12: Query Processing

Chapter 12: Query Processing. Chapter 12: Query Processing Chapter 12: Query Processing Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Chapter 12: Query Processing Overview Measures of Query Cost Selection Operation Sorting Join

More information

Chapter 13: Query Processing

Chapter 13: Query Processing Chapter 13: Query Processing! Overview! Measures of Query Cost! Selection Operation! Sorting! Join Operation! Other Operations! Evaluation of Expressions 13.1 Basic Steps in Query Processing 1. Parsing

More information

Query Processing. Debapriyo Majumdar Indian Sta4s4cal Ins4tute Kolkata DBMS PGDBA 2016

Query Processing. Debapriyo Majumdar Indian Sta4s4cal Ins4tute Kolkata DBMS PGDBA 2016 Query Processing Debapriyo Majumdar Indian Sta4s4cal Ins4tute Kolkata DBMS PGDBA 2016 Slides re-used with some modification from www.db-book.com Reference: Database System Concepts, 6 th Ed. By Silberschatz,

More information

Column Stores vs. Row Stores How Different Are They Really?

Column Stores vs. Row Stores How Different Are They Really? Column Stores vs. Row Stores How Different Are They Really? Daniel J. Abadi (Yale) Samuel R. Madden (MIT) Nabil Hachem (AvantGarde) Presented By : Kanika Nagpal OUTLINE Introduction Motivation Background

More information

In-Memory Data Management

In-Memory Data Management In-Memory Data Management Martin Faust Research Assistant Research Group of Prof. Hasso Plattner Hasso Plattner Institute for Software Engineering University of Potsdam Agenda 2 1. Changed Hardware 2.

More information

Chapter 12: Query Processing

Chapter 12: Query Processing Chapter 12: Query Processing Overview Catalog Information for Cost Estimation $ Measures of Query Cost Selection Operation Sorting Join Operation Other Operations Evaluation of Expressions Transformation

More information

Main-Memory Databases 1 / 25

Main-Memory Databases 1 / 25 1 / 25 Motivation Hardware trends Huge main memory capacity with complex access characteristics (Caches, NUMA) Many-core CPUs SIMD support in CPUs New CPU features (HTM) Also: Graphic cards, FPGAs, low

More information

Column-Oriented Database Systems. Liliya Rudko University of Helsinki

Column-Oriented Database Systems. Liliya Rudko University of Helsinki Column-Oriented Database Systems Liliya Rudko University of Helsinki 2 Contents 1. Introduction 2. Storage engines 2.1 Evolutionary Column-Oriented Storage (ECOS) 2.2 HYRISE 3. Database management systems

More information

CIS 601 Graduate Seminar. Dr. Sunnie S. Chung Dhruv Patel ( ) Kalpesh Sharma ( )

CIS 601 Graduate Seminar. Dr. Sunnie S. Chung Dhruv Patel ( ) Kalpesh Sharma ( ) Guide: CIS 601 Graduate Seminar Presented By: Dr. Sunnie S. Chung Dhruv Patel (2652790) Kalpesh Sharma (2660576) Introduction Background Parallel Data Warehouse (PDW) Hive MongoDB Client-side Shared SQL

More information

XML and Databases. Outline. Outline - Lectures. Outline - Assignments. from Lecture 3 : XPath. Sebastian Maneth NICTA and UNSW

XML and Databases. Outline. Outline - Lectures. Outline - Assignments. from Lecture 3 : XPath. Sebastian Maneth NICTA and UNSW Outline XML and Databases Lecture 10 XPath Evaluation using RDBMS 1. Recall / encoding 2. XPath with //,, @, and text() 3. XPath with / and -sibling: use / size / level encoding Sebastian Maneth NICTA

More information

11. XML storage details Introduction Introduction Introduction Introduction. XML Databases XML storage details

11. XML storage details Introduction Introduction Introduction Introduction. XML Databases XML storage details XML Databases Silke Eckstein Andreas Kupfer Institut für Informationssysteme Technische Universität Braunschweig http://www.ifis.cs.tu-bs.de 11.3 Path-based XPath Accelerator encoding 11.6 Staircase join

More information

! A relational algebra expression may have many equivalent. ! Cost is generally measured as total elapsed time for

! A relational algebra expression may have many equivalent. ! Cost is generally measured as total elapsed time for Chapter 13: Query Processing Basic Steps in Query Processing! Overview! Measures of Query Cost! Selection Operation! Sorting! Join Operation! Other Operations! Evaluation of Expressions 1. Parsing and

More information

Chapter 13: Query Processing Basic Steps in Query Processing

Chapter 13: Query Processing Basic Steps in Query Processing Chapter 13: Query Processing Basic Steps in Query Processing! Overview! Measures of Query Cost! Selection Operation! Sorting! Join Operation! Other Operations! Evaluation of Expressions 1. Parsing and

More information

DB Wide Table Storage. Summer Torsten Grust Universität Tübingen, Germany

DB Wide Table Storage. Summer Torsten Grust Universität Tübingen, Germany DB 2 01 03 Wide Table Storage Summer 2018 Torsten Grust Universität Tübingen, Germany 1 Q₂ Querying a Wider Table 02 The next SQL probe Q₂ looks just Q₁. We query a wider table now, however: SELECT t.*

More information

Efficient XQuery Support for Stand-Off Annotation

Efficient XQuery Support for Stand-Off Annotation Efficient XQuery Support for Stand-Off Annotation Wouter Alink Raoul Bhoedjang Nederlands Forensisch Instituut Laan van Ypenburg 6, 2497 GB The Hague, the Netherlands {wouter,raoul}@holmes.nl Arjen de

More information

Something to think about. Problems. Purpose. Vocabulary. Query Evaluation Techniques for large DB. Part 1. Fact:

Something to think about. Problems. Purpose. Vocabulary. Query Evaluation Techniques for large DB. Part 1. Fact: Query Evaluation Techniques for large DB Part 1 Fact: While data base management systems are standard tools in business data processing they are slowly being introduced to all the other emerging data base

More information

XML and Databases. Lecture 10 XPath Evaluation using RDBMS. Sebastian Maneth NICTA and UNSW

XML and Databases. Lecture 10 XPath Evaluation using RDBMS. Sebastian Maneth NICTA and UNSW XML and Databases Lecture 10 XPath Evaluation using RDBMS Sebastian Maneth NICTA and UNSW CSE@UNSW -- Semester 1, 2009 Outline 1. Recall pre / post encoding 2. XPath with //, ancestor, @, and text() 3.

More information

Announcements (March 31) XML Query Processing. Overview. Navigational processing in Lore. Navigational plans in Lore

Announcements (March 31) XML Query Processing. Overview. Navigational processing in Lore. Navigational plans in Lore Announcements (March 31) 2 XML Query Processing PS 216 Advanced Database Systems ourse project milestone 2 due today Hardcopy in class or otherwise email please I will be out of town next week No class

More information

Meet the Walkers! Accelerating Index Traversals for In-Memory Databases"

Meet the Walkers! Accelerating Index Traversals for In-Memory Databases Meet the Walkers! Accelerating Index Traversals for In-Memory Databases Onur Kocberber Boris Grot, Javier Picorel, Babak Falsafi, Kevin Lim, Parthasarathy Ranganathan Our World is Data-Driven! Data resides

More information

Introduction to Spatial Database Systems

Introduction to Spatial Database Systems Introduction to Spatial Database Systems by Cyrus Shahabi from Ralf Hart Hartmut Guting s VLDB Journal v3, n4, October 1994 Data Structures & Algorithms 1. Implementation of spatial algebra in an integrated

More information

Datenbanksysteme II: Modern Hardware. Stefan Sprenger November 23, 2016

Datenbanksysteme II: Modern Hardware. Stefan Sprenger November 23, 2016 Datenbanksysteme II: Modern Hardware Stefan Sprenger November 23, 2016 Content of this Lecture Introduction to Modern Hardware CPUs, Cache Hierarchy Branch Prediction SIMD NUMA Cache-Sensitive Skip List

More information

THE ATLAS DISTRIBUTED DATA MANAGEMENT SYSTEM & DATABASES

THE ATLAS DISTRIBUTED DATA MANAGEMENT SYSTEM & DATABASES 1 THE ATLAS DISTRIBUTED DATA MANAGEMENT SYSTEM & DATABASES Vincent Garonne, Mario Lassnig, Martin Barisits, Thomas Beermann, Ralph Vigne, Cedric Serfon Vincent.Garonne@cern.ch ph-adp-ddm-lab@cern.ch XLDB

More information

Algorithms for Query Processing and Optimization. 0. Introduction to Query Processing (1)

Algorithms for Query Processing and Optimization. 0. Introduction to Query Processing (1) Chapter 19 Algorithms for Query Processing and Optimization 0. Introduction to Query Processing (1) Query optimization: The process of choosing a suitable execution strategy for processing a query. Two

More information

R & G Chapter 13. Implementation of single Relational Operations Choices depend on indexes, memory, stats, Joins Blocked nested loops:

R & G Chapter 13. Implementation of single Relational Operations Choices depend on indexes, memory, stats, Joins Blocked nested loops: Relational Query Optimization R & G Chapter 13 Review Implementation of single Relational Operations Choices depend on indexes, memory, stats, Joins Blocked nested loops: simple, exploits extra memory

More information

Chapter 8: Working With Databases & Tables

Chapter 8: Working With Databases & Tables Chapter 8: Working With Databases & Tables o Working with Databases & Tables DDL Component of SQL Databases CREATE DATABASE class; o Represented as directories in MySQL s data storage area o Can t have

More information

Data Blocks: Hybrid OLTP and OLAP on compressed storage

Data Blocks: Hybrid OLTP and OLAP on compressed storage Data Blocks: Hybrid OLTP and OLAP on compressed storage Ben Brümmer Technische Universität München Fürstenfeldbruck, 26. November 208 Ben Brümmer 26..8 Lehrstuhl für Datenbanksysteme Problem HDD/Archive/Tape-Storage

More information

Principles of Data Management. Lecture #9 (Query Processing Overview)

Principles of Data Management. Lecture #9 (Query Processing Overview) Principles of Data Management Lecture #9 (Query Processing Overview) Instructor: Mike Carey mjcarey@ics.uci.edu Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Today s Notable News v Midterm

More information

Track Join. Distributed Joins with Minimal Network Traffic. Orestis Polychroniou! Rajkumar Sen! Kenneth A. Ross

Track Join. Distributed Joins with Minimal Network Traffic. Orestis Polychroniou! Rajkumar Sen! Kenneth A. Ross Track Join Distributed Joins with Minimal Network Traffic Orestis Polychroniou Rajkumar Sen Kenneth A. Ross Local Joins Algorithms Hash Join Sort Merge Join Index Join Nested Loop Join Spilling to disk

More information

Databasesystemer, forår 2005 IT Universitetet i København. Forelæsning 8: Database effektivitet. 31. marts Forelæser: Rasmus Pagh

Databasesystemer, forår 2005 IT Universitetet i København. Forelæsning 8: Database effektivitet. 31. marts Forelæser: Rasmus Pagh Databasesystemer, forår 2005 IT Universitetet i København Forelæsning 8: Database effektivitet. 31. marts 2005 Forelæser: Rasmus Pagh Today s lecture Database efficiency Indexing Schema tuning 1 Database

More information

XQuery Implementation Paradigms (06472)

XQuery Implementation Paradigms (06472) Executive Summary of Dagstuhl Seminar XQuery Implementation Paradigms (06472) Nov 19 22, 2006 Organizers: Peter A. Boncz (CWI Amsterdam, NL) Torsten Grust (TU München, DE) Jérôme Siméon (IBM TJ Watson

More information

Crescando: Predictable Performance for Unpredictable Workloads

Crescando: Predictable Performance for Unpredictable Workloads Crescando: Predictable Performance for Unpredictable Workloads G. Alonso, D. Fauser, G. Giannikis, D. Kossmann, J. Meyer, P. Unterbrunner Amadeus S.A. ETH Zurich, Systems Group (Funded by Enterprise Computing

More information

2.2.01c. Machine architecture (by capacity)

2.2.01c. Machine architecture (by capacity) 2.2. Internals In this lecture we look at... 2.2.01. Introduction Database internals (base tier) RAID technology Reliability and performance improvement Record and field basics Headers to hashing Index

More information

Course Outline. SQL Server Performance & Tuning For Developers. Course Description: Pre-requisites: Course Content: Performance & Tuning.

Course Outline. SQL Server Performance & Tuning For Developers. Course Description: Pre-requisites: Course Content: Performance & Tuning. SQL Server Performance & Tuning For Developers Course Description: The objective of this course is to provide senior database analysts and developers with a good understanding of SQL Server Architecture

More information

Chapter 3. Algorithms for Query Processing and Optimization

Chapter 3. Algorithms for Query Processing and Optimization Chapter 3 Algorithms for Query Processing and Optimization Chapter Outline 1. Introduction to Query Processing 2. Translating SQL Queries into Relational Algebra 3. Algorithms for External Sorting 4. Algorithms

More information

XML Data Stream Processing: Extensions to YFilter

XML Data Stream Processing: Extensions to YFilter XML Data Stream Processing: Extensions to YFilter Shaolei Feng and Giridhar Kumaran January 31, 2007 Abstract Running XPath queries on XML data steams is a challenge. Current approaches that store the

More information

What happens. 376a. Database Design. Execution strategy. Query conversion. Next. Two types of techniques

What happens. 376a. Database Design. Execution strategy. Query conversion. Next. Two types of techniques 376a. Database Design Dept. of Computer Science Vassar College http://www.cs.vassar.edu/~cs376 Class 16 Query optimization What happens Database is given a query Query is scanned - scanner creates a list

More information

CSE 544, Winter 2009, Final Examination 11 March 2009

CSE 544, Winter 2009, Final Examination 11 March 2009 CSE 544, Winter 2009, Final Examination 11 March 2009 Rules: Open books and open notes. No laptops or other mobile devices. Calculators allowed. Please write clearly. Relax! You are here to learn. Question

More information

DBMS Lesson Plan. Name of the faculty: Ms. Kavita. Discipline: CSE. Semester: IV (January-April 2018) Subject: DBMS (CSE 202-F)

DBMS Lesson Plan. Name of the faculty: Ms. Kavita. Discipline: CSE. Semester: IV (January-April 2018) Subject: DBMS (CSE 202-F) DBMS Lesson Plan Name of the faculty: Ms. Kavita Discipline: CSE Semester: IV (January-April 2018) Subject: DBMS (CSE 202-F) Week No Lecture Day Topic (including assignment/test) 1 1 Introduction to Database

More information

MaanavaN.Com DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING QUESTION BANK

MaanavaN.Com DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING QUESTION BANK CS1301 DATABASE MANAGEMENT SYSTEM DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING QUESTION BANK Sub code / Subject: CS1301 / DBMS Year/Sem : III / V UNIT I INTRODUCTION AND CONCEPTUAL MODELLING 1. Define

More information

Database Systems and Modern CPU Architecture

Database Systems and Modern CPU Architecture Database Systems and Modern CPU Architecture Prof. Dr. Torsten Grust Winter Term 2006/07 Hard Disk 2 RAM Administrativa Lecture hours (@ MI HS 2): Monday, 09:15 10:00 Tuesday, 14:15 15:45 No lectures on

More information

Performance in the Multicore Era

Performance in the Multicore Era Performance in the Multicore Era Gustavo Alonso Systems Group -- ETH Zurich, Switzerland Systems Group Enterprise Computing Center Performance in the multicore era 2 BACKGROUND - SWISSBOX SwissBox: An

More information

The Google File System

The Google File System The Google File System Sanjay Ghemawat, Howard Gobioff and Shun Tak Leung Google* Shivesh Kumar Sharma fl4164@wayne.edu Fall 2015 004395771 Overview Google file system is a scalable distributed file system

More information

SQL QUERY EVALUATION. CS121: Relational Databases Fall 2017 Lecture 12

SQL QUERY EVALUATION. CS121: Relational Databases Fall 2017 Lecture 12 SQL QUERY EVALUATION CS121: Relational Databases Fall 2017 Lecture 12 Query Evaluation 2 Last time: Began looking at database implementation details How data is stored and accessed by the database Using

More information

Toward timely, predictable and cost-effective data analytics. Renata Borovica-Gajić DIAS, EPFL

Toward timely, predictable and cost-effective data analytics. Renata Borovica-Gajić DIAS, EPFL Toward timely, predictable and cost-effective data analytics Renata Borovica-Gajić DIAS, EPFL Big data proliferation Big data is when the current technology does not enable users to obtain timely, cost-effective,

More information

Shark. Hive on Spark. Cliff Engle, Antonio Lupher, Reynold Xin, Matei Zaharia, Michael Franklin, Ion Stoica, Scott Shenker

Shark. Hive on Spark. Cliff Engle, Antonio Lupher, Reynold Xin, Matei Zaharia, Michael Franklin, Ion Stoica, Scott Shenker Shark Hive on Spark Cliff Engle, Antonio Lupher, Reynold Xin, Matei Zaharia, Michael Franklin, Ion Stoica, Scott Shenker Agenda Intro to Spark Apache Hive Shark Shark s Improvements over Hive Demo Alpha

More information

Module 4. Implementation of XQuery. Part 0: Background on relational query processing

Module 4. Implementation of XQuery. Part 0: Background on relational query processing Module 4 Implementation of XQuery Part 0: Background on relational query processing The Data Management Universe Lecture Part I Lecture Part 2 2 What does a Database System do? Input: SQL statement Output:

More information

Hash-Based Indexing 165

Hash-Based Indexing 165 Hash-Based Indexing 165 h 1 h 0 h 1 h 0 Next = 0 000 00 64 32 8 16 000 00 64 32 8 16 A 001 01 9 25 41 73 001 01 9 25 41 73 B 010 10 10 18 34 66 010 10 10 18 34 66 C Next = 3 011 11 11 19 D 011 11 11 19

More information

MemTest: A Novel Benchmark for In-memory Database

MemTest: A Novel Benchmark for In-memory Database MemTest: A Novel Benchmark for In-memory Database Qiangqiang Kang, Cheqing Jin, Zhao Zhang, Aoying Zhou Institute for Data Science and Engineering, East China Normal University, Shanghai, China 1 Outline

More information

Database System Concepts

Database System Concepts Chapter 13: Query Processing s Departamento de Engenharia Informática Instituto Superior Técnico 1 st Semester 2008/2009 Slides (fortemente) baseados nos slides oficiais do livro c Silberschatz, Korth

More information

Tree-Pattern Queries on a Lightweight XML Processor

Tree-Pattern Queries on a Lightweight XML Processor Tree-Pattern Queries on a Lightweight XML Processor MIRELLA M. MORO Zografoula Vagena Vassilis J. Tsotras Research partially supported by CAPES, NSF grant IIS 0339032, UC Micro, and Lotus Interworks Outline

More information