Multi-user Database Processing Architectures Architectures Transactions Transactions Security Security Administration Administration.

Slides:



Advertisements
Similar presentations
Database Systems, 8 th Edition Concurrency Control with Time Stamping Methods Assigns global unique time stamp to each transaction Produces explicit.
Advertisements

Data and Database Administration Chapter 12. Outline What is Concurrency Control? Background Serializability  Locking mechanisms.
Database Administration Chapter Six DAVID M. KROENKE’S DATABASE CONCEPTS, 2 nd Edition.
Transaction Management and Concurrency Control
10 1 Chapter 10 Transaction Management and Concurrency Control Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel.
Transaction Management and Concurrency Control
Transaction Management and Concurrency Control
Transaction Management and Concurrency Control
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 4-1 David M. Kroenke Database Processing Chapter 9 Managing Multi- User.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 10 Transaction Management and Concurrency Control.
What is a Transaction? Logical unit of work
Chapter 8 : Transaction Management. u Function and importance of transactions. u Properties of transactions. u Concurrency Control – Meaning of serializability.
Transaction Management
1 Transaction Management Database recovery Concurrency control.
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 8-1 COS 346 Day 18.
9 Chapter 9 Transaction Management and Concurrency Control Hachim Haddouti.
Database Administration Part 1 Chapter Six CSCI260 Database Applications.
Functions of a Database Management System. Functions of a DBMS C.J. Date n Indexing n Views n Security n Integrity n Concurrency n Backup/Recovery n Design.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 10 Transaction Management and Concurrency Control.
Transaction Management WXES 2103 Database. Content What is transaction Transaction properties Transaction management with SQL Transaction log DBMS Transaction.
Transaction Management and Concurrency Control
Transaction Management Chapter 9. What is a Transaction? A logical unit of work on a database A logical unit of work on a database An entire program An.
1 IT420: Database Management and Organization Transactions 31 March 2006 Adina Crăiniceanu
© 2013 Pearson Education, Inc. Publishing as Prentice Hall 1 CHAPTER 11: DATA AND DATABASE ADMINISTRATION Modern Database Management 11 th Edition Jeffrey.
Managing Multi-User Databases AIMS 3710 R. Nakatsu.
Database Administration
DBSQL 7-1 Copyright © Genetic Computer School 2009 Chapter 7 Transaction Management, Database Security and Recovery.
1 Transactions BUAD/American University Transactions.
Security and Transaction Nhi Tran CS 157B - Dr. Lee Fall, 2003.
BIS Database Systems School of Management, Business Information Systems, Assumption University A.Thanop Somprasong Chapter # 10 Transaction Management.
ITEC 3220M Using and Designing Database Systems Instructor: Prof. Z. Yang Course Website: 3220m.htm
Unit 9 Transaction Processing. Key Concepts Distributed databases and DDBMS Distributed database advantages. Distributed database disadvantages Using.
Ch 10: Transaction Management and Concurrent Control.
1 Transactions Chapter Transactions A transaction is: a logical unit of work a sequence of steps to accomplish a single task Can have multiple.
1 IT420: Database Management and Organization Session Control Managing Multi-user Databases 24 March 2006 Adina Crăiniceanu
11/7/2012ISC329 Isabelle Bichindaritz1 Transaction Management & Concurrency Control.
© 2002 by Prentice Hall 1 Database Administration David M. Kroenke Database Concepts 1e Chapter 6 6.
II.I Selected Database Issues: 2 - Transaction ManagementSlide 1/20 1 II. Selected Database Issues Part 2: Transaction Management Lecture 4 Lecturer: Chris.
The Relational Model1 Transaction Processing Units of Work.
Fundamentals, Design, and Implementation, 9/e Chapter 9 Managing Multi-User Databases.
1 Principles of Database Systems With Internet and Java Applications Today’s Topic Chapter 15: Reliability and Security in Database Servers Instructor’s.
MBA 664 Database Management Dave Salisbury ( )
TM 13-1 Copyright © 1999 Addison Wesley Longman, Inc. Data and Database Administration.
KROENKE and AUER - DATABASE CONCEPTS (3 rd Edition) © 2008 Pearson Prentice Hall 6-1 Chapter Objectives Understand the need for and importance of database.
Chapter 20 Transaction Management Thomas Connolly, Carolyn Begg, Database System, A Practical Approach to Design Implementation and Management, 4 th Edition,
Transaction Management Transparencies. ©Pearson Education 2009 Chapter 14 - Objectives Function and importance of transactions. Properties of transactions.
Introduction to Distributed Databases Yiwei Wu. Introduction A distributed database is a database in which portions of the database are stored on multiple.
1 Advanced Database Concepts Transaction Management and Concurrency Control.
Transaction Management and Concurrent Control
9 1 Chapter 9_B Concurrency Control Database Systems: Design, Implementation, and Management, Rob and Coronel.
10 1 Chapter 10_B Concurrency Control Database Systems: Design, Implementation, and Management, Rob and Coronel.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 10 Transaction Management and Concurrency Control.
10 Transaction Management and Concurrency Control MIS 304 Winter 2005.
©Bob Godfrey, 2002, 2005 Lecture 17: Transaction Integrity and Concurrency BSA206 Database Management Systems.
3 Database Systems: Design, Implementation, and Management CHAPTER 9 Transaction Management and Concurrency Control.
10 1 Chapter 10 - A Transaction Management Database Systems: Design, Implementation, and Management, Rob and Coronel.
18 September 2008CIS 340 # 1 Last Covered (almost)(almost) Variety of middleware mechanisms Gain? Enable n-tier architectures while not necessarily using.
Chapter 13 Managing Transactions and Concurrency Database Principles: Fundamentals of Design, Implementation, and Management Tenth Edition.
Transactions and Concurrency Control. 2 What is a Transaction?  Any action that reads from and/or writes to a database may consist of  Simple SELECT.
9 1 Chapter 9 Transaction Management and Concurrency Control Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel.
SYSTEMS IMPLEMENTATION TECHNIQUES TRANSACTION PROCESSING DATABASE RECOVERY DATABASE SECURITY CONCURRENCY CONTROL.
Copyright © 2016 Pearson Education, Inc. CHAPTER 12: DATA AND DATABASE ADMINISTRATION Modern Database Management 12 th Edition Jeff Hoffer, Ramesh Venkataraman,
TM 13-1 Copyright © 1999 Addison Wesley Longman, Inc. Data and Database Administration.
Transaction Management and Concurrency Control
Functions of a Database Management System
Transaction Properties
Database Processing: David M. Kroenke’s Chapter Nine: Part One
Chapter 10 Transaction Management and Concurrency Control
Introduction of Week 13 Return assignment 11-1 and 3-1-5
Database Administration
Presentation transcript:

