models & intro to db architectures - harvard...

55
Models & Intro to DB Architectures prof. Stratos Idreos HTTP://DASLAB.SEAS.HARVARD.EDU/CLASSES/CS165/ class 3

Upload: others

Post on 31-Dec-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Models & Intro to DB Architectures - Harvard SEASdaslab.seas.harvard.edu/.../CS165Fall2017Class3.pdf · 2018. 11. 27. · starting class 3 we will do collaborative note taking. CS165,

Models & Intro to DB Architecturesprof. Stratos Idreos

HTTP://DASLAB.SEAS.HARVARD.EDU/CLASSES/CS165/

class 3

Page 2: Models & Intro to DB Architectures - Harvard SEASdaslab.seas.harvard.edu/.../CS165Fall2017Class3.pdf · 2018. 11. 27. · starting class 3 we will do collaborative note taking. CS165,

CS165, Fall 2017 Stratos Idreos /55

welcome brave cs165 students!2

Page 3: Models & Intro to DB Architectures - Harvard SEASdaslab.seas.harvard.edu/.../CS165Fall2017Class3.pdf · 2018. 11. 27. · starting class 3 we will do collaborative note taking. CS165,

CS165, Fall 2017 Stratos Idreos /553

NO LAPTOP/PHONE POLICYclass is based on participation!

+ there is enough evidence that laptops and phones slow you down (check syllabus for more info)

we will bring a copy of the slides for every one in each time class so you can follow and keep notes

Page 4: Models & Intro to DB Architectures - Harvard SEASdaslab.seas.harvard.edu/.../CS165Fall2017Class3.pdf · 2018. 11. 27. · starting class 3 we will do collaborative note taking. CS165,

CS165, Fall 2017 Stratos Idreos /554

slides are not notes!slides are mainly there to trigger discussion

note keeping is your task: starting class 3 we will do collaborative note taking

Page 5: Models & Intro to DB Architectures - Harvard SEASdaslab.seas.harvard.edu/.../CS165Fall2017Class3.pdf · 2018. 11. 27. · starting class 3 we will do collaborative note taking. CS165,

CS165, Fall 2017 Stratos Idreos /555

Will cs165 help me with using (big, nosql, relational) data systems

Yes it will but if that is your only goal, there are easier ways to do this

Page 6: Models & Intro to DB Architectures - Harvard SEASdaslab.seas.harvard.edu/.../CS165Fall2017Class3.pdf · 2018. 11. 27. · starting class 3 we will do collaborative note taking. CS165,

CS165, Fall 2017 Stratos Idreos /556

database kernel

data data data

algo

rithm

s/op

erat

ors

applications

sql

disk

memory

cpu

Page 7: Models & Intro to DB Architectures - Harvard SEASdaslab.seas.harvard.edu/.../CS165Fall2017Class3.pdf · 2018. 11. 27. · starting class 3 we will do collaborative note taking. CS165,

CS165, Fall 2017 Stratos Idreos /55

what should I be doing?

7

do P0 register to Piazza and stay logged in check syllabus/website carefully check project timeline and plan around it keep up with reading (goes fast!)register for notes today (tmr we will do assignments)

come to Labs and OH frequently

Page 8: Models & Intro to DB Architectures - Harvard SEASdaslab.seas.harvard.edu/.../CS165Fall2017Class3.pdf · 2018. 11. 27. · starting class 3 we will do collaborative note taking. CS165,

CS165, Fall 2017 Stratos Idreos /558

for the semester project:install MonetDB & PostgreSQL/MySQL and play with SQL

explain + SQL query to see query plans in MonetDB (use read-only mode)

repeat throughout the semester compare with your system in terms of performance

this is part of final deliverable

& several logistics and tools(code.seas, gdb, perf, valgrind, testing infrastructure)

do not underestimate this…

Page 9: Models & Intro to DB Architectures - Harvard SEASdaslab.seas.harvard.edu/.../CS165Fall2017Class3.pdf · 2018. 11. 27. · starting class 3 we will do collaborative note taking. CS165,

