0% found this document useful (0 votes)
1 views30 pages

Distributed

Uploaded by

mohamedtraka321
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
1 views30 pages

Distributed

Uploaded by

mohamedtraka321
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 30

D ISTRIBUTED

ATABASES
Ahmed Hussien Abdo
Reg. Num. : 2212630
Prof. Mohamed Kholief
INTRODUCTION

• Distributed computing system

• Consists of interconnected nodes

• Nodes cooperate to perform tasks efficiently

2
WHAT CONSTITUTES A
DISTRIBUTED DATABASE?
• Connection of database nodes over a computer
network

• Logical interrelation of connected databases

• Possible absence of homogeneity among nodes

• Distributed database management system


(DDBMS) manages the distributed database

3
DIFFERENCE BETWEEN CENTRALIZED DATABASE AND DISTRIBUTED
DATABASE

20XX Pitch deck title 4


TRANSPARENCY
•Transparency refers to hiding
implementation details from end users for a
seamless experience.
• Types of transparency:
• Data organization transparency
• Location transparency
• Naming transparency
• Replication transparency
• Fragmentation transparency
• Horizontal fragmentation
• Vertical fragmentation
• Design transparency
• Execution transparency
5
DISTRIBUTED DATABASES

6
AVAILABILITY AND
RELIABILITY
 Availability: The probability that the distributed
system is continuously available during a
specified time interval.

 Reliability: The probability that the distributed


system is running (not down) at a certain point
in time.

7
SCALABILITY AND
PARTITION TOLERANCE

• Horizontal scalability: expanding the number of nodes

• Vertical scalability: expanding capacity of individual


nodes

• Partition tolerance: system continues operating during


network partitioning

8
AUTONOMY
• Determines the extent to which nodes can operate
independently

• Design autonomy: independence of data model and


transaction management techniques

• Communication autonomy: determines sharing of information


between nodes

• Execution autonomy: independence of user actions

9
ADVANTAGES OF
DISTRIBUTED DATABASES
 Improved ease and flexibility of application
development: Development can occur at geographically
dispersed sites.

 Increased availability: Faults are isolated to their site of


origin, ensuring availability.

 Improved performance: Data localization reduces


network traffic and latency.

 Easier expansion via scalability: Adding nodes or


increasing individual node capacity is easier compared
to non-distributed systems.

10
DATA FRAGMENTATION, REPLICATION,
AND ALLOCATION TECHNIQUES

• Fragments: Logical units of the database that are


distributed across nodes.

• Horizontal fragmentation (sharding): Dividing a relation


into subsets of tuples based on conditions or other
methods.

• Vertical fragmentation: Dividing a relation vertically by


columns, keeping only certain attributes.

11
HORIZONTAL FRAGMENTATION (SHARDING):
• Horizontal fragmentation (sharding) divides a relation into subsets of tuples, called shards, by

specifying conditions on attributes or other methods. It groups rows to create these subsets.

12
VERTICAL FRAGMENTATION:
• Vertical fragmentation involves dividing a relation by columns, keeping only
certain attributes of the relation.

13
Vertical

20XX Pitch deck title 14


Horizontal

20XX Pitch deck title 15


DATA FRAGMENTATION, REPLICATION,
AND ALLOCATION TECHNIQUES
CONT’D
• Complete horizontal fragmentation
• Apply UNION operation to the fragments to reconstruct
relation
• Complete vertical fragmentation
• Apply OUTER JOIN operation to reconstruct relation

16
• Complete vertical fragmentation
• Apply OUTER JOIN operation to reconstruct
relation

Age
25
30

User
Ahmed
Mohamed

Complete Vertical Fragmentation: Fragment 1: B1


Fragment 2: B2
Reconstructed Relation after applying OUTER JOIN operation: R = B1 ⨝ B2

User Age
Ahmed 25
Mohamed 30
20XX Pitch deck title 17
• Apply UNION operation to the fragments to
reconstruct relation

User Age
Mohamed 30

User Age
Ahmed 25

Complete Horizontal Fragmentation: Fragment 1: A1


Fragment 2: A2
Reconstructed Relation after applying UNION operation: R =
A1 ∪ A2

User Age
Ahmed 25
Mohamed 30

20XX Pitch deck title 18


MIXED FRAGMENTATION:
Combination of horizontal and vertical fragmentations

19
DATA FRAGMENTATION, REPLICATION,
AND ALLOCATION TECHNIQUES
CONT’D
• Replication and allocation: Strategies for storing
fragments and replicas across nodes for performance
and availability.
• Fully replicated distributed database: Whole
database is replicated at every site.

• Nonredundant allocation: Each fragment is stored at


exactly one site.

• Partial replication: Some fragments are replicated


while others are not.

20
DATA FRAGMENTATION, REPLICATION,
AND ALLOCATION TECHNIQUES
CONT’D
• Data allocation involves assigning each
fragment of data to a specific site within a
distributed system. The choices for allocation
are determined based on the system's
performance and availability objectives.

21
22
23
24
TYPES OF DISTRIBUTED DATABASE
SYSTEMS

• Homogeneous DDBMS

• Heterogeneous DDBM

25
TYPES OF DISTRIBUTED DATABASE
SYSTEMS

• Homogeneous DDBMS: Uniform software across


nodes.

26
TYPES OF DISTRIBUTED DATABASE
SYSTEMS
• Heterogeneous DDBMS: Nodes with different software
and configurations.

27
TYPES OF DISTRIBUTED DATABASE
SYSTEMS
• Multi database system and federated database system
(FDBS) with shared global schema.

• Federated database management systems issues:


Differences in data models, constraints, query
languages, and semantic heterogeneity.

28
CLIENT-SERVER DATABASE ARCHITECTURE

It consists of clients running client software, a set of


servers which provide all database functionalities
and a reliable communication infrastructure.

29
CLIENT-SERVER DATABASE ARCHITECTURE

It consists of clients running client software, a set of


servers which provide all database functionalities
and a reliable communication infrastructure.

30

You might also like