0% found this document useful (0 votes)
5 views46 pages

Lecture 9 and 10

Lectures 9 and 10 cover the fundamental concepts of Distributed Database Systems, including architectures, client-server models, and the differences between client-server and distributed DBMS. It discusses Oracle's distributed database architecture, including homogeneous and heterogeneous systems, as well as features like database links and security measures. Additionally, it highlights tools for administering Oracle distributed databases, emphasizing the use of Oracle Enterprise Manager for efficient management.

Uploaded by

metrombuvi
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)
5 views46 pages

Lecture 9 and 10

Lectures 9 and 10 cover the fundamental concepts of Distributed Database Systems, including architectures, client-server models, and the differences between client-server and distributed DBMS. It discusses Oracle's distributed database architecture, including homogeneous and heterogeneous systems, as well as features like database links and security measures. Additionally, it highlights tools for administering Oracle distributed databases, emphasizing the use of Oracle Enterprise Manager for efficient management.

Uploaded by

metrombuvi
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/ 46

Lecture 9 and 10

CCS 2438:Distributed Database Systems


1) Distributed Databases basic concepts
2) Distributed database Vs Distributed data processing
3) Architectures of DDBMS
4) Client-server architectures and transparencies in DDMS
5) Design of distributed database
6) DDBMS and future direction
7) Administration of DDBMS
8) Distributed query processing and transaction
management
9) Implementation of distributed database systems
Client - Server Architecture for DDBMS
This is a two-level architecture where the functionality is
divided into servers and clients.
The server functions primarily encompass data
management, query processing, optimization and
transaction management.
Client functions include mainly user interface. However,
they have some functions like consistency checking and
transaction management
The two different client - server architecture are −
1. Single Server Multiple Client
2. Multiple Server Multiple Client
(shown in the following diagram)
Architectures of Distributed DBMS
Architectural Models
Some of the common architectural models are −
1. Client - Server Architecture for
DDBMS
2. Peer - to - Peer Architecture
for DDBMS
3. Multi - DBMS Architecture
Difference between Client /Server and Distributed DBMS
1.Client/Server :
Client/server is developed to deal with various computing
environments that have a large number of computers and servers
connected together via a network. In this architecture, a Client is a
user machine which provides the user interface and local processing
capabilities. When any client requires additional functionality like
database access, it can connect to Server that is capable of
providing the functionality needed by the client. Basically Server is a
machine that provides services to the Client i.e user machine
2. Distributed DBMS :
In Distributed DBMS, data is distributed over the geographical
site. Each site is a complete database system site on its end but
the different sites have to work together because if any user
wants to access the data it can easily access data anywhere in
the network as the data is stored at the user’s own computer
Difference between Client/Server and
Distributed DBMS :
S.No. Client/Server Distributed DBMS
Client can access only one User can access many sites
1.
server at a time. simultaneously.
2. It is difficult to manage. It is easy to manage.
In this data is distributed In this data is distributed across
3.
across clients. sites.
Speed of accessing database Speed of accessing database is
4. is poor as compared to much better than Client/Server
Distributed DBMS. Architecture.
If somehow server crashes, the The crash of one site does
5.
whole system stops. not stop the entire system.
Accessing of data is
6. Accessing of data is easy to control.
difficult to control.
It is less expensive as compared to
7. It is expensive.
Distributed DBMS.
8. Maintenance cost is low. Maintenance cost is high.
Distributed Database Architecture
A distributed database system allows applications to use the data
from local and remote databases.

Homogenous distributed database system contains each of the


database is an Oracle Database.

Heterogeneous distributed database system contains at least one of


the databases that is not an Oracle Database.

Distributed databases use a client/server architecture to process


information requests. Lets consider:

1) Homogenous Distributed Database Systems


2) Heterogeneous Distributed Database Systems
3) 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. An application can concurrently access
or vary the data in various databases in a single
distributed environment. For a client application, the
location and platform of the databases are transparent. In
this way, a distributed database system gives the
appearance of native data access.

