SlideShare a Scribd company logo
1 of 40
Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/1
Outline
• Introduction
• Background
• Distributed Database Design
• Database Integration
• Semantic Data Control
➡ View Management
➡ Data Security
➡ Semantic Integrity Control
• Distributed Query Processing
• Multidatabase Query Processing
• Distributed Transaction Management
• Data Replication
• Parallel Database Systems
• Distributed Object DBMS
• Peer-to-Peer Data Management
• Web Data Management
• Current Issues
Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/2
• Involves:
➡ View management
➡ Security control
➡ Integrity control
• Objective :
➡ Insure that authorized users perform correct operations on the database,
contributing to the maintenance of the database integrity.
Semantic Data Control
Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/3
View – virtual relation
➡ generated from base relation(s) by a query
➡ not stored as base relations
Example :
CREATE VIEW SYSAN(ENO,ENAME)
AS SELECT ENO,ENAME
FROM EMP
WHERE TITLE= "Syst. Anal."
View Management
ENO ENAME
E2 M.Smith
E5 B.Casey
E8 J.Jones
SYSAN
ENO ENAME TITLE
E1 J. Doe Elect. Eng
E2 M. Smith Syst. Anal.
E3 A. Lee Mech. Eng.
E4 J. Miller Programmer
E5 B. Casey Syst. Anal.
E6 L. Chu Elect. Eng.
E7 R. Davis Mech. Eng.
E8 J. Jones Syst. Anal.
EMP
Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/4
Views can be manipulated as base relations
Example :
SELECT ENAME, PNO, RESP
FROM SYSAN, ASG
WHERE SYSAN.ENO = ASG.ENO
View Management
Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/5
Queries expressed on views
Queries expressed on base relations
Example :
SELECT ENAME, PNO, RESP
FROM SYSAN, ASG
WHERE SYSAN.ENO = ASG.ENO
SELECT ENAME,PNO,RESP
FROM EMP, ASG
WHERE EMP.ENO = ASG.ENO
AND TITLE = "Syst. Anal."
Query Modification
ENAME PNO RESP
M.Smith P1 Analyst
M.Smith P2 Analyst
B.Casey P3 Manager
J.Jones P4 Manager
Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/6
• To restrict access
CREATE VIEW ESAME
AS SELECT *
FROM EMP E1, EMP E2
WHERE E1.TITLE = E2.TITLE
AND E1.ENO = USER
• Query
SELECT *
FROM ESAME
View Management
ENO ENAME TITLE
E1 J. Doe Elect. Eng
E2 L. Chu Elect. Eng
Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/7
View Updates
• Updatable
CREATE VIEW SYSAN(ENO,ENAME)
AS SELECT ENO,ENAME
FROM EMP
WHERE TITLE="Syst. Anal."
• Non-updatable
CREATE VIEW EG(ENAME,RESP)
AS SELECT ENAME,RESP
FROM EMP, ASG
WHERE EMP.ENO=ASG.ENO
Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/8
View Management in DDBMS
• Views might be derived from fragments.
• View definition storage should be treated as database storage
• Query modification results in a distributed query
• View evaluations might be costly if base relations are distributed
➡ Use materialized views
Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/9
Materialized View
• Origin: snapshot in the 1980’s
➡ Static copy of the view, avoid view derivation for each query
➡ But periodic recomputing of the view may be expensive
• Actual version of a view
➡ Stored as a database relation, possibly with indices
• Used much in practice
➡ DDBMS: No need to access remote, base relations
➡ Data warehouse: to speed up OLAP
✦ Use aggregate (SUM, COUNT, etc.) and GROUP BY
Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/10
Materialized View Maintenance
• Process of updating (refreshing) the view to reflect changes to base data
➡ Resembles data replication but there are differences
✦ View expressions typically more complex
✦ Replication configurations more general
• View maintenance policy to specify:
➡ When to refresh
➡ How to refresh
Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/11
When to Refresh a View
• Immediate mode
➡ As part of the updating transaction, e.g. through 2PC
➡ View always consistent with base data and fast queries
➡ But increased transaction time to update base data
• Deferred mode (preferred in practice)
➡ Through separate refresh transactions
✦ No penalty on the updating transactions
➡ Triggered at different times with different trade-offs
✦ Lazily: just before evaluating a query on the view
✦ Periodically: every hour, every day, etc.
✦ Forcedly: after a number of predefined updates
Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/12
How to Refresh a View
• Full computing from base data
➡ Efficient if there has been many changes
• Incremental computing by applying only the changes to the view
➡ Better if a small subset has been changed
➡ Uses differential relations which reflect updated data only
Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/13
Differential Relations
Given relation R and update u
R+ contains tuples inserted by u
R- contains tuples deleted by u
Type of u
insert R- empty
delete R+ empty
modify R+ (R – R- )
Refreshing a view V is then done by computing
V+ (V – V- )
computing V+ and V- may require accessing base data
Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/14
EG = SELECT DISTINCT ENAME, RESP
FROM EMP, ASG
WHERE EMP.ENO=ASG.ENO
EG+= (SELECT DISTINCT ENAME, RESP
FROM EMP, ASG+
WHERE EMP.ENO=ASG+.ENO) UNION
(SELECT DISTINCT ENAME, RESP
FROM EMP+, ASG
WHERE EMP+.ENO=ASG.ENO) UNION
(SELECT DISTINCT ENAME, RESP
FROM EMP+, ASG+
WHERE EMP+.ENO=ASG+.ENO)
Example
Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/15
Techniques for Incremental View
Maintenance
• Different techniques depending on:
➡ View expressiveness
✦ Non recursive views: SPJ wit duplicate elimination, union and aggregation
✦ Views with outerjoin
✦ Recursive views
• Most frequent case is non recursive views
➡ Problem: an individual tuple in the view may be derived from several base
tuples
✦ Example: tuple M. Smith, Analyst in EG corresponding to
✓ E2, M. Smith, … in EMP
✓ E2,P1,Analyst,24 and E2,P2,Analyst,6 in ASG
✦ Makes deletion difficult
➡ Solution: Counting
Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/16
Counting Algorithm
• Basic idea
➡ Maintain a count of the number of derivations for each tuple in the view
➡ Increment (resp. decrement) tuple counts based on insertions (resp.
deletions)
➡ A tuple in the view whose count is zero can be deleted
• Algorithm
1. Compute V+ and V- using V, base relations and diff. relations
2. Compute positive in V+ and negative counts in V-
3. Compute V+ (V – V- ), deleting each tuple in V with count=0
• Optimal: computes exactly the view tuples that are inserted or deleted
Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/17
View Self-maintainability
• A view is self-maintainable if the base relations need not be accessed
➡ Not the case for the Counting algorithm
• Self-maintainability depends on views’ expressiveness
➡ Most SPJ views are often self-maintainable wrt. deletion and modification, but
not wrt. Insertion
➡ Example: a view V is self-maintainable wrt to deletion in R if the key of R is
included in V
Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/18
Data Security
• Data protection
➡ Prevents the physical content of data to be understood by unauthorized users
➡ Uses encryption/decryption techniques (Public key)
• Access control
➡ Only authorized users perform operations they are allowed to on database
objects
➡ Discretionary access control (DAC)
✦ Long been provided by DBMS with authorization rules
➡ Multilevel access control (MAC)
✦ Increases security with security levels
Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/19
Discretionary Access Control
• Main actors
➡ Subjects (users, groups of users) who execute operations
➡ Operations (in queries or application programs)
➡ Objects, on which operations are performed
• Checking whether a subject may perform an op. on an object
➡ Authorization= (subject, op. type, object def.)
➡ Defined using GRANT OR REVOKE
➡ Centralized: one single user class (admin.) may grant or revoke
➡ Decentralized, with op. type GRANT
✦ More flexible but recursive revoking process which needs the hierarchy of grants
Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/20
Problem with DAC
• A malicious user can access unauthorized data through an authorized user
• Example
➡ User A has authorized access to R and S
➡ User B has authorized access to S only
➡ B somehow manages to modify an application program used by A so it writes
R data in S
➡ Then B can read unauthorized data (in S) without violating authorization
rules
• Solution: multilevel security based on the famous Bell and Lapuda model
for OS security
Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/21
Multilevel Access Control
• Different security levels (clearances)
➡ Top Secret > Secret > Confidential > Unclassified
• Access controlled by 2 rules:
➡ No read up
✦ subject S is allowed to read an object of level L only if level(S) ≥ L
✦ Protect data from unauthorized disclosure, e.g. a subject with secret clearance
cannot read top secret data
➡ No write down:
✦ subject S is allowed to write an object of level L only if level(S) ≤ L
✦ Protect data from unauthorized change, e.g. a subject with top secret clearance
can only write top secret data but not secret data (which could then contain top
secret data)
Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/22
MAC in Relational DB
• A relation can be classified at different levels:
➡ Relation: all tuples have the same clearance
➡ Tuple: every tuple has a clearance
➡ Attribute: every attribute has a clearance
• A classified relation is thus multilevel
➡ Appears differently (with different data) to subjects with different clearances
Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/23
Example
PNO SL1 PNAME SL2 BUDGET SL3 LOC SL4
P1
P2
P3
C
C
S
Instrumentation
DB Develop.
CAD/CAM
C
C
S
150000
135000
250000
C
S
S
Montreal
New York
New York
C
S
S
PROJ*: classified at attribute level
PNO SL1 PNAME SL2 BUDGET SL3 LOC SL4
P1
P2
C
C
Instrumentation
DB Develop.
C
C
150000
Null
C
C
Montreal
Null
C
C
PROJ* as seen by a subject with confidential clearance
Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/24
Distributed Access Control
• Additional problems in a distributed environment
➡ Remote user authentication
✦ Typically using a directory service
✓ Should be replicated at some sites for availability
➡ Management of DAC rules
✦ Problem if users’ group can span multiple sites
✓ Rules stored at some directory based on user groups location
✓ Accessing rules may incur remote queries
➡ Covert channels in MAC
Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/25
Covert Channels
• Indirect means to access unauthorized data
• Example
➡ Consider a simple DDB with 2 sites: C (confidential) and S (secret)
➡ Following the “no write down” rule, an update from a subject with secret
clearance can only be sent to S
➡ Following the “no read up” rule, a read query from the same subject can be
sent to both C and S
➡ But the query may contain secret information (e.g. in a select predicate), so is
a potential covert channel
• Solution: replicate part of the DB
➡ So that a site at security level L contains all data that a subject at level L can
access (e.g. S above would replicate the confidential data so it can entirely
process secret queries)
Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/26
Semantic Integrity Control
Maintain database consistency by enforcing a set of constraints defined on
the database.
• Structural constraints
➡ basic semantic properties inherent to a data model e.g., unique key constraint
in relational model
• Behavioral constraints
➡ regulate application behavior, e.g., dependencies in the relational model
• Two components
➡ Integrity constraint specification
➡ Integrity constraint enforcement
Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/27
Semantic Integrity Control
• Procedural
control embedded in each application program
• Declarative
assertions in predicate calculus
➡ easy to define constraints
➡ definition of database consistency clear
➡ inefficient to check assertions for each update
✦ limit the search space
✦ decrease the number of data accesses/assertion
✦ preventive strategies
✦ checking at compile time
Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/28
Constraint Specification
Language
Predefined constraints
specify the more common constraints of the relational model
➡ Not-null attribute
ENO NOT NULL IN EMP
➡ Unique key
(ENO, PNO) UNIQUE IN ASG
➡ Foreign key
A key in a relation R is a foreign key if it is a primary key of another relation S
and the existence of any of its values in R is dependent upon the existence of the
same value in S
PNO IN ASG REFERENCES PNO IN PROJ
➡ Functional dependency
ENO IN EMP DETERMINES ENAME
Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/29
Constraint Specification
Language
Precompiled constraints
Express preconditions that must be satisfied by all tuples in a relation for a given
update type
(INSERT, DELETE, MODIFY)
NEW - ranges over new tuples to be inserted
OLD - ranges over old tuples to be deleted
General Form
CHECK ON <relation> [WHEN <update type>] <qualification>
Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/30
Constraint Specification
Language
Precompiled constraints
➡ Domain constraint
CHECK ON PROJ (BUDGET≥500000 AND BUDGET≤1000000)
➡ Domain constraint on deletion
CHECK ON PROJ WHEN DELETE (BUDGET = 0)
➡ Transition constraint
CHECK ON PROJ (NEW.BUDGET > OLD.BUDGET AND
NEW.PNO = OLD.PNO)
Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/31
Constraint Specification
Language
General constraints
Constraints that must always be true. Formulae of tuple relational calculus
where all variables are quantified.
General Form
CHECK ON <variable>:<relation>,(<qualification>)
➡ Functional dependency
CHECK ON e1:EMP, e2:EMP
(e1.ENAME = e2.ENAME IF e1.ENO = e2.ENO)
➡ Constraint with aggregate function
CHECK ON g:ASG, j:PROJ
(SUM(g.DUR WHERE g.PNO = j.PNO) < 100 IF
j.PNAME = “CAD/CAM”)
Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/32
Two methods
• Detection
Execute update u: D Du
If Du is inconsistent then
if possible: compensate Du Du
’
else
undo Du D
• Preventive
Execute u: D Du only if Du will be consistent
➡ Determine valid programs
➡ Determine valid states
Integrity Enforcement
Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/33
Query Modification
• Preventive
• Add the assertion qualification to the update query
• Only applicable to tuple calculus formulae with universally quantified
variables
UPDATE PROJ
SET BUDGET = BUDGET*1.1
WHERE PNAME = "CAD/CAM"
UPDATE PROJ
SET BUDGET = BUDGET*1.1
WHERE PNAME = "CAD/CAM"
AND NEW.BUDGET ≥ 500000
AND NEW.BUDGET ≤ 1000000
Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/34
Triple (R,T,C) where
R relation
T update type (insert, delete, modify)
C assertion on differential relations
Example: Foreign key assertion
g ASG, j PROJ : g.PNO = j.PNO
Compiled assertions:
(ASG, INSERT, C1), (PROJ, DELETE, C2), (PROJ, MODIFY, C3)
where
C1: NEW ASG+ j PROJ: NEW.PNO = j.PNO
C2: g ASG, OLD PROJ- : g.PNO ≠ OLD.PNO
C3: g ASG, OLD PROJ- NEW PROJ+:
g.PNO ≠OLD.PNO OR OLD.PNO = NEW.PNO
Compiled Assertions
Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/35
Given relation R and update u
R+ contains tuples inserted by u
R- contains tuples deleted by u
Type of u
insert R- empty
delete R+ empty
modify R+ (R – R-)
Differential Relations
Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/36
Differential Relations
Algorithm:
Input: Relation R, update u, compiled assertion Ci
Step 1: Generate differential relations R+ and R–
Step 2: Retrieve the tuples of R+ and R– which do not satisfy Ci
Step 3: If retrieval is not successful, then the assertion is valid.
Example :
u is delete on J. Enforcing (EMP, DELETE, C2) :
retrieve all tuples of EMP-
into RESULT
where not(C2)
If RESULT = , the assertion is verified
Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/37
• Problems:
➡ Definition of constraints
✦ consideration for fragments
➡ Where to store
✦ replication
✦ non-replicated : fragments
➡ Enforcement
✦ minimize costs
Distributed Integrity Control
Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/38
Types of Distributed Assertions
• Individual assertions
➡ single relation, single variable
➡ domain constraint
• Set oriented assertions
➡ single relation, multi-variable
✦ functional dependency
➡ multi-relation, multi-variable
✦ foreign key
• Assertions involving aggregates
Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/39
Distributed Integrity Control
• Assertion Definition
➡ similar to the centralized techniques
➡ transform the assertions to compiled assertions
• Assertion Storage
➡ Individual assertions
✦ one relation, only fragments
✦ at each fragment site, check for compatibility
✦ if compatible, store; otherwise reject
✦ if all the sites reject, globally reject
➡ Set-oriented assertions
✦ involves joins (between fragments or relations)
✦ maybe necessary to perform joins to check for compatibility
✦ store if compatible
Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/40
Distributed Integrity Control
• Assertion Enforcement
➡ Where to enforce each assertion depends on
✦ type of assertion
✦ type of update and where update is issued
➡ Individual Assertions
✦ update = insert
✓ enforce at the site where the update is issued
✦ update = qualified
✓ send the assertions to all the sites involved
✓ execute the qualification to obtain R+ and R-
✓ each site enforce its own assertion
➡ Set-oriented Assertions
✦ single relation
✓ similar to individual assertions with qualified updates
✦ multi-relation
✓ move data between sites to perform joins; then send the result to the query master site

