武漢市第十一醫(yī)院(武漢市紅十字會醫(yī)院)創(chuàng)建于1933年,有著近70年的輝煌歷史,現(xiàn)被指定為愛嬰醫(yī)院、首批基本醫(yī)療救助定點醫(yī)院之一,城鎮(zhèn)職工基本醫(yī)療保險醫(yī)保定點醫(yī)療機構(gòu)、江漢區(qū)子女互助合作定點醫(yī)院、同時也是江漢區(qū)社區(qū)醫(yī)療服務(wù)技術(shù)指導(dǎo)中心,系華中科技大學(xué)同濟醫(yī)學(xué)院臨床教學(xué)基地。
十一醫(yī)院的醫(yī)院信息管理系統(tǒng)是2003年上線的用PowerBuilder開發(fā)的老式系統(tǒng),存在很明顯的并發(fā)性能問題,同時由于SQL Server的版本升級,原有系統(tǒng)的不兼容問題越來越突出,由我們DBTwin的運行日志顯示,存在下列幾個方面的問題:
問題一: 不合理的事務(wù)嚴(yán)重影響了系統(tǒng)性能。只要客戶端的數(shù)據(jù)庫連接打開,客戶端就馬上請求事務(wù),即使沒有任何數(shù)據(jù)插入,更新和刪除操作也是如此。
解決辦法:DBTwin網(wǎng)關(guān)自動鑒別事務(wù),把不合理的事務(wù)過濾掉,提高整個系統(tǒng)的并發(fā)性能,從而提高性能。
問題二:由于是PowerBuilder開發(fā)的老式系統(tǒng),使用了*=,=*這種已經(jīng)過時了的,容易引起歧義的老式語法,而且這些老式語法已經(jīng)得不到SQL 2005開始的SQL Server新版本的支持。
解決辦法:DBTwin網(wǎng)關(guān)自動識別并轉(zhuǎn)換老式語法,使得其得到SQL2005,SQL2008的支持,例如把*=,=*自動轉(zhuǎn)換成為SQL-92標(biāo)準(zhǔn)的Left Outer Join和Right Outer Join。
問題三:存在明顯的性能問題。
解決辦法:經(jīng)過DBTwin自動鑒別和轉(zhuǎn)換后,再配合上DBTwin特有的數(shù)據(jù)庫負(fù)載均衡技術(shù),性能得到了明顯的提升。
問題四:原系統(tǒng)存在單點故障和容錯問題。
解決辦法:采用DBTwin的獨特數(shù)據(jù)庫集群方案,消除了系統(tǒng)的單點故障,解決了系統(tǒng)的容錯問題,系統(tǒng)可用性得到了明顯提高。
代碼質(zhì)量和版本問題,有的是連應(yīng)用軟件開發(fā)商也沒有意識到,甚至沒辦法解決的。在這種情況下,想通過軟件開發(fā)商來優(yōu)化代碼是困難重重。DBTwin做到了二進制兼容,對原有客戶系統(tǒng)完全透明,在絲毫不改變原有系統(tǒng)的前提下,解決了上述阻礙客戶順利運行系統(tǒng)的諸多方面問題。