Data and Database Administration CS263 Lecture 15.

Slides:



Advertisements
Similar presentations
Chapter 11: Data and Database Administration
Advertisements

Database Management System MIS 520 – Database Theory Fall 2001 (Day) Lecture 13.
Chapter 11: data and Database Administration
Data and Database Administration Chapter 12. Outline What is Concurrency Control? Background Serializability  Locking mechanisms.
Monday, 08 June 2015Dr. Mohamed Osman1 What is Database Administration A high level function (technical Function) that is responsible for ► physical DB.
10/25/2001Database Management -- R. Larson Data Administration and Database Administration University of California, Berkeley School of Information Management.
© 2005 by Prentice Hall 1 Chapter 12: Data and Database Administration Modern Database Management 7 th Edition Jeffrey A. Hoffer, Mary B. Prescott, Fred.
Database Administration Chapter Six DAVID M. KROENKE’S DATABASE CONCEPTS, 2 nd Edition.
Database Integrity, Security and Recovery Database integrity Database integrity Database security Database security Database recovery Database recovery.
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
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 10 Transaction Management and Concurrency Control.
Data and Database Administration
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 8-1 COS 346 Day 18.
© 2007 by Prentice Hall 1 Chapter 12: Data and Database Administration Modern Database Management 8 th Edition Jeffrey A. Hoffer, Mary B. Prescott, Fred.
IS 4420 Database Fundamentals Chapter 12: Data and Database Administration Leon Chen.
9 Chapter 9 Transaction Management and Concurrency Control Hachim Haddouti.
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.
 Mechanism for restoring a database quickly and accurately after loss or damage  RESPONSIBILITY OF ?????  Recovery facilities: Backup Facilities Backup.
 Mechanism for restoring a database quickly and accurately after loss or damage  RESPONSIBILITY OF ?????  Recovery facilities: Backup Facilities Backup.
Business Intelligence: Data and Text Management Instructor: Bajuna Salehe Web:
10/5/1999Database Management -- R. Larson Data Administration and Database Administration University of California, Berkeley School of Information Management.
© 2009 Pearson Education, Inc. Publishing as Prentice Hall 1 Chapter 13: Data and Database Administration Modern Database Management 9 th Edition Jeffrey.
1 © Prentice Hall, 2002 Chapter 12: Data and Database Administration Modern Database Management 6 th Edition Jeffrey A. Hoffer, Mary B. Prescott, Fred.
Data and Database Administration
© 2013 Pearson Education, Inc. Publishing as Prentice Hall 1 CHAPTER 11: DATA AND DATABASE ADMINISTRATION Modern Database Management 11 th Edition Jeffrey.
Data Administration & Database Administration
Concepts of Database Management Sixth Edition
© 2013 Pearson Education, Inc. Publishing as Prentice Hall 1 CHAPTER 11: DATA AND DATABASE ADMINISTRATION Modern Database Management 11 th Edition Jeffrey.
© 2011 Pearson Education, Inc. Publishing as Prentice Hall 1 Chapter 11: Data and Database Administration Modern Database Management 10 h Edition Jeffrey.
DBSQL 7-1 Copyright © Genetic Computer School 2009 Chapter 7 Transaction Management, Database Security and Recovery.
1 Topics in Database Administration u What is database administration? u What are the tasks involved in establishing, creating, implementing and maintaining.
The University of Akron Dept of Business Technology Computer Information Systems DBMS Functions 2440: 180 Database Concepts Instructor: Enoch E. Damson.
Concepts of Database Management, Fifth Edition
Recovery & Concurrency Control. What is a Transaction?  A transaction is a logical unit of work that must be either entirely completed or aborted. 
BIS Database Systems School of Management, Business Information Systems, Assumption University A.Thanop Somprasong Chapter # 10 Transaction Management.
MIS 385/MBA 664 Systems Implementation with DBMS/ Database Management Dave Salisbury ( )
© 2009 Pearson Education, Inc. Publishing as Prentice Hall 1 UNIT 9: Data Management Modern Database Management 9 th Edition Jeffrey A. Hoffer, Mary B.
Topics in Database Administration What is database administration? What is data administration? What are the tasks involved in establishing, creating,
D ATABASE A DMINISTRATION L ECTURE N O 3 Muhammad Abrar.
11/7/2012ISC329 Isabelle Bichindaritz1 Transaction Management & Concurrency Control.
Data & Database Administration
1 Chapter 12: Data and Database Administration Modern Database Management Jeffrey A. Hoffer, Mary B. Prescott, Fred R. McFadden.
MBA 664 Database Management Dave Salisbury ( )
TM 13-1 Copyright © 1999 Addison Wesley Longman, Inc. Data and Database Administration.
Chapter 11 © 2013 Pearson Education, Inc. Publishing as Prentice Hall Chapter 11: data and Database Administration Modern Database Management 11 th Edition.
Transaction Processing Concepts
Topics in Database Administration What is database administration? What is data administration? What are the tasks involved in establishing, creating,
9 1 Chapter 9_B Concurrency Control Database Systems: Design, Implementation, and Management, Rob and Coronel.
10 Transaction Management and Concurrency Control MIS 304 Winter 2005.
1 Data and Database Administration Data and Database Administration By Lec. Adeel Shahzad FromBook-B.
© 2013 Pearson Education, Inc. Publishing as Prentice Hall 1 CHAPTER 11: DATA AND DATABASE ADMINISTRATION Modern Database Management 11 th Edition Jeffrey.
© 2009 Pearson Education, Inc. Publishing as Prentice Hall 1 Lecture 13: Data and Database Administration Modern Database Management 9 th Edition Jeffrey.
Chapter 13 Managing Transactions and Concurrency Database Principles: Fundamentals of Design, Implementation, and Management Tenth Edition.
SYSTEMS IMPLEMENTATION TECHNIQUES TRANSACTION PROCESSING DATABASE RECOVERY DATABASE SECURITY CONCURRENCY CONTROL.
CSC314 Day 16 Transaction processing Concurrency Control 1.
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.
Chapter 12: Data and Database Administration
Transaction Management and Concurrency Control
Functions of a Database Management System
Chapter 12: Data and Database Administration
Chapter 12: Data and Database Administration
Chapter 10 Transaction Management and Concurrency Control
Chapter 12: Data and Database Administration
Introduction of Week 13 Return assignment 11-1 and 3-1-5
Presentation transcript:

