Course Introduction & History of Database Systems

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

Database Fundamentals Chapter 1

Can you name one application that does not need any data? Can you name one application that does not need organized data?

Why are you here? Introduction. Course roadmap. Course goals. What do you want from a DBMS? What is a database system? Aren t databases just

Overview of Data Management

745: Advanced Database Systems

Overview of Data Management

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

Introduction. Random things to do after this course. Course roadmap. CPS 116 Introduction to Database Systems

Chapter 1 Introduction

CMPSCI 645 Database Design & Implementation

data systems 101 prof. Stratos Idreos class 2

Announcements. Using Electronics in Class. Review. Staff Instructor: Alvin Cheung Office hour on Wednesdays, 1-2pm. Class Overview

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

CMPT 354: Database System I. Lecture 3. SQL Basics

class 20 updates 2.0 prof. Stratos Idreos

Introduction to Databases CSE 414. Lecture 2: Data Models

Introduction to Data Management CSE 344. Lecture 2: Data Models

data systems 101 prof. Stratos Idreos class 2

CMPT 354: Database System I. Lecture 7. Basics of Query Optimization

Database Principle. Zhuo Wang Spring

Chapter 1: Introduction

CS425 Fall 2016 Boris Glavic Chapter 1: Introduction

DISCUSSION 5min 2/24/2009. DTD to relational schema. Inlining. Basic inlining

CMPT 354: Database System I. Lecture 11. Transaction Management

CMPT 354: Database System I. Lecture 5. Relational Algebra

Chapter 1: Introduction

HOW INDEX TO STORE DATA DATA

Topics. History. Architecture. MongoDB, Mongoose - RDBMS - SQL. - NoSQL

Announcements. Motivating Example. Transaction ROLLBACK. Motivating Example. CSE 444: Database Internals. Lab 2 extended until Monday

Chapter 1: Introduction

Introduction to Data Management CSE 344. Lectures 8: Relational Algebra

CSCI1270 Introduction to Database Systems

Database Technology Introduction. Heiko Paulheim

Introduction to Data Management CSE 344. Lectures 8: Relational Algebra

class 17 updates prof. Stratos Idreos

DATABASE MANAGEMENT SYSTEMS. UNIT I Introduction to Database Systems

Chapter 1: Introduction

Introduction Database Concepts

What is Data? ANSI definition: Volatile vs. persistent data. Data. Our concern is primarily with persistent data

What is Data? Volatile vs. persistent data Our concern is primarily with persistent data

Introduction. A few words about myself (and databases) Trend: Moore s Law reversed. CPS 116 Introduction to Database Systems

Lecture 1 Database Systems: An Introduction

Introduction to Database Systems

CS 245: Database System Principles

CAS CS 460/660 Introduction to Database Systems. Fall

System R cs262a, Lecture 2

Motivating Example. Motivating Example. Transaction ROLLBACK. Transactions. CSE 444: Database Internals

Introduction to Data Management CSE 344

Fundamentals of Database Systems

CMSC 424 Database design Lecture 4: Relational Model ER to Relational model. Book: Chap. 2 and 6. Mihai Pop

CMSC724: Data Models

Chapter 1: Introduction. Chapter 1: Introduction

CS639: Data Management for Data Science. Lecture 1: Intro to Data Science and Course Overview. Theodoros Rekatsinas

Each animal in ONE cage, multiple animals can share a cage Each animal cared for by ONE keeper, a keeper cares for multiple animals

Introduction to Databases

column-stores basics

CS 6903: Modern Cryptography Spring 2011

Part I: Structured Data

CSC 4710 / CSC 6710 Database Systems. Rao Casturi

San José State University Science/Computer Science Database Management System I

Database Systems (INFR10070) Dr Paolo Guagliardo. University of Edinburgh. Fall 2016

EECS 647: Introduction to Database Systems

Who we are: Database Research - Provenance, Integration, and more hot stuff. Boris Glavic. Department of Computer Science

LIS 2680: Database Design and Applications

Introduction to Information Retrieval. Hongning Wang

Announcements. Transaction. Motivating Example. Motivating Example. Transactions. CSE 444: Database Internals

Introduction to Databases CS348

CS 564: DATABASE MANAGEMENT SYSTEMS. Spring 2018

column-stores basics

Introduction to Databases

CSE 544 Principles of Database Management Systems. Lecture 4: Data Models a Never-Ending Story

5/17/17. Announcements. Review: Transactions. Outline. Review: TXNs in SQL. Review: ACID. Database Systems CSE 414.

Lecture 25 Overview. Last Lecture Query optimisation/query execution strategies

CSC 261/461 Database Systems. Fall 2017 MW 12:30 pm 1:45 pm CSB 601

Database Systems CSE 414

basic db architectures & layouts

The Relational Data Model

Review - Relational Model Concepts

SQL in the Hybrid World

SQL & intro to db architectures

