• No results found

CSE 562 Database Systems

N/A
N/A
Protected

Academic year: 2021

Share "CSE 562 Database Systems"

Copied!
7
0
0

Loading.... (view fulltext now)

Full text

(1)

CSE 562

Database Systems

Introduction

UB CSE 562 Spring 2010

Some slides are based or modified from originals by Database Systems: The Complete Book,

Pearson Prentice Hall 2nd Edition ©2008 Garcia-Molina, Ullman, and Widom

UB CSE 562 Spring 2010 2

UB CSE Database Courses

CSE 562 Database Systems CSE 636 Data Integration CSE 7xx Dr. Chomicki’s Seminar CSE 7xx Dr. Petropoulos’ Seminar CSE 462 Database Concepts

Resources

• 

Instructor: Dr. Michalis Petropoulos

Office Hours: Tue & Thu @ 2-3pm Location: 210 Bell Hall

• 

TA: Xinglei Zhu

Office Hours: Wednesday @ 12-2pm Location: 329 Bell Hall

• 

Web Page

http://www.cse.buffalo.edu/~mpetropo/CSE562-SP10/

• 

Newsgroup

sunyab.cse.562

Goals of the Course

• 

Study key DBMS design issues:

–  Query Languages, Indexing, Query Compilation, Query Execution, Query Optimization

–  Recovery, Concurrency and other transaction management issues

–  Data warehousing, Column-Oriented DBMS –  Database as a Service (DaaS), Cloud DBMS

• 

Ensure that:

–  You are comfortable using a DBMS

–  You acquire hands-on experience by implementing the internal components of a relational database engine

(2)

UB CSE 562 Spring 2010 5

Course Evaluation

• 

Homework Assignments: 15%

• 

Midterm Exam: 20% (in class)

• 

Final Exam: 30% (in class)

• 

Project: 35%

–  Teams of 2

• 

Late Submission Policy:

–  Submissions less than 24 hours late will be penalized 10%

–  Submissions more than 24 hours but less than 48 hours late will be penalized 25%

UB CSE 562 Spring 2010 6

Reading Material

Textbook

•  Database Systems: The Complete Book (2nd Edition)

–  by Garcia-Molina, Ullman and Widom

Also Recommended

•  Database System Concepts (5th Edition)

–  by Avi Silberschatz, Henry F. Korth and S. Sudarshan

•  Database Management Systems (3rd Edition)

–  by Ramakrishnan and Gehrke

•  Foundations of Databases

–  by Abiteboul, Hull and Vianu

Prerequisites

• 

Chapters 2 through 8 of the textbook:

–  Relational Model, Entity/Relationship (E/R) Model –  Constraints, Functional Dependencies

–  Views, Triggers

–  Database query languages (Relational Algebra, SQL)

• 

Solid background in Data Structures and

Algorithms

• 

Significant programming experience in Java

• 

Some knowledge of Compilers

Let’s Get Started!

• 

Isn’t Implementing a Database System Simple?

(3)

UB CSE 562 Spring 2010 9

Let’s Get Started!

UB CSE 562 Spring 2010 10

Megatron 3000 Implementation Details

• 

Relations stored in files (ASCII)

–  e.g., relation Movie

• 

Directory file (ASCII)

Wild # Lynch # Winger Sky # Berto # Winger Reds # Beatty # Beatty

Movie # Title # STR # Director # STR # Actor # STR … Schedule # Theater # STR # Title # STR …

Megatron 3000 Sample Sessions

% MEGATRON3000 Welcome to MEGATRON 3000! & & quit %

Megatron 3000 Sample Sessions

& select * from Movie #

Title Director Actor Wild Lynch Winger Sky Berto Winger Reds Beatty Beatty Tango Berto Brando Tango Berto Winger Tango Berto Snyder &

(4)

UB CSE 562 Spring 2010 13

& select Theater, Movie.Title from Movie, Schedule

where Movie.Title = Schedule.Title AND Actor = “Winger” # Theater Title

Odeon Wild Forum Sky &

Megatron 3000 Sample Sessions

UB CSE 562 Spring 2010 14

Megatron 3000

•  To execute select * from Movie where condition (1) Read dictionary to get Movie attributes (2) Read Movie file, for each line:

(a) Check condition (b) If OK, display

Megatron 3000

•  To execute

select Theater, Movie.Title from Movie, Schedule

where Movie.Title = Schedule.Title

AND Actor = “Winger”

(1) Read dictionary to get Movie, Schedule attributes (2) Read Movie file, for each line:

(a) Read Schedule file, for each line: (i) Create join tuple

(ii) Check condition (iii) Display if OK

What’s wrong with the Megatron 3000

DBMS?

• 

Tuple layout on disk

–  Change string from ‘Cat’ to ‘Cats’ and we have to rewrite file

(5)

UB CSE 562 Spring 2010 17

What’s wrong with the Megatron 3000

DBMS?

• 

Search expensive; no indexes

–  Cannot find tuple with given key quickly –  Always have to read full relation

UB CSE 562 Spring 2010 18

What’s wrong with the Megatron 3000

DBMS?

• 

Brute force query processing

For example:

select Theater, Movie.Title from Movie, Schedule

where Movie.Title=Schedule.Title and Actor = “Winger”

• 

Much better if

–  Use index to select tuples with “Winger” first –  Use index to find theaters where qualified titles play

• 

Or

–  Sort both relations on Title and merge-join

• 

Exploit cache and buffers

What’s wrong with the Megatron 3000

DBMS?

• 

Concurrency control & recovery

• 

No reliability

–  Can lose data

–  Can leave operations half done

What’s wrong with the Megatron 3000

DBMS?

• 

Security

• 

Interoperation with other systems

(6)

UB CSE 562 Spring 2010 21

Course Topics

• 

Hardware Aspects

• 

Physical Organization Structure

Records in blocks, dictionary, buffer management,…

• 

Indexing

B-Trees, hashing,…

• 

Query Processing

parsing, rewriting, logical/physical operators, algebraic and cost-based optimization, semantic optimization…

• 

Crash Recovery

Failures, stable storage,…

UB CSE 562 Spring 2010 22

Course Topics

• 

Concurrency Control

Correctness, locks, deadlocks…

• 

On-Line Analytical Processing

Map-Reduce,…

• 

Database as a Service (DaaS)

• 

Cloud DBMS

Database System Architecture

Execution

Engine Manager Buffer Query Rewriter and Optimizer query execution plan Parser relational algebra SQL Query Transaction Manager Concurrency Controller Recovery Manager

Calls from Transactions (read,write)

View Definitions Statistics & Catalogs & System Data Lock Table

Query Processing Transaction Management

SELECT Theater

FROM Movie M, Schedule S WHERE M.Title = S.Title AND M.Actor=“Winger”

Example Journey of a Query

Parse/ Convert

Initial logical query plan

Query Rewriter applies Algebraic Rewriting

Another logical query plan

Query Rewriter

Yet Another logical query plan

(7)

UB CSE 562 Spring 2010 25

Example Journey of a Query (cont’d)

Algebraic Optimization

Cost-based Optimization

Index on Actor and Title Unsorted tables Tables >> Memory

Query Execution

Plan

What are the rules used for the transformation of the query? How do we evaluate the cost of

a possible execution plan?

UB CSE 562 Spring 2010 26

ActorIndex

Winger

EXECUTION ENGINE

find “Winger” tuples using ActorIndex for each “Winger” tuple

find tuples t with the same title using TitleIndex

project the attribute Actor of t

TitleIndex

The Journey of a Query (cont’d)

Title Director Actor

Wild Lynch Winger Sky Berto Winger Reds Beatty Beatty Tango Berto Brando Tango Berto Winger Tango Berto Snyder

How is the table arranged on the disk?

Are tuples with the same Actor value clustered? What is the exact structure of

References

Related documents

Seterusnya, klik icon pertama untuk mendapat menu Wi-Fi seperti yang digambarkan dibawah.. Untuk Chromebook-chromebook makmal 1, klik “Mobile Lab by Yes

Factors that contributed to false-negative results in PET/CT were determined in detecting clinically relevant lesions including malignant lesions, high-grade or villous adenomas,

First discussed by representatives of Saudi Arabia, Djibouti, Egypt, Jordan, Somalia, Sudan and Ye - men during meetings in Cairo and Riyadh in 2017 and 2018, the entity was founded

The following four measures were used to gauge the progress of students through the pilot project: participants passing the written DMV knowledge and highway signs tests

Other questions of the study were “Text messaging during work effect your speed of work and concentration” (Mean=4.52), Productive use of cell phone by you is in the benefit

  Many   measurements  imply  sample  modifications  and  also  sample  fixation  avoiding  living  samples

Looking at the two evaluation modes separately, we find that these gender differences in preferences are entirely driven by the stereotype-advantaged group being preferred in separate

Following intravenous injection of a bupivacaine test dose are caused by epinephrine. Add epinephrine to test dose in