data modelling and databases - systems group · 2014-06-24 · – part 1: build an app; part 2:...
TRANSCRIPT
![Page 1: Data Modelling and Databases - Systems Group · 2014-06-24 · – Part 1: Build an App; Part 2: Build a DB – Groups of three students – Not graded • Exercise Sheets – Handout](https://reader034.vdocument.in/reader034/viewer/2022042320/5f0a05c47e708231d429a35a/html5/thumbnails/1.jpg)
Data Modelling and Databases
Donald Kossmann Systems Group
ETH Zürich www.systems.ethz.ch
1
![Page 2: Data Modelling and Databases - Systems Group · 2014-06-24 · – Part 1: Build an App; Part 2: Build a DB – Groups of three students – Not graded • Exercise Sheets – Handout](https://reader034.vdocument.in/reader034/viewer/2022042320/5f0a05c47e708231d429a35a/html5/thumbnails/2.jpg)
Schedule • Lectures
– Mondays: 10:00 – 12:00 – Wednesdays: 8:00 – 10:00 – Held in German (English slides)
• Exercise Groups (Start March 5) – Tuesdays: 8:00 – 10:00 – Fridays: 8:00 - 10:00 – Held in English and German
• Please, register during the break today: – lists at the front desk of lecture room
2
![Page 3: Data Modelling and Databases - Systems Group · 2014-06-24 · – Part 1: Build an App; Part 2: Build a DB – Groups of three students – Not graded • Exercise Sheets – Handout](https://reader034.vdocument.in/reader034/viewer/2022042320/5f0a05c47e708231d429a35a/html5/thumbnails/3.jpg)
Literature
• Kemper, Eickler: Datenbanksysteme: Eine Einführung. Oldenbourg Verlag, 7. Auflage, 2009.
or • Garcia-Molina, Ullman, Widom: Database
Systems: The Complete Book. Pearson, 2. Auflage, 2008.
3
![Page 4: Data Modelling and Databases - Systems Group · 2014-06-24 · – Part 1: Build an App; Part 2: Build a DB – Groups of three students – Not graded • Exercise Sheets – Handout](https://reader034.vdocument.in/reader034/viewer/2022042320/5f0a05c47e708231d429a35a/html5/thumbnails/4.jpg)
Overview • How to use a database system?
– Data modelling (ER, UML, theory) – Database programming (SQL)
• How to build a database system? – Query optimization – Transaction management
• What next? – Object-orientierted, object-relational databases – Data Warehousing, Decision Support, Data Mining – XML & WWW
4
![Page 5: Data Modelling and Databases - Systems Group · 2014-06-24 · – Part 1: Build an App; Part 2: Build a DB – Groups of three students – Not graded • Exercise Sheets – Handout](https://reader034.vdocument.in/reader034/viewer/2022042320/5f0a05c47e708231d429a35a/html5/thumbnails/5.jpg)
Detailed Schedule Week No. Date (Mi) Topic Lecture Topic Exercises
1 20.2.2013 Introduction ---
2 27.2.2013 ER, UML ---
3 6.3.2013 Relational Model ER 4 13.3.2013 SQL I Start project 5 20.3.2013 Guest Lecture, SQL II Relational Model 6 27.3.2013 Integrity Constraints --- 7 3.4.2013 --- --- 8 10.4.2013 Normal forms I SQL 9 17.4.2013 Normal forms II IC, Project: Part I
10 24.4.2013 Query Processing I Normal forms 11 1.5.2013 (Query Processing II) Normal forms, Proj. 12 8.5.2013 Transactions Query Processing 13 15.5.2013 Synchronization Transactions
14 22.5.2013 Security Synchronization
15 29.5.2013 Object-relational Databases End Project: Part 2 5
![Page 6: Data Modelling and Databases - Systems Group · 2014-06-24 · – Part 1: Build an App; Part 2: Build a DB – Groups of three students – Not graded • Exercise Sheets – Handout](https://reader034.vdocument.in/reader034/viewer/2022042320/5f0a05c47e708231d429a35a/html5/thumbnails/6.jpg)
Exercises & Exam • Project
– Part 1: Build an App; Part 2: Build a DB – Groups of three students – Not graded
• Exercise Sheets – Handout in the week before it is discussed – Not graded – Please, do them before they are discussed!
• Sessionsprüfung (written, 90min, closed book) 6
![Page 7: Data Modelling and Databases - Systems Group · 2014-06-24 · – Part 1: Build an App; Part 2: Build a DB – Groups of three students – Not graded • Exercise Sheets – Handout](https://reader034.vdocument.in/reader034/viewer/2022042320/5f0a05c47e708231d429a35a/html5/thumbnails/7.jpg)
Internships in India (Accenture) • If you are interested in an internship in India, please,
contact: [email protected] • Duration: Juni - September 2013 (no classes) • Requirements
– doing well with regard to your study plan – English – Programming languages: Java, SQL – Bachelor and Master students
• Application deadline: 15. March 2013 (by E-Mail) • This is an adventure!!!
– (I would do it myself, if I met the requirements.)
• „Session Exams“ can be taken in India 7
![Page 8: Data Modelling and Databases - Systems Group · 2014-06-24 · – Part 1: Build an App; Part 2: Build a DB – Groups of three students – Not graded • Exercise Sheets – Handout](https://reader034.vdocument.in/reader034/viewer/2022042320/5f0a05c47e708231d429a35a/html5/thumbnails/8.jpg)
What is a Database System (DBMS)?
• A DBMS is a tool that helps develop and run data-intensive applications: – large databases – large data streams
8
![Page 9: Data Modelling and Databases - Systems Group · 2014-06-24 · – Part 1: Build an App; Part 2: Build a DB – Groups of three students – Not graded • Exercise Sheets – Handout](https://reader034.vdocument.in/reader034/viewer/2022042320/5f0a05c47e708231d429a35a/html5/thumbnails/9.jpg)
Vision
• Store all data and make it available and useful to all authorized people, anytime and anywhere.
• Google‘s mission statement: Organize all the information of the world.
• Status: Technology is there (card boxes). The
model is missing (labels).
9
![Page 10: Data Modelling and Databases - Systems Group · 2014-06-24 · – Part 1: Build an App; Part 2: Build a DB – Groups of three students – Not graded • Exercise Sheets – Handout](https://reader034.vdocument.in/reader034/viewer/2022042320/5f0a05c47e708231d429a35a/html5/thumbnails/10.jpg)
Simple Truths • „Power of data“
– the more data the merrier (GB -> TB) – data comes from everywhere in all shapes – value of data often discovered later – data has no owner within an organization (no silos!)
• Services turn data into $
– the more services the merrier – need to adapt quickly
• E.g.: Google, Amadeus, Disney, Walmart, BMW, ... • Platforms: Oracle, MS, SAP, Google, ..., 28msec 10
![Page 11: Data Modelling and Databases - Systems Group · 2014-06-24 · – Part 1: Build an App; Part 2: Build a DB – Groups of three students – Not graded • Exercise Sheets – Handout](https://reader034.vdocument.in/reader034/viewer/2022042320/5f0a05c47e708231d429a35a/html5/thumbnails/11.jpg)
The Data Management Universe
11
![Page 12: Data Modelling and Databases - Systems Group · 2014-06-24 · – Part 1: Build an App; Part 2: Build a DB – Groups of three students – Not graded • Exercise Sheets – Handout](https://reader034.vdocument.in/reader034/viewer/2022042320/5f0a05c47e708231d429a35a/html5/thumbnails/12.jpg)
Data and Data Models
• Formats – XML, serialized Java objects, binary, ...
• Structures / Models – Tuples, hierarchies, relationships, lists, unstructured, ...
• Examples – Lecture notes – Financial accounts – Emotions (?): love, taste, ...
12
![Page 13: Data Modelling and Databases - Systems Group · 2014-06-24 · – Part 1: Build an App; Part 2: Build a DB – Groups of three students – Not graded • Exercise Sheets – Handout](https://reader034.vdocument.in/reader034/viewer/2022042320/5f0a05c47e708231d429a35a/html5/thumbnails/13.jpg)
Systems • Software platforms that store & organize data
– File system: Windows, ... – Relational database systems: Postgres, Oracle, ... – Other database systems: Sausalito (;-) ), OODB, ... – Key/value stores: HBase, AWS S3, MongoDB, ... – Interpreters: JVM, .NET, ... – Human intelligence
• Hardware that stores & organizes data – HDD, SSD, main memory, ... – Paper – Human brain
13
![Page 14: Data Modelling and Databases - Systems Group · 2014-06-24 · – Part 1: Build an App; Part 2: Build a DB – Groups of three students – Not graded • Exercise Sheets – Handout](https://reader034.vdocument.in/reader034/viewer/2022042320/5f0a05c47e708231d429a35a/html5/thumbnails/14.jpg)
Where is data stored today?
Cost per Bit
Time 2000 2010 1990
Paper
Machine
Human
Mechanical Turk: Prices for humans going down again. How come? 14
![Page 15: Data Modelling and Databases - Systems Group · 2014-06-24 · – Part 1: Build an App; Part 2: Build a DB – Groups of three students – Not graded • Exercise Sheets – Handout](https://reader034.vdocument.in/reader034/viewer/2022042320/5f0a05c47e708231d429a35a/html5/thumbnails/15.jpg)
Typical Applications (data / operations)
• Bank (Accounts / „Money Transfer“) • Library (Books / „Lend Book“) • Content Management System (docs, „show“) • E-Business (Catalogue, „search“) • ERP (Order, „delivery“) • Decision Support (Order, „emp of the month“) • Facebook, Twitter, … (Friends, „post tweet“)
15
![Page 16: Data Modelling and Databases - Systems Group · 2014-06-24 · – Part 1: Build an App; Part 2: Build a DB – Groups of three students – Not graded • Exercise Sheets – Handout](https://reader034.vdocument.in/reader034/viewer/2022042320/5f0a05c47e708231d429a35a/html5/thumbnails/16.jpg)
Why use a DBMS?
• Avoid redundancy and inconsistency • Rich (declarative) access to the data • Synchronize concurrent data access • Recovery after system failures • Security and privacy
• Reduce cost and pain to do something useful
– There is always an alternative!!! 16
![Page 17: Data Modelling and Databases - Systems Group · 2014-06-24 · – Part 1: Build an App; Part 2: Build a DB – Groups of three students – Not graded • Exercise Sheets – Handout](https://reader034.vdocument.in/reader034/viewer/2022042320/5f0a05c47e708231d429a35a/html5/thumbnails/17.jpg)
DBMS Architectures
• Question 1: How to slice functionality? – Presentation, application logic, data management
• Question 2: How is functionality mapped to HW? – Storage, processing, network
• History: – Mainframes – Client-Server Architecture, Multi-Tier Architectures – Parallel Database Systems – Data Stream Management Systems – Cloud 17
![Page 18: Data Modelling and Databases - Systems Group · 2014-06-24 · – Part 1: Build an App; Part 2: Build a DB – Groups of three students – Not graded • Exercise Sheets – Handout](https://reader034.vdocument.in/reader034/viewer/2022042320/5f0a05c47e708231d429a35a/html5/thumbnails/18.jpg)
Mainframes
Mainframe (App + DB)
Terminals Batch Jobs
Simple text interfaces
All action is here!
18
![Page 19: Data Modelling and Databases - Systems Group · 2014-06-24 · – Part 1: Build an App; Part 2: Build a DB – Groups of three students – Not graded • Exercise Sheets – Handout](https://reader034.vdocument.in/reader034/viewer/2022042320/5f0a05c47e708231d429a35a/html5/thumbnails/19.jpg)
Client-Server
Database server
Client Client
Application Logic GUIs
Data management
19
![Page 20: Data Modelling and Databases - Systems Group · 2014-06-24 · – Part 1: Build an App; Part 2: Build a DB – Groups of three students – Not graded • Exercise Sheets – Handout](https://reader034.vdocument.in/reader034/viewer/2022042320/5f0a05c47e708231d429a35a/html5/thumbnails/20.jpg)
Why Client/Server? • Scalability: use resources of client machines
– The more clients / users: the more resources • Security: server dedicated to protect data
– No trojan horses possible at server • Centralized Availability, Administration
– Same as for mainframe • Con: Complexity (Caching, etc.)
– Higher communication cost than mainframe
20
![Page 21: Data Modelling and Databases - Systems Group · 2014-06-24 · – Part 1: Build an App; Part 2: Build a DB – Groups of three students – Not graded • Exercise Sheets – Handout](https://reader034.vdocument.in/reader034/viewer/2022042320/5f0a05c47e708231d429a35a/html5/thumbnails/21.jpg)
Three-Tier
Database Server
Application- Server
Application- Server
PC PC PC PC PC
21
![Page 22: Data Modelling and Databases - Systems Group · 2014-06-24 · – Part 1: Build an App; Part 2: Build a DB – Groups of three students – Not graded • Exercise Sheets – Handout](https://reader034.vdocument.in/reader034/viewer/2022042320/5f0a05c47e708231d429a35a/html5/thumbnails/22.jpg)
Databases on the Web
Database Server
Application- Server
Application- Server
Browser
Web-Server Web-Server Web-Server
Browser Browser Browser Browser Browser
Internet
22
![Page 23: Data Modelling and Databases - Systems Group · 2014-06-24 · – Part 1: Build an App; Part 2: Build a DB – Groups of three students – Not graded • Exercise Sheets – Handout](https://reader034.vdocument.in/reader034/viewer/2022042320/5f0a05c47e708231d429a35a/html5/thumbnails/23.jpg)
Multi-Tier-Architectures • Software Layering:
– Every layer implements a different functionality (database, application logic, communication, GUI, ...)
– Best of breed at each layer (Oracle database, SAP app, Apache Web server, Mac, ...)
• Hardware Layering: – Each layer may run on different machines – Several layers can run on the same machine – Dedicated HW: high IO for DB server
• Scalability – Scales great at every layer, except DB 23
![Page 24: Data Modelling and Databases - Systems Group · 2014-06-24 · – Part 1: Build an App; Part 2: Build a DB – Groups of three students – Not graded • Exercise Sheets – Handout](https://reader034.vdocument.in/reader034/viewer/2022042320/5f0a05c47e708231d429a35a/html5/thumbnails/24.jpg)
Parallel Database System
Application- Server
Application- Server
PC PC PC PC PC
DB1 DB2 DB3
24
![Page 25: Data Modelling and Databases - Systems Group · 2014-06-24 · – Part 1: Build an App; Part 2: Build a DB – Groups of three students – Not graded • Exercise Sheets – Handout](https://reader034.vdocument.in/reader034/viewer/2022042320/5f0a05c47e708231d429a35a/html5/thumbnails/25.jpg)
Parallel Database System • Properties:
– The database system runs on multiple HW nodes – Network interconnect assumed to be fast
• Goals: – Increase throughput (Inter-Query Parallelism) – Reduce latency (Intra-Query Parallelism) – Increase availability – Reduced cost, Extensibility, Scalability
• Key concern: Transparency – Automatic parallelization 25
![Page 26: Data Modelling and Databases - Systems Group · 2014-06-24 · – Part 1: Build an App; Part 2: Build a DB – Groups of three students – Not graded • Exercise Sheets – Handout](https://reader034.vdocument.in/reader034/viewer/2022042320/5f0a05c47e708231d429a35a/html5/thumbnails/26.jpg)
Distributed Database System
DB1 Internet /Intranet
DB1
DB2 DB3
Client
Client
26
![Page 27: Data Modelling and Databases - Systems Group · 2014-06-24 · – Part 1: Build an App; Part 2: Build a DB – Groups of three students – Not graded • Exercise Sheets – Handout](https://reader034.vdocument.in/reader034/viewer/2022042320/5f0a05c47e708231d429a35a/html5/thumbnails/27.jpg)
Distributed Database System • Properties:
– Database system runs on muliple HW nodes – Network interconnect is assumed to be slow / expens. – Each node behaves autonomously (SOA)
• Goal: – Minimize communication cost
• Idea: – Store data where it is needed (partition data) – Possibly replicate data
• Key concern: Transparency – Automatic partitioning and replication
27
![Page 28: Data Modelling and Databases - Systems Group · 2014-06-24 · – Part 1: Build an App; Part 2: Build a DB – Groups of three students – Not graded • Exercise Sheets – Handout](https://reader034.vdocument.in/reader034/viewer/2022042320/5f0a05c47e708231d429a35a/html5/thumbnails/28.jpg)
Stream Data Management (Hub)
DB
28
![Page 29: Data Modelling and Databases - Systems Group · 2014-06-24 · – Part 1: Build an App; Part 2: Build a DB – Groups of three students – Not graded • Exercise Sheets – Handout](https://reader034.vdocument.in/reader034/viewer/2022042320/5f0a05c47e708231d429a35a/html5/thumbnails/29.jpg)
Stream Data Management • „Am Anfang war das Wasser…“
„Alles ist im Fluss …“ – Actions (and data) are triggered by a stream of events
(e.g., purchase orders, sensor measurements, …) • Data is processed „on the fly“
– Process events as they occur – As needed, store and archive events / affects in DB – As needed, precompute reports in DB
• Same abstractions for DSMS as for DBMS – E.g., SQL or XQuery as programming languages
29
![Page 30: Data Modelling and Databases - Systems Group · 2014-06-24 · – Part 1: Build an App; Part 2: Build a DB – Groups of three students – Not graded • Exercise Sheets – Handout](https://reader034.vdocument.in/reader034/viewer/2022042320/5f0a05c47e708231d429a35a/html5/thumbnails/30.jpg)
Variant I: Partition Workload by „Tenant“
Client
Store
HTTP Web
Server
App Server
DB Server
FCGI, ...
SQL
get/put block
records
XML, JSON, HTML
XML, JSON, HTML
Client Client Client
Workload Splitter
Store-A
Server-A
Server-A
Server-A
Store-B
Server-B
Server-B
Server-B
XML, JSON, HTML
block 30
![Page 31: Data Modelling and Databases - Systems Group · 2014-06-24 · – Part 1: Build an App; Part 2: Build a DB – Groups of three students – Not graded • Exercise Sheets – Handout](https://reader034.vdocument.in/reader034/viewer/2022042320/5f0a05c47e708231d429a35a/html5/thumbnails/31.jpg)
Partition Workload by „Tenant“ • Principle
– partition data by „tenant“ – route request to DB of that tenant
• Advantages – reuse existing database stack (RDBMS) – flexibility to use DAS or SAN/NAS
• Disadvantages – multi-tenant problem [Salesforce]
• optimization, migration, load balancing, fix cost – silos: need DB federator for inter-tenant requests – expensive HW and SW for high availabilty 31
![Page 32: Data Modelling and Databases - Systems Group · 2014-06-24 · – Part 1: Build an App; Part 2: Build a DB – Groups of three students – Not graded • Exercise Sheets – Handout](https://reader034.vdocument.in/reader034/viewer/2022042320/5f0a05c47e708231d429a35a/html5/thumbnails/32.jpg)
Metaphor: Shopping Mall
• If a shop is successful, you need to move it! • (popularity vs. growth of product assortment) 32
![Page 33: Data Modelling and Databases - Systems Group · 2014-06-24 · – Part 1: Build an App; Part 2: Build a DB – Groups of three students – Not graded • Exercise Sheets – Handout](https://reader034.vdocument.in/reader034/viewer/2022042320/5f0a05c47e708231d429a35a/html5/thumbnails/33.jpg)
Variant II: Partition Workload by „Request“
Client
Store
HTTP Web
Server
App Server
DB Server
FCGI, ...
SQL
get/put block
records
XML, JSON, HTML
XML, JSON, HTML
Client Client Client
Workload Splitter
Store (e.g., S3)
Server-A
Server-B
XML, JSON, HTML
???
Store (e.g., S3) Store (e.g., S3)
33
![Page 34: Data Modelling and Databases - Systems Group · 2014-06-24 · – Part 1: Build an App; Part 2: Build a DB – Groups of three students – Not graded • Exercise Sheets – Handout](https://reader034.vdocument.in/reader034/viewer/2022042320/5f0a05c47e708231d429a35a/html5/thumbnails/34.jpg)
Metaphor: Internet Department Store
• If a product is successful, you stock up its supply – Transparent and fine-grained reprovisioning – Cost of reprovisioning much lower!!!
Server-A
Server-A
Server-A Server
Store (e.g., S3) Store (e.g., S3) Store (e.g., S3)
34
![Page 35: Data Modelling and Databases - Systems Group · 2014-06-24 · – Part 1: Build an App; Part 2: Build a DB – Groups of three students – Not graded • Exercise Sheets – Handout](https://reader034.vdocument.in/reader034/viewer/2022042320/5f0a05c47e708231d429a35a/html5/thumbnails/35.jpg)
Partition Workload by „Request“ • Principle
– fine-grained data partitioning by page or object – any server can handle any request – implement DBMS as a library (not server)
• Advantages – avoids disadvantages of Variant I
• Disadvantages – new synchronization problem (CAP theorem) – whole new breed of systems – caching not effective
35
![Page 36: Data Modelling and Databases - Systems Group · 2014-06-24 · – Part 1: Build an App; Part 2: Build a DB – Groups of three students – Not graded • Exercise Sheets – Handout](https://reader034.vdocument.in/reader034/viewer/2022042320/5f0a05c47e708231d429a35a/html5/thumbnails/36.jpg)
Mega Trends (IT) • Cloud Computing
– logically centralized data – physically distributed data – commoditization of computing
• Web
– standardizes representation of data (XML, Unicode) – references to data (URI, URL) – access to data (HTTP: get, put, post, delete) – search for data (Google) – extends to physical world: your car keys have a URI 36
![Page 37: Data Modelling and Databases - Systems Group · 2014-06-24 · – Part 1: Build an App; Part 2: Build a DB – Groups of three students – Not graded • Exercise Sheets – Handout](https://reader034.vdocument.in/reader034/viewer/2022042320/5f0a05c47e708231d429a35a/html5/thumbnails/37.jpg)
37
![Page 38: Data Modelling and Databases - Systems Group · 2014-06-24 · – Part 1: Build an App; Part 2: Build a DB – Groups of three students – Not graded • Exercise Sheets – Handout](https://reader034.vdocument.in/reader034/viewer/2022042320/5f0a05c47e708231d429a35a/html5/thumbnails/38.jpg)
Database Abstraction Layers
Data Independence
Physical Layer (e.g., indexes)
Logical Layer (schema)
View1 View 2 View 3 ... Logical Data Independence
Physical Data Independence
Changes at one layer do not affect another layer! 38
![Page 39: Data Modelling and Databases - Systems Group · 2014-06-24 · – Part 1: Build an App; Part 2: Build a DB – Groups of three students – Not graded • Exercise Sheets – Handout](https://reader034.vdocument.in/reader034/viewer/2022042320/5f0a05c47e708231d429a35a/html5/thumbnails/39.jpg)
Data Modelling
Relational Schema
Hierarchical Schema
Object-oriented Schema
Conceptual Schema (ER-Schema)
Manual Modelling
Semi-automatic Transformation
„Mini World“
XML 39
![Page 40: Data Modelling and Databases - Systems Group · 2014-06-24 · – Part 1: Build an App; Part 2: Build a DB – Groups of three students – Not graded • Exercise Sheets – Handout](https://reader034.vdocument.in/reader034/viewer/2022042320/5f0a05c47e708231d429a35a/html5/thumbnails/40.jpg)
Example
Student
Lecture Professor
Real World: University
PersNr MatrNr
Name Name Student Professor
attends gives
Lecture Title Nr
Conceptual Modelling
40
![Page 41: Data Modelling and Databases - Systems Group · 2014-06-24 · – Part 1: Build an App; Part 2: Build a DB – Groups of three students – Not graded • Exercise Sheets – Handout](https://reader034.vdocument.in/reader034/viewer/2022042320/5f0a05c47e708231d429a35a/html5/thumbnails/41.jpg)
Overview of Data Models • Network model (e.g., CODASYL/COBOL) • Hierarchical model (IBM IMS/FastPath) • Relational model (SQL) • Object-oriented model (ODMG 2.0) • Semi-structured model (XML Infoset)
• Deductive model (Datalog, Prolog) 41
![Page 42: Data Modelling and Databases - Systems Group · 2014-06-24 · – Part 1: Build an App; Part 2: Build a DB – Groups of three students – Not graded • Exercise Sheets – Handout](https://reader034.vdocument.in/reader034/viewer/2022042320/5f0a05c47e708231d429a35a/html5/thumbnails/42.jpg)
Relational Data Model Student
Legi Name 26120 25403
...
Fichte Jonas
...
attends Legi Lecture
25403 26120
...
5022 5001
...
Lecture Nr Title
5001 5022
...
Grundzüge Glaube und Wissen
...
Select Name From Student, attend, Lecture Where Student.Legi= attend.Legi and attend.Lecture= Lecture.Nr and Lecture.Title = `Grundzüge´; Update Lecture set Title = `Grundzüge der Logik´ where Nr = 5001; 42
![Page 43: Data Modelling and Databases - Systems Group · 2014-06-24 · – Part 1: Build an App; Part 2: Build a DB – Groups of three students – Not graded • Exercise Sheets – Handout](https://reader034.vdocument.in/reader034/viewer/2022042320/5f0a05c47e708231d429a35a/html5/thumbnails/43.jpg)
Logs Indexes DB Catalogue
Storage Manager
TA Management Recovery
Runtime Schema
Query Optimizer DBMS
DML-Compiler DDL-Compiler
Application Ad-hoc Query Management tools Compiler
„Naive“ User
Expert User
App- Developer
DB- admin
External Storage
Components of a Database System
43