Introduction to Database Systems CSE 444. Lecture 1 Introduction

Similar documents
Introduction to Database S ystems Systems CSE 444 Lecture 1 Introduction CSE Summer

Introduction to Database S ystems Systems CSE 444 Lecture 1 Introduction CSE Summer

Introduc)on to Database Systems CSE 444. Lecture #1 March 29, 2010

Introduction to Database Systems CSE 444. Lecture #1 March 26, 2007

Introduction to Data Management CSE 344. Lecture 1: Introduction

Introduction to Data Management (Database Systems) CSE 414

Your New App. Motivation. Data Management is Universal. Staff. Introduction to Data Management (Database Systems) CSE 414. Lecture 1: Introduction

CSE 303: Database. Teaching Staff. Lecture 01. Lectures: 1 st half - from a user s perspective. Lectures: 2 nd half - understanding how it works

CSE 344 JANUARY 3 RD - INTRODUCTION

Introduction to Database Systems

Principles of Database Systems CSE 544. Lecture #1 Introduction and SQL

Principles of Database Systems CSE 544. Lecture #1 Introduction and SQL

CMPT 354: Database System I. Lecture 1. Course Introduction

CSE 544 Principles of Database Management Systems

Introduction to CS 4604

CMPSCI 645 Database Design & Implementation

Introduction to Information Systems SSC, Semester 6

CS 245: Database System Principles

CS 564: DATABASE MANAGEMENT SYSTEMS. Spring 2018

Outline. Quick Introduction to Database Systems. Data Manipulation Tasks. What do they all have in common? CSE142 Wi03 G-1

Database Systems CSE 414

Database Management Systems CS Spring 2017

Course: Database Management Systems. Lê Thị Bảo Thu

Introduction to Databases Fall-Winter 2010/11. Syllabus

What s a database anyway?

Course and Contact Information. Course Description. Course Objectives

CS157a Fall 2018 Sec3 Home Page/Syllabus

Database Management System Implementation. Who am I? Who is the teaching assistant? TR, 10:00am-11:20am NTRP B 140 Instructor: Dr.

Outline. Database Management Systems (DBMS) Database Management and Organization. IT420: Database Management and Organization

San José State University College of Science / Department of Computer Science Introduction to Database Management Systems, CS157A-3-4, Fall 2017

Outline. Databases and DBMS s. Recent Database Applications. Earlier Database Applications. CMPSCI445: Information Systems.

COMP-421: Database Systems. Joseph D silva McConnel Engg. 102

EECS 647: Introduction to Database Systems

Course Web Site. 445 Staff and Mailing Lists. Textbook. Databases and DBMS s. Outline. CMPSCI445: Information Systems. Yanlei Diao and Haopeng Zhang

CMPSCI445: Information Systems

BIS Database Management Systems.

MIS Database Systems.

Introduction to Databases Fall-Winter 2009/10. Syllabus

Principles of Database Systems CSE 544p. Lecture #1 September 28, 2011

CMPS 182: Introduction to Database Management Systems. Instructor: David Martin TA: Avi Kaushik. Syllabus

CAS CS 460/660 Introduction to Database Systems. Fall

745: Advanced Database Systems

Fall Semester 2002 Prof. Michael Franklin

Database Systems CSE 414

5/2/16. Announcements. NoSQL Motivation. The New Hipster: NoSQL. Serverless. What is the Problem? Database Systems CSE 414

Course and Contact Information. Course Description. Course Objectives

BBM371- Data Management. Lecture 1: Course policies, Introduction to DBMS

COMP-421: Database Systems. Joseph D silva McConnel Engg. 102

Databases TDA357/DIT620. Niklas Broberg

CS 4604: Introduction to Database Management Systems. B. Aditya Prakash Lecture #1: Introduction

CS 405G: Introduction to Database Systems. Lecture 1: Introduction

CS 525 Advanced Database Organization - Spring 2017 Mon + Wed 1:50-3:05 PM, Room: Stuart Building 111

5/1/17. Announcements. NoSQL Motivation. NoSQL. Serverless Architecture. What is the Problem? Database Systems CSE 414

Avi Silberschatz, Henry F. Korth, S. Sudarshan, Database System Concept, McGraw- Hill, ISBN , 6th edition.

CS634 Architecture of Database Systems Spring Elizabeth (Betty) O Neil University of Massachusetts at Boston

Dr. Angelika Reiser Chair for Database Systems (I3)

INF 315E Introduction to Databases School of Information Fall 2015

Database Systems ( 資料庫系統 ) Practicum in Database Systems ( 資料庫系統實驗 ) 9/20 & 9/21, 2006 Lecture #1

10/18/2017. Announcements. NoSQL Motivation. NoSQL. Serverless Architecture. What is the Problem? Database Systems CSE 414

Announcements. Two Classes of Database Applications. Class Overview. NoSQL Motivation. RDBMS Review: Serverless

