Lec 15 Database Admin
Lec 15 Database Admin
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 policies, procedures, standards Planning Data conflict (ownership) resolution Internal marketing of DA concepts Managing the data repository
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
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
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)
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 - 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
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)
12
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
13
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
16
Oracle8i privileges
Some DBMSs also provide capabilities for user-defined procedures to customize the authorization process
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
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
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)
Aborted transactions
Preferred recovery: rollback Alternative: Rollforward to state just prior to abort Preferred recovery: rollback Alternative 1: re-run transactions not including inaccurate data updates Alternative 2: compensating transactions Preferred recovery: switch to duplicate database Alternative 1: rollback Alternative 2: restart from checkpoint Preferred recovery: switch to duplicate database Alternative 1: rollforward Alternative 2: reprocess transactions
Incorrect data
Database destruction
Concurrency Control
Problem in a multi-user environment, simultaneous access to data can result in interference and data loss 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.
Simultaneous access causes updates to cancel each other A similar problem is the inconsistent read problem
Serializability Finish one transaction before starting another 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
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
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
Data Steward - Liaisons between IT and business units Five Data Quality Issues: Security policy and disaster recovery Personnel controls Physical access controls Maintenance controls (hardware & software) Data protection and privacy
Data dictionary
Documents data elements of a database
System catalog
System-created database that describes all database objects
Information Repository
Stores metadata describing data and data processing resources
repository
DBMS Installation Setting installation parameters Memory Usage Set cache levels Choose background processes Input/Output Contention Use striping Distribution of heavily accessed files CPU Usage Monitor CPU load Application tuning Modification of SQL code in applications