Data and Database Administration CS263 Lecture 15

Job definitions Data Administration: A high-level function that is responsible for the overall management of data resources in an organization, including maintaining corporate-wide definitions and standards Database Administration: A technical function that is responsible for physical database design and for dealing with technical issues such as security enforcement, database performance, and backup and recovery Often some mixture of these duties

Data administration functions Data policies, procedures, standards Planning Data conflict (ownership) resolution Internal marketing of DA concepts Managing the data repository

Database administration functions Selection of hardware and software Installing/upgrading DBMS Tuning database performance Improving query processing performance Managing data security, privacy, and integrity Data backup and recovery

Data warehouse administration New role, coming with the growth in data warehouses Similar to DA/DBA roles Emphasis on integration and coordination of metadata/data across many data sources Specific roles: – Support decision –support applications – Manage data warehouse growth – Establish service level agreements regarding data warehouses and data marts

Database security Protection of the data against accidental or intentional loss, destruction, or misuse Increased difficulty due to Internet access and client/server technologies

Possible locations of data security threats

Threats to data security can come from: Accidental losses - attributable to Human error, software or hardware failure – tackle using procedures on user authorisation, uniform software installation procedures, hardware maintenance schedules Theft and fraud – attention should be focussed on all the locations in the previous Fig. (control of physical access, firewalls etc.) Loss of privacy (personal data) and loss of confidentiality (corporate data) Loss of data integrity – invalid/corrupt data – need established backup/recovery procedures Loss of availability (through, e.g. sabotage)

Data management software should have these security features: Views or subschemas which restrict user views of the database (discussed previously) Integrity controls which are enforced by the DBMS during querying and updating Authorization rules identifying users and restricting actions they can take User-defined procedures defining additional constraints Encryption procedures for encoding data in an unrecognisable form Backup, journalizing, and checkpointing capabilities which facilitate recovery procedures

Views and integrity controls Views - subset of the database that is presented to one or more users -user can be given access privilege to view without allowing access privilege to underlying tables Integrity Controls - protect data from unauthorized use One type = Domain – create a user-defined data type and set allowable values. E.g. the PriceChangeDomain can be used as the datatype in any database field (such as PriceIncrease and PriceDiscount) to limit the amount prices can be changed in one transaction:

Integrity controls CREATE DOMAIN PriceChange AS DECIMAL CHECK(VALUE BETWEEN.001 and 0.15); Then, in a pricing transaction table, we could have: PriceIncrease PriceChange NOT NULL One advantage of a domain is that if it ever has to change, it can be cahnged in one place (the domain definition) – if instead we used CHECK then we would have to go to every instance of CHECK and change it

Integrity controls Assertions are constraints enforcing desirable database conditions – they are checked automatically by the DBMS when transactions are run involving tables or fields on which assertions exist. E.g., assume that an EMPLOYEE table has fields of Emp_ID, Emp_Name, Supervisor_ID and Spouse_ID, and that a company rule is that no employee may supervise his or her spouse: CREATE ASSERTION SpousalSupervision CHECK (SupervisorID SpouseID)

Integrity controls Triggers (which include an event, a condition and an action) can be used for security purposes) The powerful benefit of a trigger (also domains) is that that the DBMS enforces these controls for all users and all database activities – the control does not have to be coded into each query or program – so individual users and programs cannot circumvent the necessary controls