More Related Content

What's hot

File systems versus a dbms
File systems versus a dbmsFile systems versus a dbms
File systems versus a dbmsRituBhargava7
 
Distributed dbms architectures
Distributed dbms architecturesDistributed dbms architectures
Distributed dbms architecturesPooja Dixit
 
Distributed Database Management System
Distributed Database Management SystemDistributed Database Management System
Distributed Database Management SystemAAKANKSHA JAIN
 
Chapter 11 - File System Implementation
Chapter 11 - File System ImplementationChapter 11 - File System Implementation
Chapter 11 - File System ImplementationWayne Jones Jnr
 
Distributed concurrency control
Distributed concurrency controlDistributed concurrency control
Distributed concurrency controlBinte fatima
 
Protection models
Protection modelsProtection models
Protection modelsG Prachi
 
Distributed design alternatives
Distributed design alternativesDistributed design alternatives
Distributed design alternativesPooja Dixit
 
File organization 1
File organization 1File organization 1
File organization 1Rupali Rana
 
Concurrency Control in Database Management System
Concurrency Control in Database Management SystemConcurrency Control in Database Management System
Concurrency Control in Database Management SystemJanki Shah
 
Matching techniques
Matching techniquesMatching techniques
Matching techniquesNagpalkirti
 
Server system architecture
Server system architectureServer system architecture
Server system architectureFaiza Hafeez
 