CS165, Fall 2017 Stratos Idreos /559

Read Browse Extra

Read completely and more than once

Read intro/related work, browse main part Read only if interested

Page 10: Models & Intro to DB Architectures - Harvard SEASdaslab.seas.harvard.edu/.../CS165Fall2017Class3.pdf · 2018. 11. 27. · starting class 3 we will do collaborative note taking. CS165,

CS165, Fall 2017 Stratos Idreos /5510

From the syllabus: “In this class many of the reading assignments are recent research papers. Unless mentioned

otherwise in class, you are not expected to read and understand all these research papers in extreme detail. The main purpose is for you to get exposed to recent ideas and concepts and get inspiration about new opportunities and what is coming in the future. We expect you to read and

understand well the abstract, introduction and related work parts of all papers. For the rest of the material in a paper, i.e.,

the main technical part and the analysis we expect you to have a high level idea of what this does unless we explicitly cover in detail the exact techniques in class. Our goal is that

by the end of the semester you will have enough background to be able to pick up any of these papers again and understand it fully! Of course if you want to discuss any of those papers in more detail we will happily do so during

office hours.”

Page 11: Models & Intro to DB Architectures - Harvard SEASdaslab.seas.harvard.edu/.../CS165Fall2017Class3.pdf · 2018. 11. 27. · starting class 3 we will do collaborative note taking. CS165,

CS165, Fall 2017 Stratos Idreos /5511

how to read research papers

1) abstract-intro-related work-conclusions what is the problem why is it important why past solutions do not work what is the core idea what is success

2) core part-analysis basic idea what matters any gaps?

goal: by the end of the semester understand these papers fully

3) follow a few citations and repeat

Page 12: Models & Intro to DB Architectures - Harvard SEASdaslab.seas.harvard.edu/.../CS165Fall2017Class3.pdf · 2018. 11. 27. · starting class 3 we will do collaborative note taking. CS165,

CS165, Fall 2017 Stratos Idreos /5512

we want you to have fun!data systems is an exciting field!

tell us how you are keeping up tell us what you need to better follow the class tell us your suggestions about how to improve the class

Page 13: Models & Intro to DB Architectures - Harvard SEASdaslab.seas.harvard.edu/.../CS165Fall2017Class3.pdf · 2018. 11. 27. · starting class 3 we will do collaborative note taking. CS165,

CS165, Fall 2017 Stratos Idreos /5513

next few weeks:(1) data models and languages (today) (2) db architectures (today & next few classes) (3) column-stores & hardware-conscious designs

Page 14: Models & Intro to DB Architectures - Harvard SEASdaslab.seas.harvard.edu/.../CS165Fall2017Class3.pdf · 2018. 11. 27. · starting class 3 we will do collaborative note taking. CS165,

CS165, Fall 2017 Stratos Idreos /5514

Extra: Scaling Games to Epic Proportions By W. White, A. Demers, C. Koch, J. Gehrke and R. Rajagopalan

ACM SIGMOD International Conference on Management of Data, 2007

thousands of users - tons of data - frequent updates - tons of queries analytics in the background for game intelligence

= the ultimate data-driven challenge

Page 15: Models & Intro to DB Architectures - Harvard SEASdaslab.seas.harvard.edu/.../CS165Fall2017Class3.pdf · 2018. 11. 27. · starting class 3 we will do collaborative note taking. CS165,

CS165, Fall 2017 Stratos Idreos /5515

a “simple” example

assume an array of N integers: find all positions where value>x

data

qualifying positions

exists in all systems: sql, nosql, newsqlselect operator

even the simplest tasks are actually far from trivial

no obvious solutions; just a taste of what to come15

Page 16: Models & Intro to DB Architectures - Harvard SEASdaslab.seas.harvard.edu/.../CS165Fall2017Class3.pdf · 2018. 11. 27. · starting class 3 we will do collaborative note taking. CS165,

CS165, Fall 2017 Stratos Idreos /5516

history/timeline

