張雅棋
(天津泰達(dá)水業(yè)有限公司 天津300457)
數(shù)據(jù)庫實現(xiàn)了對海量數(shù)據(jù)的存儲和管理,現(xiàn)代數(shù)據(jù)庫還實現(xiàn)了對數(shù)據(jù)的查詢及收集功能,為研究人員提供主要的數(shù)據(jù)情報支持。隨著大數(shù)據(jù)時代的到來,數(shù)據(jù)管理和操作的重要性也更為人們所重視。目前水務(wù)系統(tǒng)中最為常用的3個數(shù)據(jù)庫為SQL Sever、MySQL和Oracle,其優(yōu)勢與對應(yīng)人群也各有不同。
MySQL是由瑞典MySQL AB公司開發(fā)的關(guān)系型數(shù)據(jù)庫系統(tǒng),關(guān)系數(shù)據(jù)庫將數(shù)據(jù)保存在不同的表單中,而不是像SQL Server或Oracle將所有數(shù)據(jù)放在一個大倉庫內(nèi),可極大提升速度和靈活性。MySQL采用雙授權(quán)政策可分為社區(qū)版和商業(yè)版,其體積小,速度快,總體擁有成本低,且可開放源代碼,更適合用于中小型網(wǎng)站開發(fā)。
MySQL是一個多用戶多線程SQL數(shù)據(jù)庫服務(wù)器,也是一個客戶機/服務(wù)器結(jié)構(gòu)的實現(xiàn),由一個服務(wù)器守護(hù)程序MySQL和許多不同的客戶程序及庫組成。其主要目標(biāo)是快速和易用,可提供C、C++、Java和TCL等API接口,并有多平臺支持。MySQL的核心功能主要存在于第二層架構(gòu),例如查詢、分析、優(yōu)化、緩存及所有內(nèi)置函數(shù),大部分跨存儲引擎功能亦可在此層實現(xiàn)。
根據(jù)MySQL開發(fā)公司稱,MySQL是目前得到數(shù)據(jù)速度最快的數(shù)據(jù)庫之一,除了技術(shù)上的原因外,這一數(shù)據(jù)庫還精簡了一些對中小水務(wù)或環(huán)境企業(yè)不必要或不常用功能。相對于Oracle、SQL Server,通常情況下,證書數(shù)字和字符串等均用多種長度來表示,MySQL則提供了enum和set以前均不常用的枚舉類型,可運用在多個環(huán)境之中。同時,在正確使用這兩個字段類型的基礎(chǔ)上,這個程序設(shè)計可以有效地省去諸多表單的鏈接,有效提高程序性能。
MySQL更多的是對SQL標(biāo)準(zhǔn)的補充,增添了一些擴展功能使其更符合中小企業(yè)業(yè)務(wù)系統(tǒng)需求,而相對于需要大量水務(wù)系統(tǒng)數(shù)據(jù)支持的水務(wù)公司則顯得頗有限制性。水務(wù)公司需要數(shù)據(jù)庫有極強的數(shù)據(jù)靈活性與運用性,在查詢、刪減與更改數(shù)據(jù)方面要求數(shù)據(jù)庫有絕對優(yōu)勢并且有相對高的安全性,MySQL雖然有相對豐富的功能,但由于是開源數(shù)據(jù)庫,在數(shù)據(jù)的運用性能上更為減弱,故對于水務(wù)公司也不甚理想。
在費用方面,MySQL的價格相對其他兩種數(shù)據(jù)庫更為便宜,同時也隨著平臺和安裝方式的變化而發(fā)生改變。MySQL版本中除了Windows NT和9X不免費外,任何Unix變種的MySQL若由用戶自己或系統(tǒng)管理員安裝都是免費的。
SQL Server數(shù)據(jù)庫提供了基于實物的企業(yè)級信息管理系統(tǒng)方案,是一個可擴展、高性能、為分布式客戶機或服務(wù)器設(shè)計的數(shù)據(jù)庫管理系統(tǒng)。SQL Server最初是由美國Microsoft公司、Sybase和Ashton-Tate 3家公司共同開發(fā)推出的關(guān)系型數(shù)據(jù)庫系統(tǒng),后由Microsoft為主專注開發(fā)推廣SQL Server的Windows NT版本,先后推出了SQL Server 2000、2005、2008、2012、2014版本,逐步推進(jìn)且突破自身局限性,為要求最高的數(shù)據(jù)庫應(yīng)用系統(tǒng)提供關(guān)鍵性業(yè)務(wù)需求。
SQL Server數(shù)據(jù)庫具有信息數(shù)據(jù)管理、匯總及統(tǒng)計等功能,可對數(shù)據(jù)進(jìn)行針對性分類及歸納統(tǒng)計,實現(xiàn)數(shù)據(jù)間的聯(lián)系和匯總并以合理的方式進(jìn)行存儲,以此提高數(shù)據(jù)庫的工作效率[1]。
可支持Windows圖形化管理工具,本地和遠(yuǎn)程的系統(tǒng)管理及配置,擁有先進(jìn)的系統(tǒng)管理功能,并且擁有自主語言SQL,支持對稱處理器結(jié)構(gòu)、存儲過程,是一個出眾的相對大型的數(shù)據(jù)庫。
SQL Server相對于My SQL數(shù)據(jù)庫可存儲信息量更大且運行相對快速、穩(wěn)定。因需要對大量內(nèi)容復(fù)雜的數(shù)據(jù)進(jìn)行查詢,SQL Server數(shù)據(jù)庫可利用自身優(yōu)勢對數(shù)據(jù)完整性進(jìn)行保護(hù),確保增刪改及查詢等基本操作不會對數(shù)據(jù)造成影響,且數(shù)據(jù)庫的歷史信息、數(shù)據(jù)和瀏覽均在不可編輯下執(zhí)行,查詢功能設(shè)有對應(yīng)權(quán)限,否則操作提示失敗[2]。
SQL Server在我國眾多水務(wù)集團中被廣泛使用,其主要原因不外乎它的高可用性技術(shù),包括:集群、復(fù)制、鏡像、日志傳送,AlwaysOn可用性組及其他如文件組備份還原,在線重建索引等單實例的高可用性技術(shù)[3]。目前我公司使用的均為SQL Server數(shù)據(jù)庫,其強大的數(shù)據(jù)復(fù)制、增刪、修改模式及表單錄入系統(tǒng)為職能部門的日常辦公生活提供了極大便捷。此外,針對水務(wù)公司必不可少的地理信息系統(tǒng)(Geographic Information System,簡稱GIS)而建立的數(shù)據(jù)庫管理系統(tǒng),更是對數(shù)據(jù)庫的存儲、檢索、分析和顯示空間數(shù)據(jù)等功能提出了更精細(xì)的要求,以達(dá)到通過對空間地理信息和數(shù)據(jù)庫信息的綜合管理,為相關(guān)部門提供全面的決策支持、動態(tài)模擬、統(tǒng)計分析和預(yù)測預(yù)報等服務(wù)。在相關(guān)營業(yè)系統(tǒng)中,SQL Server也因其強大的存儲及檢索功能為公司的客戶管理、日常收費等工作提供了諸多支持。
在擴展性方面SQL明顯弱于Oracle,強于MySQL。SQL Server是當(dāng)前國內(nèi)水務(wù)行業(yè)最流行的數(shù)據(jù)庫之一,主要由于其易操作性及相對簡單的界面,并且SQL Server與其他數(shù)據(jù)庫如Access、FoxPro、Excel等有良好的ODBC接口,可將上述數(shù)據(jù)庫轉(zhuǎn)為SQL Server數(shù)據(jù)庫。前文中提到MySQL數(shù)據(jù)庫不支持事務(wù)處理,沒有識圖,沒有存儲過程和觸發(fā)器,沒有數(shù)據(jù)庫端的用戶自定義函數(shù)也不能完全使用標(biāo)準(zhǔn)SQL語言,其在擴展性方面明顯弱于使用方便、伸縮性好且與軟件集成度高的SQL Server,二者難以相提并論[3]。Oracle數(shù)據(jù)庫比起SQL Server則擁有更多的優(yōu)勢,它可在所有主流平臺上運行且完全支持所有的工業(yè)標(biāo)準(zhǔn),可任由客戶選擇最合適自身的解決方案,在專業(yè)技術(shù)方面的拓展性完全強于SQL Server,但最大劣勢則在于價格方面更為昂貴,因此對于需要長期使用且對開放性、聯(lián)結(jié)性要求不高的中小型水務(wù)企業(yè)而言,價格相對居中的SQL Server更為合適。
Oracle數(shù)據(jù)庫也稱為Oracle RDBMS,是目前世界上流行的關(guān)系數(shù)據(jù)庫管理系統(tǒng),系統(tǒng)可移植性好,使用方便,功能強勁,可用于各類大中小微機環(huán)境,是一種高效率、可靠性好、適應(yīng)高吞吐量的數(shù)據(jù)庫解決方案。
Oracle數(shù)據(jù)庫具有完整的數(shù)據(jù)管理功能,相對于其他兩種數(shù)據(jù)庫類型(MySQL和SQL Server)可存儲更大量的數(shù)據(jù),且數(shù)據(jù)保存的持久性相對穩(wěn)定,同時使數(shù)據(jù)具有可靠性及共享性。在數(shù)據(jù)的穩(wěn)定方面,Oracle可按條件把文本數(shù)據(jù)導(dǎo)入,數(shù)據(jù)導(dǎo)入工具Sqlload.exe比SQL Server的Bcp功能更好,且安全機制相對更為完善,進(jìn)行大數(shù)據(jù)處理的模塊Oracle具有更強大的運行機制,處理數(shù)據(jù)速度更為快捷精準(zhǔn)。
Oracle作為公認(rèn)的數(shù)據(jù)庫廠商,主要以多平臺兼容的特性為主,其產(chǎn)品可運行各大主流操作平臺,比起SQL Server專注于Windows平臺的單一性操作,提供了更多樣性的操作。Oracle的優(yōu)化效果較好,但數(shù)據(jù)庫比較復(fù)雜,因此在數(shù)據(jù)庫開發(fā)與管理人員的選擇上更為重要,在相關(guān)技術(shù)人員選擇的費用上也相對更高。數(shù)據(jù)庫設(shè)計越復(fù)雜完善,其提高的效果也越明顯,相對其他數(shù)據(jù)庫而言,Oracle提供了更復(fù)雜的優(yōu)化內(nèi)容,包括對表空間及存儲文件的規(guī)劃等。
目前在我國各大水務(wù)系統(tǒng)中僅有少部分南方水務(wù)公司使用Oracle數(shù)據(jù)庫,其主要原因在于費用與需求不相符。大部分水務(wù)公司對于數(shù)據(jù)庫的需求主要集中在數(shù)據(jù)的增刪減管理及提取調(diào)用方面,需要數(shù)據(jù)庫能夠保證數(shù)據(jù)的共享性、穩(wěn)定性及安全性,對于數(shù)據(jù)庫在主流平臺的兼容性并無過高要求。而Oracle數(shù)據(jù)庫的主要優(yōu)勢在于其兼容性,因其基于Java語言故可采用完全開放策略,使客戶選擇最適合的解決方案。但對于水務(wù)系統(tǒng)公司而言,開放式的數(shù)據(jù)平臺可提供一定的方便但卻不是必需存在的功能,且Oracle數(shù)據(jù)庫的價格更為昂貴,因此在選擇時,對價格更昂貴且實用性相同的Oracle數(shù)據(jù)庫,大部分水務(wù)集團會選用MySql或Sql Server。
據(jù)資料了解,目前SQL Server和MySQL數(shù)據(jù)庫在我國水務(wù)公司中的使用率高于Oracle數(shù)據(jù)庫,其基本原因在于水務(wù)系統(tǒng)公司對于數(shù)據(jù)庫的平臺兼容性需求低于其他類型的公司,且在數(shù)據(jù)庫的費用投資上相對保守。基于以上兩個條件,各大水務(wù)集團更傾向于居中的SQL Server數(shù)據(jù)庫,其利用率及安全性也更有保障,更值得推薦給中小型的水務(wù)系統(tǒng)使用。