分布式数据库系列(二)

分布式数据库与数据库复制对比
Distributed Databases Versus Replicated Databases
二者有关联,但也是明显区别.分布式数据库管理所有数据的单一拷贝.在通常情况下.
分布式数据库使用分布式事务访问本地和远程数据库,并实时修改全局数据库.

而复制数据库则是管理多数据库间的复制,并要维护和保持多个数据库的数据对象的一致
性.当复制依赖于分布式数据库技术时,数据库复制可以提供在分布式数据库环境中不能
提供的好处.
复制数据库主要为了提升本地数据库的性能,保证应用的可用性.因为提供另一种访问数据
的备选方法.

异质分布式数据库系统
Heterogeneous Distributed Database Systems
至少存在一个非oracle数据库.
对于应用而言,仍示为一个本地的数据库.
oracle要通过名为agent的oracle异质服务的组件访问oracle. 即oracle透明网关.
当然,也可以用通用连接器,即odbc or ole db协议访问非oracle,只要非oracle支持这些通用
连接器.

异质服务
Heterogeneous Services
 异质服务(简称:hs),它整合或集成到oracle之中,通过它启用oracle透明网关的功能.运用它
提供一个通用的体系架构和连接oracle与其它非oracle产品的管理机制.而且,具备与之前oracle
透明网关版本兼容的功能.

透明网关代理
Transparent Gateway Agents
 要访问非oracle,hs使用透明网关代理和非oracle联系交互.透明网关代理的版本与每个非oracle
相关.即不同的非oracle要用不同的代理.
 代理简化oracle与非oracle的交互与联系.通过代理,代表oracle,在非oracle上运行sql和事务.
 

通用连接
Generic Connectivity
  用它可以运用异质服务odbc agent or 异质服务oledb agent访问非oracle.此二者皆内含于oracle
之中.

 通用连接的优点是不用额外购买其它的代理产品.但是,一些新的功能只能在透明网关代理中获取.

此分节不用讲解
Client/Server Database Architecture
分为本地和远程节点
以db_link为界限

数据库链接
Database Links
它是分布式数据库的中心概念.
通过它应用把数据库视为一个逻辑数据库

本节包含如下几个主题:
This section contains the following topics:

数据库链接是什么
What Are Database Links?
 
为何使用数据库链接
Why Use Database Links?
 
数据库链接之下如何命名全局数据库名称
Global Database Names in Database Links
 
数据库链接的命名
Names for Database Links
 
数据库链接的类型
Types of Database Links
 
数据库链接的用户
Users of Database Links
 
创建数据库链接的几个示例
Creation of Database Links: Examples
 
模式对象与数据库链接
Schema Objects and Database Links
 
与数据库链接相关的若干操作限制
Database Link Restrictions


数据库链接是什么
What Are Database Links?
数据库链接是一个指针,即定义一条自一个数据库到另一个数据库之间的单向路径.
数据库链接的信息以记录方式存储于数据字典中
数据库链接是单向,非双向.即如要实现双端互访,要在双端数据库定义2个相应的
数据库链接
为了在分布式数据库中访问数据,要为分布式数据库中每个数据库定义唯一的名称,
即全局数据库名.此全局数据库适用于db_link

数据库链接分为私有和共同的.
私有仅创建数据库链接可以访问数据
共同所有数据库用户可以访问数据

数据库链接的主要区别在于访问数据的方式不同,其有哪下几种类型的数据库链接
connected user link
已连接的用户链接
 即在远程(目标)数据库创建如同在本地数据相同的用户名和密码,如此和使用本地
 数据库一样

fixed user link
固定的用户链接
  使用定义的数据库链接中的用户及密码进行链接.如此,连接用户会使用数据库链接
  中的用户所具备的权限和角色

current user link
  以全局用户身份链接.本地用户是以存储过程定义环境中的全局用户连接,而在定义的
  数据库链接中没有存储全局用户的密码.它是ORACLE高级安全的特性一个体现.
 
What Are Shared Database Links?
何谓共享数据库链接    
 即本地服务器进程与远程数据库的一个链接.此链接是共享性质,因为多个客户端进程可以
同时使用它.
 本地数据库使用它连接远程数据库时,本地与远程数据库的服务器模式有如下几种类型:
 
 本地数据库模式    远程数据库模式
    专用            专用
    专用            共享服务器
    共享服务器      专用
    共享服务器      共享服务器
   
而共享数据库链接即存储于上述组合类型之间.共享数据库链接和标准的数据库链接有一些区别:
 不同用户用共享数据库链接访问相同的用户下的对象可以共享相同的网络连接
 每当一个用户从特定的服务器进程构建到远程服务器的连接时,进程可以重用此已存在的连接.
 何时发生连接重用呢,即相同的服务器进程使用相同的数据库连接,可能是以不同的会话
 
 每当在共享服务器模式下,使用共享数据库链接时,此数据库链接直接在本地服务器下,直接从本
 地的共享服务器进程构建.而对于在本地共享服务器模式下,非共享数据库链接,数据库链接根据
 本地调度器构建,这样需要本地调度器的上下文切换成本,还需要调度器检查这些数据.提升成本.
 
Why Use Database Links?
  最大好处允许用户不用在远程数据库创建对应用户即可访问存取其用户数据.
  即不必是远程数据库所在对象的用户亦可访问其数据.     
   
数据库链接之下如何命名全局数据库名称
Global Database Names in Database Links
 db_domain+db_name
 mfg.division3.example_tools.com(此为全局数据库,自树叶子节点往上级节点,即为全局数据库名)
 
作为回环数据库链接的全局名称
Global Name as a Loopback Database Link
  SELECT * FROM [email protected];
  即如sql的数据库链接与当前的全局数据库名称相匹配,则忽略此数据库链接;说白了即查询本地数据库
 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9240380/viewspace-754821/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/9240380/viewspace-754821/

你可能感兴趣的:(数据库)