Concurrency Control. R/RR/W W/W User 2 ReadWrite User 1 Read Write R/W: Inconsistent Read problem. W/W: Lost Update problem.

Slides:



Advertisements
Similar presentations
TRANSACTION PROCESSING SYSTEM ROHIT KHOKHER. TRANSACTION RECOVERY TRANSACTION RECOVERY TRANSACTION STATES SERIALIZABILITY CONFLICT SERIALIZABILITY VIEW.
Advertisements

CSC271 Database Systems Lecture # 32.
Transactions (Chapter ). What is it? Transaction - a logical unit of database processing Motivation - want consistent change of state in data Transactions.
Transaction Management Transparencies
Transaction Management and Concurrency Control
Concurrency Control. R/RR/W W/W User 2 ReadWrite User 1 Read Write R/W: Inconsistent Read problem. W/W: Lost Update problem.
Quick Review of May 1 material Concurrent Execution and Serializability –inconsistent concurrent schedules –transaction conflicts serializable == conflict.
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
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 10 Transaction Management and Concurrency Control.
Web Site Security ISYS 512/812. Authentication Authentication is the process that determines the identity of a user. Web.config file – node Options: –Windows:
Chapter 17: Transaction Management
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.
Concurrency Control. R/RR/W W/W User 2 ReadWrite User 1 Read Write R/W: Inconsistent Read problem. W/W: Lost Update problem.
Transaction Management
Concurrency Control. R/RR/W W/W User 2 ReadWrite User 1 Read Write R/W: Inconsistent Read problem. W/W: Lost Update problem.
1 Transaction Management Database recovery Concurrency control.
DBMS Functions Data, Storage, Retrieval, and Update
Chapter 9 Transaction Management and Concurrency Control
9 Chapter 9 Transaction Management and Concurrency Control Hachim Haddouti.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 10 Transaction Management and Concurrency Control.
Transactions and Recovery
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.
© 2013 Pearson Education, Inc. Publishing as Prentice Hall 1 CHAPTER 11: DATA AND DATABASE ADMINISTRATION Modern Database Management 11 th Edition Jeffrey.
DBSQL 7-1 Copyright © Genetic Computer School 2009 Chapter 7 Transaction Management, Database Security and Recovery.
Multi-user Database Processing Architectures Architectures Transactions Transactions Security Security Administration Administration.
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.
Chapterb19 Transaction Management Transaction: An action, or series of actions, carried out by a single user or application program, which reads or updates.
Databases Illuminated
ITEC 3220M Using and Designing Database Systems Instructor: Prof. Z. Yang Course Website: 3220m.htm
Lecture 12 Recoverability and failure. 2 Optimistic Techniques Based on assumption that conflict is rare and more efficient to let transactions proceed.
1 Chapter 20 Transaction Management Transparencies Last Updated: 17 th March 2011 By M. Arief
Ch 10: Transaction Management and Concurrent Control.
Concurrency Control in Database Operating Systems.
11/7/2012ISC329 Isabelle Bichindaritz1 Transaction Management & Concurrency Control.
Concurrency Control. Objectives Management of Databases Concurrency Control Database Recovery Database Security Database Administration.
CSCI 3140 Module 6 – Database Security Theodore Chiasson Dalhousie University.
II.I Selected Database Issues: 2 - Transaction ManagementSlide 1/20 1 II. Selected Database Issues Part 2: Transaction Management Lecture 4 Lecturer: Chris.
Data & Database Administration
MBA 664 Database Management Dave Salisbury ( )
TM 13-1 Copyright © 1999 Addison Wesley Longman, Inc. Data and Database Administration.
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.
Transaction Processing Concepts Muheet Ahmed Butt.
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.
©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.
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.
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
Transaction Management Transparencies
Transaction Management
Transaction Properties
Chapter 10 Transaction Management and Concurrency Control
Database Security Transactions
Introduction of Week 13 Return assignment 11-1 and 3-1-5
Transaction management
Concurrency Control.
Presentation transcript:

Concurrency Control

R/RR/W W/W User 2 ReadWrite User 1 Read Write R/W: Inconsistent Read problem. W/W: Lost Update problem.

Example Husband/Wife joint account with $1000 balance. Transactions: –Husband: Withdraw 800 –Wife: Withdraw 100 Processing: –Read Balance, Calculate New Balance, Write New Balance

Husband:ReadBalanceCalNewBalanceWriteNewBalance (In memory)(On disk) 1000New= Wife:ReadBalanceCalNewBalance WriteNewBalance 1000New=

