Você está na página 1de 6

DistributedDatabaseArchitecture

Adistributeddatabasesystemallowsapplicationstoaccessdatafromlocalandremotedatabases.In
ahomogenousdistributeddatabasesystem,eachdatabaseisanOracleDatabase.In
aheterogeneousdistributeddatabasesystem,atleastoneofthedatabasesisnotanOracle
Database.Distributeddatabasesuseaclient/serverarchitecturetoprocessinformationrequests.
Thissectioncontainsthefollowingtopics:

HomogenousDistributedDatabaseSystems
HeterogeneousDistributedDatabaseSystems
Client/ServerDatabaseArchitecture

HomogenousDistributedDatabaseSystems
AhomogenousdistributeddatabasesystemisanetworkoftwoormoreOracleDatabasesthatresideon
oneormoremachines.Figure291illustratesadistributedsystemthatconnectsthree
databases: hq , mfg ,and sales .Anapplicationcansimultaneouslyaccessormodifythedatainseveral
databasesinasingledistributedenvironment.Forexample,asinglequeryfromaManufacturingclienton
localdatabase mfg canretrievejoineddatafromthe products tableonthelocaldatabaseand
the dept tableontheremote hq database.
Foraclientapplication,thelocationandplatformofthedatabasesaretransparent.Youcanalso
createsynonymsforremoteobjectsinthedistributedsystemsothatuserscanaccessthemwiththe
samesyntaxaslocalobjects.Forexample,ifyouareconnectedtodatabase mfg butwanttoaccessdata
ondatabase hq ,creatingasynonymon mfg fortheremote dept tableenablesyoutoissuethisquery:
SELECT*FROMdept

Inthisway,adistributedsystemgivestheappearanceofnativedataaccess.Userson mfg donothave


toknowthatthedatatheyaccessresidesonremotedatabases.
Figure291HomogeneousDistributedDatabase

Descriptionof"Figure291HomogeneousDistributedDatabase"
AnOracleDatabasedistributeddatabasesystemcanincorporateOracleDatabasesofdifferentversions.
AllsupportedreleasesofOracleDatabasecanparticipateinadistributeddatabasesystem.Nevertheless,
theapplicationsthatworkwiththedistributeddatabasemustunderstandthefunctionalitythatisavailable
ateachnodeinthesystem.AdistributeddatabaseapplicationcannotexpectanOracle7databaseto
understandtheSQLextensionsthatareonlyavailablewithOracleDatabase.

DistributedDatabasesVersusDistributedProcessing
Thetermsdistributeddatabaseanddistributedprocessingarecloselyrelated,yethavedistinct
meanings.Theredefinitionsareasfollows:

Distributeddatabase
Asetofdatabasesinadistributedsystemthatcanappeartoapplicationsasasingledatasource.
Distributedprocessing
Theoperationsthatoccurswhenanapplicationdistributesitstasksamongdifferentcomputersina
network.Forexample,adatabaseapplicationtypicallydistributesfrontendpresentationtaskstoclient
computersandallowsabackenddatabaseservertomanagesharedaccesstoadatabase.
Consequently,adistributeddatabaseapplicationprocessingsystemismorecommonlyreferredtoasa
client/serverdatabaseapplicationsystem.

Distributeddatabasesystemsemployadistributedprocessingarchitecture.Forexample,anOracle
DatabaseserveractsasaclientwhenitrequestsdatathatanotherOracleDatabaseservermanages.

DistributedDatabasesVersusReplicatedDatabases
Thetermsdistributeddatabasesystemanddatabasereplicationarerelated,yetdistinct.Inapure(that
is,notreplicated)distributeddatabase,thesystemmanagesasinglecopyofalldataandsupporting
databaseobjects.Typically,distributeddatabaseapplicationsusedistributedtransactionstoaccessboth
localandremotedataandmodifytheglobaldatabaseinrealtime.

Note:
Thisbookdiscussesonlypuredistributeddatabases.

Thetermreplicationreferstotheoperationofcopyingandmaintainingdatabaseobjectsinmultiple
databasesbelongingtoadistributedsystem.Whilereplicationreliesondistributeddatabasetechnology,
databasereplicationoffersapplicationsbenefitsthatarenotpossiblewithinapuredistributeddatabase
environment.
Mostcommonly,replicationisusedtoimprovelocaldatabaseperformanceandprotecttheavailabilityof
applicationsbecausealternatedataaccessoptionsexist.Forexample,anapplicationmaynormally
accessalocaldatabaseratherthanaremoteservertominimizenetworktrafficandachievemaximum
performance.Furthermore,theapplicationcancontinuetofunctionifthelocalserverexperiencesa
failure,butotherserverswithreplicateddataremainaccessible.

SeeAlso:
OracleDatabaseAdvancedReplicationformoreinformationaboutOracleDatabase
replicationfeatures
OracleStreamsConceptsandAdministrationforinformationaboutOracleStreams,another
methodofsharinginformationbetweendatabases

