Query Processing. Q Query Plan. Example: Select B,D From R,S Where R.A = c S.E = 2 R.C=S.C. Himanshu Gupta CSE 532 Query Proc. 1
|
|
|
- Randolph Hodges
- 9 years ago
- Views:
Transcription
1 Q Query Plan Query Processing Example: Select B,D From R,S Where R.A = c S.E = 2 R.C=S.C Himanshu Gupta CSE 532 Query Proc. 1
2 How do we execute query? One idea - Do Cartesian product - Select tuples - Do projection Himanshu Gupta CSE 532 Query Proc. 2
3 Relational Algebra - can be used to describe plans... Plan I Π B,D σ R.A= c S.E=2 R.C=S.C X R S OR: Π B,D [ σ R.A= c S.E=2 R.C = S.C (RXS)] Himanshu Gupta CSE 532 Query Proc. 3
4 Another idea: Plan II Π B,D natural join σ R.A = c σ S.E = 2 R S Himanshu Gupta CSE 532 Query Proc. 4
5 R S A B C σ (R) σ(s) C D E a 1 10 A B C C D E 10 x 2 b 1 20 c x 2 20 y 2 c y 2 30 z 2 d z 2 40 x 1 e y 3 Himanshu Gupta CSE 532 Query Proc. 5
6 Plan III Use R.A and S.C Indexes (1) Use R.A index to select R tuples with R.A = c (2) For each R.C value found, use S.C index to find matching tuples (3) Eliminate S tuples S.E 2 (4) Join matching R,S tuples, project B,D attributes and place in result Himanshu Gupta CSE 532 Query Proc. 6
7 R S A = c C A B C C D E I1 a x 2 b 1 20 <c,2,10> <10,x,2> 20 y 2 c 2 10 check=2? 30 z 2 d 2 35 output: <2,x> 40 x 1 e y 3 next tuple: <c,7,15> I2 Himanshu Gupta CSE 532 Query Proc. 7
8 SQL query parse parse tree convert logical query plan apply laws improved l.q.p estimate result sizes l.q.p. +sizes More-Improved l.q.p Query Processing statistics {(P1,C1),(P2,C2)...} answer execute Pi pick best estimate costs Enumerate physical plans {P1,P2,..} Himanshu Gupta CSE 532 Query Proc. 8
9 Key Steps in Query Processing à à Logical query plan(s) Physical query plans Best Physical plan. Improving logical/physical plans requires cost estimation which in turn requires size estimation of intermediate results. Size estimation techniques: Keep data statistics, and use certain models (later slides). Himanshu Gupta CSE 532 Query Proc. 9
10 Example SELECT title FROM StarsIn WHERE starname IN (SELECT name FROM MovieStar WHERE birthdate LIKE %1960 ); (Find the movies with stars born in 1960) Himanshu Gupta CSE 532 Query Proc. 10
11 Example: Parse Tree <Query> <SFW> SELECT <SelList> FROM <FromList> WHERE <Condition> <Attribute> <RelName> <Tuple> IN <Query> title StarsIn <Attribute> ( <Query> ) starname <SFW> SELECT <SelList> FROM <FromList> WHERE <Condition> <Attribute> <RelName> <Attribute> LIKE <Pattern> name MovieStar birthdate %1960 Himanshu Gupta CSE 532 Query Proc. 11
12 Example: Generating Relational Algebra Πtitle σ StarsIn <condition> <tuple> <attribute> IN Πname σbirthdate LIKE %1960 starname MovieStar Himanshu Gupta CSE 532 Query Proc. 12
13 Example: Logical Query Plan Πtitle σstarname=name StarsIn Πname σbirthdate LIKE %1960 MovieStar Himanshu Gupta CSE 532 Query Proc. 13
14 Example: Improved Logical Query Plan Πtitle starname=name Question: Push project to StarsIn? StarsIn Πname σbirthdate LIKE %1960 MovieStar Himanshu Gupta CSE 532 Query Proc. 14
15 Example: Estimate Result Sizes Need expected size StarsIn Π σ MovieStar Himanshu Gupta CSE 532 Query Proc. 15
16 Example: One Physical Plan Hash join Parameters: join order, memory size,... SEQ scan index scan Parameters: Select Condition,... StarsIn MovieStar Himanshu Gupta CSE 532 Query Proc. 16
17 Example: Estimate costs L.Q.P P1 P2. Pn C1 C2. Cn Pick best! Himanshu Gupta CSE 532 Query Proc. 17
18 SQL query parse parse tree convert logical query plan apply laws improved l.q.p estimate result sizes l.q.p. +sizes More-Improved l.q.p Query Processing statistics {(P1,C1),(P2,C2)...} answer execute Pi pick best estimate costs Enumerate physical plans {P1,P2,..} Himanshu Gupta CSE 532 Query Proc. 18
19 Rules: Joins, products, union R S = S R (R S) T = R (S T) R x S = S x R (R x S) x T = R x (S x T) R U S = S U R R U (S U T) = (R U S) U T Himanshu Gupta CSE 532 Query Proc. 19
20 Rules: Selects σ p1 p2 (R) = σ p1vp2 (R) = σ p1 [ σ p2 (R)] [ σ p1 (R)] U [ σ p2 (R)] Himanshu Gupta CSE 532 Query Proc. 20
21 Rules: σ + combined Let p = predicate with only R attribs q = predicate with only S attribs m = predicate with only R,S attribs σ p (R S) = [σ p (R)] S σ q (R S) = R [σ q (S)] Himanshu Gupta CSE 532 Query Proc. 21
22 Derived Rules: σ + combined σp q (R S) = [σp (R)] [σq (S)] σp q m (R S) = σm [(σp R) (σq S)] σpvq (R S) = [(σp R) S] U [R (σq S)] Himanshu Gupta CSE 532 Query Proc. 22
23 Rules: π, σ combined Let x = subset of R attributes z = attributes in predicate P (subset of R attributes) πxz πx[σp (R) ] = πx {σp [ πx (R) ]} Himanshu Gupta CSE 532 Query Proc. 23
24 Rules: σ, U combined σp(r U S) = σp(r) U σp(s) σp(r - S) = σp(r) - S = σp(r) - σp(s) Himanshu Gupta CSE 532 Query Proc. 24
25 Which are good transformations? σp1 p2 (R) σp1 [σp2 (R)] σp (R S) [σp (R)] S R S S R πx [σp (R)] πx {σp [πxz (R)]} Himanshu Gupta CSE 532 Query Proc. 25
26 Bottom line: No transformation is always good Usually good: early selections Himanshu Gupta CSE 532 Query Proc. 26
27 SQL query parse parse tree convert logical query plan apply laws improved l.q.p estimate result sizes l.q.p. +sizes More-Improved l.q.p Query Processing statistics {(P1,C1),(P2,C2)...} answer execute Pi pick best estimate costs Enumerate physical plans {P1,P2,..} Himanshu Gupta CSE 532 Query Proc. 27
28 Estimating result size Keep statistics for relation R T(R) : # tuples in R S(R) : # bytes in each R tuple B(R): # blocks to hold all R tuples V(R, A) : # distinct values in R for attribute A Himanshu Gupta CSE 532 Query Proc. 28
29 Example R A B C D cat 1 10 a cat 1 20 b dog 1 30 a dog 1 40 c bat 1 50 d A: 20 byte string B: 4 byte integer C: 8 byte date D: 5 byte string T(R) = 5 S(R) = 37 V(R,A) = 3 V(R,C) = 5 V(R,B) = 1 V(R,D) = 4 Himanshu Gupta CSE 532 Query Proc. 29
30 Size estimates for W = R1 x R2 T(W) = S(W) = T(R1) T(R2) S(R1) + S(R2) Himanshu Gupta CSE 532 Query Proc. 30
31 Size estimate for W = σa=a (R) S(W) = S(R) T(W) =? Himanshu Gupta CSE 532 Query Proc. 31
32 Example A B C D R V(R,A)=3 cat 1 10 a cat 1 20 b V(R,B)=1 dog 1 30 a V(R,C)=5 dog 1 40 c V(R,D)=4 bat 1 50 d W = σz=val(r); T(W) = T(R) V(R,Z) (under assumption of uniform distribution of values of Z over V(R,Z)) Himanshu Gupta CSE 532 Query Proc. 32
33 W = σ z val (R ). T(W)? R Z Min=1 V(R,Z)=10 W= σ z 15 (R) Max=20 f = = (fraction of range) T(W) = f T(R) Himanshu Gupta CSE 532 Query Proc. 33
34 Size estimate for W = R1 R2 Let x = attributes of R1 y = attributes of R2 Case 1 X Y = Same as R1 x R2 Himanshu Gupta CSE 532 Query Proc. 34
35 Case 2 W = R1 R2 X Y = A R1 A B C R2 A D Assumption (containment of values): V(R1,A) V(R2,A) Every A value in R1 is in R2 V(R2,A) V(R1,A) Every A value in R2 is in R1 Himanshu Gupta CSE 532 Query Proc. 35
36 Computing T(W) when V(R1,A) V(R2,A) R1 A B C R2 A D Take 1 tuple Match 1 tuple matches with T(R2) tuples... V(R2,A) so T(W) = T(R2) T(R1) V(R2, A) Himanshu Gupta CSE 532 Query Proc. 36
37 V(R1,A) V(R2,A) T(W) = T(R2) T(R1) V(R2,A) V(R2,A) V(R1,A) T(W) = T(R2) T(R1) V(R1,A) [A is common attribute] Himanshu Gupta CSE 532 Query Proc. 37
38 In general, W = R1 R2 T(W) = T(R2) T(R1) max{ V(R1,A), V(R2,A) } Himanshu Gupta CSE 532 Query Proc. 38
39 In all cases: S(W) = S(R1) + S(R2) - S(A) size of attribute A Himanshu Gupta CSE 532 Query Proc. 39
40 Similarly, we can estimate sizes of: ΠAB (R); σa=a B=b (R); R S with common attributes. A,B,C; Union, intersection, diff,. Sec Himanshu Gupta CSE 532 Query Proc. 40
41 Note: for complex expressions, need intermediate T,S,V results. E.g. W = [σa=a (R1) ] R2 Treat as relation U T(U) = T(R1)/V(R1,A) S(U) = S(R1) V(U,*) =?? (Needed for T(W)) Himanshu Gupta CSE 532 Query Proc. 41
42 To estimate Vs E.g., U = σa=a (R1) Say R1 has attributes A,B,C,D V(U, A) = 1 V(U, B) = V(R1, B) V(U, C) = V(R1,C) V(U, D) = V(R1,D) (exact) (guess) (guess) (guess) Himanshu Gupta CSE 532 Query Proc. 42
43 For Joins U = R1(A,B) R2(A,C) V(U,A) = min { V(R1, A), V(R2, A) } V(U,B) = V(R1, B) V(U,C) = V(R2, C) [called preservation of value sets assumption] Himanshu Gupta CSE 532 Query Proc. 43
44 Example: Z = R1(A,B) R2(B,C) R3(C,D) R1 R2 R3 T(R1) = 1000 V(R1,A)=50 V(R1,B)=100 T(R2) = 2000 V(R2,B)=200 V(R2,C)=300 T(R3) = 3000 V(R3,C)=90 V(R3,D)=500 Himanshu Gupta CSE 532 Query Proc. 44
45 Partial Result: U = R S T(U) = V(U,A) = V(U,B) = 100 V(U,C) = 300 Himanshu Gupta CSE 532 Query Proc. 45
46 Z = U R3 T(Z) = V(Z,A) = V(Z,B) = 100 V(Z,C) = 90 V(Z,D) = 500 Himanshu Gupta CSE 532 Query Proc. 46
47 Recap Estimating size of results is an art Computing Statistics: Scan, Sample. Also, statistics must be kept up to date Other Statistics: Histograms (equi-height, equi-width, most-freq.) Next: Using size estimates to improve an LQP. Himanshu Gupta CSE 532 Query Proc. 47
48 Improve LPQ with Size Size estimates can also help improve the LQP. But, need some heuristic to estimate costs. Good heuristic: Cost = Sum of intermediate-result sizes. Next Slide: Example. Himanshu Gupta CSE 532 Query Proc. 48
49 Ex: Improve LQP with Sizes R(a,b): T(R)=5000, V(R,a)=50, V(R,b)=100 S(b,c): T(S) = 2000, V(S,b)=200, V(S,c)=100. δ(σ_p(r JOIN S)). Where p is (R.a=20). Two choices: 1. δ(σ_p(r)) JOIN (δ (S)) 2. δ(σ_p(r) JOIN S) Cost Model = Sum of the sizes of intermediate results. [1100 vs 1150] Himanshu Gupta CSE 532 Query Proc. 49
50 SQL query parse parse tree convert logical query plan apply laws improved l.q.p estimate result sizes l.q.p. +sizes More-Improved l.q.p Query Processing statistics {(P1,C1),(P2,C2)...} answer execute Pi pick best estimate costs Enumerate physical plans {P1,P2,..} Himanshu Gupta CSE 532 Query Proc. 50
51 SQL query parse parse tree convert logical query plan apply laws improved l.q.p estimate result sizes l.q.p. +sizes More-Improved l.q.p statistics Chapter 15 {(P1,C1),(P2,C2)...} answer execute Pi pick best estimate costs Enumerate physical plans {P1,P2,..} Himanshu Gupta CSE 532 Query Proc. 51
52 SQL query parse parse tree convert logical query plan apply laws improved l.q.p estimate result sizes l.q.p. +sizes More-Improved l.q.p Done (previous slides) statistics {(P1,C1),(P2,C2)...} Enumerate physical plans {P1,P2,..} answer execute Pi pick best estimate costs Himanshu Gupta CSE 532 Query Proc. 52
53 SQL query parse parse tree convert logical query plan apply laws improved l.q.p estimate result sizes l.q.p. +sizes More-Improved l.q.p Next few slides statistics {(P1,C1),(P2,C2)...} Enumerate physical plans {P1,P2,..} answer execute Pi pick best estimate costs Himanshu Gupta CSE 532 Query Proc. 53
54 LQP vs. PQP LQP is a high-level expression-tree. PQP is (LQP + more execution details such as): Order/grouping of join, union, intersection, etc. Choice of join algorithm, etc. Additional operators such as scanning, sorting, etc. Intermediate steps between two operations. E.g., sorting, storage, pipelining, etc. Himanshu Gupta CSE 532 -Query Opt-54
55 LQP à PQP Generating and comparing physical plans Query Generate Plans Pruning x x Estimate Cost Select Cost Pick Min Himanshu Gupta CSE 532 -Query Opt-55
56 PQP Enumeration Heuristics 1. Various techniques (details skipped): Top-down Bottom-up Heuristics Branch and Bound Hill Climbing Dynamic Programming Selinger-style Optimization (Improved DP) Himanshu Gupta CSE 532 Query Proc. 56
57 Join Ordering R1 x R2 x R3 x.. Rn (join of n tables). How many possible orderings? Join-selectivity. Left-deep, Right-deep trees. Dynamic Programming approach. Himanshu Gupta CSE 532 Query Proc. 57
58 PQP Selection Example Pipelining vs. Materialization (R join S) join U 5000, 10000, blocks respectively. (R join S) is of size k (we ll consider different k) We ll only use hash-joins Memory size: 101 blocks. Himanshu Gupta CSE 532 Query Proc. 58
59 (R join S) join U. R join S 100 buckets at most. Example (contd) R-buckets have 50 tuples each. So, need 51 buffers for the second pass. Pipeline: Use remaining 50 buffers to join the result with U. If k < 49, then keep (R join S) in memory, and read U one block at a time. Himanshu Gupta CSE 532 Query Proc. 59
60 Example (continued) If k < 49, then read U one block at a time, and do everything in main memory. Cost = 55k. If k > 49, but < 5000: First, hash all tables. Hash U with 50 buckets. When doing R join S, use the remaining 50 buffers to hash (R join S) result into the 50 buckets. Each bucket of (R join S) is of size 100. Then, do two-pass hash join of (R join S) with U. Cost = (k + ( k)) Himanshu Gupta CSE 532 Query Proc. 60
61 If k > 5000: Example contd. Last step will require a 3-pass join, since each bucket of (R join S) as well as U is more than 100 blocks (buckets of U are 200 blocks each). Better: No pipelining. Write (R join S). Then, do 2-pass hash-join with U (now the buckets of U are 100 blocks each). Cost = k + 3( k) = k Himanshu Gupta CSE 532 Query Proc. 61
Evaluation of Expressions
Query Optimization Evaluation of Expressions Materialization: one operation at a time, materialize intermediate results for subsequent use Good for all situations Sum of costs of individual operations
Chapter 14: Query Optimization
Chapter 14: Query Optimization Database System Concepts 5 th Ed. See www.db-book.com for conditions on re-use Chapter 14: Query Optimization Introduction Transformation of Relational Expressions Catalog
Chapter 13: Query Optimization
Chapter 13: Query Optimization Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Chapter 13: Query Optimization Introduction Transformation of Relational Expressions Catalog
Chapter 13: Query Processing. Basic Steps in 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
MapReduce examples. CSE 344 section 8 worksheet. May 19, 2011
MapReduce examples CSE 344 section 8 worksheet May 19, 2011 In today s section, we will be covering some more examples of using MapReduce to implement relational queries. Recall how MapReduce works from
SQL Query Evaluation. Winter 2006-2007 Lecture 23
SQL Query Evaluation Winter 2006-2007 Lecture 23 SQL Query Processing Databases go through three steps: Parse SQL into an execution plan Optimize the execution plan Evaluate the optimized plan Execution
Relational Databases
Relational Databases Jan Chomicki University at Buffalo Jan Chomicki () Relational databases 1 / 18 Relational data model Domain domain: predefined set of atomic values: integers, strings,... every attribute
Translating SQL into the Relational Algebra
Translating SQL into the Relational Algebra Jan Van den Bussche Stijn Vansummeren Required background Before reading these notes, please ensure that you are familiar with (1) the relational data model
Chapter 5: Overview of Query Processing
Chapter 5: Overview of Query Processing Query Processing Overview Query Optimization Distributed Query Processing Steps Acknowledgements: I am indebted to Arturas Mazeika for providing me his slides of
University of Massachusetts Amherst Department of Computer Science Prof. Yanlei Diao
University of Massachusetts Amherst Department of Computer Science Prof. Yanlei Diao CMPSCI 445 Midterm Practice Questions NAME: LOGIN: Write all of your answers directly on this paper. Be sure to clearly
Introducing Cost Based Optimizer to Apache Hive
Introducing Cost Based Optimizer to Apache Hive John Pullokkaran Hortonworks 10/08/2013 Abstract Apache Hadoop is a framework for the distributed processing of large data sets using clusters of computers
Lecture 6: Query optimization, query tuning. Rasmus Pagh
Lecture 6: Query optimization, query tuning Rasmus Pagh 1 Today s lecture Only one session (10-13) Query optimization: Overview of query evaluation Estimating sizes of intermediate results A typical query
Unique column combinations
Unique column combinations Arvid Heise Guest lecture in Data Profiling and Data Cleansing Prof. Dr. Felix Naumann Agenda 2 Introduction and problem statement Unique column combinations Exponential search
Inside the PostgreSQL Query Optimizer
Inside the PostgreSQL Query Optimizer Neil Conway [email protected] Fujitsu Australia Software Technology PostgreSQL Query Optimizer Internals p. 1 Outline Introduction to query optimization Outline of
Rethinking SIMD Vectorization for In-Memory Databases
SIGMOD 215, Melbourne, Victoria, Australia Rethinking SIMD Vectorization for In-Memory Databases Orestis Polychroniou Columbia University Arun Raghavan Oracle Labs Kenneth A. Ross Columbia University Latest
Comp 5311 Database Management Systems. 16. Review 2 (Physical Level)
Comp 5311 Database Management Systems 16. Review 2 (Physical Level) 1 Main Topics Indexing Join Algorithms Query Processing and Optimization Transactions and Concurrency Control 2 Indexing Used for faster
Datenbanksysteme II: Implementation of Database Systems Implementing Joins
Datenbanksysteme II: Implementation of Database Systems Implementing Joins Material von Prof. Johann Christoph Freytag Prof. Kai-Uwe Sattler Prof. Alfons Kemper, Dr. Eickler Prof. Hector Garcia-Molina
CSE 562 Database Systems
UB CSE Database Courses CSE 562 Database Systems CSE 462 Database Concepts Introduction CSE 562 Database Systems Some slides are based or modified from originals by Database Systems: The Complete Book,
Execution Strategies for SQL Subqueries
Execution Strategies for SQL Subqueries Mostafa Elhemali, César Galindo- Legaria, Torsten Grabs, Milind Joshi Microsoft Corp With additional slides from material in paper, added by S. Sudarshan 1 Motivation
Query Optimization for Distributed Database Systems Robert Taylor Candidate Number : 933597 Hertford College Supervisor: Dr.
Query Optimization for Distributed Database Systems Robert Taylor Candidate Number : 933597 Hertford College Supervisor: Dr. Dan Olteanu Submitted as part of Master of Computer Science Computing Laboratory
Software Engineering
Software Engineering Lecture 04: The B Specification Method Peter Thiemann University of Freiburg, Germany SS 2013 Peter Thiemann (Univ. Freiburg) Software Engineering SWT 1 / 50 The B specification method
Review. Data Warehousing. Today. Star schema. Star join indexes. Dimension hierarchies
Review Data Warehousing CPS 216 Advanced Database Systems Data warehousing: integrating data for OLAP OLAP versus OLTP Warehousing versus mediation Warehouse maintenance Warehouse data as materialized
SQL: Queries, Programming, Triggers
SQL: Queries, Programming, Triggers CSC343 Introduction to Databases - A. Vaisman 1 R1 Example Instances We will use these instances of the Sailors and Reserves relations in our examples. If the key for
Schema Mappings and Data Exchange
Schema Mappings and Data Exchange Phokion G. Kolaitis University of California, Santa Cruz & IBM Research-Almaden EASSLC 2012 Southwest University August 2012 1 Logic and Databases Extensive interaction
Relational Algebra and SQL
Relational Algebra and SQL Johannes Gehrke [email protected] http://www.cs.cornell.edu/johannes Slides from Database Management Systems, 3 rd Edition, Ramakrishnan and Gehrke. Database Management
Query Processing C H A P T E R12. Practice Exercises
C H A P T E R12 Query Processing Practice Exercises 12.1 Assume (for simplicity in this exercise) that only one tuple fits in a block and memory holds at most 3 blocks. Show the runs created on each pass
The University of British Columbia
The University of British Columbia Computer Science 304 Midterm Examination October 31, 2005 Time: 50 minutes Total marks: 50 Instructor: Rachel Pottinger Name ANSWER KEY (PRINT) (Last) (First) Signature
Outline. NP-completeness. When is a problem easy? When is a problem hard? Today. Euler Circuits
Outline NP-completeness Examples of Easy vs. Hard problems Euler circuit vs. Hamiltonian circuit Shortest Path vs. Longest Path 2-pairs sum vs. general Subset Sum Reducing one problem to another Clique
Chapter One Introduction to Programming
Chapter One Introduction to Programming 1-1 Algorithm and Flowchart Algorithm is a step-by-step procedure for calculation. More precisely, algorithm is an effective method expressed as a finite list of
Advanced Oracle SQL Tuning
Advanced Oracle SQL Tuning Seminar content technical details 1) Understanding Execution Plans In this part you will learn how exactly Oracle executes SQL execution plans. Instead of describing on PowerPoint
COMP 250 Fall 2012 lecture 2 binary representations Sept. 11, 2012
Binary numbers The reason humans represent numbers using decimal (the ten digits from 0,1,... 9) is that we have ten fingers. There is no other reason than that. There is nothing special otherwise about
Chapter 6: Episode discovery process
Chapter 6: Episode discovery process Algorithmic Methods of Data Mining, Fall 2005, Chapter 6: Episode discovery process 1 6. Episode discovery process The knowledge discovery process KDD process of analyzing
Big Data & Scripting Part II Streaming Algorithms
Big Data & Scripting Part II Streaming Algorithms 1, 2, a note on sampling and filtering sampling: (randomly) choose a representative subset filtering: given some criterion (e.g. membership in a set),
DATABASE DESIGN - 1DL400
DATABASE DESIGN - 1DL400 Spring 2015 A course on modern database systems!! http://www.it.uu.se/research/group/udbl/kurser/dbii_vt15/ Kjell Orsborn! Uppsala Database Laboratory! Department of Information
In-Memory Database: Query Optimisation. S S Kausik (110050003) Aamod Kore (110050004) Mehul Goyal (110050017) Nisheeth Lahoti (110050027)
In-Memory Database: Query Optimisation S S Kausik (110050003) Aamod Kore (110050004) Mehul Goyal (110050017) Nisheeth Lahoti (110050027) Introduction Basic Idea Database Design Data Types Indexing Query
6.045: Automata, Computability, and Complexity Or, Great Ideas in Theoretical Computer Science Spring, 2010. Class 4 Nancy Lynch
6.045: Automata, Computability, and Complexity Or, Great Ideas in Theoretical Computer Science Spring, 2010 Class 4 Nancy Lynch Today Two more models of computation: Nondeterministic Finite Automata (NFAs)
Implementation of Recursively Enumerable Languages using Universal Turing Machine in JFLAP
International Journal of Information and Computation Technology. ISSN 0974-2239 Volume 4, Number 1 (2014), pp. 79-84 International Research Publications House http://www. irphouse.com /ijict.htm Implementation
1Z0-117 Oracle Database 11g Release 2: SQL Tuning. Oracle
1Z0-117 Oracle Database 11g Release 2: SQL Tuning Oracle To purchase Full version of Practice exam click below; http://www.certshome.com/1z0-117-practice-test.html FOR Oracle 1Z0-117 Exam Candidates We
Multi-dimensional index structures Part I: motivation
Multi-dimensional index structures Part I: motivation 144 Motivation: Data Warehouse A definition A data warehouse is a repository of integrated enterprise data. A data warehouse is used specifically for
The Volcano Optimizer Generator: Extensibility and Efficient Search
The Volcano Optimizer Generator: Extensibility and Efficient Search Goetz Graefe Portland State University graefe @ cs.pdx.edu Abstract Emerging database application domains demand not only new functionality
Graham Kemp (telephone 772 54 11, room 6475 EDIT) The examiner will visit the exam room at 15:00 and 17:00.
CHALMERS UNIVERSITY OF TECHNOLOGY Department of Computer Science and Engineering Examination in Databases, TDA357/DIT620 Tuesday 17 December 2013, 14:00-18:00 Examiner: Results: Exam review: Grades: Graham
HOW TO USE MINITAB: DESIGN OF EXPERIMENTS. Noelle M. Richard 08/27/14
HOW TO USE MINITAB: DESIGN OF EXPERIMENTS 1 Noelle M. Richard 08/27/14 CONTENTS 1. Terminology 2. Factorial Designs When to Use? (preliminary experiments) Full Factorial Design General Full Factorial Design
Software Pipelining - Modulo Scheduling
EECS 583 Class 12 Software Pipelining - Modulo Scheduling University of Michigan October 15, 2014 Announcements + Reading Material HW 2 Due this Thursday Today s class reading» Iterative Modulo Scheduling:
Automata and Computability. Solutions to Exercises
Automata and Computability Solutions to Exercises Fall 25 Alexis Maciel Department of Computer Science Clarkson University Copyright c 25 Alexis Maciel ii Contents Preface vii Introduction 2 Finite Automata
Cloud and Big Data Summer School, Stockholm, Aug. 2015 Jeffrey D. Ullman
Cloud and Big Data Summer School, Stockholm, Aug. 2015 Jeffrey D. Ullman 2 In a DBMS, input is under the control of the programming staff. SQL INSERT commands or bulk loaders. Stream management is important
Oracle Database 11g: SQL Tuning Workshop
Oracle University Contact Us: + 38516306373 Oracle Database 11g: SQL Tuning Workshop Duration: 3 Days What you will learn This Oracle Database 11g: SQL Tuning Workshop Release 2 training assists database
Big Data and Scripting map/reduce in Hadoop
Big Data and Scripting map/reduce in Hadoop 1, 2, parts of a Hadoop map/reduce implementation core framework provides customization via indivudual map and reduce functions e.g. implementation in mongodb
Database Constraints and Design
Database Constraints and Design We know that databases are often required to satisfy some integrity constraints. The most common ones are functional and inclusion dependencies. We ll study properties of
Session 7 Fractions and Decimals
Key Terms in This Session Session 7 Fractions and Decimals Previously Introduced prime number rational numbers New in This Session period repeating decimal terminating decimal Introduction In this session,
4. SQL. Contents. Example Database. CUSTOMERS(FName, LName, CAddress, Account) PRODUCTS(Prodname, Category) SUPPLIERS(SName, SAddress, Chain)
ECS-165A WQ 11 66 4. SQL Contents Basic Queries in SQL (select statement) Set Operations on Relations Nested Queries Null Values Aggregate Functions and Grouping Data Definition Language Constructs Insert,
Automating SQL Injection Exploits
Automating SQL Injection Exploits Mike Shema IT Underground, Berlin 2006 Overview SQL injection vulnerabilities are pretty easy to detect. The true impact of a vulnerability is measured
Basics of Counting. The product rule. Product rule example. 22C:19, Chapter 6 Hantao Zhang. Sample question. Total is 18 * 325 = 5850
Basics of Counting 22C:19, Chapter 6 Hantao Zhang 1 The product rule Also called the multiplication rule If there are n 1 ways to do task 1, and n 2 ways to do task 2 Then there are n 1 n 2 ways to do
Lecture Notes on Database Normalization
Lecture Notes on Database Normalization Chengkai Li Department of Computer Science and Engineering The University of Texas at Arlington April 15, 2012 I decided to write this document, because many students
SQL Database queries and their equivalence to predicate calculus
SQL Database queries and their equivalence to predicate calculus Russell Impagliazzo, with assistence from Cameron Helm November 3, 2013 1 Warning This lecture goes somewhat beyond Russell s expertise,
Parquet. Columnar storage for the people
Parquet Columnar storage for the people Julien Le Dem @J_ Processing tools lead, analytics infrastructure at Twitter Nong Li [email protected] Software engineer, Cloudera Impala Outline Context from various
Oracle Database 11g: SQL Tuning Workshop Release 2
Oracle University Contact Us: 1 800 005 453 Oracle Database 11g: SQL Tuning Workshop Release 2 Duration: 3 Days What you will learn This course assists database developers, DBAs, and SQL developers to
Classification and Prediction
Classification and Prediction Slides for Data Mining: Concepts and Techniques Chapter 7 Jiawei Han and Micheline Kamber Intelligent Database Systems Research Lab School of Computing Science Simon Fraser
Elena Baralis, Silvia Chiusano Politecnico di Torino. Pag. 1. Query optimization. DBMS Architecture. Query optimizer. Query optimizer.
DBMS Architecture INSTRUCTION OPTIMIZER Database Management Systems MANAGEMENT OF ACCESS METHODS BUFFER MANAGER CONCURRENCY CONTROL RELIABILITY MANAGEMENT Index Files Data Files System Catalog BASE It
AI: A Modern Approach, Chpts. 3-4 Russell and Norvig
AI: A Modern Approach, Chpts. 3-4 Russell and Norvig Sequential Decision Making in Robotics CS 599 Geoffrey Hollinger and Gaurav Sukhatme (Some slide content from Stuart Russell and HweeTou Ng) Spring,
Web Data Extraction: 1 o Semestre 2007/2008
Web Data : Given Slides baseados nos slides oficiais do livro Web Data Mining c Bing Liu, Springer, December, 2006. Departamento de Engenharia Informática Instituto Superior Técnico 1 o Semestre 2007/2008
SDMX technical standards Data validation and other major enhancements
SDMX technical standards Data validation and other major enhancements Vincenzo Del Vecchio - Bank of Italy 1 Statistical Data and Metadata exchange Original scope: the exchange Statistical Institutions
Why Query Optimization? Access Path Selection in a Relational Database Management System. How to come up with the right query plan?
Why Query Optimization? Access Path Selection in a Relational Database Management System P. Selinger, M. Astrahan, D. Chamberlin, R. Lorie, T. Price Peyman Talebifard Queries must be executed and execution
Introduction to database design
Introduction to database design KBL chapter 5 (pages 127-187) Rasmus Pagh Some figures are borrowed from the ppt slides from the book used in the course, Database systems by Kiefer, Bernstein, Lewis Copyright
3. Relational Model and Relational Algebra
ECS-165A WQ 11 36 3. Relational Model and Relational Algebra Contents Fundamental Concepts of the Relational Model Integrity Constraints Translation ER schema Relational Database Schema Relational Algebra
Bounded Treewidth in Knowledge Representation and Reasoning 1
Bounded Treewidth in Knowledge Representation and Reasoning 1 Reinhard Pichler Institut für Informationssysteme Arbeitsbereich DBAI Technische Universität Wien Luminy, October 2010 1 Joint work with G.
Language Modeling. Chapter 1. 1.1 Introduction
Chapter 1 Language Modeling (Course notes for NLP by Michael Collins, Columbia University) 1.1 Introduction In this chapter we will consider the the problem of constructing a language model from a set
ENHANCEMENTS TO SQL SERVER COLUMN STORES. Anuhya Mallempati #2610771
ENHANCEMENTS TO SQL SERVER COLUMN STORES Anuhya Mallempati #2610771 CONTENTS Abstract Introduction Column store indexes Batch mode processing Other Enhancements Conclusion ABSTRACT SQL server introduced
Relational Algebra. Module 3, Lecture 1. Database Management Systems, R. Ramakrishnan 1
Relational Algebra Module 3, Lecture 1 Database Management Systems, R. Ramakrishnan 1 Relational Query Languages Query languages: Allow manipulation and retrieval of data from a database. Relational model
Branch-and-Price Approach to the Vehicle Routing Problem with Time Windows
TECHNISCHE UNIVERSITEIT EINDHOVEN Branch-and-Price Approach to the Vehicle Routing Problem with Time Windows Lloyd A. Fasting May 2014 Supervisors: dr. M. Firat dr.ir. M.A.A. Boon J. van Twist MSc. Contents
MapReduce: Algorithm Design Patterns
Designing Algorithms for MapReduce MapReduce: Algorithm Design Patterns Need to adapt to a restricted model of computation Goals Scalability: adding machines will make the algo run faster Efficiency: resources
Answer Key. UNIVERSITY OF CALIFORNIA College of Engineering Department of EECS, Computer Science Division
Answer Key UNIVERSITY OF CALIFORNIA College of Engineering Department of EECS, Computer Science Division CS186 Fall 2003 Eben Haber Midterm Midterm Exam: Introduction to Database Systems This exam has
Distributed Databases in a Nutshell
Distributed Databases in a Nutshell Marc Pouly [email protected] Department of Informatics University of Fribourg, Switzerland Priciples of Distributed Database Systems M. T. Özsu, P. Valduriez Prentice
In-Memory Databases Algorithms and Data Structures on Modern Hardware. Martin Faust David Schwalb Jens Krüger Jürgen Müller
In-Memory Databases Algorithms and Data Structures on Modern Hardware Martin Faust David Schwalb Jens Krüger Jürgen Müller The Free Lunch Is Over 2 Number of transistors per CPU increases Clock frequency
1 Sufficient statistics
1 Sufficient statistics A statistic is a function T = rx 1, X 2,, X n of the random sample X 1, X 2,, X n. Examples are X n = 1 n s 2 = = X i, 1 n 1 the sample mean X i X n 2, the sample variance T 1 =
CS 3719 (Theory of Computation and Algorithms) Lecture 4
CS 3719 (Theory of Computation and Algorithms) Lecture 4 Antonina Kolokolova January 18, 2012 1 Undecidable languages 1.1 Church-Turing thesis Let s recap how it all started. In 1990, Hilbert stated a
Instruction Set Architecture. or How to talk to computers if you aren t in Star Trek
Instruction Set Architecture or How to talk to computers if you aren t in Star Trek The Instruction Set Architecture Application Compiler Instr. Set Proc. Operating System I/O system Instruction Set Architecture
Partitioning under the hood in MySQL 5.5
Partitioning under the hood in MySQL 5.5 Mattias Jonsson, Partitioning developer Mikael Ronström, Partitioning author Who are we? Mikael is a founder of the technology behind NDB
DBMS / Business Intelligence, SQL Server
DBMS / Business Intelligence, SQL Server Orsys, with 30 years of experience, is providing high quality, independant State of the Art seminars and hands-on courses corresponding to the needs of IT professionals.
Dynamic Programming. Lecture 11. 11.1 Overview. 11.2 Introduction
Lecture 11 Dynamic Programming 11.1 Overview Dynamic Programming is a powerful technique that allows one to solve many different types of problems in time O(n 2 ) or O(n 3 ) for which a naive approach
CS 464/564 Introduction to Database Management System Instructor: Abdullah Mueen
CS 464/564 Introduction to Database Management System Instructor: Abdullah Mueen LECTURE 14: DATA STORAGE AND REPRESENTATION Data Storage Memory Hierarchy Disks Fields, Records, Blocks Variable-length
Big Data Technology Pig: Query Language atop Map-Reduce
Big Data Technology Pig: Query Language atop Map-Reduce Eshcar Hillel Yahoo! Ronny Lempel Outbrain *Based on slides by Edward Bortnikov & Ronny Lempel Roadmap Previous class MR Implementation This class
Chapter 3. Cartesian Products and Relations. 3.1 Cartesian Products
Chapter 3 Cartesian Products and Relations The material in this chapter is the first real encounter with abstraction. Relations are very general thing they are a special type of subset. After introducing
Lecture 1. Basic Concepts of Set Theory, Functions and Relations
September 7, 2005 p. 1 Lecture 1. Basic Concepts of Set Theory, Functions and Relations 0. Preliminaries...1 1. Basic Concepts of Set Theory...1 1.1. Sets and elements...1 1.2. Specification of sets...2
Introduction to IR Systems: Supporting Boolean Text Search. Information Retrieval. IR vs. DBMS. Chapter 27, Part A
Introduction to IR Systems: Supporting Boolean Text Search Chapter 27, Part A Database Management Systems, R. Ramakrishnan 1 Information Retrieval A research field traditionally separate from Databases
1 Introduction. 2 An Interpreter. 2.1 Handling Source Code
1 Introduction The purpose of this assignment is to write an interpreter for a small subset of the Lisp programming language. The interpreter should be able to perform simple arithmetic and comparisons
