Faloutsos/Pavlo C. Faloutsos – A. Pavlo Lecture#1: Introduction

Slides:



Advertisements
Similar presentations
ECE 569 Database System EngineeringSpring 2003 ECE 569 Database System Engineering Spring 2003 Yanyong Zhang
Advertisements

Databases and Database Management System. 2 Goals comprehensive introduction to –the design of databases –database transaction processing –the use of.
CMU SCS Carnegie Mellon Univ. Dept. of Computer Science /615 - DB Applications C. Faloutsos – A. Pavlo How to Scale a Database System.
Chapter One Overview of Database Objectives: -Introduction -DBMS architecture -Definitions -Data models -DB lifecycle.
Syllabus CS 765: Introduction to Database Management Systems Fall 2008 Text Database Management Systems Ramakrishnan/Gehrke, 3rd.
Information Retrieval and Web Search Lecture 1. Course overview Instructor: Rada Mihalcea Class web page:
SQL Structured Query Language Programming Course.
B. Prabhakaran1 Multimedia Systems Textbook Any/Most Multimedia Related Books Reference Papers: Appropriate reference papers discussed in class from time.
Lecture 1: Overview of CSCI 485 Notes: I presented parts of this lecture as a keynote at Educator’s Symposium of OOPSLA Shahram Ghandeharizadeh Associate.
January 16, 2007 COMS 4118 (Operating Systems I) Henning Schulzrinne Dept. of Computer Science Columbia University
CS 541 Lecture Slides Sunil Prabhakar CS541 Database Systems.
Introduction.  Administration  Simple DBMS  CMPT 454 Topics John Edgar2.
CS363: Introduction to Database Systems Instructor: Ying Cai Department of Computer Science Iowa State University Office: Atanasoff.
Fall CSE330/CIS550: Introduction to Database Management Systems Prof. Susan Davidson Office: 278 Moore Office hours: TTh
B. Prabhakaran1 Multimedia Systems Reference Text “Multimedia Database Management Systems” by B. Prabhakaran, Kluwer Academic Publishers. – Kluwer bought.
CS522 Advanced database Systems Huiping Guo Department of Computer Science California State University, Los Angeles Course administration.
CS445 Pacific University 1 11/16/2016 CS 445 Introduction to Database Systems TTH 1:00 – 2:15 Chadd Williams Office HoursM 1:00-2:00 Tue 11-noon Thur 3-4.
Welcome to Advanced Database Course
CPSC-310 Database Systems
Computer Network Fundamentals CNT4007C
Course Overview - Database Systems
Logical DB Design: ER to Relational
Database Management Systems
Course Introduction 공학대학원 데이타베이스
CS 245: Database System Principles Notes 01: Introduction
CSE 662 – Languages and Databases Class Overview
Chapter 1: Introduction
Computer Networks CNT5106C
Special Topics in CCIT: Databases
Faloutsos - Pavlo C. Faloutsos - A. Pavlo Lecture#2: E-R diagrams
March 27 – Course introductions; Adts; Stacks and Queues
CS5040: Data Structures and Algorithms
Data Resource Management
CS1222 Using Relational Databases and SQL
Computer Science 102 Data Structures CSCI-UA
September 27 – Course introductions; Adts; Stacks and Queues
Introduction to Database Systems
Introduction to Database Systems
Translation of ER-diagram into Relational Schema
Lecture#7: Fun with SQL (Part 2)
What is a Database and Why Use One?
From ER to Relational Model
Course Overview - Database Systems
Basic Concepts in Data Management
February 7th – Exam Review
CS1222 Using Relational Databases and SQL
Lecture#12: External Sorting (R&G, Ch13)
Teaching slides Chapter 8.
Physical Database Design
Faloutsos/Pavlo C. Faloutsos – A. Pavlo Lecture#27: Final Review
INTRODUCTION TO INFORMATION SYSTEMS AND TECHNOLOGY (NET 201)
Faloutsos/Pavlo C. Faloutsos – A. Pavlo Lecture#13: Query Evaluation
Database Systems Instructor Name: Lecture-3.
CSC 453 Database Technologies
Tonga Institute of Higher Education IT 141: Information Systems
Multimedia Systems Reference Text
CS1222 Using Relational Databases and SQL
CS1222 Using Relational Databases and SQL
Database & Information Systems
CS1222 Using Relational Databases and SQL
Introduction to Database Systems CSE 444
Tonga Institute of Higher Education IT 141: Information Systems
Sarah Diesburg Operating Systems CS 3430
Lecture 1: Overview of CSCI 485 Notes: I presented parts of this lecture as a keynote at Educator’s Symposium of OOPSLA Shahram Ghandeharizadeh Director.
Lecture 1: Overview of CSCI 485 Notes: I presented parts of this lecture as a keynote at Educator’s Symposium of OOPSLA Shahram Ghandeharizadeh Associate.
CSC 453 Database Technologies
CSC 453 Database Technologies
CS1222 Using Relational Databases and SQL
Database management systems
Presentation transcript:

Faloutsos/Pavlo C. Faloutsos – A. Pavlo Lecture#1: Introduction CMU 15-415/615 Carnegie Mellon Univ. Dept. of Computer Science 15-415/615 - DB Applications C. Faloutsos – A. Pavlo Lecture#1: Introduction

Today’s Agenda Course Overview & Logistics Introduction of Databases Faloutsos/Pavlo CMU SCS 15-415/615

15-615 Wait List We are capped at 90 students. We do not follow CMU S3’s position list. You are not allowed to swap with somebody already enrolled in the course. Faloutsos/Pavlo CMU SCS 15-415/615

Course Objective Students will learn the fundamentals of database management systems. When to use them How to model data with them How to store and retrieve information How to search quickly for information System internals & key algorithms Faloutsos/Pavlo CMU SCS 15-415/615

Course Logistics Course Policies + Schedule: Academic Honesty: Faloutsos/Pavlo CMU 15-415/615 Course Logistics Course Policies + Schedule: Refer to course web page. Academic Honesty: Refer to CMU policy page. If you’re not sure, ask the professors. Don’t be stupid. http://www.cmu.edu/policies/documents/Academic Integrity.htm Faloutsos/Pavlo CMU SCS 15-415/615

Course Rubric Homework Assignments Midterm Exam Final Exam Faloutsos/Pavlo CMU SCS 15-415/615

Homework Assignments All assignments are due at the beginning of the lecture (3:00pm), on the due date. All assignments are to be done individually. Late policy: Four “Slip” Days HW3 & HW7 require more programming than the other assignments. Faloutsos/Pavlo CMU SCS 15-415/615

Exams Midterm: Wednesday October 19th Final: TBA In-class (this room) Materials up to October 12th & HW4 (inclusive) Final: TBA Comprehensive Faloutsos/Pavlo CMU SCS 15-415/615

Grading Assignments: 30% Midterm: 30% Final: 40% See course web page for HW weights. Midterm: 30% Final: 40% No extra credit is offered. Faloutsos/Pavlo CMU SCS 15-415/615

Special Accommodations Please contact the professors if you need special accommodations for the homework or exams before the due dates. Refer to CMU Accommodations Page Faloutsos/Pavlo CMU SCS 15-415/615

Office Hours Christos (GHC 8019) Andy (GHC 9019) Tuesdays @ 2pm-3pm Andy (GHC 9019) Mondays @ 12pm-1pm Also available by appointment. See course website for TA hours. Faloutsos/Pavlo CMU SCS 15-415/615

Course Message Board On-line discussion through Blackboard: http://cmudb.io/15415-f16-blackboard If you have a technical question about homework, please use Blackboard. Don’t email profs or TAs directly. All non-project questions should be sent to the professors. Faloutsos/Pavlo CMU SCS 15-415/615

Lecture Questions Ask questions during the lecture. If you are unsure about something, then somebody else might have the same question. Don’t run up to talk to the professors immediately after the lecture. Faloutsos/Pavlo CMU SCS 15-415/615

Course Topics Introduction to Databases Data Models Faloutsos/Pavlo CMU 15-415/615 Course Topics Introduction to Databases Data Models Query Language (SQL) Database Design Query Optimization & Indexing Transaction Management Advanced Topics Faloutsos/Pavlo CMU SCS 15-415/615

Spring 2017 15-721 – Database Systems High-performance in-memory system internals Programming intensive 15-826 – Multimedia DBs & Data Mining Graph mining, time-series analysis, databases for machine learning. Non-relational data Faloutsos/Pavlo CMU SCS 15-415/615

Database Talks (Optional) The CMU DB group hosts research/industry talks throughout the semester. More information: http://db.cs.cmu.edu/events/ Faloutsos/Pavlo CMU SCS 15-415/615

Research Positions (Optional) We are looking for students to help build CMU’s new flagship DBMS (Peloton) Database Internals (C++11) Autonomous Operation (TensorFlow) Come to the project info meeting: Friday Sept 9th @ 12:30 (GHC 9115) http://cmudb.io/fall2016-positions Faloutsos/Pavlo CMU SCS 15-415/615