~1960sphilosophy/ sciences

papyrus/ paper

dbs

dbs vs

hand code

dbs vs

OSs dbs …

dbs vs

nosql

~2017

declarative/physical/logical independence

recovery/consistency

dbs

Page 17: Models & Intro to DB Architectures - Harvard SEASdaslab.seas.harvard.edu/.../CS165Fall2017Class3.pdf · 2018. 11. 27. · starting class 3 we will do collaborative note taking. CS165,

CS165, Fall 2017 Stratos Idreos /5517

db noSQL

as apps become more complex

as apps need to be more scalable

complex legacy tuning

expensive …

simple clean

just enough …

newSQL->db

abstractionsdeclarative processing

it is all the same…

memory hierarchy I/O vs CPU modeling

optimization data layout concepts

tradeoffs …

Page 18: Models & Intro to DB Architectures - Harvard SEASdaslab.seas.harvard.edu/.../CS165Fall2017Class3.pdf · 2018. 11. 27. · starting class 3 we will do collaborative note taking. CS165,

CS165, Fall 2017 Stratos Idreos /55

the evolution of data-driven applications

18

photo of Anand here

use own data (recommendations)(1)

use public data (search)(2)

use social data (social networks)(3)

all of the above (all of the above)(4) training data

(machine learning)(5)

Anand Rajaraman

Page 19: Models & Intro to DB Architectures - Harvard SEASdaslab.seas.harvard.edu/.../CS165Fall2017Class3.pdf · 2018. 11. 27. · starting class 3 we will do collaborative note taking. CS165,

CS165, Fall 2017 Stratos Idreos /5519

amazon

google

linkedin

Cyborg

bank X

the cyborg knows & manages

all your models

food for (big data-driven) thought Anand Rajaraman

Page 20: Models & Intro to DB Architectures - Harvard SEASdaslab.seas.harvard.edu/.../CS165Fall2017Class3.pdf · 2018. 11. 27. · starting class 3 we will do collaborative note taking. CS165,

CS165, Fall 2017 Stratos Idreos /5520

the biggest transportations companies have no cars

the biggest data companies have no data

the biggest hotel companies have no hotels

food for (big data-driven) thought

more about this and other thoughts in our first brainstorming session (TBA)

Page 21: Models & Intro to DB Architectures - Harvard SEASdaslab.seas.harvard.edu/.../CS165Fall2017Class3.pdf · 2018. 11. 27. · starting class 3 we will do collaborative note taking. CS165,

CS165, Fall 2017 Stratos Idreos /5521

logical design

physical design

system design

Page 22: Models & Intro to DB Architectures - Harvard SEASdaslab.seas.harvard.edu/.../CS165Fall2017Class3.pdf · 2018. 11. 27. · starting class 3 we will do collaborative note taking. CS165,

CS165, Fall 2017 Stratos Idreos /5522

essential steps in using a database system

clean schema load tune

query

experts/system admins

user/apps

Page 23: Models & Intro to DB Architectures - Harvard SEASdaslab.seas.harvard.edu/.../CS165Fall2017Class3.pdf · 2018. 11. 27. · starting class 3 we will do collaborative note taking. CS165,

CS165, Fall 2017 Stratos Idreos /5523

relational model+SQL

professors(id,name,…)

courses(id,name, profId,…)

students(id,name,…)

database

table/relationcolumn/attribute

give me the names of all students: select name from students

create table for professors: create table professors (id:integer, name: char(40), telephone: char(10), …) insert into professors (76897689, “john smith”, …)

where GPA>3.0

key

Page 24: Models & Intro to DB Architectures - Harvard SEASdaslab.seas.harvard.edu/.../CS165Fall2017Class3.pdf · 2018. 11. 27. · starting class 3 we will do collaborative note taking. CS165,

CS165, Fall 2017 Stratos Idreos /5524

employee(id:int, name:varchar(50), office:char(5), telephone:char(10), city:varchar(30), salary:int)