Authorization rules Are controls incorporated in the data management system that restrict access to data and actions that people can take on data Authorization matrix includes subjects, objects, actions and constraints Each row of the table indicates that a particular subject is authorised to take a certain action on an object in the database (perhaps subject to some constraint) Following fig shows authorisation matrix where anyone in the Sales Department can insert a new customer record into the database, providing the credit limit does not exceed $5000

Authorization matrix

Authorisation tables Many DBMS do not implement authorisation matrices but used simplified versions – two types – authorisation tables for subjects and authorisation tables for objects (see following Fig.) In the table for subjects, we can see that salespersons are allowed to modify customer records but not delete those records In the table for objects, we can see that users in Order Entry or Accounting can modify order records, but salespersons cannot

Some DBMSs also provide capabilities for user-defined procedures to customize the authorization process Authorization table for subjects Authorization table for objects Oracle8i privileges

Authentication Schemes Goal – obtain a positive identification of the user Passwords are flawed: – Users share them with each other – They get written down, could be copied – Automatic logon scripts remove need to explicitly type them in – Unencrypted passwords travel the Internet Possible solutions: – Biometric devices – use of fingerprints, retinal scans, etc. for positive ID – Third-party authentication – using secret keys, digital certificates

Database Recovery  Mechanism for restoring a database quickly and accurately after loss or damage  Recovery facilities: Backup Facilities Journalizing Facilities Checkpoint Facility Recovery Manager

Backup Facilities Automatic dump facility that produces backup copy of the entire database Periodic backup (e.g. nightly, weekly) Cold backup – database is shut down during backup Hot backup – selected portion is shut down and backed up at a given time Backups stored in secure, off-site location

Journalizing Facilities Audit trail of transactions and database updates Transaction log – record of essential data for each transaction processed against the database Database change log – images of updated data – Before-image – copy before modification – After-image – copy after modification audit trail Produces an audit trail

Figure 12-6: Database audit trail From the backup and logs, databases can be restored in case of damage or loss

Checkpoint Facilities DBMS periodically refuses to accept new transactions  system is in a quiet state Database and transaction logs are synchronized This allows recovery manager to resume processing from short period, instead of repeating entire day

Recovery and Restart Procedures Switch - Mirrored databases Restore/Rerun - Reprocess transactions against the backup Transaction Integrity - Commit or abort all transaction changes Backward Recovery (Rollback) - Apply before images Forward Recovery (Roll Forward) - Apply after images (preferable to restore/rerun)

Figure 12-7: Basic recovery techniques (a) Rollback

Figure 12-7(b) Rollforward

Database Failure Responses Aborted transactions – Preferred recovery: rollback – Alternative: Rollforward to state just prior to abort Incorrect data – Preferred recovery: rollback – Alternative 1: re-run transactions not including inaccurate data updates – Alternative 2: compensating transactions System failure (database intact) – Preferred recovery: switch to duplicate database – Alternative 1: rollback – Alternative 2: restart from checkpoint Database destruction – Preferred recovery: switch to duplicate database – Alternative 1: rollforward – Alternative 2: reprocess transactions

Concurrency Control Problem Problem – in a multi-user environment, simultaneous access to data can result in interference and data loss Solution Solution – Concurrency Control – The process of managing simultaneous operations against a database so that data integrity is maintained and the operations do not interfere with each other in a multi-user environment.

LOST UPDATE Figure 12-8: LOST UPDATE Simultaneous access causes updates to cancel each other inconsistent read A similar problem is the inconsistent read problem

Concurrency Control Techniques Serializability – – Finish one transaction before starting another Locking Mechanisms Locking Mechanisms – The most common way of achieving serialization – Data that is retrieved for the purpose of updating is locked for the updater – No other user can perform update until unlocked

Figure 12-9: Updates with locking for concurrency control This prevents the lost update problem

Locking Mechanisms Locking level: – Database – used during database updates – Table – used for bulk updates – Block or page – very commonly used – Record – only requested row; fairly commonly used – Field – requires significant overhead; impractical Types of locks: – Shared lock - Read but no update permitted. Used when just reading to prevent another user from placing an exclusive lock on the record – Exclusive lock - No access permitted. Used when preparing to update

Deadlock An impasse that results when two or more transactions have locked common resources, and each waits for the other to unlock their resources Figure A deadlock situation UserA and UserB will wait forever for each other to release their locked resources!

Managing Deadlock Deadlock prevention: – Lock all records required at the beginning of a transaction – Two-phase locking protocol Growing phase Shrinking phase – May be difficult to determine all needed resources in advance Deadlock Resolution: – Allow deadlocks to occur – Mechanisms for detecting and breaking them Resource usage matrix

Versioning Optimistic approach to concurrency control Instead of locking Assumption is that simultaneous updates will be infrequent Each transaction can attempt an update as it wishes The system will reject an update when it senses a conflict Use of rollback and commit for this

Figure 12-12: the use of versioning Better performance than locking