[2] A homogenous distributed database is a network of


identical databases stored on multiple sites. The sites
have the same operating system, DDBMS, and data
structure, making them easily manageable. Homogenous
databases allow users to access data from each of the
databases seamlessly
This Lectures 9 and 10 describes the basic concepts and
terminology of Oracle's distributed database architecture.
The chapter includes

1. Oracle's Distributed Database Architecture


2. Heterogeneous Distributed Databases
3. Developing Distributed Database
Applications
4. Administering an Oracle Distributed
Database System
5. National Language Support
Oracle's Distributed
Database Architecture
A distributed database is a set of databases
stored on multiple computers that typically
appears to applications as a single database.

Consequently, an application can


simultaneously access and modify the data in
several databases in a network. Each Oracle
database in the system is controlled by its
local Oracle server but cooperates to maintain
the consistency of the global distributed
database.
An Oracle Distributed Database System
Clients and Servers
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 system is
a node. A node in a distributed database system act as a
client, a server, or both, depending on the situation. For
example, in the above diagram, the computer that manages
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 query
against the local DEPT table), and 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).
Direct and Indirect Connections
A client can connect directly or indirectly
to a database server.
In the above diagram, when the client
application issues the first and third
statements for each transaction, the
client is connected directly to the
intermediate HQ database and indirectly
to the SALES database that contains the
remote data.
The Network
To link the individual databases of a distributed database system, a
network is necessary. The following sections explain more about network
issues in an Oracle distributed database system.

Net8
All Oracle databases in a distributed database system use Oracle's
networking software, Net8, to facilitate inter-database communication
across a network. Just as Net8 connects clients and servers that operate
on different computers of a network, it also allows database servers to
communicate across networks to support remote and distributed
transactions in a distributed database.

Net8 makes transparent the connectivity that is necessary to transmit SQL


requests and receive data for applications that use the system. Net8 takes
SQL statements from a client and packages them for transmission to an
Oracle server over a supported industry-standard communication protocol
or programmatic interfaces. Net8 also takes replies from a server and
packages them for transmission back to the appropriate client. Net8
performs all processing independent of an underlying network operating
system
Oracle Names
Optionally, an Oracle network can use Oracle
Names to provide the system with a global
directory service. When an Oracle network
supports a distributed database system, you
can use Oracle Names servers as a central
repositories of information about each
database in the system to ease the
configuration of distributed database access.
Databases and Database Links
Each database in a distributed database is
distinct from all other databases in the system
and has its own global database name.

Oracle forms a database's global database


name by prefixing the database's network
domain with the individual database's name.
For example, the below figure illustrates a representative
hierarchical arrangement of databases throughout a network.
individual name, each database must have a
While several databases can have the same

unique global database name.

Network Directories and Global


Database Names
Database Links
To facilitate application requests in a distributed database system,
Oracle uses database links. A database link defines a one-way
communication path from an Oracle database to another database.
Database links are essentially transparent to the users of an Oracle
distributed database system, because the name of a database link is
the same as the global name of the database to which the link
points. For example, the following SQL statement creates a
database link in the local database that describes a path to the
remote SALES.US.AMERICAS.ACME_AUTO.COM database.

CREATE DATABASE LINK


sales.us.americas.acme_auto.com ... ;
After creating a database link, applications connected to the local
database can access data in the remote
SALES.US.AMERICAS.ACME_AUTO.COM database.
Distributed Databases and Distributed Processing
The terms "distributed database" and "distributed processing"
are closely related, but have very distinct meanings.
Distributed A distributed database is a set of databases stored on
Database multiple computers that appears to applications as a
single database.
Distributed Distributed processing occurs when an application
Processing system distributes its tasks among different
computers in a network. For example, a database
application typically distributes front-end
presentation tasks to client PCs or NCs 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.
Oracle distributed database systems
employ a distributed processing
architecture to function.