What is a Database? Faloutsos/Pavlo CMU SCS 15-415/615

Database Example Or why should you take this course? Let’s build a simple application… Faloutsos/Pavlo CMU SCS 15-415/615

Database Example Create a database to keep track of the music that is available in our application. ARTIST name description country ALBUM name year TRACK name number Faloutsos/Pavlo CMU SCS 15-415/615

Flat File Strawman Store the data in comma-separated value (CSV) files. Use a separate file per entity. The application has to parse the files each time they want to read/update records. for line in file: record = parse(line) if searchKey in record: // Do something! Faloutsos/Pavlo CMU SCS 15-415/615

Database Example Create a database to keep track of the music that is available in our application. ARTIST name description country ALBUM name artist year ALBUM name year TRACK name album number TRACK name number Faloutsos/Pavlo CMU SCS 15-415/615

Flat Files: Data Integrity How do we ensure that the artist is the same for each album entry? What if somebody overwrites the album year with an invalid string? What if there are multiple artists on an album? Faloutsos/Pavlo CMU SCS 15-415/615

Flat Files: Implementation How do you find a particular record? What if we now want to create a new application that uses the same database? What if two threads try to write to the same file at the same time? Faloutsos/Pavlo CMU SCS 15-415/615

Flat Files: Security What if only want some people to see some of the records data in a file? What about all of the records but only some of their attributes? Faloutsos/Pavlo CMU SCS 15-415/615

Flat Files: Durability What if the machine crashes while we’re updating a record? What if we want to replicate the database on multiple machines for high availability? Faloutsos/Pavlo CMU SCS 15-415/615

Database Management System ≠ Faloutsos/Pavlo CMU SCS 15-415/615

Database Management System A DBMS is software that allows applications to store and analyze information in a database. A general-purpose DBMS is designed to allow the definition, creation, querying, update, and administration of databases. Faloutsos/Pavlo CMU SCS 15-415/615

DBMS Types: Data Models 15-415/615 Relational Key/Value Graph Document Column-family Array/Matrix Obsolete: Hierarchical, Network Traditional / NewSQL NoSQL Faloutsos/Pavlo CMU SCS 15-415/615

DBMS Types: Target Workload On-line Transaction Processing (OLTP) Fast operations that only read/update a small amount of data each time. On-line Analytical Processing (OLAP) More complex read-only queries that read a lot of data all at once to compute aggregate data. Faloutsos/Pavlo CMU SCS 15-415/615

Relational Database Example Declare the attributes of each table. Name / Value Types / Constraints CREATE TABLE artist ( name VARCHAR(32) NOT NULL, genre VARCHAR(32), country CHAR(3), PRIMARY KEY (name) ); CREATE TABLE album ( name VARCHAR(64) NOT NULL, artist VARCHAR(32) NOT NULL ↪REFERENCES artist(name), year INT CHECK(year > 0), CREATE TABLE track ( album VARCHAR(64) NOT NULL ↪REFERENCES artist(name), tracknum SMALLINT ↪CHECK(tracknum > 0), PRIMARY KEY (name, tracknum) ARTIST name description country ALBUM name artist year TRACK name album number Faloutsos/Pavlo CMU SCS 15-415/615

DBMS: Fundamental Concepts Three-level Architecture Logical Data Independence Physical Data Independence Faloutsos/Pavlo CMU SCS 15-415/615

Three-level Architecture View 1 View n … View Level What information is exposed to users, what are they allowed to see… Logical Level What tables are there, what attributes do they have, what constraints should the DBMS enforce… Table Physical Level How data is stored, where it is located, how many bytes, what type of indexes… Storage Faloutsos/Pavlo CMU SCS 15-415/615

Logical Data Independence We can modify our table definitions without having change our application’s views. Example: Add/drop/rename attributes for a table. Rename a table. Faloutsos/Pavlo CMU SCS 15-415/615

Physical Data Independence We can change how/where database objects are represented in the physical storage. Examples: Use 32-bits instead of 64-bits for integers. Convert an index from a B+Tree to a SkipList. Compress a table when it is stored on disk. Move a table to another disk/machine. Faloutsos/Pavlo CMU SCS 15-415/615

Course Topics Introduction to Databases Data Models Faloutsos/Pavlo CMU 15-415/615 Course Topics Introduction to Databases Data Models Query Language (SQL) Database Design Query Optimization & Indexing Transaction Management Advanced Topics Faloutsos/Pavlo CMU SCS 15-415/615

Next Class Application Modeling Entities Relationships Attributes Faloutsos/Pavlo CMU SCS 15-415/615