(1, name1, office1, tel1, city1, salary1) (2, name2, office2, tel2, city2, salary2) (3, name3, office3, tel3, city3, salary3) (4, name4, office4, tel4, city4, salary4) (5, name5, office5, tel5, city5, salary5) (6, name6, office6, tel6, city6, salary6) (7, name7, office7, tel7, city7, salary7) (8, name8, office8, tel8, city8, salary8) (9, name9, office9, NULL, city9, salary9)

schema

data

cardinality=9

SQL:insert into employee (1, name1, office1, tel1, city1, salary1)

value does not exist

Page 25: Models & Intro to DB Architectures - Harvard SEASdaslab.seas.harvard.edu/.../CS165Fall2017Class3.pdf · 2018. 11. 27. · starting class 3 we will do collaborative note taking. CS165,

CS165, Fall 2017 Stratos Idreos /5525

relational model+SQL

professor(id,name,…)

course(id,name, profId,…)

student(id,name,…)

database

give me all students enrolled in cs165select student.name from student, enrolled, course where course.name=“cs165” and enrolled.courseId=course.id and student.id=enrolled.studentId

enrolled(studentId,

courseId,…) foreign key

join

Page 26: Models & Intro to DB Architectures - Harvard SEASdaslab.seas.harvard.edu/.../CS165Fall2017Class3.pdf · 2018. 11. 27. · starting class 3 we will do collaborative note taking. CS165,

CS165, Fall 2017 Stratos Idreos /5526

student(id,name,…)

enrolled(studentId,courseId,…)

how do we join

Page 27: Models & Intro to DB Architectures - Harvard SEASdaslab.seas.harvard.edu/.../CS165Fall2017Class3.pdf · 2018. 11. 27. · starting class 3 we will do collaborative note taking. CS165,

CS165, Fall 2017 Stratos Idreos /55

normalization

27

AllData(student ID,student name,student address, course name, grade, professor name, professor ID, professor telephone,…)

good

say schema about university db contains one table…

duplicates - tons of data - updates - but no joins

query : no joins try to insert data now try to update professor data

Page 28: Models & Intro to DB Architectures - Harvard SEASdaslab.seas.harvard.edu/.../CS165Fall2017Class3.pdf · 2018. 11. 27. · starting class 3 we will do collaborative note taking. CS165,

CS165, Fall 2017 Stratos Idreos /5528

fact table(id1,id2,…)

dimension table 1(id1,…)

dimension table 2(id2,…)

star schema

Page 29: Models & Intro to DB Architectures - Harvard SEASdaslab.seas.harvard.edu/.../CS165Fall2017Class3.pdf · 2018. 11. 27. · starting class 3 we will do collaborative note taking. CS165,

CS165, Fall 2017 Stratos Idreos /5529

snowflake schema

Page 30: Models & Intro to DB Architectures - Harvard SEASdaslab.seas.harvard.edu/.../CS165Fall2017Class3.pdf · 2018. 11. 27. · starting class 3 we will do collaborative note taking. CS165,

CS165, Fall 2017 Stratos Idreos /5530

Alex Liu, class 2016 165/265 project

adaptive denormalization

1st prize in ACM SIGMOD undergrad research competition

Special Interest Group on Management of Data

Page 31: Models & Intro to DB Architectures - Harvard SEASdaslab.seas.harvard.edu/.../CS165Fall2017Class3.pdf · 2018. 11. 27. · starting class 3 we will do collaborative note taking. CS165,

CS165, Fall 2017 Stratos Idreos /5531

NORMALIZED DATA DENORMALIZED DATA

good for updates, storage but we need joins

only fast scans but expensive to create,

storage & updates

Page 32: Models & Intro to DB Architectures - Harvard SEASdaslab.seas.harvard.edu/.../CS165Fall2017Class3.pdf · 2018. 11. 27. · starting class 3 we will do collaborative note taking. CS165,

CS165, Fall 2017 Stratos Idreos /5532

adaptive denormalization

continuously physically reorganize data based on incoming query patterns (joins)

normalized data

denormalized fragments queries only need to fast scan