For example, an Oracle server acts as a


client when it requests data that another
Oracle server manages
Distributed Databases and Database Replication
The terms "distributed database" and
"database replication" are also closely related,
yet different. In a pure distributed database,
the system manages a single copy of all data
and supporting database objects.

Distributed database applications typically use


distributed transactions to access both local
and remote data and modify the global
database in real-time.
Replication is the process of copying and
maintaining database objects in multiple
databases that make up a distributed
database system.

While replication relies on distributed


database technology to function, database
replication can offer applications benefits that
are not possible within a pure distributed
database environment.
Heterogeneous Distributed Databases
A heterogeneous distributed database is a distributed
database in which at least one of the databases is a non-
Oracle system. Access to non-Oracle systems from an
Oracle server is provided by Oracle Open Gateways. The
Oracle server, together with the gateway, can provide full
heterogeneity transparency to the application. That is, the
application doesn't have to be aware that a non-Oracle
system is accessed.

Database links are used between the Oracle server and the
non-Oracle system to access the data in the non-Oracle
system, or to execute a remote procedure in the non-Oracle
system. By integrating the transactional system of the non-
Oracle system with the Oracle server, the integrity of the
data can be guaranteed
Transparent SQL Access
The application just issues Oracle SQL
statements against the local Oracle server. The
SQL statement can refer to data in a remote non-
Oracle system, just as if it were a remote Oracle
system. The Oracle server, together with the
gateway, will perform the necessary translations
to access the non-Oracle system in its own SQL
dialect.
Procedural Access
Some non-Oracle systems need to be accessed procedurally. The
application just issues a PL/SQL remote procedure call,
and the Oracle server, together with the gateway, will
perform translations to execute procedures or functions in
the remote non-Oracle system.

For example, the remote procedure could interface with a


messaging system and put messages in the non-Oracle
messaging system

If the messaging system has transactional support, the


Oracle server together with the gateway, could perform
operations in the messaging system in a larger Oracle
distributed transaction, guaranteeing that either all changes
(both in the messaging system and in the Oracle server)
are committed or rolled back.
Gateway Features
In summary, features of Oracle Open Gateways include, but are
not limited to:
1) Distributed Transactions. A transaction can span both Oracle and
non-Oracle systems, while still guaranteeing, through Oracle's two
phase commit mechanism, that changes are either all committed or
all rolled back.
2) Transparent SQL access. Integrate data from non-Oracle systems
into the Oracle environment as if the data is stored in one single, local
database. SQL statements issued by the application are transparently
transformed into SQL statement understood by the non-Oracle
system.
3) Procedural Access. Procedural systems, like messaging and queuing
systems, are accessed from an Oracle server using PL/SQL remote
procedure calls.
4) Data Dictionary translations. To make the non-Oracle system appear
as another Oracle server, SQL statements containing references to
Oracle's data dictionary tables are transformed into SQL statements
containing references to a non-Oracle system's data dictionary tables.
5) Pass-through SQL. Optionally, application programmers
can directly access a non-Oracle system from an Oracle
application using the non-Oracle system's SQL dialect.
6) Accessing stored procedures. Stored procedures in SQL-
based non-Oracle systems are accessed as if they were
PL/SQL remote procedures.
7) National Language Support. Gateways supports multibyte
character sets, and will translate character sets between a
non-Oracle system and the Oracle server.
8) Global query optimization. Cardinality and indexes on
tables at the non-Oracle system are taken into account by
the Oracle query optimizer and decomposed to produce
efficient SQL statements to be executed at the non-Oracle
system.
Distributed Database Security
Oracle supports all of the security features that are available
with a non-distributed database environment for distributed
database systems, including:
password or external service authentication for users and
roles
login packet encryption for client-to-server and server-to-
server connections
Supporting User Accounts and Roles
In a distributed database system, you must carefully plan the user
accounts and roles that are necessary to support applications using the
system.
The user accounts necessary to establish server-to-server connections
must be available in all databases of the distributed database system.
The roles necessary to make available application privileges to
distributed database application users must be present in all databases of
the distributed database system.
As you create the database links for the nodes in a distributed database
system, determine what user accounts and roles each site needs to
support server-to-server connections that use the links.
Global Users and Roles
In a distributed environment, users typically require access to many
network services. When it's necessary to configure separate
authentications for each user to access each network service,
security administration can become unwieldy, especially for large
systems. The use of a global authentication service is a common
technique for simplifying security management for distributed
environments
In an Oracle client/server or distributed database environment, you
have two options to support global authentication for users and roles:
Oracle Security Server is a product that supports centralized
authentication and distributed authentication in an Oracle network.
Oracle Security Server is a standard option of Oracle.
When global database user and role authentication must work within
the framework of a non-Oracle authentication service (for example,
DCE), an Oracle distributed database environment can use Net8's
Advanced Networking Option. The Net8 Advanced Networking Option
is an optional product that bundles a number of features that you can
use to enhance Net8 and the security of an Oracle distributed database
system
Data Encryption
The Net8 Advanced Networking Option also enables
Net8 and related products to use network data
encryption and checksumming so that data cannot be
read or altered.

