Distributed Database Architecture, Data Fragmentation and Replication Techniques
Distributed Database Architecture, Data Fragmentation and Replication Techniques
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.
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:
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
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
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.
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.
See Also:
Subject: DA&M BSIT 8th By: Muhammad Imran Afzal
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.
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
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.
See Also:
Your Oracle-supplied gateway-specific documentation for information about
transparent gateways
Generic Connectivity
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.
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).
This query is direct because you are not accessing an object on a remote database.
This query is indirect because the object you are accessing is not on the database to
which you are directly connected.
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.