Multi-user Database Processing Architectures Architectures Transactions Transactions Security Security Administration Administration

Multi-user Processing Architectures Teleprocessing Systems Teleprocessing Systems Client-Server Systems Client-Server Systems File Sharing Systems File Sharing Systems Distributed Database Systems Distributed Database Systems

Teleprocessing Systems Central CPU & Applications Central CPU & Applications Central DBMS Central DBMS Central Database Central Database Communication lines

Client-Server Systems Distributed CPUs & Applications Distributed CPUs & Applications Central DBMS Central DBMS Central DB Central DB

File Sharing Systems Distributed CPUs & Applications Distributed CPUs & Applications Distributed DBMS Distributed DBMS Central DB Central DB

Distributed Database Systems Distributed CPUs & Applications Distributed CPUs & Applications Distributed DBMS Distributed DBMS Distributed DB Distributed DB

C = centralized, D = distributed Comparing Architectures

Replication Types of Distributed Databases Partition

Distributed Database Continuum Simplicity Security Affordability Independence Flexibility Availability

Distributed DBs: Your turn An example of distributed database! An example of distributed database! Partitioned? Partitioned? Replicated? Replicated? 3 advantages? 3 advantages? Independence Independence Flexibility Flexibility Availability Availability 3 disadvantages? 3 disadvantages? Complexity Complexity Insecurity Insecurity Cost Cost

Database Reliability Concurrency control Concurrency control Hide other users Hide other users Database recovery Database recovery Hide failures Hide failures Change CUSTOMER data Change SALESPERSON data Insert ORDER data Alice reads ACCOUNT Alice adds $50 Bob reads ACCOUNT Alice writes ACCOUNT Bob takes $100 Bob writes ACCOUNT

Database Transactions Transaction = logical unit of work Transaction = logical unit of work Series of actions defined such that either all of them or none of them are performed Series of actions defined such that either all of them or none of them are performed Should always transform the database from one consistent state to another Should always transform the database from one consistent state to another Start Transaction Change CUSTOMER data Change SALESPERSON data Insert ORDER data If no errors then Commit Transaction Else Rollback Transaction End If