knowledge representation using rules
knowledge representation using rulesknowledge representation using rules
knowledge representation using rulesHarini Balamurugan
 
Basic Concept Of Database Management System (DBMS) [Presentation Slide]
Basic Concept Of Database Management System (DBMS) [Presentation Slide]Basic Concept Of Database Management System (DBMS) [Presentation Slide]
Basic Concept Of Database Management System (DBMS) [Presentation Slide]Atik Israk
 

What's hot (20)

Concurrency control
Concurrency controlConcurrency control
Concurrency control
 
File systems versus a dbms
File systems versus a dbmsFile systems versus a dbms
File systems versus a dbms
 
Distributed dbms architectures
Distributed dbms architecturesDistributed dbms architectures
Distributed dbms architectures
 
Distributed Database Management System
Distributed Database Management SystemDistributed Database Management System
Distributed Database Management System
 
Resource management
Resource managementResource management
Resource management
 
Chapter 11 - File System Implementation
Chapter 11 - File System ImplementationChapter 11 - File System Implementation
Chapter 11 - File System Implementation
 
Distributed concurrency control
Distributed concurrency controlDistributed concurrency control
Distributed concurrency control
 
Buffer management
Buffer managementBuffer management
Buffer management
 
Protection models
Protection modelsProtection models
Protection models
 
Distributed design alternatives
Distributed design alternativesDistributed design alternatives
Distributed design alternatives
 
Mobile databases
Mobile databasesMobile databases
Mobile databases
 
File organization 1
File organization 1File organization 1
File organization 1
 
Database recovery
Database recoveryDatabase recovery
Database recovery
 
Concurrency Control in Database Management System
Concurrency Control in Database Management SystemConcurrency Control in Database Management System
Concurrency Control in Database Management System
 
