Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Introduction to Database Systems
Search
Lipyeow
August 15, 2015
Technology
0
1.4k
Introduction to Database Systems
Introduction to Database Systems
Lipyeow
August 15, 2015
Tweet
Share
More Decks by Lipyeow
See All by Lipyeow
Computer Networks Primer
lipyeow
0
560
Semi-structured Data Models & XML
lipyeow
0
400
Query Processing in DBMS
lipyeow
0
790
Storage & Indexing 1
lipyeow
0
1.2k
Storage & Indexing 2
lipyeow
0
690
Transaction Processing 1
lipyeow
0
850
Transaction Processing 2
lipyeow
0
620
Constraints, Triggers, Views, & Indexes
lipyeow
0
840
Functional Dependencies
lipyeow
0
1.2k
Other Decks in Technology
See All in Technology
Context Engineeringの取り組み
nutslove
0
340
超初心者からでも大丈夫!オープンソース半導体の楽しみ方〜今こそ!オレオレチップをつくろう〜
keropiyo
0
110
OpenShiftでllm-dを動かそう!
jpishikawa
0
100
制約が導く迷わない設計 〜 信頼性と運用性を両立するマイナンバー管理システムの実践 〜
bwkw
3
920
GitLab Duo Agent Platform × AGENTS.md で実現するSpec-Driven Development / GitLab Duo Agent Platform × AGENTS.md
n11sh1
0
130
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1k
AI駆動PjMの理想像 と現在地 -実践例を添えて-
masahiro_okamura
1
110
10Xにおける品質保証活動の全体像と改善 #no_more_wait_for_test
nihonbuson
PRO
2
240
レガシー共有バッチ基盤への挑戦 - SREドリブンなリアーキテクチャリングの取り組み
tatsukoni
0
210
Amazon Bedrock Knowledge Basesチャンキング解説!
aoinoguchi
0
140
AzureでのIaC - Bicep? Terraform? それ早く言ってよ会議
torumakabe
1
530
2026年、サーバーレスの現在地 -「制約と戦う技術」から「当たり前の実行基盤」へ- /serverless2026
slsops
2
240
Featured
See All Featured
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.9k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
910
Music & Morning Musume
bryan
47
7.1k
Navigating Team Friction
lara
192
16k
The Pragmatic Product Professional
lauravandoore
37
7.1k
A better future with KSS
kneath
240
18k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
66
37k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
170
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
The Invisible Side of Design
smashingmag
302
51k
Transcript
ICS$321$Data$Storage$&$Retrieval$$ Introduc8on$to$Database$Systems$ Prof.$$Lipyeow$Lim$ Informa8on$&$Computer$Science$Department$ University$of$Hawaii$at$Manoa$ 1$ Lipyeow$Lim$FF$University$of$Hawaii$at$Manoa$
Data,$Database,$DBMS$ ! A$database$:$a$collec8on$of$related$data.$ ! Represents$some$aspect$of$the$real$world$(aka$ universe$of$discourse).$ ! Logically$coherent$collec8on$of$data$ ! Designed$and$built$for$specific$purpose$$
! Data$are$known$facts$that$can$be$recorded$and$ that$have$implicit$meaning.$ ! A$data(model!is$a$collec8on$of$concepts$for$ describing$data.$ ! A$schema!is$a$descrip8on$of$a$par8cular$ collec8on$of$data,$using$the$a$given$data$model.$ Lipyeow$Lim$FF$University$of$Hawaii$at$Manoa$ 2$
DBMS$ • A$database(management(system((DBMS)$is$a$ collec&on!of!programs!that$enables$users$to$ – Create$new$DBs$and$specify$the$structure$using$ data$defini8on$language$(DDL)$ – Query$data$using$a$query$language$or$data$ manipula8on$language$(DML)$ – Store$very$large$amounts$of$data$ – Support$durability$in$the$face$of$failures,$errors,$
misuse$ – Control$concurrent$access$to$data$from$many$ users$ Lipyeow$Lim$FF$University$of$Hawaii$at$Manoa$ 3$
Types$of$Databases$ ! OnFline$Transac8on$ Processing$(OLTP)$ ! Banking$ ! Airline$reserva8ons$ ! Corporate$records$
! OnFline$Analy8cal$ Processing$(OLAP)$ ! Data$warehouses,$data$ marts$ ! Business$intelligence$(BI)$ ! Specialized$databases$ ! Mul8media$ ! XML$ ! Geographical$Informa8on$ Systems$(GIS)$ ! RealF8me$databases$ (telecom$industry)$ ! Special$Applica8ons$ ! Customer$Rela8onship$ Management$(CRM)$ ! Enterprise$Resource$ Planning$(ERP)$ ! Hosted$DB$Services$ ! Amazon,$Salesforce$ Lipyeow$Lim$FF$University$of$Hawaii$at$Manoa$ 4$
A$Bit$of$History$ ! 1970$Edgar$F$Codd$$(aka$“Ted”)$invented$the$rela8onal$ model$in$the$seminal$paper$“A$Rela8onal$Model$of$ Data$for$Large$Shared$Data$Banks”$ " Main$concept:$$rela&on$=$a$table$with$rows$and$columns.$ " Every$rela8on$has$a$schema,$which$describes$the$columns.$ !
Prior$1970,$no$standard$data$model.$$ ! Network$model$used$by$Codasyl$ ! Hierarchical$model$used$by$IMS$ ! Aaer$1970,$IBM$built$System$R$as$proofFofFconcept$for$ rela8onal$model$and$used$SQL$as$the$query$language.$ SQL$eventually$became$a$standard.$$$$ Lipyeow$Lim$FF$University$of$Hawaii$at$Manoa$ 5$
DBMS$ • A$database(management(system((DBMS)$is$a$ collec&on!of!programs!that$enables$users$to$ – Create$new$DBs$and$specify$the$structure$using$ data$defini8on$language$(DDL)$ – Query$data$using$a$query$language$or$data$ manipula8on$language$(DML)$ – Store$very$large$amounts$of$data$ – Support$durability$in$the$face$of$failures,$errors,$
misuse$ – Control$concurrent$access$to$data$from$many$ users$ Lipyeow$Lim$FF$University$of$Hawaii$at$Manoa$ 6$
DBMS$Components$ Lipyeow$Lim$FF$University$of$Hawaii$at$Manoa$ 7$ Storage$ Storage$Manager$ Buffer$Manager$ Index/file/record$ Manager$ Execu8on$Engine$ Query$Compiler$
Transac8on$Manager$ Logging$&$Recovery$ DDL$compiler$ Concurrency$ Control$ Lock$Table$ Buffers$ User/Application Database Administrator
Transac8on:$An$Execu8on$of$a$DB$Program$ ! A$transac&on$is$an$atomic$sequence$of$database$ ac8ons$(reads/writes).$ ! Each$transac8on,$executed$completely,$must$leave$the$ DB$in$a$consistent$state$if$DB$is$consistent$when$the$ transac8on$begins.$ ! A$DBMS$executes$mul8ple$transac8ons$concurrently$
! Instead$of$serially$one$aaer$another$ ! Results$in$beger$DBMS$performance.$Why$?$ ! Interleaving$ac8ons$of$different$transac8ons$can$lead$to$ inconsistency$e.g.,$check$is$cleared$while$account$balance$ is$being$computed.$ ! DBMS$ensures$such$problems$don’t$arise:$$users$can$ pretend$they$are$using$a$singleFuser$system.$ Lipyeow$Lim$FF$University$of$Hawaii$at$Manoa$ 8$
ACID$Proper8es$ • Atomicity$:$allForFnothing$execu8on$of$ transac8ons$ • Consistency:$$constraints$on$data$elements$is$ preserved$ • Isola8on:$each$transac8on$executes$as$if$no$ other$transac8on$is$execu8ng$concurrently$
• Durability:$effect$of$an$executed$transac8on$ must$never$be$lost$ Lipyeow$Lim$FF$University$of$Hawaii$at$Manoa$ 9$
Ensuring$Isola8on$ ! Scheduling$concurrent$transac8ons$ ! DBMS$ensures$that$execu8on$of${T1,$...$,$Tn}$is$ equivalent$to$some$serial$execu8on$T1’$...$Tn’.$ " Idea:$use$locks$to$serialize$access$to$shared$ objects$ "
Strict$2$Phase$locking$protocol:$ " Before$reading/wri8ng$an$object,$a$transac8on$ requests$a$lock$on$the$object,$and$waits$8ll$the$DBMS$ gives$it$the$lock.$$$ " All$locks$are$released$at$the$end$of$the$transac8on.$$$ " What$if$Tj$already$has$a$lock$on$Y$and$Ti$later$requests$ a$lock$on$Y?$(Deadlock!)$Ti$or$Tj$is$aborted$and$ restarted!$$ Lipyeow$Lim$FF$University$of$Hawaii$at$Manoa$ 10$
Ensuring$Atomicity$ ! DBMS$ensures$atomicity!even$if$system$crashes$ in$the$middle$of$a$Xact.$ ! Idea:$Keep$a$log$(history)$of$all$ac8ons$carried$ out$by$the$DBMS$while$execu8ng$a$set$of$Xacts.$ " Write$Ahead$Log$(WAL)$protocol$ "
Before$a$change$is$made$to$the$database,$the$ corresponding$log$entry$is$forced$to$disk.$$ " Aaer$a$crash,$the$effects$of$par8ally$executed$ transac8ons$are$undone$using$the$log.$$ " WAL$property:$if$log$entry$wasn’t$saved$before$the$ crash,$corresponding$change$was$not$applied$to$ database!$ Lipyeow$Lim$FF$University$of$Hawaii$at$Manoa$ 11$
Summary$ • Defini8ons$of$data,$databases,$data$models,$ schema$ • When$to$use$or$not$use$a$DBMS$ • DBMS$major$components$ • Transac8ons$and$concurrency$
• ACID$proper8es$of$transac8ons$ • Techniques$for$ensuring$ACID$proper8es$in$ DBMSs.$ Lipyeow$Lim$FF$University$of$Hawaii$at$Manoa$ 12$