Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Last Covered (almost) • Variety of middleware mechanisms Gain? Enable n-tier architectures while not necessarily using a browser and all that accompanies a distributed structure 18 September 2008 #1 CIS 340 Can you answer? How are object-based MW different from message-based MW? How is a “monitor” different from a “broker” system? 18 September 2008 #2 CIS 340 Topics • • To understand ACID as defining database needs of an operating system To understand the operating system • • • 18 September 2008 Basic responsibilities Standard enhancements Distributed processing support #3 CIS 340 ACIDS: ACID + Serializability Def: • The assurance governing concurrent execution Goal: Several transactions occurring yield consistent results ANSI standard specification: A transaction sequence continues from beginning to end -- through all succeeding SQL statements – until: – COMMIT statement is reached – ROLLBACK statement is reached – End of program is reached – Program is abnormally terminated 18 September 2008 #4 CIS 340 Data management (concept) • Commit -making a set of tentative changes permanent • Rollback - an operation which returns the database to some previous state. – Rollbacks are important for database integrity, because they mean that the database can be restored to a clean copy even after erroneous operations are performed • Integrity – Entity integrity concerns the concept of a primary key. Entity integrity is an integrity rule which states that every table must have a primary key and that the column or columns chosen to be the primary key should be unique and not null. – Referential integrity concerns the concept of a foreign key. • no child record can exist without a parent 18 September 2008 #5 CIS 340 Classic Problems for Shared DBs Data integrity and consistency problems – Lost updates – Uncommitted data – Inconsistent retrievals 18 September 2008 #6 CIS 340 Lost Updates Normal Execution: T1: PRO_QOH=PRO_QOH+100, T2: PRO_QOH=PRO_QOH-30 Problematic Execution 18 September 2008 #7 CIS 340 Uncommitted Data Correct Execution of Two Transactions T1: PRO_QOH=PRO_QOH+100 (Rollback), T2: PRO_QOH=PRO_QOH-30 Data Never Reached Commit, But Still Appears 18 September 2008 #8 CIS 340 Inconsistent Retrievals Valid Retrieval During Update: T2: correction of typing error 10 units Data Entry Correction 18 September 2008 #9 CIS 340 Inconsistent Retrievals Can READS ever get wrong values? Inconsistent with circumstances? The “Scheduler” • Utility of DBMS • Establishes order of operations among concurrent transaction How? • Interleaves execution Uses concurrency control algorithms • Ensures serializability • Ensures isolation of transactions Goal: So two transactions do not update same data element at same time 18 September 2008 # 11 CIS 340 The “Scheduler”: Read/Write Conflict Matrix No problem if T1 and T2 access unrelated data Possible confliction: 1) Access same data 2) At least one of them is a Write operation 18 September 2008 # 12 CIS 340 Concurrency Control: Locking Lock – Excludes use of a Def: data item – Required – Prevent reading inconsistent data Lock Granularity – Level of lock use Lock Manager – Assigns & polices locks – Enables different degrees of speed to the concurrency 18 September 2008 • Database • Table • Page • Row • Field # 13 CIS 340 Highlights Transaction log Concurrency control Scheduler Lock Serializability Deadlock Prevention; Detection; Avoidance Keeps track of all transactions that modify database Coordinates simultaneous execution of transactions Responsible for sequencing concurrent operations Guarantees unique access to a data item Guaranteed through the use of two-phase locking When two or more transactions wait indefinitely for each other to release lock Deadlock control techniques Transactional Properties: ACID Test CLIENT CLIENT SERVER If several components must come together for a process, then each atomic process operates correctly or entire combination aborts C onsistency: A service is correct when executed in its entirety and false or incorrect data is not introduced into the component databases services user program A tomicity: transactional coordination I solation: If several clients request the same service at the same time and access the same data, the overall result will be as if they were alone – isolated -- in the system TP-Monitor D urability: Application 1 Application 2 18 September 2008 Completed transactions are complete and durable (have duration?) If necessary, redoing and undoing of changes in case of failures can occur Application 3 # 16 CIS 340 Simple Batch Systems “Monitors” • Software • Controlled sequence of events • Program branches back to monitor when finished Job Control Language (JCL) • Special type of programming language • Provides instruction to the monitor – What compiler to use? – What data to use? 18 September 2008 # 17 CIS 340 Time Sharing • Uses multiprogramming to handle multiple interactive jobs • Processor’s time is shared among multiple users • Multiple users simultaneously access the system through terminals 18 September 2008 # 18 CIS 340 EX: Multiprogramming and Multiprocessing 18 September 2008 # 19 CIS 340