Matching techniques
Matching techniquesMatching techniques
Matching techniques
 
Server system architecture
Server system architectureServer system architecture
Server system architecture
 
knowledge representation using rules
knowledge representation using rulesknowledge representation using rules
knowledge representation using rules
 
Shared memory
Shared memoryShared memory
Shared memory
 
Deadlock ppt
Deadlock ppt Deadlock ppt
Deadlock ppt
 
Basic Concept Of Database Management System (DBMS) [Presentation Slide]
Basic Concept Of Database Management System (DBMS) [Presentation Slide]Basic Concept Of Database Management System (DBMS) [Presentation Slide]
Basic Concept Of Database Management System (DBMS) [Presentation Slide]
 

Viewers also liked

Optimistic Algorithm and Concurrency Control Algorithm
Optimistic Algorithm and Concurrency Control AlgorithmOptimistic Algorithm and Concurrency Control Algorithm
Optimistic Algorithm and Concurrency Control AlgorithmShounak Katyayan
 
PL/pgSQL - An Introduction on Using Imperative Programming in PostgreSQL
PL/pgSQL - An Introduction on Using Imperative Programming in PostgreSQLPL/pgSQL - An Introduction on Using Imperative Programming in PostgreSQL
PL/pgSQL - An Introduction on Using Imperative Programming in PostgreSQLReactive.IO
 
MySQL InnoDB 源码实现分析(一)
MySQL InnoDB 源码实现分析(一)MySQL InnoDB 源码实现分析(一)
MySQL InnoDB 源码实现分析(一)frogd
 
Database ,16 P2P
Database ,16 P2P Database ,16 P2P
Database ,16 P2P Ali Usman
 
Database ,10 Transactions
Database ,10 TransactionsDatabase ,10 Transactions
Database ,10 TransactionsAli Usman
 
Postgres MVCC - A Developer Centric View of Multi Version Concurrency Control
Postgres MVCC - A Developer Centric View of Multi Version Concurrency ControlPostgres MVCC - A Developer Centric View of Multi Version Concurrency Control
Postgres MVCC - A Developer Centric View of Multi Version Concurrency ControlReactive.IO
 
Database ,14 Parallel DBMS
Database ,14 Parallel DBMSDatabase ,14 Parallel DBMS
Database ,14 Parallel DBMSAli Usman
 
InnoDB Internal
InnoDB InternalInnoDB Internal
InnoDB Internalmysqlops
 
Database , 13 Replication
Database , 13 ReplicationDatabase , 13 Replication
Database , 13 ReplicationAli Usman
 
Database ,7 query localization
Database ,7 query localizationDatabase ,7 query localization
Database ,7 query localizationAli Usman
 
Database, 3 Distribution Design
Database, 3 Distribution DesignDatabase, 3 Distribution Design
Database, 3 Distribution DesignAli Usman
 
Database ,11 Concurrency Control
Database ,11 Concurrency ControlDatabase ,11 Concurrency Control
Database ,11 Concurrency ControlAli Usman
 
Oracle rac资源管理算法与cache fusion实现浅析
Oracle rac资源管理算法与cache fusion实现浅析Oracle rac资源管理算法与cache fusion实现浅析
Oracle rac资源管理算法与cache fusion实现浅析frogd
 
Discrete Structures lecture 2
 Discrete Structures lecture 2 Discrete Structures lecture 2
Discrete Structures lecture 2Ali Usman
 
Database , 15 Object DBMS
Database , 15 Object DBMSDatabase , 15 Object DBMS
Database , 15 Object DBMSAli Usman
 
Database , 1 Introduction
 Database , 1 Introduction Database , 1 Introduction
Database , 1 IntroductionAli Usman
 
Database ,2 Background
 Database ,2 Background Database ,2 Background
Database ,2 BackgroundAli Usman
 
Database , 6 Query Introduction
Database , 6 Query Introduction Database , 6 Query Introduction
Database , 6 Query Introduction Ali Usman
 
Database , 4 Data Integration
Database , 4 Data IntegrationDatabase , 4 Data Integration
Database , 4 Data IntegrationAli Usman
 
Cisco Packet Tracer Overview
Cisco Packet Tracer OverviewCisco Packet Tracer Overview
Cisco Packet Tracer OverviewAli Usman
 

Viewers also liked (20)

Optimistic Algorithm and Concurrency Control Algorithm
Optimistic Algorithm and Concurrency Control AlgorithmOptimistic Algorithm and Concurrency Control Algorithm
Optimistic Algorithm and Concurrency Control Algorithm
 
PL/pgSQL - An Introduction on Using Imperative Programming in PostgreSQL
PL/pgSQL - An Introduction on Using Imperative Programming in PostgreSQLPL/pgSQL - An Introduction on Using Imperative Programming in PostgreSQL
PL/pgSQL - An Introduction on Using Imperative Programming in PostgreSQL
 
MySQL InnoDB 源码实现分析(一)
MySQL InnoDB 源码实现分析(一)MySQL InnoDB 源码实现分析(一)
MySQL InnoDB 源码实现分析(一)
 
Database ,16 P2P
Database ,16 P2P Database ,16 P2P
Database ,16 P2P
 
Database ,10 Transactions
Database ,10 TransactionsDatabase ,10 Transactions
Database ,10 Transactions
 
Postgres MVCC - A Developer Centric View of Multi Version Concurrency Control
Postgres MVCC - A Developer Centric View of Multi Version Concurrency ControlPostgres MVCC - A Developer Centric View of Multi Version Concurrency Control
Postgres MVCC - A Developer Centric View of Multi Version Concurrency Control
 
Database ,14 Parallel DBMS
Database ,14 Parallel DBMSDatabase ,14 Parallel DBMS
Database ,14 Parallel DBMS
 
InnoDB Internal
InnoDB InternalInnoDB Internal
InnoDB Internal
 
Database , 13 Replication
Database , 13 ReplicationDatabase , 13 Replication
Database , 13 Replication
 
Database ,7 query localization
Database ,7 query localizationDatabase ,7 query localization
Database ,7 query localization
 
Database, 3 Distribution Design
Database, 3 Distribution DesignDatabase, 3 Distribution Design
Database, 3 Distribution Design
 
Database ,11 Concurrency Control
Database ,11 Concurrency ControlDatabase ,11 Concurrency Control
Database ,11 Concurrency Control
 
Oracle rac资源管理算法与cache fusion实现浅析
Oracle rac资源管理算法与cache fusion实现浅析Oracle rac资源管理算法与cache fusion实现浅析
Oracle rac资源管理算法与cache fusion实现浅析
 