BEGIN TRANSACTION COMMITROLLBACK Transaction Outcomes If successful, transaction is committed & database reaches a new state If successful, transaction is committed & database reaches a new state If unsuccessful, transaction is aborted & database must be restored to previous state If unsuccessful, transaction is aborted & database must be restored to previous state

Problems Caused by Concurrency Lost update Lost update Overwrite another user’s update Overwrite another user’s update Uncommitted dependency Uncommitted dependency When user sees intermediate step of another transaction before it is committed When user sees intermediate step of another transaction before it is committed Inconsistent analysis Inconsistent analysis Read partial results of incomplete update transaction Read partial results of incomplete update transaction

Concurrency Control Goal: Serializability Goal: Serializability concurrent transactions produce same result as serial execution concurrent transactions produce same result as serial execution Technique: Locking Technique: Locking Alice reads ACCOUNT Alice adds $50 Alice writes ACCOUNT Bob reads ACCOUNT Bob takes $100 Bob writes ACCOUNT

Two-Phase Locking Transaction can obtain locks as needed Transaction can obtain locks as needed Once first lock is released, no other locks may be obtained Once first lock is released, no other locks may be obtained Guarantees serializability Guarantees serializability A1. Lock item 100 A2. Read item 100 A3. Reduce count by 5 A4. Write item 100 B1. Lock item 100 B2. Read item 100 B3. Reduce count by 3 B4. Write item Lock item 100 for A 2. Read item 100 for A 3. Lock item 100 for B; cannot, so place B in wait state 4. Set item count to 5 for A 5. Write item 100 for A 6. Release A's lock on item Place lock on item 100 for B 8. Read item 100 for B 9. Set item count to 2 for B 10. Write item 100 for B 11. Release B's lock on item 100

Dealing with Deadlock Two-phase locking can lead to deadlock Two-phase locking can lead to deadlock Prevention Prevention All or nothing locking All or nothing locking Detection and Recovery Detection and Recovery DBMS detects deadlock and aborts one of the transactions DBMS detects deadlock and aborts one of the transactions 1. Lock paper for user A 2. Lock pencils for user B 3. Process A's requests; write paper record 4. Process B's requests; write pencil record 5. Put A in wait state for pencils 6. Put B in wait state for paper [Deadlock…]

Recovery via Reprocessing Return to known point and reprocess the transactions Return to known point and reprocess the transactions Requires database save and log of transactions Requires database save and log of transactions Problems: Problems: Inefficiency Inefficiency Asynchrony may lead to different end results Asynchrony may lead to different end results

Recovery via Roll-back Requires log of changes made to database Requires log of changes made to database Undo changes made by erroneous or incomplete transactions, restart valid transactions Undo changes made by erroneous or incomplete transactions, restart valid transactions

Recovery via Roll-forward Requires database save and log of changes made to database Requires database save and log of changes made to database Restore database save and apply changes from log Restore database save and apply changes from log Frequent checkpoints decrease delay Frequent checkpoints decrease delay

Security Set by DBA, enforced by DBMS Set by DBA, enforced by DBMS Authorization Rules = table in which each record keeps processing permissions via the following fields: Authorization Rules = table in which each record keeps processing permissions via the following fields: Subject - user, group, application, computer... Subject - user, group, application, computer... Object - database, relation, row, column, view, transaction…(Granularity = size of objects) Object - database, relation, row, column, view, transaction…(Granularity = size of objects) Action - read, write, execute, create, grant... Action - read, write, execute, create, grant... Authorization constraint - limit... Authorization constraint - limit...

Actual DBMS security The capabilities of the Authorization Rules model are only partially implemented The capabilities of the Authorization Rules model are only partially implemented Subject-oriented security Subject-oriented security For each subject, binary Action/Object table For each subject, binary Action/Object table Object-oriented security Object-oriented security For each object, binary Action/Subject table For each object, binary Action/Subject table Constraints via programmable exits Constraints via programmable exits Triggers to constraint-checking programs Triggers to constraint-checking programs

DBA Responsibilities Manage the DB structure Manage the DB structure Contribute to DB & application development Contribute to DB & application development Maintain documentation to facilitate changes Maintain documentation to facilitate changes Manage data activity Manage data activity Data standards & documentation Data standards & documentation Establish and maintain the DB data dictionary Establish and maintain the DB data dictionary Security Security Backup & recovery Backup & recovery Manage the DBMS software Manage the DBMS software