Download presentation
Presentation is loading. Please wait.
1
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 4-1 David M. Kroenke Database Processing Chapter 9 Managing Multi- User Databases
2
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 4-2 Multi-User Databases Serving the needs of multiple users and multiple applications adds complexity in… –design, –development, and –migration (future updates)
3
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 4-3 Multi-User Database Issues Interdependency –Changes required by one user may impact others Concurrency –People or applications may try to update the same information at the same time
4
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 4-4 Multi-User Database Issues Record Retention –When information should be discarded Backup/Recovery –How to protect yourself from losing critical information
5
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 4-5 Role of the Database Administrator Organizations typically hire a database administrator (DBA) to handle the issues and complexities associated with multi- user databases. A DBA facilitates the development and use of one or more databases.
6
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 4-6 Data Administrator versus Database Administrator Data Administrator –Handle the database functions and responsibilities for the entire organization. Database Administrator (DBA) –Handle the functions associated with a specific database, including those applications served by the database.
7
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 4-7 The Characteristics of a DBA Technical –The DBA is responsible for the performance and maintenance of one or more databases. Diplomatic –The DBA must coordinate the efforts, requirements, and sometimes conflicting goals of various user groups to develop community-wide solutions.
8
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 4-8 Technical Skills of the DBA Managing the database structure Controlling concurrent processing Managing processing rights and responsibilities Developing database security Providing database recovery Managing the database management system (DBMS) Maintaining the data repository
9
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 4-9 Managing the Database Structure Managing the database structure includes configuration control and documentation regarding: –The allocation of space –Table creation –Indices creation –Storage procedures –Trigger creation
10
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 4-10 Configuration Control Post-implementation changes Procedures & Policies Address unanticipated problems
11
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 4-11 The Need for Documentation Crucial when trying to understand problems Backups and Restores Documentation provides the “paper” trail for changes
12
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 4-12 Documentation All structural changes must be carefully documented with the following: –Reason for change –Who made the changes –Specifically what was changed –How and when the changes were implemented –How were the changes tested and what were the results
13
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 4-13 Controlling Concurrency Processing Concurrency control ensures that one user’s actions do not adversely impact another user’s actions At the core of concurrency is accessibility.
14
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 4-14 Aspects of Concurrency Control Rollback/Commit: Ensuring all actions are successful before posting to the database Multitasking: Simultaneously serving multiple users Lost Updates: When one user’s action overwrites another user’s request
15
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 4-15 Rollback/Commit Involve logical units of work (LUW). Commit when entire LUW successful. Rollback if any part of LUW is unsuccessful
16
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 4-16 Lost Update Problem When two or more users are attempting to update the same piece of data at the same time. Resource locking scenarios are designed to address this problem
17
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 4-17 Resource Locking A resource lock prevents a user from reading and/or writing to a piece of data The size of the piece of data (e.g., database, table, row) is termed the lock granularity
18
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 4-18 Types of Resource Locks Implicit versus Explicit Exclusive versus Shared
19
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 4-19 Two-Phased Resource Locking Two-phased locking, whereby locks are obtained as they are needed –A growing phase, whereby the transaction continues to request additional locks –A shrinking phase, whereby the transaction begins to release the locks
20
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 4-20 Deadlocks When two transactions are waiting on one another to release resources.
21
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 4-21 Avoiding Deadlocks Strategy 1: –Wait until all resources are available, then lock them all before beginning Strategy 2: –Establish and use clear locking orders/sequences Strategy 3: –Once detected, the DBMS will rollback one transaction
22
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 4-22 Resource Locking Strategies Optimistic Locking –Read data –Process transaction –Issue update –Look for conflict –If conflict occurred, rollback and repeat or else commit Pessimistic Locking –Lock required resources –Read data –Process transaction –Issue update –Release locks
23
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 4-23 Providing Database Recovery Common causes of database failures… –Hardware failures –Programming bugs –Human errors/mistakes –Malicious actions Since these issues are impossible to completely avoid, recovery procedures are essential
24
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 4-24 Database Recovery Characteristics Continuing business operations (Fall-back procedures/Continuity planning) Restore from backup Replay database activities since backup was originally made
25
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 4-25 Fall-back Procedures/ Continuity Planning The business will continue to operate even when the database is inaccessible The fall-back procedure defines how the organization will continue operations Careful attention must be paid to… –saving essential data –continuing to provide quality service
26
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 4-26 Restoring from Backup In the event that the system must be rebuilt or reloaded, the database is restored from the last full backup. Since it is inevitable that activities occurred since the last full backup was made, subsequent activities must be replayed/restored.
27
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 4-27 Recovery via Reprocessing This is a brute-force technique. Simply re-type all activities since the backup was performed. –Costly (extra time) –Risky (human error)
28
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 4-28 Recovery via Rollback/Rollforward Most database management systems provide a mechanism to record activities into a log file.
29
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 4-29 Rollforward Activities recorded in the log files may be replayed. In doing so, all activities are re- applied to the database. Use to resynchronize restored database data.
30
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 4-30 Rollback Since log files save activities in sequence order, can undo activities in reverse order than when they were originally executed. Used to correct/undo erroneous or malicious transaction(s).
31
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 4-31 Database Security Database security strives to ensure… –Only authorized users perform authorized activities at authorized times
32
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 4-32 Managing Processing Rights and Responsibilities Processing rights define who is permitted to do what, when The individuals performing these activities have full responsibility for the implications of their actions Individuals are identified by a username and a password
33
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 4-33 Granting of Processing Rights Database users are known as an individual and as a member of one or more role Access and processing rights/privileges may be granted to an individual and/or a role Users possess the compilation of rights granted to the individual and all the roles for which they are members
34
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 4-34 Granting Privileges
35
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 4-35 Managing the Database Management System (DBMS) In addition to controlling and maintaining the users and the data, the DBA must also maintain and monitor the DBMS itself. –Performance statistics (performance tuning / optimizing) –System and data integrity –Establishing, configuring, and maintaining database features and utilities
36
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 4-36 Maintaining the Data Repository The data repository contains metadata. Metadata is data about data. The data repository specifies the name, type, size, format, structure, definitions, and relationships among the data. They also contain the details about applications, users, add-on products, etc.
37
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 4-37 Types of Data Repositories Active data repository –The development and management tools automatically maintain and upkeep the metadata. Passive data repository –People manually maintain and upkeep the metadata
38
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 4-38 Consistent Transactions Consistent transactions are often referred to by the acronym ACID –Atomic –Consistent –Isolated –Durable
39
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 4-39 ACID: Atomic A transaction consists of a series of steps. Each step must be successful for the transaction to be saved. This ensures that the transaction completes everything it intended to do before saving the changes.
40
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 4-40 ACID: Consistent No other transactions are permitted on the records until the current statement finishes This ensures that the transaction integrity has statement level consistence among all records
41
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 4-41 ACID: Isolation Within multi-user environments, different transactions may be operating on the same data. As such, the sequencing of uncommitted updates, rollbacks, and commits continuously change the data content. The 1992 ANSI SQL standards define four isolation levels and specify respective issues.
42
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 4-42 Summary of Isolation Levels
43
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 4-43 ACID: Durable Once committed, durable transactions are saved to the data permanently
44
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 4-44 Set-at-a-Time Versus Row-at-a-Time SQL statements act as filters for the entire data set. A cursor may be defined within a SQL statement to point to a particular record. Several types of cursors have been defined. The cursor type defines how the cursor behaves.
45
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 4-45 Types of Cursors
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.