Discrete Structures lecture 2
 Discrete Structures lecture 2 Discrete Structures lecture 2
Discrete Structures lecture 2
 
Database , 15 Object DBMS
Database , 15 Object DBMSDatabase , 15 Object DBMS
Database , 15 Object DBMS
 
Database , 1 Introduction
 Database , 1 Introduction Database , 1 Introduction
Database , 1 Introduction
 
Database ,2 Background
 Database ,2 Background Database ,2 Background
Database ,2 Background
 
Database , 6 Query Introduction
Database , 6 Query Introduction Database , 6 Query Introduction
Database , 6 Query Introduction
 
Database , 4 Data Integration
Database , 4 Data IntegrationDatabase , 4 Data Integration
Database , 4 Data Integration
 
Cisco Packet Tracer Overview
Cisco Packet Tracer OverviewCisco Packet Tracer Overview
Cisco Packet Tracer Overview
 

Similar to Database , 5 Semantic

1 introduction ddbms
1 introduction ddbms1 introduction ddbms
1 introduction ddbmsamna izzat
 
1 introduction
1 introduction1 introduction
1 introductionAmrit Kaur
 
1 introduction DDBS
1 introduction DDBS1 introduction DDBS
1 introduction DDBSnaimanighat
 
Database ,18 Current Issues
Database ,18 Current IssuesDatabase ,18 Current Issues
Database ,18 Current IssuesAli Usman
 
Mow2012 data services
Mow2012 data servicesMow2012 data services
Mow2012 data servicesSyed Shaaf
 
Managing Complexity and Privacy Debt with Drupal
Managing Complexity and Privacy Debt with DrupalManaging Complexity and Privacy Debt with Drupal
Managing Complexity and Privacy Debt with DrupalExove
 
Database , 17 Web
Database , 17 WebDatabase , 17 Web
Database , 17 WebAli Usman
 
Encrypting and Protecting Your Data in Neo4j(Jeff_Tallman).pptx
Encrypting and Protecting Your Data in Neo4j(Jeff_Tallman).pptxEncrypting and Protecting Your Data in Neo4j(Jeff_Tallman).pptx
Encrypting and Protecting Your Data in Neo4j(Jeff_Tallman).pptxNeo4j
 
Why advanced monitoring is key for healthy
Why advanced monitoring is key for healthyWhy advanced monitoring is key for healthy
Why advanced monitoring is key for healthyDenodo
 
How Databases Work - for Developers, Accidental DBAs and Managers
How Databases Work - for Developers, Accidental DBAs and ManagersHow Databases Work - for Developers, Accidental DBAs and Managers
How Databases Work - for Developers, Accidental DBAs and ManagersEDB
 
Functions of database management systems
Functions of database management systemsFunctions of database management systems
Functions of database management systemsUZAIR UDDIN SHAIKH
 
Enterprise 365 - SoftServe presentation
Enterprise 365 - SoftServe presentationEnterprise 365 - SoftServe presentation
Enterprise 365 - SoftServe presentationSergii Alekseev
 
Environment Manager Policy
Environment Manager PolicyEnvironment Manager Policy
Environment Manager PolicyIvanti
 
Introduction of Database Management Systems.pptx
Introduction of Database Management Systems.pptxIntroduction of Database Management Systems.pptx
Introduction of Database Management Systems.pptxhafizsaifullah5
 

Similar to Database , 5 Semantic (20)

1 introduction ddbms
1 introduction ddbms1 introduction ddbms
1 introduction ddbms
 
1 introduction
1 introduction1 introduction
1 introduction
 
1 introduction DDBS
1 introduction DDBS1 introduction DDBS
1 introduction DDBS
 
Database ,18 Current Issues
Database ,18 Current IssuesDatabase ,18 Current Issues
Database ,18 Current Issues
 
Mow2012 data services
Mow2012 data servicesMow2012 data services
Mow2012 data services
 
Managing Complexity and Privacy Debt with Drupal
Managing Complexity and Privacy Debt with DrupalManaging Complexity and Privacy Debt with Drupal
Managing Complexity and Privacy Debt with Drupal
 
6-Query_Intro (5).pdf
6-Query_Intro (5).pdf6-Query_Intro (5).pdf
6-Query_Intro (5).pdf
 
Database , 17 Web
Database , 17 WebDatabase , 17 Web
Database , 17 Web
 
Encrypting and Protecting Your Data in Neo4j(Jeff_Tallman).pptx
Encrypting and Protecting Your Data in Neo4j(Jeff_Tallman).pptxEncrypting and Protecting Your Data in Neo4j(Jeff_Tallman).pptx
Encrypting and Protecting Your Data in Neo4j(Jeff_Tallman).pptx
 
Multi-Tenancy
Multi-TenancyMulti-Tenancy
Multi-Tenancy
 
Why advanced monitoring is key for healthy
Why advanced monitoring is key for healthyWhy advanced monitoring is key for healthy
Why advanced monitoring is key for healthy
 
How Databases Work - for Developers, Accidental DBAs and Managers
How Databases Work - for Developers, Accidental DBAs and ManagersHow Databases Work - for Developers, Accidental DBAs and Managers
How Databases Work - for Developers, Accidental DBAs and Managers
 
1_DBMS_Introduction.pdf
1_DBMS_Introduction.pdf1_DBMS_Introduction.pdf
1_DBMS_Introduction.pdf
 
Functions of database management systems
Functions of database management systemsFunctions of database management systems
Functions of database management systems
 
Enterprise 365 - SoftServe presentation
Enterprise 365 - SoftServe presentationEnterprise 365 - SoftServe presentation
Enterprise 365 - SoftServe presentation
 
nnnn.pptx
nnnn.pptxnnnn.pptx
nnnn.pptx
 
DBMS.pptx
DBMS.pptxDBMS.pptx
DBMS.pptx
 
DBMS LEC-1PDF.pdf
DBMS LEC-1PDF.pdfDBMS LEC-1PDF.pdf
DBMS LEC-1PDF.pdf
 
Environment Manager Policy
Environment Manager PolicyEnvironment Manager Policy
Environment Manager Policy
 
Introduction of Database Management Systems.pptx
Introduction of Database Management Systems.pptxIntroduction of Database Management Systems.pptx
Introduction of Database Management Systems.pptx
 

More from Ali Usman

Islamic Arts and Architecture
Islamic Arts and  ArchitectureIslamic Arts and  Architecture
Islamic Arts and ArchitectureAli Usman
 
Processor Specifications
Processor SpecificationsProcessor Specifications
Processor SpecificationsAli Usman
 
Fifty Year Of Microprocessor
Fifty Year Of MicroprocessorFifty Year Of Microprocessor
Fifty Year Of MicroprocessorAli Usman
 