Serializable Schedule Serial Schedule: The operations of each concurrent transaction are executed consecutively without any interleaved operations from other transactions. Nonserial Schedule: The operations from a set of concurrent transactions are interleaved. –Maximizing database availability Serializable schedule: If a set of transactions executes concurrently, the nonserial schedule is called serializable if it produces the same results as a serial schedule.

Locking Locking is the most widely used approach to ensure serializability of concurrent transactions. Shared lock: read only access Exclusive lock: for both read and write access.

Two-Phase Locking A transaction must acquire a lock (read or write) on an item before operating on the item. Once the transaction releases a lock, it cannot acquire any new locks. All locking operations precede the first unlock operation in the transaction: –Growing phase –Shrinking phase

Lock Granularity The size of data items protected by a lock. –Entire database –Entire table –A page –A record –A Field The coarser the data item size, the lower the degree of concurrency permitted.

Dead Lock Two transactions wait for locks on items held by the other. T1T2 DataItem 1 DataItem 2 Lock Wait For Lock

Transaction An unit of work on database that is either completed in its entirety or is not performed at all. ACID Properties: –Atomicity: All or nothing –Consistency: A transaction transforms a database from one consistent state to another consistent state. –Isolation: Transactions execute independently of one another. Serializability –Durability: The effects of a successfully completed transaction are permanently recorded in the database and must not be lost.

Begin Transaction Active State Read/ Write Partially Committed Failed aborted Abort Commit

Transaction Commands Begin Transaction Update commands Commit RollBack End Transaction

Log File (Journal) A file that contains all information about all updates to the database. It may contain the following data: –Transaction records: Transaction ID Type of action: –Begin, Insert,Delete, Modify, Commit, Rollback, End Before-image After-image –Checkpoint records The point of synchronization between the database and the transaction log file.

Completed Transaction All calculations done by the transaction in its work space (RAM) must have finished, and a copy of the results of the transaction must have been written in a secure place (log file). The action of committing the transaction must also be written in the log.

Two Phase Commit A transaction cannot commit until it has recorded all its changes in the log. A transaction cannot write into the database until it has committed.

Recovery Technique Using Deferred Update When a transaction starts, write a Transaction Start record to the log. When any write operation is performed, write a log record containing the after-image of the update. When a transaction is about to commit: –write a Transaction Commit log record, –write all the log records for the transaction to disk, then –Use the log records to perform the actual updates to the database. If a transaction aborts, write a Transaction Abort log record and do not perform the writes. –A transaction without a Transaction Abort record is also aborted.

To Recover In the event of a failure, examine the log startng from the most recent checkpoint record. Any transaction with Transaction Start and Transaction Commit records should be redone: –Perform all the writes to the database using the after-image log records in the order in which they were written to the log.

DefiningTransaction in An Application Truck Rental System: –Vehicle Table:VID, VType, VStatus » V1PickUp Available » V2TowTruck Booked –VReservation:RID, VID, Date » R1V21/2/04

Transaction Example Sub Rent(RID, VID, RDate) Begin Transaction Insert (RID, VID, RDate) into VReservation table If No Error Then Update Vehicle Status If No Error Then Commit Transaction Else Roll Back End if Else Roll Back End if End Sub

Database Security

Theft and fraud; Loss of confidentiality; –Data critical to the organization Loss of privacy; Loss of integrity; Loss of availability.

Potential Threats Hardware: physical damages Software: –DBMS: security mechanism, privilege –Application software: program alteration People: –Users: using another person’s means of access, viewing unauthorized data, introduction of viruses –Programmers/Operators –Database administrator: Inadequate security policy Database –Theft, unauthorized update/copy

Countermeasures to Threats Authorization –Authentication Access controls: privileges Database views BackUp and Recovery Enforcing integrity rules Encryption –Symmetric encryption:use same key for encryption and decryption –Asymmetric encryption: Public key: for encryption Private key: decryption RAID

SQL Injection Exploits applications that use external input for database commands. In the textbox, enter: –‘ OR 1=1 OR CID = ‘

Demo ( demoweb112/webform9) Dim strConn As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = c:\salesDB.mdb" Dim objConn As New OleDbConnection(strConn) Dim strSQL As String = "select * from customer where cid = '" & TextBox1.Text & "'" Dim objComm As New OleDbCommand(strSQL, objConn) objConn.Open() Dim objDataReader As OleDbDataReader objDataReader = objComm.ExecuteReader() DataGrid1.DataSource = objDataReader DataGrid1.DataBind()