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