Solution Manuals Of Database System By Ullman READ ONLINE

CS 4400 Database Systems. Meeting 1: Introduction Brandon Myers University of Iowa

9/8/2018. Prerequisites. Grading. People & Contact Information. Textbooks. Course Info. CS430/630 Database Management Systems Fall 2018

Course Book Academic Year

Databases 1. Daniel POP

COMP.3090/3100 Database I & II. Textbook

Introduction to Databases

San José State University Computer Science Department CS157A: Introduction to Database Management Systems Sections 5 and 6, Fall 2015

CMPT 354 Database Systems I. Spring 2012 Instructor: Hassan Khosravi

Department of Accounting & Law, School of Business. State University of New York at Albany. Acc 682 Analysis & Design of Accounting Databases

Introduction. Who wants to study databases?

Lecture Notes CPSC 321 (Fall 2018) Today... Survey. Course Overview. Homework. HW1 (out) S. Bowers 1 of 8

What We Have Already Learned. DBMS Deployment: Local. Where We Are Headed Next. DBMS Deployment: 3 Tiers. DBMS Deployment: Client/Server

DATABASE MANAGEMENT SYSTEMS

Course and Contact Information. Catalog Description. Course Objectives

In-class activities: Sep 25, 2017

CMPUT 391 Database Management Systems. Fall Semester 2006, Section A1, Dr. Jörg Sander. Introduction

Before we talk about Big Data. Lets talk about not-so-big data

Database Systems CSE 414

CSC 4710 / CSC 6710 Database Systems. Rao Casturi

Class Overview. Two Classes of Database Applications. NoSQL Motivation. RDBMS Review: Client-Server. RDBMS Review: Serverless

Introduction. Example Databases

CSE 344 JULY 9 TH NOSQL

CS430/630 Database Management Systems Spring, Betty O Neil University of Massachusetts at Boston

SRM UNIVERSITY FACULTY OF ENGINEERING AND TECHNOLOGY SCHOOL OF COMPUTING DEPARTMENT OF CSE COURSE PLAN

Evolution of Database Systems

Introduction to Database Systems

Databases CSCI 201 Principles of Software Development

Introduction to Databases

LECTURE1: PRINCIPLES OF DATABASES

CS 245: Principles of Data-Intensive Systems. Instructor: Matei Zaharia cs245.stanford.edu

Hash table example. B+ Tree Index by Example Recall binary trees from CSE 143! Clustered vs Unclustered. Example

Database Management Systems MIT Introduction By S. Sabraz Nawaz

Introduction to Data Management. Lecture #1 (The Course Trailer )

Introduction to Database Systems CSE 344

TEACHING & ASSESSMENT PLAN

Introduction to Database Systems CSE 414. Lecture 26: More Indexes and Operator Costs

CSE 132A. Database Systems Principles

Introduction to Database Systems

Who, where, when. Database Management Systems (LIX022B05) Literature. Evaluation. Lab Sessions. About this course. After this course...

Transcription:

Introduction to Database Systems CSE 444 Lecture 1 Introduction 1

About Me: General Prof. Magdalena Balazinska (magda) At UW since January 2006 PhD from MIT Born in Poland Grew-up in Poland, Algeria, and Canada 2

About Me: Research Past: Stream Processing Distributed stream processing (Borealis) Load management and fault-tolerance RFID data management (RFID Ecosystem) Probabilistic event processing (Lahar) Now: Cloud computing and scientific data mgmt Collaboration with astronomers, oceanographers, etc. Making large-scale data analysis easier and interactive Helping scientists leverage cloud computing 3

Staff Instructor: Magdalena Balazinska CSE 550, magda@cs.washington.edu Office hours: Wednesdays 10:30am-12:20pm Ugrad TA: Michael Rathanapinta michaelr@cs.washington.edu Office hours: Thursdays 10:30am-12:00pm in CSE 006 Ugrad TA: Liem Dinh liemdinh@cs.washington.edu 4

Communications Web page: http://www.cs.washington.edu/444 Lectures will be available there The mini-projects description will be there Homeworks will be posted there Mailing list Announcements, group discussions You are already subscribed Message board Great place to ask assignment-related questions 5

Textbook Main textbook, available at the bookstore: Database Systems: The Complete Book, Hector Garcia-Molina, Jeffrey Ullman, Jennifer Widom Most important: COME TO CLASS! ASK QUESTIONS! 6

Other Texts Available at the Engineering Library (not on reserve): Database Management Systems, Ramakrishnan XQuery from the Experts, Katz, Ed. Fundamentals of Database Systems, Elmasri, Navathe Foundations of Databases, Abiteboul, Hull, Vianu Data on the Web, Abiteboul, Buneman, Suciu 7

