Top Banner
Data and Database Data and Database Administration Administration CS263 Lecture 15
40
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Lec15DatabaseAdmin.ppt

Data and Database Data and Database AdministrationAdministration

CS263 Lecture 15

Page 2: Lec15DatabaseAdmin.ppt

Job definitionsJob 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

Page 3: Lec15DatabaseAdmin.ppt

Data administration functionsData administration functions

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

Page 4: Lec15DatabaseAdmin.ppt

Database administration Database administration functionsfunctions

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

Page 5: Lec15DatabaseAdmin.ppt

Data warehouse administrationData 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

Page 6: Lec15DatabaseAdmin.ppt

Database securityDatabase security

Protection of the data against accidental or intentional loss, destruction, or misuse

Increased difficulty due to Internet access and client/server technologies

Page 7: Lec15DatabaseAdmin.ppt

Possible locations of data security threats

Page 8: Lec15DatabaseAdmin.ppt

Threats to data security can Threats to data security can come from: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)

Page 9: Lec15DatabaseAdmin.ppt

Data management software should Data management software should have these security features: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

Page 10: Lec15DatabaseAdmin.ppt

Views and integrity controlsViews 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:

Page 11: Lec15DatabaseAdmin.ppt

11

Integrity controlsIntegrity 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

Page 12: Lec15DatabaseAdmin.ppt

12

Integrity controlsIntegrity 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)

Page 13: Lec15DatabaseAdmin.ppt

13

Integrity controlsIntegrity 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

Page 14: Lec15DatabaseAdmin.ppt

Authorization rulesAuthorization 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

Page 15: Lec15DatabaseAdmin.ppt

Authorization matrix

Page 16: Lec15DatabaseAdmin.ppt

16

Authorisation tablesAuthorisation 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

Page 17: Lec15DatabaseAdmin.ppt

Some DBMSs also provide capabilities for user-defined procedures to customize the authorization process

Authorization table for subjects

Authorization table for objects

Oracle8i privileges

Page 18: Lec15DatabaseAdmin.ppt

Authentication SchemesAuthentication 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

Page 19: Lec15DatabaseAdmin.ppt

Database RecoveryDatabase Recovery

Mechanism for restoring a database quickly and accurately after loss or damage

Recovery facilities:• Backup Facilities• Journalizing Facilities• Checkpoint Facility• Recovery Manager

Page 20: Lec15DatabaseAdmin.ppt

Backup FacilitiesBackup 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

Page 21: Lec15DatabaseAdmin.ppt

Journalizing FacilitiesJournalizing 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

Produces an audit trailaudit trail

Page 22: Lec15DatabaseAdmin.ppt

Figure 12-6: Database audit trail

From the backup and logs, databases can be restored in case of damage or loss

Page 23: Lec15DatabaseAdmin.ppt

Checkpoint FacilitiesCheckpoint 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

Page 24: Lec15DatabaseAdmin.ppt

Recovery and Restart Recovery and Restart ProceduresProcedures

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)

Page 25: Lec15DatabaseAdmin.ppt

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

Page 26: Lec15DatabaseAdmin.ppt

Figure 12-7(b) Rollforward

Page 27: Lec15DatabaseAdmin.ppt

Database Failure ResponsesDatabase 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

Page 28: Lec15DatabaseAdmin.ppt

Concurrency ControlConcurrency Control

ProblemProblem – in a multi-user environment, simultaneous access to data can result in interference and data loss

SolutionSolution – 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.

Page 29: Lec15DatabaseAdmin.ppt

Figure 12-8: LOST UPDATELOST UPDATE

Simultaneous access causes updates to cancel each other

A similar problem is the inconsistent readinconsistent read problem

Page 30: Lec15DatabaseAdmin.ppt

Concurrency Control Concurrency Control TechniquesTechniques

Serializability –– Finish one transaction before starting another

Locking MechanismsLocking 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

Page 31: Lec15DatabaseAdmin.ppt

Figure 12-9: Updates with locking for concurrency control

This prevents the lost update problem

Page 32: Lec15DatabaseAdmin.ppt

Locking MechanismsLocking 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

Page 33: Lec15DatabaseAdmin.ppt

DeadlockDeadlock An impasse that results when two or more transactions have locked

common resources, and each waits for the other to unlock their resources

Figure 12-11A deadlock situation

UserA and UserB will wait UserA and UserB will wait forever for each other to forever for each other to release their locked resources!release their locked resources!

Page 34: Lec15DatabaseAdmin.ppt

Managing DeadlockManaging 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

Page 35: Lec15DatabaseAdmin.ppt

VersioningVersioning

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

Page 36: Lec15DatabaseAdmin.ppt

Figure 12-12: the use of versioning

Better performance than locking

Page 37: Lec15DatabaseAdmin.ppt

Managing Data QualityManaging Data Quality

Data StewardData 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

Page 38: Lec15DatabaseAdmin.ppt

Data Dictionaries and RepositoriesData Dictionaries and Repositories 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

Information Repository Dictionary System (IRDS)– Software tool managing/controlling access to information

repository

Page 39: Lec15DatabaseAdmin.ppt

Figure 12-13: Three components of the repository system architecture

A schema of the repository information

Software that manages the repository objects

Where repository objects are stored

Source: adapted from Bernstein, 1996.

Page 40: Lec15DatabaseAdmin.ppt

Database Performance TuningDatabase Performance Tuning 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