CMPT 354: Database System I. Lecture 2. Relational Model

Please consult the Department of Engineering about the Computer Engineering Emphasis.

Database Fundamentals

CSE 444: Database Internals. Lectures 13 Transaction Schedules

CMU SCS CMU SCS Who: What: When: Where: Why: CMU SCS

Introduction to Relational Database Management Systems

CHAIR Jr, r7~. cou EGE FACULTY CHAIR (if \G,Jl ~ ~k amica~ pc{ 2.-0 I ; <-0 l "?J Approved,G. 'S u,\? Approved. Approved

Database Management Systems CS Spring 2017

Introduction to Database Systems CSE 444. Transactions. Lecture 14: Transactions in SQL. Why Do We Need Transactions. Dirty Reads.

class 17 updates prof. Stratos Idreos

Administration Naive DBMS CMPT 454 Topics. John Edgar 2

Course and Contact Information. Course Description. Course Objectives

COMP 117: Internet-scale Distributed Systems Lessons from the World Wide Web

Timeless Theory vs. Changing Users: Reconsidering Database Education

CSE 344 JANUARY 3 RD - INTRODUCTION

CS511 Design of Database Management Systems

Course Design Document: IS202 Data Management. Version 4.5

Course Requirements. Prerequisites Miscellaneous

CS 2451 Database Systems: Relational Data Model

Transcription:

Course Introduction & History of Database Systems CMPT 843, SPRING 2018 JIANNAN WANG https://sfu-db.github.io/dbsystems/ CMPT 843-2018 SPRING - SFU 1

Introduce Yourself What s your name? Where are you from? M.Sc. or Ph.D.? Which year? What do you want to get out of the course? CMPT 843-2018 SPRING - SFU 2

Course Introduction CMPT 843-2018 SPRING - SFU 3

Why this course? Objective 1. Stand on the shoulders of giants! A Half Century DB Research VLDB = Very Large Data Base (founded in 1975) Four Turing Awards $50 billion Market Per Year Objective 2. Master essential skills for being a researcher Reading Papers Giving Talks Reviewing Papers Asking Questions CMPT 843-2018 SPRING - SFU 4

Prerequisites Undergraduate Database Systems Courses Testing yourself: Relational Model, SQL, Query Optimization, Transaction, Concurrency Control, ACID, etc. If not, you have to spend extra time on Textbook: Database Management Systems Online Courses: Stanford, Berkeley CMPT 843-2018 SPRING - SFU 5

Part 1: Traditional Database Systems and Techniques (20 papers) Part 2: Modern Database Systems and Techniques (18 papers) 38 papers CMPT 843-2018 SPRING - SFU 6

Part 1: Traditional Database Systems and Techniques (before 2000) CMPT 843-2018 SPRING - SFU 7

Part 1: Traditional Database Systems and Techniques (before 2000) CMPT 843-2018 SPRING - SFU 8

Part 1: Traditional Database Systems and Techniques (before 2000) CMPT 843-2018 SPRING - SFU 9

Part 1: Traditional Database Systems and Techniques (before 2000) CMPT 843-2018 SPRING - SFU 10

Part 1: Traditional Database Systems and Techniques (before 2000) CMPT 843-2018 SPRING - SFU 11

Part 1: Traditional Database Systems and Techniques (before 2000) CMPT 843-2018 SPRING - SFU 12

Part 2: Modern Database Systems and Techniques (after 2000) CMPT 843-2018 SPRING - SFU 13

Part 2: Modern Database Systems and Techniques (after 2000) CMPT 843-2018 SPRING - SFU 14

Part 2: Modern Database Systems and Techniques (after 2000) CMPT 843-2018 SPRING - SFU 15

Part 2: Modern Database Systems and Techniques (after 2000) CMPT 843-2018 SPRING - SFU 16

Part 2: Modern Database Systems and Techniques (after 2000) CMPT 843-2018 SPRING - SFU 17

Part 2: Modern Database Systems and Techniques (after 2000) CMPT 843-2018 SPRING - SFU 18

References Papers to read Redbook - 5th Edition (Peter Bailis, Joseph M. Hellerstein, Michael Stonebraker) Readings in Database (Reynold Xin) Related Graduate Courses CS286: Implementation of Database Systems (UC Berkeley, Fall 2014) EECS 584: Advanced Database Management Systems (UMichgan, 2015 Fall) Big Data Systems (Columbia, 2016 Spring) 15-799: Advanced Topics in Database Systems (CMU, 2013 Fall) CMPT 843-2018 SPRING - SFU 19

Skills Reading Papers Giving Talks Reviewing Papers Asking Questions CMPT 843-2018 SPRING - SFU 20

How you will be trained Reading Papers 38 Papers Giving Talks 1 Paper (25min+10 min Q&A) Reviewing Papers 38 short reviews + 1 long review Asking Questions Asking at least 10 questions in the Q&A sessions CMPT 843-2018 SPRING - SFU 21

Grading Paper Presentation: 20% Paper Review: 30% Questions: 10% Blog Post: 10% Final Project: 30% (2% plan + 14% poster + 14% report) CMPT 843-2018 SPRING - SFU 22

What s next Fill in the form by the end of Sunday 1/7 https://goo.gl/forms/el8zy8s8zooz2ffs2 No Class This Friday! CMPT 843-2018 SPRING - SFU 23

History of Database Systems CMPT 843-2018 SPRING - SFU 24

Database Systems in a Half Century (1960s 2010s) When Early 1960 Early 1970 Mid 1970 Mid 1980 Mid 1980 Early 2000 Mid 2000 Now What The Navigational Database Empire The Database World War I The Relational Database Empire The Database World War II References. https://en.wikipedia.org/wiki/database#history What Goes Around Comes Around (Michael Stonebraker, Joe Hellerstein) 40 Years VLDB Panel CMPT 843-2018 SPRING - SFU 25

The Navigational Database Empire Data Model 1. How to organize data 2. How to access data (Early1960 Early 1970) Navigational Data Model 1. Organize data into a multi-dimensional space (i.e., A space of records) 2. Access data by following pointers between records Inventor: Charles Bachman 1. The 1973 ACM Turing Award 2. Turing Lecture: The Programmer As Navigator CMPT 843-2018 SPRING - SFU 26

The Navigational Database Empire (Early1960 Early 1970) Representative Navigational Database Systems Integrated Data Store (IDS), 1964, GE Information Management System (IMS), 1966, IBM Integrated Database Management System (IDMS), 1973, Goodrich CODASYL Short for Conference/Committee on Data Systems Languages Define navigational data model as standard database interface (1969) CMPT 843-2018 SPRING - SFU 27

The Birth of Relational Model Ted Codd Born in 1923 PHD in 1965 A Relational Model of Data for Large Shared Data Banks in 1970 Relational Model Organize data into a collection of relations Access data by a declarative language (i.e., tell me what you want, not how to find it) Data Independence CMPT 843-2018 SPRING - SFU 28

The Database World War I: Background One Slide (Navigational Model) Led by Charles Bachman (1973 ACM Turing Award) Has built mature systems Dominated the database market The other Slide (Relational Model) Led by Ted Codd (mathematical programmer, IBM) A theoretical paper with no system built Little support from IBM CMPT 843-2018 SPRING - SFU 29

The Database World War I: Three Big Campaigns 1. Which data model is better in theory? (Mid 1970) 2. Which data model is better in practice? (Late 1970 Early 1980) 3. Which data model is better in business? (Early 1980 Mid 1980) CMPT 843-2018 SPRING - SFU 30

The Theory Campaign A debate at ACM SIGFIDET (precursor of SIGMOD) 1974 Navigational model is bad Data Organization: So Complex Data Access: No Data Independence Relational model is bad Data Organization: A special case of navigational model Data Access: No system proof that declarative language is viable CMPT 843-2018 SPRING - SFU 31

The Practice Campaign The Big Question Can a relational database system perform as good as a navigational system? System prototypes Ingres at UC Berkeley (early and pioneering) System R at IBM (arguably got more stuff right ) The System R Team Query Optimization (Patricia P. Griffiths et al.) SQL ( Donald D. Chamberlin et al.) Transaction (Jim Gray et al.) CMPT 843-2018 SPRING - SFU 32

The Business Campaign Commercialization of Relational Database Systems Not as easy as we thought Three reasons (required) that led relational database systems to won The minicomputer revolution (1977) Competing products (e.g. IDMS) could not be ported to the minicomputer Relational front end was not added to navigational database systems CMPT 843-2018 SPRING - SFU 33

What Can We Learn? Lesson 1. The winning of theory The winning of practice Lesson 2. The winning of practice The winning of business Lesson 3. Everyone can get a chance to win CMPT 843-2018 SPRING - SFU 34

The Relational Database Empire (Mid1980 Early 2000) Parallel and distributed DBs (1980 1990) SystemR*, Distributed Ingres, Gamma, etc. Objected-oriented DB (1980 1990) Objects: Data/Code Integration Extensibility: User-defined functions, User-defined data types MySQL and PostgresSQL (1990s) Widely used open-source relational DB systems CMPT 843-2018 SPRING - SFU 35

The Database World War II: Background Internet Boom (Early 2000) Larger data volume that cannot be fit in a single machine Faster data updates that cannot be handled by a single machine Commercial distributed database systems are expensive L Open-source database systems do not support distributed computing well L CMPT 843-2018 SPRING - SFU 36

The Database World War II: Two Big Campaigns 1. Which is better for large-scale data analysis: MapReduce vs. Traditional Database Systems? 2. Which is better for distributed transaction processing: NoSQL vs. Traditional Database Systems? Let s find the answers through this course! J CMPT 843-2018 SPRING - SFU 37