Course Format Lectures MWF, 9:30am-10:20am Quiz sections: Th 8:30-9:20, 9:30-10:20 Location: EEB 025 4 Mini-projects 3 homework assignments Midterm and final 8

Grading Homeworks 30% Mini-projects 30% Midterm 15% Final 25% 9

Four Mini-Projects 1. SQL 2. SQL in Java 3. Database tuning 4. Parallel processing: MapReduce Check course website for due dates 10

Three Homework Assignments 1. Conceptual Design 2. Transactions 3. Query execution and optimization Check course website for due dates 11

Exams Midterm: Monday, November 8, in class Final: Wednesday, December 15, 8:30-10:20am, in class 12

Outline of Today s Lecture 1. Overview of a DBMS 2. A DBMS through an example 3. Course content 13

Database What is a database? Give examples of databases 14

Database What is a database? A collection of files storing related data Give examples of databases Accounts database; payroll database; UW s students database; Amazon s products database; airline reservation database 15

Database Management System What is a DBMS? Give examples of DBMSs 16

Database Management System What is a DBMS? A big C program written by someone else that allows us to manage efficiently a large database and allows it to persist over long periods of time Give examples of DBMSs DB2 (IBM), SQL Server (MS), Oracle, Sybase MySQL, PostgreSQL, We will focus on relational DBMSs most quarter 17

Market Shares From 2006 Gartner report: IBM: 21% market with $3.2BN in sales Oracle: 47% market with $7.1BN in sales Microsoft: 17% market with $2.6BN in sales 18

An Example The Internet Movie Database http://www.imdb.com Entities: Actors (800k), Movies (400k), Directors, Relationships: who played where, who directed what, 19

Required Data Management Functionality 1. Describe real-world entities in terms of stored data 2. Create & persistently store large datasets 3. Efficiently query & update 1. Must handle complex questions about data 2. Must handle sophisticated updates 3. Performance matters 4. Change structure (e.g., add attributes) 5. Concurrency control: enable simultaneous updates 6. Crash recovery 7. Security and integrity 20

DBMS Benefits Expensive to implement all these features inside the application DBMS provides these features (and more) DBMS simplifies application development How to decide what features should go into the DBMS? 21

Back to Example: Tables Actor: id fname lname gender Cast: pid mid 195428 Tom Hanks M 645947 Amy Hanks F... 195428 337166... Movie: id Name year 337166 Toy Story 1995......... 22

SQL SELECT * FROM Actor 23

SQL SELECT count(*) FROM Actor This is an aggregate query 24

SQL SELECT * FROM Actor WHERE lname = Hanks This is a selection query 25

SQL SELECT * FROM Actor, Casts, Movie WHERE lname='hanks' and Actor.id = Casts.pid and Casts.mid=Movie.id and Movie.year=1995 This query has selections and joins 817K actors, 3.5M casts, 380K movies; How long do we expect it to take? 26

How Can We Evaluate the Query? Actor: Cast: Movie: id fname lname gender pid mid id Name year... Hanks...... 1995......... Plan 1:.... [ in class ] Plan 2:.... [ in class ] 27

Evaluating Tom Hanks σ lname= Hanks σ year=1995 σ lname= Hanks σ year=1995 Actor Cast Movie Actor Cast Movie 28

What an RDBMS Does Well (1/2) Indexes: on Actor.lName, on Movie.year Multiple implementations of joins Query optimization Access path selection Join order Join implementation Statistics! 29

Now Let s See Database Updates Transfer $100 from account #4662 to #7199: X = Read(Account, #4662); X.amount = X.amount - 100; Write(Account, #4662, X); Y = Read(Account, #7199); Y.amount = Y.amount + 100; Write(Account, #7199, Y); 30

Now Let s See Database Updates Transfer $100 from account #4662 to #7199: X = Read(Account, #4662); X.amount = X.amount - 100; Write(Account, #4662, X); Y = Read(Account, #7199); Y.amount = Y.amount + 100; Write(Account, #7199, Y); CRASH! What is the problem? 31

What a RDBMS Does Well (2/2) Transactions! Recovery Concurrency control 32

Client/Server Architecture There is a single server that stores the database (called DBMS or RDBMS): Usually a beefy system, e.g. IISQLSRV1 But can be your own desktop or a huge cluster running a parallel dbms Many clients run apps and connect to DBMS E.g. Microsoft s Management Studio Or psql (for postgres) More realistically some Java or C++ program Clients talk to server using JDBC protocol 33

What This Course Contains SQL Conceptual Design Transactions Database tuning and internals (very little) Distributed databases: a taste of MapReduce More data management Sampling, data cleaning, etc. XML: Xpath, Xquery 34

Accessing SQL Server SQL Server Management Studio Server Type = Database Engine Server Name = IISQLSRV Authentication = SQL Server Authentication Login = your UW email address (not CSE email) Password = Complex_PASS Change your password!! Then play with IMDB, start working on PROJ1 35