日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

如何構(gòu)建Informix分布式數(shù)據(jù)庫訪問


分布式數(shù)據(jù)庫是在集中式數(shù)據(jù)庫系統(tǒng)成熟技術(shù)的基礎(chǔ)上發(fā)展起來的,它使物理分布的數(shù)據(jù)構(gòu)成了一個邏輯整體 。對用戶來說,一個分布式數(shù)據(jù)庫系統(tǒng)邏輯上就如同一個集中式數(shù)據(jù)庫,用戶可以在任何一個場地執(zhí)行全局應(yīng)用 。Informix是一個具有跨平臺、全功能的關(guān)系型數(shù)據(jù)庫,它可在Online 7.1以上版本中將I-star等網(wǎng)絡(luò)產(chǎn)品進(jìn)行集成,并使其不但支持本地數(shù)據(jù)庫,而且支持分布式數(shù)據(jù)庫 。
當(dāng)前,銀行、保險等金融行業(yè)均存在多業(yè)務(wù)處理系統(tǒng),比如銀行的綜合業(yè)務(wù)、代理業(yè)務(wù),保險的出單業(yè)務(wù)等,各業(yè)務(wù)系統(tǒng)常駐留于不同的主機上 。為達(dá)到系統(tǒng)間數(shù)據(jù)共享,提高數(shù)據(jù)的安全性及完整性,增強整個系統(tǒng)的應(yīng)用功能,需要構(gòu)建分布式處理,這在實際應(yīng)用中已顯示出重要的作用 。建立在Unix基礎(chǔ)上的Informix分布式數(shù)據(jù)庫,需對服務(wù)器端的文件hosts、hosts.equiv、services、sqlhosts作相應(yīng)設(shè)置 。
一、 服務(wù)器端的配置
假設(shè)在網(wǎng)絡(luò)上有兩個數(shù)據(jù)庫服務(wù)器,分別命名為motor2000、zhtj2000,網(wǎng)絡(luò)連接采用TCP/IP協(xié)議 。
設(shè)置網(wǎng)絡(luò)結(jié)點:
/etc/hosts.equiv
gztb_motor
gztb_zhtj
設(shè)置網(wǎng)絡(luò)結(jié)點機器名及IP地址:
/etc/hosts
161.83.1.1 gztb_motor
161.83.1.2 gztb_zhtj
設(shè)置數(shù)據(jù)庫服務(wù)的Services名稱及端口號:
/etc/services
sqlexec_1 9991/tcp
sqlexec_2 9992/tcp
端口號9991、9992不能與已有的端口號重復(fù) 。
設(shè)置服務(wù)器名稱、端口、協(xié)議間的對應(yīng)關(guān)系: $INFORMIXDIR/etc/sqlhosts
motor2000 ontlitcp gztb_motor sqlexec_1
zhtj2000 ontlitcp gztb_zhtj sqlexec_2
通過sqlhosts這個設(shè)置文件可知道m(xù)otor2000數(shù)據(jù)庫服務(wù)器位于gztb_motor結(jié)點上,并且其Services名為sqlexec_1,對應(yīng)端口號為9991,從/etc/hosts可知網(wǎng)絡(luò)服務(wù)器gztb_motor的網(wǎng)絡(luò)地址為161.83.1.1,再通過9991端口號向網(wǎng)絡(luò)地址為161.83.1.2的zhtj2000數(shù)據(jù)庫服務(wù)器提出數(shù)據(jù)操作的請求 。二、 分布式數(shù)據(jù)庫的使用范例
假設(shè)在motor2000服務(wù)器中有motor數(shù)據(jù)庫(insur_f、veh_list是其中的表),zhtj2000服務(wù)器中有zhtj數(shù)據(jù)庫(tj_ssfy、tj_chb 是其中的表) 。
例1 從zhtj2000主機發(fā)出SQL命令,檢索出motor中insur_f 表的所有數(shù)據(jù),且insur_f的p_no字段值在zhtj數(shù)據(jù)庫的tj_ssfy表中。
SELECT p_no
FROM motor @ motor2000:insur_f
WHERE p_no IN (SELECT dzhhm FROM zhtj:tj_ssfy)
例2 把motor2000服務(wù)器veh_list表中的數(shù)據(jù)插入到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服務(wù)器的tj_ssfy表中的shshje合計值更新motor2000服務(wù)器中insurf表的act_pre字段值 。
UPDATE motor:insurf SET act_pre =
(SELECT sum(shshje) FROM zhtj@ zhtj2000:tj_ssfy
WHERE dzhhm = insurf.p_no)【如何構(gòu)建Informix分布式數(shù)據(jù)庫訪問】三、 調(diào)整分布式數(shù)據(jù)庫的通訊量
在多Online主機數(shù)據(jù)交互操作性強、網(wǎng)絡(luò)負(fù)載較重情況下,網(wǎng)絡(luò)通訊極易成為制約數(shù)據(jù)庫應(yīng)用性能的“瓶頸”,這時通過調(diào)配主機間的通訊流量,可極大地提高分布式數(shù)據(jù)庫的綜合性能 。具體方法有如下4種:1在服務(wù)器端建立經(jīng)過系統(tǒng)優(yōu)化的常用存儲過程,把更多的工作交由數(shù)據(jù)庫服務(wù)器完成;2創(chuàng)建觸發(fā)器TRIGGER,它是一種特殊的存儲例程;3用prepare對SQL語句進(jìn)行預(yù)處理,減少數(shù)據(jù)庫系統(tǒng)對SQL語句分析的信息傳輸量;4適當(dāng)增大共享內(nèi)存的大小 。以上方法均可有效地減小網(wǎng)絡(luò)通訊的數(shù)據(jù)流量,減輕網(wǎng)絡(luò)的負(fù)載 。

    推薦閱讀