possible denormalized space

Page 33: Models & Intro to DB Architectures - Harvard SEASdaslab.seas.harvard.edu/.../CS165Fall2017Class3.pdf · 2018. 11. 27. · starting class 3 we will do collaborative note taking. CS165,

CS165, Fall 2017 Stratos Idreos /5533

create table employee (id:integer, name:varchar(50) not null, office:char(5), telephone:char(10), city:varchar(30), salary:integer, primary key (id) check (salary<100000))

constraints

at most 5 charsmust have a value

must be uniquemust not become rich

when and how do we enforce constraints

Page 34: Models & Intro to DB Architectures - Harvard SEASdaslab.seas.harvard.edu/.../CS165Fall2017Class3.pdf · 2018. 11. 27. · starting class 3 we will do collaborative note taking. CS165,

CS165, Fall 2017 Stratos Idreos /5534

select max(GPA),avg(GPA),min(GPA) from students

aggregations

select R.a - R.b + R.c from R

math

select * from R where R.a IN (select b from S where C<10)

nested

select * from R where a =10UNIONselect * from B where b =20

set ops

more SQL examples

Page 35: Models & Intro to DB Architectures - Harvard SEASdaslab.seas.harvard.edu/.../CS165Fall2017Class3.pdf · 2018. 11. 27. · starting class 3 we will do collaborative note taking. CS165,

CS165, Fall 2017 Stratos Idreos /5535

select avg(GPA), class, major from students where GPA>3.0 and class>1990 group by class, major order by class

Page 36: Models & Intro to DB Architectures - Harvard SEASdaslab.seas.harvard.edu/.../CS165Fall2017Class3.pdf · 2018. 11. 27. · starting class 3 we will do collaborative note taking. CS165,

CS165, Fall 2017 Stratos Idreos /5536

Employee(id:int, name:varchar(50), office:char(5),

telephone:char(10), city:varchar(30), salary:int)

base table

Employee-Berlin-Managerselect * from employee where city=“berlin”

view to be used by managers in Berlin

Employee-Berlin-Allselect id,name,city,office from employee where city=“berlin”

view to be used by all employees in Berlin

Why is this useful How should

we store views

Page 37: Models & Intro to DB Architectures - Harvard SEASdaslab.seas.harvard.edu/.../CS165Fall2017Class3.pdf · 2018. 11. 27. · starting class 3 we will do collaborative note taking. CS165,

CS165, Fall 2017 Stratos Idreos /55

why are data models great?

37

allow for abstraction

Page 38: Models & Intro to DB Architectures - Harvard SEASdaslab.seas.harvard.edu/.../CS165Fall2017Class3.pdf · 2018. 11. 27. · starting class 3 we will do collaborative note taking. CS165,

CS165, Fall 2017 Stratos Idreos /55

other models?

38

graph, RDF,

Page 39: Models & Intro to DB Architectures - Harvard SEASdaslab.seas.harvard.edu/.../CS165Fall2017Class3.pdf · 2018. 11. 27. · starting class 3 we will do collaborative note taking. CS165,

CS165, Fall 2017 Stratos Idreos /5539

it is summer 2018 - now you know all about data systems

you are building an augmented reality startup using Google Glass

people wearing Google Glass can tag places/objects - voice/image recognition works fine

tagging means assigning values, comments, etc to an object

you can then query this data - again assume voice recognition works fine and a black box translates natural language to SQL

how does the schema of your app look like? (tables, attributes, keys, relationships) (assume a limited working environment/features, say walking around Harvard square)

describe 2 interesting queries in SQL

user(id,first,last,dob,curlocation,…) comment(id,userId,objectId,text) object(id,location, all attributes of objects with nulls: telephone, year built, or only common attributes in object and store rest in extra tables with objId as both primary and foreign key) likesC(userId,commentId) likesO(userId,objID)

Page 40: Models & Intro to DB Architectures - Harvard SEASdaslab.seas.harvard.edu/.../CS165Fall2017Class3.pdf · 2018. 11. 27. · starting class 3 we will do collaborative note taking. CS165,