It protects data from unauthorized viewing by using the


RSA Data Security RC4 or the Data Encryption
Standard (DES) encryption algorithm.

To ensure that data has not been modified, deleted, or


replayed during transmission, the security services of
the Advanced Networking Option can generate a
cryptographically secure message digest and include it
with each packet sent across the network.
Tools for Administering Oracle
Distributed Databases
The database administrator has several choices
for tools to use when managing an Oracle
distributed database system:

1)Oracle Enterprise Manager

2)Third-party administration tools

3)SNMP support
Oracle Enterprise Manager
Oracle Enterprise Manager is Oracle's database
administration tool. The graphical component of
Oracle Enterprise Manager allows you to perform
database administration tasks with the
convenience of a graphical user interface (GUI).
The line mode component of Oracle Enterprise
Manager provides a line-mode interface
Oracle Enterprise Manager provides administrative
functionality via an easy-to-use interface. You can use Oracle
Enterprise Manager to:
1) Perform traditional administrative tasks, such as database
startup, shutdown, backup, and recovery. Rather than
manually entering the SQL commands to perform these
tasks, you can use Oracle Enterprise Manager's graphical
interface to execute the commands quickly and conveniently
by pointing and clicking with the mouse
2) Administer multiple databases. You can use Oracle
Enterprise Manager to administer a single database or to
simultaneously administer multiple databases.
3) Centralize database administration tasks. You can
administer both local and remote databases running on any
Oracle platform in any location worldwide
4) Perform administrative tasks using Oracle Enterprise
Manager's line-mode interface when a graphical user
interface is unavailable or undesirable.
Third-Party Administration Tools
Currently more than 60 companies produce more than 150
products that help manage Oracle databases and networks,
providing a truly open environment.
SNMP Support
Besides its network administration capabilities,
Oracle Simple Network Management Protocol (SNMP)
support allows an Oracle server to be located and
queried by any SNMP-based network management
system. SNMP is the accepted standard underlying
many popular network management systems such as:
HP's OpenView
Digital's POLYCENTER Manager on NetView
IBM's NetView/6000
Novell's NetWare Management System
SunSoft's SunNet Manager
National Language Support
Oracle supports client/server environments
where clients and servers use different character
sets.
The character set used by a client is defined by
the value of the NLS_LANG parameter for the
client session.

The character set used by a server is its


database character set. Data conversion is done
automatically between these character sets if
they are different.
Architecture of Centralized Database System.
Centralized Database - an overview
Distributed Databases - an overview
Distributed Database And Its Architecture Using Oracle, MySql
Centralized vs. Distributed Databases

You might also like