Discrete Structures. Lecture 1
 Discrete Structures. Lecture 1  Discrete Structures. Lecture 1
Discrete Structures. Lecture 1 Ali Usman
 
Muslim Contributions in Medicine-Geography-Astronomy
Muslim Contributions in Medicine-Geography-AstronomyMuslim Contributions in Medicine-Geography-Astronomy
Muslim Contributions in Medicine-Geography-AstronomyAli Usman
 
Muslim Contributions in Geography
Muslim Contributions in GeographyMuslim Contributions in Geography
Muslim Contributions in GeographyAli Usman
 
Muslim Contributions in Astronomy
Muslim Contributions in AstronomyMuslim Contributions in Astronomy
Muslim Contributions in AstronomyAli Usman
 
Processor Specifications
Processor SpecificationsProcessor Specifications
Processor SpecificationsAli Usman
 
Ptcl modem (user manual)
Ptcl modem (user manual)Ptcl modem (user manual)
Ptcl modem (user manual)Ali Usman
 
Nimat-ul-ALLAH shah wali
Nimat-ul-ALLAH shah wali Nimat-ul-ALLAH shah wali
Nimat-ul-ALLAH shah wali Ali Usman
 
Muslim Contributions in Mathematics
Muslim Contributions in MathematicsMuslim Contributions in Mathematics
Muslim Contributions in MathematicsAli Usman
 
Osi protocols
Osi protocolsOsi protocols
Osi protocolsAli Usman
 

More from Ali Usman (12)

Islamic Arts and Architecture
Islamic Arts and  ArchitectureIslamic Arts and  Architecture
Islamic Arts and Architecture
 
Processor Specifications
Processor SpecificationsProcessor Specifications
Processor Specifications
 
Fifty Year Of Microprocessor
Fifty Year Of MicroprocessorFifty Year Of Microprocessor
Fifty Year Of Microprocessor
 
Discrete Structures. Lecture 1
 Discrete Structures. Lecture 1  Discrete Structures. Lecture 1
Discrete Structures. Lecture 1
 
Muslim Contributions in Medicine-Geography-Astronomy
Muslim Contributions in Medicine-Geography-AstronomyMuslim Contributions in Medicine-Geography-Astronomy
Muslim Contributions in Medicine-Geography-Astronomy
 
Muslim Contributions in Geography
Muslim Contributions in GeographyMuslim Contributions in Geography
Muslim Contributions in Geography
 
Muslim Contributions in Astronomy
Muslim Contributions in AstronomyMuslim Contributions in Astronomy
Muslim Contributions in Astronomy
 
Processor Specifications
Processor SpecificationsProcessor Specifications
Processor Specifications
 
Ptcl modem (user manual)
Ptcl modem (user manual)Ptcl modem (user manual)
Ptcl modem (user manual)
 
Nimat-ul-ALLAH shah wali
Nimat-ul-ALLAH shah wali Nimat-ul-ALLAH shah wali
Nimat-ul-ALLAH shah wali
 
Muslim Contributions in Mathematics
Muslim Contributions in MathematicsMuslim Contributions in Mathematics
Muslim Contributions in Mathematics
 
Osi protocols
Osi protocolsOsi protocols
Osi protocols
 

Recently uploaded

Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 

Recently uploaded (20)

DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 