CS165, Fall 2017 Stratos Idreos /5540

user(id,name,location,device,…)

object(id,name,location,telephone,date,url,color,taste,…many more)

comment(id,user_id,oject_id,text,…)

likes_object(user_id,oject_id,)

likes_comment(user_id,comment_id)

a possible example

trust(user_id,user_id)

q1: get all places where jenny said “awesome”

select object.location from object, user where user.name = “jenny” and

comment.user_id=user.id and comment.text LIKE “%awesome%”

select user.name, user.location from user, likes_object as L1, likes_object as L2 where L1.user_id=my_id and L1.object_id=L2.object_id and L2.user_id !=my_id

and user.id=L2.user_id and close(user.location,mylocation)=true

q2: get all users that like what I like and are close by

tell them about dictionary compression - you do not do it in the schema - system does it underneath - better not let the designer worry about low level details - not always possible someone do an SQL query: select o.location from O,U where user.name = jenny and comment.user_id=user.id and comment.text LIKE “%awesome%” what the plan should look like? first the selection on comment or the join?

select names,location from U, likes_O as L1, likes_O as L2 where L1.user_id=my_id and L1.object_id=L2.object_id and L2.user_id !=my_id and user.id=L2.user_id and close(user.location,mylocation)=true

Page 41: Models & Intro to DB Architectures - Harvard SEASdaslab.seas.harvard.edu/.../CS165Fall2017Class3.pdf · 2018. 11. 27. · starting class 3 we will do collaborative note taking. CS165,

CS165, Fall 2017 Stratos Idreos /5541

object(id,name,location,telephone,date,url,color,taste,…many more)

how do we store the object table?

what if we want to add another kind of

object?

open research and business problemsql vs nosql

we are going to have TONS of objects! Talk about nodal

Page 42: Models & Intro to DB Architectures - Harvard SEASdaslab.seas.harvard.edu/.../CS165Fall2017Class3.pdf · 2018. 11. 27. · starting class 3 we will do collaborative note taking. CS165,

CS165, Fall 2017 Stratos Idreos /55

design

42

logical design

physical design

system design

Page 43: Models & Intro to DB Architectures - Harvard SEASdaslab.seas.harvard.edu/.../CS165Fall2017Class3.pdf · 2018. 11. 27. · starting class 3 we will do collaborative note taking. CS165,

CS165, Fall 2017 Stratos Idreos /55

so do db systems “just work”?

43

declarative interface ask what you want

db system

Page 44: Models & Intro to DB Architectures - Harvard SEASdaslab.seas.harvard.edu/.../CS165Fall2017Class3.pdf · 2018. 11. 27. · starting class 3 we will do collaborative note taking. CS165,

CS165, Fall 2017 Stratos Idreos /5544

declarative interface ask what you want

db system

DBAindexes/views/tuning knobsbut … db cracking, adaptive* ideas

Page 45: Models & Intro to DB Architectures - Harvard SEASdaslab.seas.harvard.edu/.../CS165Fall2017Class3.pdf · 2018. 11. 27. · starting class 3 we will do collaborative note taking. CS165,

CS165, Fall 2017 Stratos Idreos /5545

clean schema load tune

query

experts/system admins

user/apps

essential steps in using a database system

Page 46: Models & Intro to DB Architectures - Harvard SEASdaslab.seas.harvard.edu/.../CS165Fall2017Class3.pdf · 2018. 11. 27. · starting class 3 we will do collaborative note taking. CS165,

CS165, Fall 2017 Stratos Idreos /55

design

46

logical design

physical design

system design next up: db architectures 101

Page 47: Models & Intro to DB Architectures - Harvard SEASdaslab.seas.harvard.edu/.../CS165Fall2017Class3.pdf · 2018. 11. 27. · starting class 3 we will do collaborative note taking. CS165,

CS165, Fall 2017 Stratos Idreos /5547

design/implement numerous possible algorithms + data representations

choose the bestdata source, algorithms and path for each query

