0% found this document useful (0 votes)
2 views

Distributed Database Architecture, Data Fragmentation and Replication Techniques

The document discusses distributed database architecture, focusing on homogeneous and heterogeneous systems, along with client/server architecture. It explains data fragmentation and replication techniques, highlighting their roles in improving performance and availability in distributed databases. Fragmentation divides data into smaller units for efficient management, while replication creates multiple copies to enhance accessibility and fault tolerance.

Uploaded by

fareehasaleem934
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)
2 views

Distributed Database Architecture, Data Fragmentation and Replication Techniques

The document discusses distributed database architecture, focusing on homogeneous and heterogeneous systems, along with client/server architecture. It explains data fragmentation and replication techniques, highlighting their roles in improving performance and availability in distributed databases. Fragmentation divides data into smaller units for efficient management, while replication creates multiple copies to enhance accessibility and fault tolerance.

Uploaded by

fareehasaleem934
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/ 8

Subject: DA&M BSIT 8th By: Muhammad Imran Afzal

WEEK 10
Distributed Database Architecture, Data Fragmentation
and Replication Techniques
A distributed database system allows applications to access data from
local and remote databases. In a homogenous distributed database
system, each database is an Oracle Database. In a heterogeneous
distributed database system, at least one of the databases is not an
Oracle Database. Distributed databases use a client/server architecture to
process information requests.

This section contains the following topics:

 Homogenous Distributed Database Systems


 Heterogeneous Distributed Database Systems
 Client/Server Database Architecture

Homogenous Distributed Database Systems

A homogenous distributed database system is a network of two or more Oracle


Databases that reside on one or more machines. Figure 29-1 illustrates a distributed
system that connects three databases: hq, mfg, and sales. An application can
simultaneously access or modify the data in several databases in a single
distributed environment. For example, a single query from a Manufacturing client
on local database mfg can retrieve joined data from the products table on the
local database and the dept table on the remote hq database.

For a client application, the location and platform of the databases are transparent.
You can also create synonyms for remote objects in the distributed system so that
users can access them with the same syntax as local objects. For example, if you
are connected to database mfg but want to access data on database hq, creating a
synonym on mfg for the remote dept table enables you to issue this query:

SELECT * FROM dept;

In this way, a distributed system gives the appearance of native data access. Users
on mfg do not have to know that the data they access resides on remote databases.
Subject: DA&M BSIT 8th By: Muhammad Imran Afzal

Figure 29-1 Homogeneous Distributed Database

Description of "Figure 29-1 Homogeneous Distributed Database"

An Oracle Database distributed database system can incorporate Oracle Databases


of different versions. All supported releases of Oracle Database can participate in a
distributed database system. Nevertheless, the applications that work with the
distributed database must understand the functionality that is available at each node
in the system. A distributed database application cannot expect an Oracle7
database to understand the SQL extensions that are only available with Oracle
Database.

Distributed Databases Versus Distributed Processing

The terms distributed database and distributed processing are closely related,
yet have distinct meanings. There definitions are as follows:
Subject: DA&M BSIT 8th By: Muhammad Imran Afzal

 Distributed database

A set of databases in a distributed system that can appear to applications as a


single data source.

 Distributed processing

The operations that occurs when an application distributes its tasks among
different computers in a network. For example, a database application
typically distributes front-end presentation tasks to client computers and
allows a back-end database server to manage shared access to a database.
Consequently, a distributed database application processing system is more
commonly referred to as a client/server database application system.

Distributed database systems employ a distributed processing architecture. For


example, an Oracle Database server acts as a client when it requests data that
another Oracle Database server manages.

Distributed Databases Versus Replicated Databases

The terms distributed database system and database replication are related, yet
distinct. In a pure (that is, not replicated) distributed database, the system manages
a single copy of all data and supporting database objects. Typically, distributed
database applications use distributed transactions to access both local and remote
data and modify the global database in real-time.

The term replication refers to the operation of copying and maintaining database
objects in multiple databases belonging to a distributed system. While replication
relies on distributed database technology, database replication offers applications
benefits that are not possible within a pure distributed database environment.

Most commonly, replication is used to improve local database performance and


protect the availability of applications because alternate data access options exist.
For example, an application may normally access a local database rather than a
remote server to minimize network traffic and achieve maximum performance.
Furthermore, the application can continue to function if the local server
experiences a failure, but other servers with replicated data remain accessible.

See Also:
Subject: DA&M BSIT 8th By: Muhammad Imran Afzal

 Oracle Database Advanced Replication for more information about Oracle


Database replication features
 Oracle Streams Concepts and Administration for information about Oracle
Streams, another method of sharing information between databases

Heterogeneous Distributed Database Systems

In a heterogeneous distributed database system, at least one of the databases is a


non-Oracle Database system. To the application, the heterogeneous distributed
database system appears as a single, local, Oracle Database. The local Oracle
Database server hides the distribution and heterogeneity of the data.

The Oracle Database server accesses the non-Oracle Database system using Oracle
Heterogeneous Services in conjunction with an agent. If you access the non-Oracle
Database data store using an Oracle Transparent Gateway, then the agent is a
system-specific application. For example, if you include a Sybase database in an
Oracle Database distributed system, then you need to obtain a Sybase-specific
transparent gateway so that the Oracle Database in the system can communicate
with it.

Alternatively, you can use generic connectivity to access non-Oracle Database