Database , 5 Semantic

  • 1. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/1 Outline • Introduction • Background • Distributed Database Design • Database Integration • Semantic Data Control ➡ View Management ➡ Data Security ➡ Semantic Integrity Control • Distributed Query Processing • Multidatabase Query Processing • Distributed Transaction Management • Data Replication • Parallel Database Systems • Distributed Object DBMS • Peer-to-Peer Data Management • Web Data Management • Current Issues
  • 2. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/2 • Involves: ➡ View management ➡ Security control ➡ Integrity control • Objective : ➡ Insure that authorized users perform correct operations on the database, contributing to the maintenance of the database integrity. Semantic Data Control
  • 3. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/3 View – virtual relation ➡ generated from base relation(s) by a query ➡ not stored as base relations Example : CREATE VIEW SYSAN(ENO,ENAME) AS SELECT ENO,ENAME FROM EMP WHERE TITLE= "Syst. Anal." View Management ENO ENAME E2 M.Smith E5 B.Casey E8 J.Jones SYSAN ENO ENAME TITLE E1 J. Doe Elect. Eng E2 M. Smith Syst. Anal. E3 A. Lee Mech. Eng. E4 J. Miller Programmer E5 B. Casey Syst. Anal. E6 L. Chu Elect. Eng. E7 R. Davis Mech. Eng. E8 J. Jones Syst. Anal. EMP
  • 4. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/4 Views can be manipulated as base relations Example : SELECT ENAME, PNO, RESP FROM SYSAN, ASG WHERE SYSAN.ENO = ASG.ENO View Management
  • 5. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/5 Queries expressed on views Queries expressed on base relations Example : SELECT ENAME, PNO, RESP FROM SYSAN, ASG WHERE SYSAN.ENO = ASG.ENO SELECT ENAME,PNO,RESP FROM EMP, ASG WHERE EMP.ENO = ASG.ENO AND TITLE = "Syst. Anal." Query Modification ENAME PNO RESP M.Smith P1 Analyst M.Smith P2 Analyst B.Casey P3 Manager J.Jones P4 Manager
  • 6. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/6 • To restrict access CREATE VIEW ESAME AS SELECT * FROM EMP E1, EMP E2 WHERE E1.TITLE = E2.TITLE AND E1.ENO = USER • Query SELECT * FROM ESAME View Management ENO ENAME TITLE E1 J. Doe Elect. Eng E2 L. Chu Elect. Eng
  • 7. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/7 View Updates • Updatable CREATE VIEW SYSAN(ENO,ENAME) AS SELECT ENO,ENAME FROM EMP WHERE TITLE="Syst. Anal." • Non-updatable CREATE VIEW EG(ENAME,RESP) AS SELECT ENAME,RESP FROM EMP, ASG WHERE EMP.ENO=ASG.ENO
  • 8. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/8 View Management in DDBMS • Views might be derived from fragments. • View definition storage should be treated as database storage • Query modification results in a distributed query • View evaluations might be costly if base relations are distributed ➡ Use materialized views
  • 9. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/9 Materialized View • Origin: snapshot in the 1980’s ➡ Static copy of the view, avoid view derivation for each query ➡ But periodic recomputing of the view may be expensive • Actual version of a view ➡ Stored as a database relation, possibly with indices • Used much in practice ➡ DDBMS: No need to access remote, base relations ➡ Data warehouse: to speed up OLAP ✦ Use aggregate (SUM, COUNT, etc.) and GROUP BY
  • 10. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/10 Materialized View Maintenance • Process of updating (refreshing) the view to reflect changes to base data ➡ Resembles data replication but there are differences ✦ View expressions typically more complex ✦ Replication configurations more general • View maintenance policy to specify: ➡ When to refresh ➡ How to refresh
  • 11. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/11 When to Refresh a View • Immediate mode ➡ As part of the updating transaction, e.g. through 2PC ➡ View always consistent with base data and fast queries ➡ But increased transaction time to update base data • Deferred mode (preferred in practice) ➡ Through separate refresh transactions ✦ No penalty on the updating transactions ➡ Triggered at different times with different trade-offs ✦ Lazily: just before evaluating a query on the view ✦ Periodically: every hour, every day, etc. ✦ Forcedly: after a number of predefined updates
  • 12. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/12 How to Refresh a View • Full computing from base data ➡ Efficient if there has been many changes • Incremental computing by applying only the changes to the view ➡ Better if a small subset has been changed ➡ Uses differential relations which reflect updated data only
  • 13. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/13 Differential Relations Given relation R and update u R+ contains tuples inserted by u R- contains tuples deleted by u Type of u insert R- empty delete R+ empty modify R+ (R – R- ) Refreshing a view V is then done by computing V+ (V – V- ) computing V+ and V- may require accessing base data
  • 14. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/14 EG = SELECT DISTINCT ENAME, RESP FROM EMP, ASG WHERE EMP.ENO=ASG.ENO EG+= (SELECT DISTINCT ENAME, RESP FROM EMP, ASG+ WHERE EMP.ENO=ASG+.ENO) UNION (SELECT DISTINCT ENAME, RESP FROM EMP+, ASG WHERE EMP+.ENO=ASG.ENO) UNION (SELECT DISTINCT ENAME, RESP FROM EMP+, ASG+ WHERE EMP+.ENO=ASG+.ENO) Example
  • 15. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/15 Techniques for Incremental View Maintenance • Different techniques depending on: ➡ View expressiveness ✦ Non recursive views: SPJ wit duplicate elimination, union and aggregation ✦ Views with outerjoin ✦ Recursive views • Most frequent case is non recursive views ➡ Problem: an individual tuple in the view may be derived from several base tuples ✦ Example: tuple M. Smith, Analyst in EG corresponding to ✓ E2, M. Smith, … in EMP ✓ E2,P1,Analyst,24 and E2,P2,Analyst,6 in ASG ✦ Makes deletion difficult ➡ Solution: Counting
  • 16. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/16 Counting Algorithm • Basic idea ➡ Maintain a count of the number of derivations for each tuple in the view ➡ Increment (resp. decrement) tuple counts based on insertions (resp. deletions) ➡ A tuple in the view whose count is zero can be deleted • Algorithm 1. Compute V+ and V- using V, base relations and diff. relations 2. Compute positive in V+ and negative counts in V- 3. Compute V+ (V – V- ), deleting each tuple in V with count=0 • Optimal: computes exactly the view tuples that are inserted or deleted
  • 17. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/17 View Self-maintainability • A view is self-maintainable if the base relations need not be accessed ➡ Not the case for the Counting algorithm • Self-maintainability depends on views’ expressiveness ➡ Most SPJ views are often self-maintainable wrt. deletion and modification, but not wrt. Insertion ➡ Example: a view V is self-maintainable wrt to deletion in R if the key of R is included in V
  • 18. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/18 Data Security • Data protection ➡ Prevents the physical content of data to be understood by unauthorized users ➡ Uses encryption/decryption techniques (Public key) • Access control ➡ Only authorized users perform operations they are allowed to on database objects ➡ Discretionary access control (DAC) ✦ Long been provided by DBMS with authorization rules ➡ Multilevel access control (MAC) ✦ Increases security with security levels
  • 19. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/19 Discretionary Access Control • Main actors ➡ Subjects (users, groups of users) who execute operations ➡ Operations (in queries or application programs) ➡ Objects, on which operations are performed • Checking whether a subject may perform an op. on an object ➡ Authorization= (subject, op. type, object def.) ➡ Defined using GRANT OR REVOKE ➡ Centralized: one single user class (admin.) may grant or revoke ➡ Decentralized, with op. type GRANT ✦ More flexible but recursive revoking process which needs the hierarchy of grants
  • 20. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/20 Problem with DAC • A malicious user can access unauthorized data through an authorized user • Example ➡ User A has authorized access to R and S ➡ User B has authorized access to S only ➡ B somehow manages to modify an application program used by A so it writes R data in S ➡ Then B can read unauthorized data (in S) without violating authorization rules • Solution: multilevel security based on the famous Bell and Lapuda model for OS security
  • 21. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/21 Multilevel Access Control • Different security levels (clearances) ➡ Top Secret > Secret > Confidential > Unclassified • Access controlled by 2 rules: ➡ No read up ✦ subject S is allowed to read an object of level L only if level(S) ≥ L ✦ Protect data from unauthorized disclosure, e.g. a subject with secret clearance cannot read top secret data ➡ No write down: ✦ subject S is allowed to write an object of level L only if level(S) ≤ L ✦ Protect data from unauthorized change, e.g. a subject with top secret clearance can only write top secret data but not secret data (which could then contain top secret data)
  • 22. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/22 MAC in Relational DB • A relation can be classified at different levels: ➡ Relation: all tuples have the same clearance ➡ Tuple: every tuple has a clearance ➡ Attribute: every attribute has a clearance • A classified relation is thus multilevel ➡ Appears differently (with different data) to subjects with different clearances
  • 23. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/23 Example PNO SL1 PNAME SL2 BUDGET SL3 LOC SL4 P1 P2 P3 C C S Instrumentation DB Develop. CAD/CAM C C S 150000 135000 250000 C S S Montreal New York New York C S S PROJ*: classified at attribute level PNO SL1 PNAME SL2 BUDGET SL3 LOC SL4 P1 P2 C C Instrumentation DB Develop. C C 150000 Null C C Montreal Null C C PROJ* as seen by a subject with confidential clearance
  • 24. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/24 Distributed Access Control • Additional problems in a distributed environment ➡ Remote user authentication ✦ Typically using a directory service ✓ Should be replicated at some sites for availability ➡ Management of DAC rules ✦ Problem if users’ group can span multiple sites ✓ Rules stored at some directory based on user groups location ✓ Accessing rules may incur remote queries ➡ Covert channels in MAC
  • 25. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/25 Covert Channels • Indirect means to access unauthorized data • Example ➡ Consider a simple DDB with 2 sites: C (confidential) and S (secret) ➡ Following the “no write down” rule, an update from a subject with secret clearance can only be sent to S ➡ Following the “no read up” rule, a read query from the same subject can be sent to both C and S ➡ But the query may contain secret information (e.g. in a select predicate), so is a potential covert channel • Solution: replicate part of the DB ➡ So that a site at security level L contains all data that a subject at level L can access (e.g. S above would replicate the confidential data so it can entirely process secret queries)
  • 26. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/26 Semantic Integrity Control Maintain database consistency by enforcing a set of constraints defined on the database. • Structural constraints ➡ basic semantic properties inherent to a data model e.g., unique key constraint in relational model • Behavioral constraints ➡ regulate application behavior, e.g., dependencies in the relational model • Two components ➡ Integrity constraint specification ➡ Integrity constraint enforcement
  • 27. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/27 Semantic Integrity Control • Procedural control embedded in each application program • Declarative assertions in predicate calculus ➡ easy to define constraints ➡ definition of database consistency clear ➡ inefficient to check assertions for each update ✦ limit the search space ✦ decrease the number of data accesses/assertion ✦ preventive strategies ✦ checking at compile time
  • 28. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/28 Constraint Specification Language Predefined constraints specify the more common constraints of the relational model ➡ Not-null attribute ENO NOT NULL IN EMP ➡ Unique key (ENO, PNO) UNIQUE IN ASG ➡ Foreign key A key in a relation R is a foreign key if it is a primary key of another relation S and the existence of any of its values in R is dependent upon the existence of the same value in S PNO IN ASG REFERENCES PNO IN PROJ ➡ Functional dependency ENO IN EMP DETERMINES ENAME
  • 29. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/29 Constraint Specification Language Precompiled constraints Express preconditions that must be satisfied by all tuples in a relation for a given update type (INSERT, DELETE, MODIFY) NEW - ranges over new tuples to be inserted OLD - ranges over old tuples to be deleted General Form CHECK ON <relation> [WHEN <update type>] <qualification>
  • 30. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/30 Constraint Specification Language Precompiled constraints ➡ Domain constraint CHECK ON PROJ (BUDGET≥500000 AND BUDGET≤1000000) ➡ Domain constraint on deletion CHECK ON PROJ WHEN DELETE (BUDGET = 0) ➡ Transition constraint CHECK ON PROJ (NEW.BUDGET > OLD.BUDGET AND NEW.PNO = OLD.PNO)
  • 31. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/31 Constraint Specification Language General constraints Constraints that must always be true. Formulae of tuple relational calculus where all variables are quantified. General Form CHECK ON <variable>:<relation>,(<qualification>) ➡ Functional dependency CHECK ON e1:EMP, e2:EMP (e1.ENAME = e2.ENAME IF e1.ENO = e2.ENO) ➡ Constraint with aggregate function CHECK ON g:ASG, j:PROJ (SUM(g.DUR WHERE g.PNO = j.PNO) < 100 IF j.PNAME = “CAD/CAM”)
  • 32. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/32 Two methods • Detection Execute update u: D Du If Du is inconsistent then if possible: compensate Du Du ’ else undo Du D • Preventive Execute u: D Du only if Du will be consistent ➡ Determine valid programs ➡ Determine valid states Integrity Enforcement
  • 33. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/33 Query Modification • Preventive • Add the assertion qualification to the update query • Only applicable to tuple calculus formulae with universally quantified variables UPDATE PROJ SET BUDGET = BUDGET*1.1 WHERE PNAME = "CAD/CAM" UPDATE PROJ SET BUDGET = BUDGET*1.1 WHERE PNAME = "CAD/CAM" AND NEW.BUDGET ≥ 500000 AND NEW.BUDGET ≤ 1000000
  • 34. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/34 Triple (R,T,C) where R relation T update type (insert, delete, modify) C assertion on differential relations Example: Foreign key assertion g ASG, j PROJ : g.PNO = j.PNO Compiled assertions: (ASG, INSERT, C1), (PROJ, DELETE, C2), (PROJ, MODIFY, C3) where C1: NEW ASG+ j PROJ: NEW.PNO = j.PNO C2: g ASG, OLD PROJ- : g.PNO ≠ OLD.PNO C3: g ASG, OLD PROJ- NEW PROJ+: g.PNO ≠OLD.PNO OR OLD.PNO = NEW.PNO Compiled Assertions
  • 35. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/35 Given relation R and update u R+ contains tuples inserted by u R- contains tuples deleted by u Type of u insert R- empty delete R+ empty modify R+ (R – R-) Differential Relations
  • 36. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/36 Differential Relations Algorithm: Input: Relation R, update u, compiled assertion Ci Step 1: Generate differential relations R+ and R– Step 2: Retrieve the tuples of R+ and R– which do not satisfy Ci Step 3: If retrieval is not successful, then the assertion is valid. Example : u is delete on J. Enforcing (EMP, DELETE, C2) : retrieve all tuples of EMP- into RESULT where not(C2) If RESULT = , the assertion is verified
  • 37. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/37 • Problems: ➡ Definition of constraints ✦ consideration for fragments ➡ Where to store ✦ replication ✦ non-replicated : fragments ➡ Enforcement ✦ minimize costs Distributed Integrity Control
  • 38. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/38 Types of Distributed Assertions • Individual assertions ➡ single relation, single variable ➡ domain constraint • Set oriented assertions ➡ single relation, multi-variable ✦ functional dependency ➡ multi-relation, multi-variable ✦ foreign key • Assertions involving aggregates
  • 39. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/39 Distributed Integrity Control • Assertion Definition ➡ similar to the centralized techniques ➡ transform the assertions to compiled assertions • Assertion Storage ➡ Individual assertions ✦ one relation, only fragments ✦ at each fragment site, check for compatibility ✦ if compatible, store; otherwise reject ✦ if all the sites reject, globally reject ➡ Set-oriented assertions ✦ involves joins (between fragments or relations) ✦ maybe necessary to perform joins to check for compatibility ✦ store if compatible
  • 40. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.5/40 Distributed Integrity Control • Assertion Enforcement ➡ Where to enforce each assertion depends on ✦ type of assertion ✦ type of update and where update is issued ➡ Individual Assertions ✦ update = insert ✓ enforce at the site where the update is issued ✦ update = qualified ✓ send the assertions to all the sites involved ✓ execute the qualification to obtain R+ and R- ✓ each site enforce its own assertion ➡ Set-oriented Assertions ✦ single relation ✓ similar to individual assertions with qualified updates ✦ multi-relation ✓ move data between sites to perform joins; then send the result to the query master site