HeterogeneousDistributedDatabaseSystems
Inaheterogeneousdistributeddatabasesystem,atleastoneofthedatabasesisanonOracleDatabase
system.Totheapplication,theheterogeneousdistributeddatabasesystemappearsasasingle,local,
OracleDatabase.ThelocalOracleDatabaseserverhidesthedistributionandheterogeneityofthedata.
TheOracleDatabaseserveraccessesthenonOracleDatabasesystemusingOracleHeterogeneous

Servicesinconjunctionwithanagent.IfyouaccessthenonOracleDatabasedatastoreusinganOracle
TransparentGateway,thentheagentisasystemspecificapplication.Forexample,ifyouincludea
SybasedatabaseinanOracleDatabasedistributedsystem,thenyouneedtoobtainaSybasespecific
transparentgatewaysothattheOracleDatabaseinthesystemcancommunicatewithit.
Alternatively,youcanusegenericconnectivitytoaccessnonOracleDatabasedatastoressolongas
thenonOracleDatabasesystemsupportstheODBCorOLEDBprotocols.

Note:
Otherthantheintroductorymaterialpresentedinthischapter,thisbookdoesnotdiscuss
OracleHeterogeneousServices.SeeOracleDatabaseHeterogeneousConnectivity
Administrator'sGuideformoredetailedinformationaboutHeterogeneousServices.

HeterogeneousServices
HeterogeneousServices(HS)isanintegratedcomponentwithintheOracleDatabaseserverandthe
enablingtechnologyforthecurrentsuiteofOracleTransparentGatewayproducts.HSprovidesthe
commonarchitectureandadministrationmechanismsforOracleDatabasegatewayproductsandother
heterogeneousaccessfacilities.Also,itprovidesupwardlycompatiblefunctionalityforusersofmostofthe
earlierOracleTransparentGatewayreleases.

TransparentGatewayAgents
ForeachnonOracleDatabasesystemthatyouaccess,HeterogeneousServicescanuseatransparent
gatewayagenttointerfacewiththespecifiednonOracleDatabasesystem.Theagentisspecifictothe
nonOracleDatabasesystem,soeachtypeofsystemrequiresadifferentagent.
ThetransparentgatewayagentfacilitatescommunicationbetweenOracleDatabaseandnonOracle
DatabasesystemsandusestheHeterogeneousServicescomponentintheOracleDatabaseserver.The
agentexecutesSQLandtransactionalrequestsatthenonOracleDatabasesystemonbehalfofthe
OracleDatabaseserver.

SeeAlso:
YourOraclesuppliedgatewayspecificdocumentationforinformationabouttransparent
gateways

GenericConnectivity
GenericconnectivityenablesyoutoconnecttononOracleDatabasedatastoresbyusingeithera
HeterogeneousServicesODBCagentoraHeterogeneousServicesOLEDBagent.Bothareincluded
withyourOracleproductasastandardfeature.AnydatasourcecompatiblewiththeODBCorOLEDB
standardscanbeaccessedusingagenericconnectivityagent.

Theadvantagetogenericconnectivityisthatitmaynotberequiredforyoutopurchaseandconfigurea
separatesystemspecificagent.YouuseanODBCorOLEDBdriverthatcaninterfacewiththeagent.
However,somedataaccessfeaturesareonlyavailablewithtransparentgatewayagents.

Client/ServerDatabaseArchitecture
AdatabaseserveristheOraclesoftwaremanagingadatabase,andaclientisanapplicationthat
requestsinformationfromaserver.Eachcomputerinanetworkisanodethatcanhostoneormore
databases.Eachnodeinadistributeddatabasesystemcanactasaclient,aserver,orboth,depending
onthesituation.
InFigure292,thehostforthe hq databaseisactingasadatabaseserverwhenastatementisissued
againstitslocaldata(forexample,thesecondstatementineachtransactionissuesastatementagainst
thelocal dept table),butisactingasaclientwhenitissuesastatementagainstremotedata(for
example,thefirststatementineachtransactionisissuedagainsttheremotetable emp in
the sales database).
Figure292AnOracleDatabaseDistributedDatabaseSystem

Descriptionof"Figure292AnOracleDatabaseDistributedDatabaseSystem"
Aclientcanconnectdirectlyorindirectlytoadatabaseserver.Adirectconnectionoccurswhenaclient
connectstoaserverandaccessesinformationfromadatabasecontainedonthatserver.Forexample,if
youconnecttothe hq databaseandaccessthe dept tableonthisdatabaseasinFigure292,youcan
issuethefollowing:

SELECT*FROMdept

Thisqueryisdirectbecauseyouarenotaccessinganobjectonaremotedatabase.
Incontrast,anindirectconnectionoccurswhenaclientconnectstoaserverandthenaccesses
informationcontainedinadatabaseonadifferentserver.Forexample,ifyouconnecttothe hq database
butaccessthe emp tableontheremote sales databaseasinFigure292,youcanissuethefollowing:
SELECT*FROMemp@sales

Thisqueryisindirectbecausetheobjectyouareaccessingisnotonthedatabasetowhichyouare
directlyconnected.

Você também pode gostar