data stores so long as the non-Oracle Database system supports the ODBC or OLE
DB protocols.

Note:
Other than the introductory material presented in this chapter, this book
does not discuss Oracle Heterogeneous Services. See Oracle Database
Heterogeneous Connectivity Administrator's Guide for more detailed
information about Heterogeneous Services.

Heterogeneous Services

Heterogeneous Services (HS) is an integrated component within the Oracle


Database server and the enabling technology for the current suite of Oracle
Transparent Gateway products. HS provides the common architecture and
administration mechanisms for Oracle Database gateway products and other
heterogeneous access facilities. Also, it provides upwardly compatible
functionality for users of most of the earlier Oracle Transparent Gateway releases.

Transparent Gateway Agents


Subject: DA&M BSIT 8th By: Muhammad Imran Afzal

For each non-Oracle Database system that you access, Heterogeneous Services can
use a transparent gateway agent to interface with the specified non-Oracle
Database system. The agent is specific to the non-Oracle Database system, so each
type of system requires a different agent.

The transparent gateway agent facilitates communication between Oracle Database


and non-Oracle Database systems and uses the Heterogeneous Services component
in the Oracle Database server. The agent executes SQL and transactional requests
at the non-Oracle Database system on behalf of the Oracle Database server.

See Also:
Your Oracle-supplied gateway-specific documentation for information about
transparent gateways

Generic Connectivity

Generic connectivity enables you to connect to non-Oracle Database data stores by


using either a Heterogeneous Services ODBC agent or a Heterogeneous Services
OLE DB agent. Both are included with your Oracle product as a standard feature.
Any data source compatible with the ODBC or OLE DB standards can be accessed
using a generic connectivity agent.

The advantage to generic connectivity is that it may not be required for you to
purchase and configure a separate system-specific agent. You use an ODBC or
OLE DB driver that can interface with the agent. However, some data access
features are only available with transparent gateway agents.

Client/Server Database Architecture

A database server is the Oracle software managing a database, and a client is an


application that requests information from a server. Each computer in a network is
a node that can host one or more databases. Each node in a distributed database
system can act as a client, a server, or both, depending on the situation.

In Figure 29-2, the host for the hq database is acting as a database server when a
statement is issued against its local data (for example, the second statement in each
transaction issues a statement against the local dept table), but is acting as a client
when it issues a statement against remote data (for example, the first statement in
each transaction is issued against the remote table emp in the sales database).

Figure 29-2 An Oracle Database Distributed Database System


Subject: DA&M BSIT 8th By: Muhammad Imran Afzal

Description of "Figure 29-2 An Oracle Database Distributed Database


System"

A client can connect directly or indirectly to a database server. A direct


connection occurs when a client connects to a server and accesses information
from a database contained on that server. For example, if you connect to
the hq database and access the dept table on this database as in Figure 29-2, you
can issue the following:

SELECT * FROM dept;

This query is direct because you are not accessing an object on a remote database.

In contrast, an indirect connection occurs when a client connects to a server and


then accesses information contained in a database on a different server. For
example, if you connect to the hq database but access the emp table on the
remote sales database as in Figure 29-2, you can issue the following:
Subject: DA&M BSIT 8th By: Muhammad Imran Afzal

SELECT * FROM emp@sales;

This query is indirect because the object you are accessing is not on the database to
which you are directly connected.

Data Fragmentation and Replication Techniques .


Data fragmentation and replication are two key techniques in distributed
database design, both aimed at improving database performance and
availability. Fragmentation divides the database into smaller parts for
storage at different sites, while replication creates multiple copies of the
data or fragments across those sites.
Data Fragmentation:
 Definition:
Fragmentation involves breaking down a database into smaller,
manageable units (fragments) and storing them at different locations within
the distributed system.
 Purpose:
Fragmentation helps reduce the size of individual fragments, making it
easier to manage and distribute data across multiple servers.
 Types:
 Horizontal Fragmentation: Divides a relation (table) into subsets based on
rows (e.g., splitting a customer table by region).
 Vertical Fragmentation: Splits a relation into smaller schemas based on
columns (e.g., storing customer contact information separately from
customer purchase history).
Benefits:
 Reduced Data Size: Smaller fragments are easier to manage and transfer.
 Improved Performance: Data can be accessed from the most appropriate
location, reducing latency.
 Enhanced Scalability: The system can grow and adapt more easily by
adding or removing nodes.
Data Replication:
 Definition:
Replication involves creating and maintaining multiple copies (replicas) of
the database or its fragments across different sites.
Subject: DA&M BSIT 8th By: Muhammad Imran Afzal

 Purpose:
Replication enhances data availability and improves performance by
allowing users to access data from the nearest replica.
 Types:
 Full Replication: Each site holds a complete copy of the entire database.
 Partial Replication: Only specific portions or fragments of the database are
replicated.
Benefits:
 High Availability: Even if one site fails, data is still accessible from other
replicas.
 Improved Performance: Users can access data from the nearest replica,
reducing network latency.
 Fault Tolerance: Replicated data can withstand failures, providing data
resilience.
Relationship between Fragmentation and Replication:
 Complementary Techniques:
Fragmentation and replication are often used together in distributed
database systems to optimize data distribution and availability.
 Fragmentation enables replication:
Fragments can be replicated more efficiently than entire tables, making
data more accessible and robust.
 Replication enhances fragmentation:
Replication ensures that even fragmented data remains available in the
event of node failures.

You might also like