database kernel

data data dataal

gorit

hms/

oper

ator

s

applications

sql

design best possible storage/access level with a specific API decision level whenever we make decisions - things can go wrong

Page 48: Models & Intro to DB Architectures - Harvard SEASdaslab.seas.harvard.edu/.../CS165Fall2017Class3.pdf · 2018. 11. 27. · starting class 3 we will do collaborative note taking. CS165,

CS165, Fall 2017 Stratos Idreos /5548

database kernel

data data dataal

gorit

hms/

oper

ator

s

select min(A) from R where B<10 and C<80

optimizer

parser

execution

storage

parse like compiler flex, yacc, language grammar etc check catalog:maintain all meta, tables columns, —access control : am I allowed to see this data etc who decides how to store the data? based on what?

Page 49: Models & Intro to DB Architectures - Harvard SEASdaslab.seas.harvard.edu/.../CS165Fall2017Class3.pdf · 2018. 11. 27. · starting class 3 we will do collaborative note taking. CS165,

CS165, Fall 2017 Stratos Idreos /5549

database kernel

applications

sql

optimizer

parser

execution

storage

in/out

admission

simple listen send out with buffer

admission control - memory load etc simple number restriction - assign priorities etc…

Page 50: Models & Intro to DB Architectures - Harvard SEASdaslab.seas.harvard.edu/.../CS165Fall2017Class3.pdf · 2018. 11. 27. · starting class 3 we will do collaborative note taking. CS165,

CS165, Fall 2017 Stratos Idreos /5550

database kernel

applications

sql

client programs

thread1

thread2

thread3 db

program

thread pool

thread5

thread4

diff between program and thread - thread pool to avoid creating and destroying threads - databases had their own thread support - now use OS

Page 51: Models & Intro to DB Architectures - Harvard SEASdaslab.seas.harvard.edu/.../CS165Fall2017Class3.pdf · 2018. 11. 27. · starting class 3 we will do collaborative note taking. CS165,

CS165, Fall 2017 Stratos Idreos /5551

database kernel

applications

sql

optimizer

parser

execution

storage buffer pool

in/out

thread pool

transactions

disk

memory

cpu

is it “good” to have modules

Page 52: Models & Intro to DB Architectures - Harvard SEASdaslab.seas.harvard.edu/.../CS165Fall2017Class3.pdf · 2018. 11. 27. · starting class 3 we will do collaborative note taking. CS165,

CS165, Fall 2017 Stratos Idreos /5552

models help create the right abstractions

models help create >>1 applications over the same data we first need to clean, structure and load data

data systems consist of software components

Notes to remember

Page 53: Models & Intro to DB Architectures - Harvard SEASdaslab.seas.harvard.edu/.../CS165Fall2017Class3.pdf · 2018. 11. 27. · starting class 3 we will do collaborative note taking. CS165,

CS165, Fall 2017 Stratos Idreos /5553

readingRead: textbook: chapters 1, 3 (-3.5), 5 (-5.8,-5.9) intro + relational model + SQL

Browse: “the Fourth Paradigm”

Page 54: Models & Intro to DB Architectures - Harvard SEASdaslab.seas.harvard.edu/.../CS165Fall2017Class3.pdf · 2018. 11. 27. · starting class 3 we will do collaborative note taking. CS165,

CS165, Fall 2017 Stratos Idreos /5554

readings for next few classes

Read: Architecture of a Database System (Sections 1,2,3,4)by J. Hellerstein, M. Stonebraker and J. Hamilton

Read: The Design and Implementation of Modern Column-store Database Systemsby D. Abadi, P. Boncz, S. Harizopoulos, S. Idreos, S. Madden

Page 55: Models & Intro to DB Architectures - Harvard SEASdaslab.seas.harvard.edu/.../CS165Fall2017Class3.pdf · 2018. 11. 27. · starting class 3 we will do collaborative note taking. CS165,

Models & Intro to DB Architectures

DATA SYSTEMSprof. Stratos Idreos

class 3