Advanced Databases COMP3211

Slides:



Advertisements
Similar presentations
Database System Concepts and Architecture
Advertisements

Database Architecture Models and Design Ian Horrocks Carole Goble John Sargeant Simon Harper.
--What is a Database--1 What is a database What is a Database.
CS1001 Lecture 26. Overview Artificial Intelligence Artificial Intelligence Database Systems Database Systems.
ICS (072)Database Systems Background Review 1 Database Systems Background Review Dr. Muhammad Shafique.
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 1- 1.
Academic Year 2014 Spring. MODULE CC3005NI: Advanced Database Systems Academic Year 2014 Spring.
DATABASE MANAGEMENT SYSTEM ARCHITECTURE
Introduction to Data bases concepts
Database Technical Session By: Prof. Adarsh Patel.
CST203-2 Database Management Systems Lecture 2. One Tier Architecture Eg: In this scenario, a workgroup database is stored in a shared location on a single.
Database System Concepts and Architecture
1 Welcome: To the second learning sequence “ Data Base (DB) and Data Base Management System (DBMS) “ Recap : In the previous learning sequence, we discussed.
Instructor: Dema Alorini Database Fundamentals IS 422 Section: 7|1.
FEN Introduction to the database field:  Applications, concepts and terminology Seminar: Introduction to relational databases.
Chapter 1 Introduction Yonsei University 1 st Semester, 2015 Sanghyun Park.
Lecture # 3 & 4 Chapter # 2 Database System Concepts and Architecture Muhammad Emran Database Systems 1.
1 Database Management Systems (DBMS). 2 Database Management Systems (DBMS) n Overview of: ä Database Management Components ä Database Systems Architecture.
DATABASE MANAGEMENT SYSTEM ARCHITECTURE
Database Architecture Models and Design Ian Horrocks & Robert Stevens room: 2.75/2.91
Computer Science Centre University of Indonesia Chapter 1 Database & Database Users.
Advanced Databases COMP3211 Dr Nicholas Gibbins
Advanced Databases COMP3017 Dr Nicholas Gibbins
Postgraduate Module Enterprise Database Systems Technological Educational Institution of Larisa in collaboration with Staffordshire University Larisa
Introduction: Databases and Database Systems Lecture # 1 June 19,2012 National University of Computer and Emerging Sciences.
What is a database? (a supplement, not a substitute for Chapter 1…) some slides copied/modified from text Collection of Data? Data vs. information Example:
Database Systems – (
Fundamental of Database Systems
Chapter 1 Database and Database Users
Introduction to DBMS Purpose of Database Systems View of Data
Databases (CS507) CHAPTER 2.
Databases and DBMSs Todd S. Bacastow January 2005.
CS4222 Principles of Database System
REV 00 Chapter 2 Database Environment DDC DATABASE SYSTEM.
REV 00 Chapter 2 Database Environment DDC DATABASE SYSTEM.
Database Management.
Datab ase Systems Week 1 by Zohaib Jan.
Introduction to Database
An Introduction to database system
Chapter 1: Introduction
“ Database (DB) and Database Management System (DBMS) “
Chapter 1: Introduction
Lecture 1 Introduction to Database
Introduction to Database Systems
9/22/2018.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
Principles of GIS Fundamental database concepts Shaowen Wang
Chapter 2 Database Environment Pearson Education © 2009.
Chapter 2 Database Environment Pearson Education © 2009.
Data Base System Lecture : Database Environment
Data, Databases, and DBMSs
Dr. Awad Khalil Computer Science Department AUC
Database Environment Transparencies
Introduction to DBMS Purpose of Database Systems View of Data
Database (DB) and Database Management System (DBMS)
Advanced Databases CSD305.
Database Management Systems
CS530: Databases.
Chapter 2 Database Environment Pearson Education © 2014.
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
Database System Concepts and Architecture
Dr. Awad Khalil Computer Science Department AUC
Terms: Data: Database: Database Management System: INTRODUCTION
Chapter 2 Database Environment Pearson Education © 2009.
Chapter 2 Database Environment Pearson Education © 2009.
Chapter 1: Introduction
Introduction to Database Systems CSE 444
Introduction to Database
Presentation transcript:

Advanced Databases COMP3211 Dr Nicholas Gibbins - nmg@ecs.soton.ac.uk 2016-2017

Module Aims and Objectives Gain a better understanding of the nature of data Understand the issues to be addressed in writing database software Understand the variety of approaches taken so far Be able to select an appropriate database for an application Be aware of the latest developments in the use and application of databases

Learning Outcomes You will be able to demonstrate knowledge and understanding of: The internals of a database management system The issues involved in developing database management software The variety of available DBMS types and the circumstances in which they're appropriate

Learning Outcomes You will be able to: Choose appropriate approaches for data storage and access Demonstrate how a DBMS processes, optimises and executes a query Identify issues arising from concurrent or distributed processing and select appropriate approaches to mitigate those issues Select an appropriate DBMS for an application Implement components of a DBMS

Prerequisites COMP1204 or COMP2202 The role of database systems in information management The concept of data modelling Entity-Relationship modelling The Relational model and other models SQL Database management issues

COMP3211 vs COMP1204/COMP2202 In COMP1204, you learned how to build databases In COMP3211, you will learn how to build database management systems

Course Structure Three lectures per week: Tuesday 1400 in 58/1007 Thursday 1300 in 6/1083 Friday 0900 in 58/1009

Assessment 75% examination (120 minutes, 3 questions from 5) 25% coursework

Books Core Text Background Texts Garcia-Molina H., Ullman J.D. and Widom J., Database Systems: The Complete Book, 2nd ed., Pearson, 2009. Parts IV and V are the basis of this module Background Texts Elmasri R. and Navathe S.B., Fundamentals of Database Systems, 6th ed., Addison-Wesley, 2010. Connolly T. and Begg C., Database Systems, 5th ed., Addison-Wesley, 2009. Date C.J., An Introduction to Database Systems, 8th ed., Pearson, 2004.

Database Management Systems

What is a Database? Represents some aspect of the real world A logically coherent collection of data with some inherent meaning Designed, built and populated with data for a specific purpose Has an intended group of users and some preconceived applications in which these users are interested

Database System vs. DBMS Application programs DBMS Software to process queries Software to access stored data It is usual to refer to the database and software together as a “database system” Metadata Stored Data

Database Management System A DBMS is a set of general purpose software, that allows the user to:- Define the database Specifying the data types, structures and constraints for the data to be stored Construct the database Store the data on some storage medium that is controlled by the DBMS Manipulate the database Querying to retrieve specific data, updating to reflect changes in the model of the real world, and generating reports from the data

What should the DBMS do? Store data (!) Control or eliminate redundancy Provide program-data independence Permit multiple views of the data Support sharing by multiple users Support sharing and integration of data between multiple applications Control concurrent access to data

What should the DBMS do? Offer various interfaces for data retrieval and manipulation Be self-describing / contain its own catalogue for metadata Support data abstraction Allow complex relationships between objects to be represented Enforce integrity constraints on the data Restrict unauthorised access Facilitate backup and recovery

Topics

Datatypes How does the type of data affect what we can do with it? How do we model: Temporal data? Spatial data? Multimedia data?

DBMS Architecture What are the functional units within a DBMS? DDL Statements Privileged Commands Interactive Query Application Programs DDL Compiler Query Compiler Precompiler Query Optimiser DML Compiler Runtime DB Processor System Catalogue Stored Data Manager Stored Database

Data Storage How does a DBMS organise data: On disc? In records? In fields?

Access Structures How can we improve the speed of access to data in a DBMS? Indexes, hash tables, B-trees 10 10 20 60 20 40 110 30 10 ... 40 80 ... 50 70 60 50 70 80 60 90 100 100 90 110 120 120 110 ... 30 ... ...

Multidimensional Access Structures How do we improve the speed of access to multidimensional data in a DBMS?

Query Processing and Optimisation How are queries executed in a DBMS? How can we modify queries to reduce their execution time? πLNAME ⨝ESSN=SSN PROJECT EMPLOYEE WORKS_ON ⨝PNUMBER=PNO σBDATE > ‘1957-12-31’ σPNAME=‘Aquarius’ πPNUMBER πESSN,PNO πESSN πSSN,LNAME

Transactions and Concurrency How do we provide users with concurrent access to a DBMS? What problems can arise? How can we prevent or mitigate those problems? Active Failed Partially Committed Committed Terminated BEGIN TRANSACTION READ, WRITE END TRANSACTION COMMIT ABORT

Parallel Databases How can we distribute a DBMS across the machines in a cluster? How does parallelism affect: Query processing? Deadlock detection? Reliability? P M

Distributed Databases How can we distribute a DBMS across a WAN? How does distribution affect: Query processing? Concurrency control? Reliability? ∪ ⨝ ⨝ R3 S R5 S

Information Retrieval How do we support queries over free text data? How do we evaluate the effectiveness of an IR engine? document collection query parsing retrieval and ranking indexer answerset index

Message Queues How can we use asynchronous communications for reliable distributed DB applications? Client Server message queue enqueue dequeue

Stream Processing How can we query data when there’s more data than we can store? ⨝ input stream output

Data Warehousing How can we best support the analysis of complex, multidimensional data? OLAP vs OLTP Region W S N Juice 10 Cola 50 Product Milk 20 Cream 12 Toothpaste 15 Soap 10 1 2 3 4 5 6 Month

Non-Relational Databases What’s out there apart from RDBMS? Hierarchical, XML Network, Object Graph NoSQL