分布式数据库是在集中式数据库系统成熟技术的基础上发展起来的,它使物理分布的数据构成了一个逻辑整体。对用户来说,一个分布式数据库系统逻辑上就如同一个集中式数据库,用户可以在任何一个场地执行全局应用。informix是一个具有跨平台、全功能的关系型数据库,它可在online 7.1以上版本中将i-star等网络产品进行集成,并使其不但支持本地数据库,而且支持分布式数据库。
当前,银行、保险等金融行业均存在多业务处理系统,比如银行的综合业务、代理业务,保险的出单业务等,各业务系统常驻留于不同的主机上。为达到系统间数据共享,提高数据的安全性及完整性,增强整个系统的应用功能,需要构建分布式处理,这在实际应用中已显示出重要的作用。建立在unix基础上的informix分布式数据库,需对服务器端的文件hosts、hosts.equiv、services、sqlhosts作相应设置。
一、 服务器端的配置
假设在网络上有两个数据库服务器,分别命名为motor2000、zhtj2000,网络连接采用tcp/ip协议。
设置网络结点:
/etc/hosts.equiv
gztb_motor
gztb_zhtj
设置网络结点机器名及ip地址:
/etc/hosts
161.83.1.1 gztb_motor
161.83.1.2 gztb_zhtj
设置数据库服务的services名称及端口号:
/etc/services
sqlexec_1 9991/tcp
sqlexec_2 9992/tcp
端口号9991、9992不能与已有的端口号重复。
设置服务器名称、端口、协议间的对应关系: $informixdir/etc/sqlhosts
motor2000 ontlitcp gztb_motor sqlexec_1
zhtj2000 ontlitcp gztb_zhtj sqlexec_2
通过sqlhosts这个设置文件可知道motor2000数据库服务器位于gztb_motor结点上,并且其services名为sqlexec_1,对应端口号为9991,从/etc/hosts可知网络服务器gztb_motor的网络地址为161.83.1.1,再通过9991端口号向网络地址为161.83.1.2的zhtj2000数据库服务器提出数据操作的请求。
二、 分布式数据库的使用范例
假设在motor2000服务器中有motor数据库(insur_f、veh_list是其中的表),zhtj2000服务器中有zhtj数据库(tj_ssfy、tj_chb 是其中的表)。
例1 从zhtj2000主机发出sql命令,检索出motor中insur_f 表的所有数据,且insur_f的p_no字段值在zhtj数据库的tj_ssfy表中 。
select p_no
from motor @ motor2000:insur_f
where p_no in (select dzhhm from zhtj:tj_ssfy)
例2 把motor2000服务器veh_list表中的数据插入到zhtj2000主机的tj_chb表中 。
insert zhtj:tj_chb
select * from motor @ motor2000:veh_list
where p_no not in (select dzhhm from zhtj:tj_chb)
例3 用zhtj2000服务器的tj_ssfy表中的shshje合计值更新motor2000服务器中insurf表的act_pre字段值。
update motor:insurf set act_pre =
(select sum(shshje) from zhtj@ zhtj2000:tj_ssfy
where dzhhm = insurf.p_no)
三、 调整分布式数据库的通讯量
在多online主机数据交互操作性强、网络负载较重情况下,网络通讯极易成为制约数据库应用性能的“瓶颈”,这时通过调配主机间的通讯流量,可极大地提高分布式数据库的综合性能。具体方法有如下4种:1在服务器端建立经过系统优化的常用存储过程,把更多的工作交由数据库服务器完成;2创建触发器trigger,它是一种特殊的存储例程;3用prepare对sql语句进行预处理,减少数据库系统对sql语句分析的信息传输量;4适当增大共享内存的大小。以上方法均可有效地减小网络通讯的数据流量,减轻网络的负载。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器