Chapter 04 - Distributed Database Systems - converted
Chapter 04 - Distributed Database Systems - converted
1
© e-Learning Centre, UCSC © e-Learning Centre, UCSC 2
• Explain the distributed solutions provided in NoSQL 4.3.3. Distribution Models: Single Server , Sharding, Master-Slave,
databases. Peer-to-Peer
4.4. Query Processing and Optimization in Distributed Databases
• Describe different concepts and systems being used
for processing and analysis of big data. 4.4.1 Distributed Query Processing
• Describe cloud computing concepts. 4.4.2 Data Transfer Costs of Distributed Query Processing
4.5. NoSQL Characteristics related to Distributed Databases and
Distributed Systems
© e-Learning Centre, UCSC 3 © e-Learning Centre, UCSC 4
4.1 Distributed Database Concepts, Components and 4.1 Distributed Database Concepts, Components and
Advantage Advantage
1
© e-Learning Centre, UCSC 9 © e-Learning Centre, UCSC
0
4.1 Distributed Database Concepts, Components and 4.1 Distributed Database Concepts, Components and
Advantage Advantage
4.1 Distributed Database Concepts, Components and 4.1 Distributed Database Concepts, Components and
Advantage Advantage
• When the number of nodes are increased, the possibility of • The extent to which a single node (database) have the
network failures also grows up, resulting the nodes to be capacity to be worked independently is refer to as
partitioned into subgroups. Autonomy.
• In this situation, the nodes within a single subnetwork can • Higher flexibility is given to the nodes when there is high
communicate each other while the communication among autonomy.
partitions are lost. • Autonomy can be applied in many aspects such as,
• The ability of the system to keep operating even though the - Design autonomy: Independence of data model usage
network is divided into separate groups is known as and transaction management techniques.
partition tolerance. - Communication autonomy: The extent to which each
node can decide on sharing of information with other
nodes.
- Execution autonomy: Independence of users to operate
as they prefer.
1 1
© e-Learning Centre, UCSC © e-Learning Centre, UCSC
3 4
4.1 Distributed Database Concepts, Components and 4.1 Distributed Database Concepts, Components and
Advantage Advantage
Advantages of DDB Cont.
Advantages of DDB
3. Improve performance
1. Improves the flexibility of application development - Data items are stored closer to where it is needed
- The ability of carrying out application development the most. It reduces the competition for CPU and I/O
and maintenance from different physical locations. services required. The access delays involved in
2. Improve Availability wide area networks are also brought down.
- Faults are isolated to the site of origin without - Since each node holds only a partition of the entire
disturbing the other nodes connected. DB, the number of transactions executed in each
- Even though a single node fails, the other nodes site is smaller compared to the situation where all
continue to operate without failing the entire system. transactions are submitted to a single centralized
(However, in a centralized system, failure at a single database.
site makes the whole system unavailable to all - Execution of queries in parallel by executing multiple
users). Therefore, availability is improved with a queries at different sites, or by splitting the query into
DDB. a number of subqueries also improves the
performance.
1 1
© e-Learning Centre, UCSC © e-Learning Centre, UCSC
5 6
4.1 Distributed Database Concepts, Components and
Advantage Activity
1 1
© e-Learning Centre, UCSC © e-Learning Centre, UCSC
7 8
Activity Activity
Fill in the blanks with the most suitable words given. State whether the given statements are True or False.
(same,multiple,network,location,replication,execution, design, 1. A system with high transparency offers a lot of flexibility to
horizontal, vertical, communication, same, fragmentation, the application developer. ( True / False )
naming) 2. It is mandatory for all the nodes to be identical in terms of
data, hardware, and software. ( True / False )
With _________ transparency, user is unaware about the
3. A distributed Database should be connected via a local area
different locations, where the data is stored.
network. ( True / False )
Making the user unaware of having multiple copies of the same 4. In DDB systems, expanding the processing power of nodes
data item in different sites is referred to as __________ is not considered as a way of increasing scalability. ( True /
transparency. False )
The ability of increasing the number of nodes in a distributed 5. With data localization, number of CPU and I/O services
database is __________ scalability. required can be reduced. ( True / False )
4.2 Types of Distributed Database Systems 4.2 Types of Distributed Database Systems
• There are different types of Distributed Database - Degree of local autonomy is another factor relevant to
Management Systems classified based on the degree of the degree of homogeneity.
homogeneity. - If the local site is not allowed to be operated as an
- Homogeneous system: All the sites(servers) in the independent site, there is no local autonomy.
DDB use identical software and all the clients use the - If local transaction granted permission for direct
identical software. access to the server, then there is some degree of
- Heterogeneous system: Different software installed local autonomy.
in the servers or if the users involved in DDB use
different software.
2 2
© e-Learning Centre, UCSC © e-Learning Centre, UCSC
1 2
4.2 Types of Distributed Database Systems 4.2 Types of Distributed Database Systems
• Classification of DDBMS with regards to distribution, - Federated database systems: Have a global view of
autonomy, and heterogeneity can be explained as below. the federation of databases that is shared by the
- Centralized DB: Got complete autonomy but a applications.
complete loss of distribution and heterogeneity. - Multidatabase systems: Have full local autonomy in
- Pure distributed database systems: There is only DB but does not have a global schema.
one conceptual schema. A site, which is a part of the
DDBMS provides access to the system. Therefore, no eg: A system with full local autonomy and full
local autonomy exists. heterogeneity. (Peer-to-peer database system)
- Further classification of centralized DBMS can be
done with level of autonomy. Those are federated
database systems and multi database systems. These
systems consist of independent servers, centralized
DBMS with local users, local transactions and DBA,
facilitating very higher degree of local autonomy.
2 2
© e-Learning Centre, UCSC © e-Learning Centre, UCSC
3 4
4.2 Types of Distributed Database Systems
4.3 Distributed Database Design Techniques
Classification of the distributed databases that we discussed
in previous two slides can be seen in the following image. Fragmentation
● As the name implies, in distributed architecture, separate
Federated database systems
portions of data should be stored in different nodes.
Distribution
Multidatabase system
● Initially, we have to identify the basic logical unit of data.
In a relational database, relations are the simplest logical
Pure distributed unit.
database ● Fragmentation is a process of dividing the whole
system database into various sub relations so that data can be
stored in different systems.
Autonomy
Centralized database
Heterogeneity systems
2
5
2
© e-Learning Centre, UCSC © e-Learning Centre, UCSC
6
4.3 Distributed Database Design Techniques 4.3 Distributed Database Design Techniques
3 3
© e-Learning Centre, UCSC © e-Learning Centre, UCSC
3 4
4.3 Distributed Database Design Techniques 4.3 Distributed Database Design Techniques
3 3
© e-Learning Centre, UCSC © e-Learning Centre, UCSC
5 6
Kasun 120000 Sales • Original table (Employee) is divided into two subset of
columns.
Rishad 135000 Sales
• First vertical fragment created (Pay_data) consists of
Kirushanthi 45900 Marketing salary details of employees.
Anna 47900 Marketing
Pay_data πname, salary(Employee)
pay data Dept. data • Second vertical fragment created (Dept_data) consists of
department details of employees.
Name Salary Name Department
Kasun 120000
Dept_data πname, Department (Employee)
Kasun Sales
Rishad 135000 Rishad Sales
Kirushanthi 45900 Kirushanthi Marketing
Anna 47900
Anna Marketing
3 3
© e-Learning Centre, UCSC © e-Learning Centre, UCSC
7 8
Employee
• Relevant fragmentations with data can be seen in the next Name Department
slide.
Kirushanthi 45900
Anna 47900
3 4
© e-Learning Centre, UCSC © e-Learning Centre, UCSC
9 0
Activity Activity
1) Give horizontally fragmented relations (with data) for the Project 1) Give a vertical fragmentation of the above Project relation into two
relation given below so that projects with budgets less than sub-relations (with data), so that one contains only the information
150,000 are separated from projects with budgets greater than about project budgets (i.e. ProjNo, Budget), whereas the other
or equal to150,000. Express the fragmentation conditions using contains project names and locations (i.e. ProjNo, ProjName,
relational algebra for each fragment (with data). Location). Express the fragmentation condition using relational
algebra for each fragment.
2) Indicate how the original relation would be reconstructed.
2) Indicate how the original relation would be reconstructed.
ProjNo ProjName Budget Location
Activity
4.3 Distributed Database Design Techniques
Fill in the blanks with the most suitable word given.
(vertical, horizontal, mixed, union, outer join, projection, selection)
Replication
When we divide a relation based on columns, it is known as • The main purpose of having data replicated in several
__________ fragmentation while, the relation divided based on rows nodes is to ensure the availability of data.
know as _______________ fragmentation. • One extreme of data replication is having a copy of the
A combination of these 2 fragmentations is referred to as entire database at every node (full replication).
__________ fragmentation. • The other extreme is not having replication at all. Here,
every data item is stored only at one site. (no replication)
The re-constructability of the relation from its fragments ensures that
constraints defined on the data in the form of dependencies are
preserved. A set of vertical fragments can be organized into the
original table using _________ operation.
With ________ operation, we can create the original relation from a
set of horizontal fragments.
4
© e-Learning Centre, UCSC © e-Learning Centre, UCSC
4
4.3 Distributed Database Design Techniques 4.3 Distributed Database Design Techniques
4 4
© e-Learning Centre, UCSC © e-Learning Centre, UCSC
7 8
Activity
4.3 Distributed Database Design Techniques
Select advantages of data replication in DDB.
Allocation Cont.
Consider the following scenarios and the suggested
allocation mechanisms: 1. Improves availability of data.
2. Improves performance of data retrieval.
• Requires high availability of the system with high number
3. Improves performance of data write operations.
of retrievals,
4. Slow down update queries.
- Recommend to have a fully replicated database. 5. Hard recovery.
• Requires to retrieve a subsection of data frequently, 6. Expensive concurrency control.
7. Slow down select queries.
-Recommend to allocate the required fragment into 8. Easy notions used for data query.
multiple sites.
• Requires to perform a higher number of updates,
-Recommend to have a less number of replicas.
However, It is hard to find an optimal solution to distributed
data allocation since it is a complex optimization problem.
4
© e-Learning Centre, UCSC © e-Learning Centre, UCSC
9
Activity
4.3 Distributed Database Design Techniques
Mark the following statements as true (T) and false (F).
1. With data replication, we can have multiple copies of the same Distribution Models
data item in many sites. ( )
2. Data replication would slow down the read and write operations When the data volume increases, we can add more nodes
of a database. ( ) within our distributed database system to handle it. There are
3. There can be some data fragments which are replicated in all different models for distributing data among these nodes.
nodes of the distributed database. ( ) 1. Single server
4. The number of copies created for each fragment should be • This is the minimum form of distribution and most often the
equal. ( ) recommended option.
5. In a replicated system, there can be fragments which are not • Here, the database will be running in a single server without
replicated in another site. ( ) any distribution.
6. For a system with frequent updates, it is advised to use a larger • Since all read and write operations occur at a single node, it
number of replications. ( ) would reduce the complexity by making the management
process easy.
5
© e-Learning Centre, UCSC © e-Learning Centre, UCSC
2
4.3 Distributed Database Design Techniques 4.3 Distributed Database Design Techniques
A B C D
5 5
© e-Learning Centre, UCSC © e-Learning Centre, UCSC
3 4
5 5
© e-Learning Centre, UCSC © e-Learning Centre, UCSC
5 6
Distributed Database Design Techniques 4.3 Distributed Database Design Techniques
Distribution Models Cont. Distribution Models Cont.
3. Master-slave replication • Master-slave model is suitable for a system with read-
• In this model, one node is selected as the master (primary) intensive dataset.
and it is considered as the authorized source for data. • By adding more slaves, you can increase the efficiency of
• Master is the node which is responsible for updates. read operations since the read requests can be processed
• All the other nodes are treated as slaves (secondary). by any slave node.
• There is a process called synchronization to sync data • However, there is still a limitation on writes, because only
inside master with the slaves. master can process the writes to the database.
• If the master fails, it should be recovered or a slave node
has to be appointed as the new master.
Master
4.3 Distributed Database Design Techniques 4.3 Distributed Database Design Techniques
Distribution Models Cont. Distribution Models Cont.
• Appointment of the new master can be either an 4. Peer-to-peer replication
automatic or a manual process.
• The disadvantage of having replicated nodes is the • In master-slave model, the master is still a bottleneck and
inconsistency that may occur in between nodes. a single point of failure.
• If the changes are not propagated to all the slave nodes, • In peer-to-peer model, there is no master and all the
there is a chance of different clients who are accessing nodes are of the equal weight.
various slave nodes read different values. • All the replicas can accept writes. Due to this reason, there
will be no loss of access to data due to failure of a single
node.
• However, with this model, we have to accept the problem of
inconsistency.
• After you write on a node, two users who are accessing
that changed data item from different nodes may read
two different values until data propagation is completed.
5 6
© e-Learning Centre, UCSC © e-Learning Centre, UCSC
9 0
4.3 Distributed Database Design Techniques 4.3 Distributed Database Design Techniques
6 6
© e-Learning Centre, UCSC © e-Learning Centre, UCSC
1 2
Activity
4.4 Query Processing and Optimization in
Mark the following statements as true (T) and false (F). Distributed Databases
1. Scaling up is including larger data servers with higher
storage capacity to cater the increasing data storage
requirement. ( )
2. Scale out is the process of running the database on a 3. 4.
2.
Global Query Local Query
cluster of servers. ( ) Query Mapping Localization
Optimization Optimization
3. We can ensure reliability of a DDB by using the technique
sharding. ( )
4. Single server is the most recommended distribution model These are the steps involved in distributed query processing. We will
( ) discuss each step in detail.
5. Read reliance is one of the advantages of master-slave
replication model. ( )
6
4
6 6
© e-Learning Centre, UCSC © e-Learning Centre, UCSC
5 6
4.4 Query Processing and Optimization in 4.4 Query Processing and Optimization in
Distributed Databases Distributed Databases
Step 03: Global Query Optimization. Step 04: Local Query Optimization.
• Optimization is selecting the optimal strategy from a list of • This stage is common to all sites in the DDB.
candidate strategies. • The techniques are similar to those used in centralized
• These candidate strategies can be obtained by permuting systems.
the order of operations generated in previous step. • performed locally at each site.
• To measure the cost associated with each set of
operations, we use the execution time.
• The total cost is calculated using costs such as CPU cost,
I/O costs, and communication costs.
• Since the nodes are connected via network in a DDB, the
most significant cost is for the communication between
these nodes.
6 6
© e-Learning Centre, UCSC © e-Learning Centre, UCSC
7 8
4.4 Query Processing and Optimization in 4.4 Query Processing and Optimization in
Distributed Databases Distributed Databases
Example
Suppose Employee table and Department table are stored at node
01 and node 02 respectively. Results are expected to be presented
• In comparison to a centralized database system, in a in node 03.
distributed database there is additional complexity
involved in query processing.
• One is the cost of transferring data among sites.
• Intermediate files or the final result set can be transferred Employee Department
Size of one record =100 bytes Size of one record =35 bytes
in between nodes via the network. No. of records=10000 No. of records=100
• Reducing the amount of data to be transferred among
nodes is considered as an optimization criteria in the
query optimization algorithms used in DDBMS. Node 01 Node 02
Results
Node 03
6 7
© e-Learning Centre, UCSC © e-Learning Centre, UCSC
9 0
4.4 Query Processing and Optimization in 4.4 Query Processing and Optimization in
Distributed Databases Distributed Databases
Example The sizes of attributes in Employee and Department relations are given
According to the details given, let’s calculate the size of each below.
relation.
EMPLOYEE
No. of records in Employee relation = 10000 Fname Lname Ssn Bdate Address Sex Salary
size of 1 record in Employee relation= 100
Fname field is 15 bytes long, Lname field is 15 bytes long, Address field is 10 bytes long
Size of the Employee relation = 100*10000 = 1000000 bytes
DEPARTMENT
No. of records in Department relation = 100
size of 1 record in Department relation= 35 Dname DNumber Mgr_ssn Mgr_start_date
Size of the Department relation = 100*35 =3500 bytes Dnumber field is 4 bytes long, Dname field is 10 bytes long, Mgr_ssn field is 9 bytes long
7 7
© e-Learning Centre, UCSC © e-Learning Centre, UCSC
1 2
4.4 Query Processing and Optimization in 4.4 Query Processing and Optimization in
Distributed Databases Distributed Databases
4.4 Query Processing and Optimization in 4.4 Query Processing and Optimization in
Distributed Databases Distributed Databases
Method 2
Method 3
Explanation Transfer the EMPLOYEE relation to site
2. Execute the join at site 2. Send the result to site 3. Explanation Transfer the DEPARTMENT relation to
site 1. Execute the join at site 1. Send the result to site 3.
Calculation
Calculation
Total no. of bytes to be transferred= Size of the Employee
table + The size of the query result Total no. of bytes to be transferred = Size of the Department
table + size of the query result
=
1,000,000 + (40 * 10,000 )
= 3,500 + (40 * 10,000)
= 1,400,000 bytes
= 403,500 bytes
Note: One record in result query consist of Fname (15 bytes),
LName ( 15 bytes) and Dname (10 bytes). Altogether 40 bytes.
There are 10,000 records retrieve as result.
Therefor size if the result query is 40 * 10000
7 7
© e-Learning Centre, UCSC © e-Learning Centre, UCSC
5 6
Activity
4.4 Query Processing and Optimization in
Distributed Databases Suppose STUDENT table is stored in site 1 and COURSE table
is stored in site 2. The tables are not fragmented and the results
When considering the three methods we discussed, are stored in site 3. Every student is assigned to only one course.
Total no. of bytes to be transferred in method 1 = 1,003,500 STUDENT(Sid, StudentName, Address, Grade, CourseID)
1000 records, each record is 50 bytes long
Total no. of bytes to be transferred in method 2 = 1,400,000 Sid: 5 bytes, StudentName;10 bytes, Address: 20 bytes
Total no. of bytes to be transferred in method 3 = 403,500
COURSE( Cid, CourseName)
The least amount of data transfer occurs in method 3. 500 records, each record is 30 bytes long
Therefore, we choose method 3 as the optimal solution, since it Cid: 5 bytes, CourseName:10 bytes
transfers the minimum amount of data.
Query: Retrieve the Student Name and Course Name which the
student is following.
Write the relational algebra for the above query.
7
© e-Learning Centre, UCSC © e-Learning Centre, UCSC
7
Activity Activity
Suppose STUDENT table is stored in site 1 and COURSE able is Suppose STUDENT table is stored in site 1 and COURSE able is
stored in site 2. The tables are not fragmented and the results stored in site 2. The tables are not fragmented and the results
are stored in site 3. Every student is assigned to one course. are stored in site 3. Every student is assigned to one course.
STUDENT(Sid, StudentName, Address, Grade, CourseID) STUDENT(Sid, StudentName, Address, Grade, CourseID)
1000 records, each record is 50 bytes long 1000 records, each record is 50 bytes long
Sid: 5 bytes, StudentName;10 bytes, Address: 20 bytes Sid: 5 bytes, StudentName;10 bytes, Address: 20 bytes
Query: Retrieve the Student Name and Course Name which the Query: Retrieve the Student Name and Course Name which the
student is following. student is following.
If we are to transfer STUDENT and COURSE relations into node If we are to transfer STUDENT table into site 2, and then execute
3 and perform join operation, how many bytes need to be join and send result into site 3, how many bytes need to be
transferred? Explain your answer. transferred? Explain your answer.
© e-Learning Centre, UCSC © e-Learning Centre, UCSC
Activity
4.5 NoSQL Characteristics related to Distributed
Suppose STUDENT table is stored in site 1 and COURSE able is Databases and Distributed System
stored in site 2. The tables are not fragmented and the results
are stored in site 3. 1. Scalability
STUDENT(Sid, StudentName, Address, Grade, CourseID) • NoSQL databases are typically used in applications with
1000 records, each record is 50 bytes long high data growth.
Sid: 5 bytes, StudentName;10 bytes, Address: 20 bytes • Scalability is the potential of a system to handle a growing
amount of data.
• In Distributed Databases, there are two strategies for
COURSE( Cid, CourseName) scaling a system.
500 records, each record is 30 bytes long - Horizontal scalability: When the amount of data
Cid: 5 bytes, CourseName:10 bytes increases, distributed system can be expanded by
adding more nodes into the system.
- Vertical scalability: Increasing the storage capacity of
Query: Retrieve the Student Name and Course Name which the existing nodes.
• It is possible to carry out horizontal scalability while the
student is following.
system is on operation. We can distribute the data among
If we are to transfer COURSE table into site 1, and then execute newly added sites without disturbing the operations of
join and send result into site 3, how many bytes need to be system.
transferred? Explain your answer.
8
© e-Learning Centre, UCSC © e-Learning Centre, UCSC
2
4.5 NoSQL Characteristics related to Distributed 4.5 NoSQL Characteristics related to Distributed
Databases and Distributed System Databases and Distributed System
2. Availability, Replication and Eventual Consistency: Availability, Replication and Eventual Consistency Cont.:
• Most of the applications that are using NoSQL DBs, • But having replications may not be effective for write
require availability. operations because after a write operation, all the nodes
• It is achieved by replicating data in several nodes. having same data item should be updated in order to keep
• With this technique, even if one node fails, the other the system consistent.
nodes who have the replication of same data will • Due to this requirement of updating all the nodes with the
response to the data requests. same data item, the system can get slower.
• Read performance is also improved by having replicas. • However, most of the NoSQL applications prefer eventual
When the number of read operations are higher, clients consistency.
can access the replicated nodes without making a single • Eventual consistency will be discussed in next slide.
node busy.
8 8
© e-Learning Centre, UCSC © e-Learning Centre, UCSC
3 4
4.5 NoSQL Characteristics related to Distributed 4.5 NoSQL Characteristics related to Distributed
Databases and Distributed System Databases and Distributed System
Availability, Replication and Eventual Consistency Cont.: 3. Replication Models:
• Eventual Consistency • The main replication models that are used in NoSQL context
This means that at any time there may be nodes with is master-slave and master-master replication.
replication inconsistencies but if there are no further updates, - Master-slave replication: The primary node refers to as
eventually all the nodes will synchronise and will be updated master is responsible for all write operations. Then the
to the same value. updates are propagated to slave nodes keeping the
eventual consistency. There can be different techniques
for read operation. One option is making all reads on
For example, If Kamal updates the value of Z to 10, it will be master node. Another option would be making all reads
updated in the node A. But if Saman accesses the value of Z on slave nodes. But with this second option, there is no
from node B the value will not be 10; as the change hasn’t guarantee for all reads to have the same value on all
propagated from node A to node B. After sometime, when data item after accessing several nodes. (Because the
Saman access the value of Z from node B, then it will have system gets consistent eventually)
the value 10. This means that Saman will eventually see the
change in value Z made by Kamal. This is the eventual
consistency.
8 8
© e-Learning Centre, UCSC © e-Learning Centre, UCSC
5 6
4.5 NoSQL Characteristics related to Distributed 4.5 NoSQL Characteristics related to Distributed
Databases and Distributed System Databases and Distributed System
Replication Models Cont.:
4. Sharding of Files:
- Master-master replication: All the nodes are treated
• We have discussed the concept sharding in slide 55.
similarly. Reads and writes can be performed on any
of the nodes. But it is not assured that all reads done • In many NoSQL applications, there can be millions of data
on different nodes see the same value. Since it is records accessed by thousands of users concurrently.
possible for multiple users to write on a single data • Effective responses can be provided by storing partitions of
item at the same time, system can be temporarily data in several nodes.
inconsistent. • By using the technique called sharding (horizontal
partitioning), we can distribute the load across multiple
sites.
• Combination of sharding and replication improves load
balancing and data availability.
8 8
© e-Learning Centre, UCSC © e-Learning Centre, UCSC
7 8
Activity
4.5 NoSQL Characteristics related to Distributed Fill in the blanks with the most suitable word given.
Databases and Distributed System
(horizontal, vertical, eventual consistency, consistency, master,
5. High-Performance Data Access: slave, availability, usability)
• In many NoSQL applications, it might be necessary to find
a single data value or a file among billions of records.
__________ scalability can be performed while the system is on
• To achieve this, techniques such as hashing and range
operation.
partitioning are used.
- Hashing: A hash function h(k) applied on a given A relaxed form of consistency preferred by most of the NoSQL
key K, provides the location of a particular object. systems is known as _____________.
- Range partitioning: Object’s location can be
identified from range of key values. For example, In master-slave replication model, ___________ is used as the
location i would hold the objects whose key values source of write operations.
K are in the range Kimin ≤ K ≤ Ki max. Load balancing and ________ can be achieved in a system which
• We can use other indexes to locate objects based on uses the combination of sharding and replication.
attribute conditions (different from the key K).
8
© e-Learning Centre, UCSC © e-Learning Centre, UCSC
9
Summary Summary
Types of Distributed
Database Systems NoSQL Characteristics
related to Distributed
Databases and
Distributed Systems
9 9
© e-Learning Centre, UCSC © e-Learning Centre, UCSC
1 2