數(shù)據(jù)庫(kù)服務(wù)器是提供給程序或計(jì)算機(jī)連接到數(shù)據(jù)庫(kù)的一種“客戶端-服務(wù)器”模型的計(jì)算機(jī)程序,也指運(yùn)行這種程序的計(jì)算機(jī)。數(shù)據(jù)庫(kù)服務(wù)器一般由計(jì)算機(jī)和數(shù)據(jù)庫(kù)管理軟件構(gòu)成。
數(shù)據(jù)庫(kù)服務(wù)器的功能
數(shù)據(jù)庫(kù)服務(wù)器的功能實(shí)現(xiàn)依賴于數(shù)據(jù)庫(kù)管理系統(tǒng)。如MySQL之類的部分?jǐn)?shù)據(jù)庫(kù)管理系統(tǒng)完全依賴于數(shù)據(jù)庫(kù)服務(wù)器的“客戶端-服務(wù)器”模型才能進(jìn)行數(shù)據(jù)庫(kù)訪問(wèn)。
數(shù)據(jù)庫(kù)服務(wù)器是溝通用戶和數(shù)據(jù)庫(kù)有兩種方式。一種是用戶可以通過(guò)在計(jì)算機(jī)上運(yùn)行的前端軟件來(lái)來(lái)訪問(wèn)數(shù)據(jù)庫(kù)服務(wù)器,數(shù)據(jù)庫(kù)服務(wù)器直接顯示用戶所請(qǐng)求的數(shù)據(jù)。第二種則是用戶通過(guò)發(fā)送請(qǐng)求,在服務(wù)器上運(yùn)行的后端來(lái)完成數(shù)據(jù)分析和存儲(chǔ)等任務(wù)。
在主從模式的數(shù)據(jù)庫(kù)服務(wù)器中,數(shù)據(jù)庫(kù)主服務(wù)器是數(shù)據(jù)的核心位置,而數(shù)據(jù)庫(kù)從服務(wù)器則是作為主服務(wù)器代理或提供同步備份的。數(shù)據(jù)庫(kù)服務(wù)器大多數(shù)有著自己的響應(yīng)查詢語(yǔ)言,每個(gè)數(shù)據(jù)庫(kù)通過(guò)用戶的查詢語(yǔ)言,將提交的查詢信息轉(zhuǎn)換為服務(wù)器可讀的形式,執(zhí)行并給出檢索結(jié)果。
目前常見(jiàn)的專有數(shù)據(jù)庫(kù)服務(wù)器包括Oracle,DB2,Informix和Microsoft SQL Server。免費(fèi)軟件數(shù)據(jù)庫(kù)服務(wù)器包括PostgreSQL;采用GNU通用公共許可證的,包括Ingres和MySQL。每個(gè)服務(wù)器都有著自己的查詢邏輯和結(jié)構(gòu)。所有關(guān)系數(shù)據(jù)庫(kù)服務(wù)器上的SQL(結(jié)構(gòu)化查詢語(yǔ)言)查詢語(yǔ)言都有或多或少相同之處。
數(shù)據(jù)庫(kù)服務(wù)器一般建立在數(shù)據(jù)庫(kù)系統(tǒng)基礎(chǔ)上,具有數(shù)據(jù)庫(kù)系統(tǒng)的特性和功能,可提供系統(tǒng)配置與管理、數(shù)據(jù)存取與更新管理、數(shù)據(jù)完整性管理和數(shù)據(jù)安全性管理??商峁?shù)據(jù)庫(kù)的維護(hù)功能,如數(shù)據(jù)導(dǎo)入/導(dǎo)出管理,數(shù)據(jù)庫(kù)結(jié)構(gòu)維護(hù)、數(shù)據(jù)恢復(fù)功能和性能監(jiān)測(cè)。在數(shù)據(jù)庫(kù)訪問(wèn)客戶較多時(shí),數(shù)據(jù)庫(kù)服務(wù)器支持并行運(yùn)行機(jī)制,可處理多個(gè)事件同時(shí)發(fā)生。
數(shù)據(jù)庫(kù)服務(wù)器的特點(diǎn)
數(shù)據(jù)庫(kù)服務(wù)器幫助用戶與數(shù)據(jù)庫(kù)之間架起了一道橋梁。數(shù)據(jù)庫(kù)服務(wù)器提供了用于數(shù)據(jù)操縱的標(biāo)準(zhǔn)接口API,從而減少了編程量,并且為數(shù)據(jù)庫(kù)提供了可統(tǒng)一管理的數(shù)據(jù)庫(kù)備份/恢復(fù)、啟動(dòng)/停止數(shù)據(jù)庫(kù)的管理工具。
數(shù)據(jù)庫(kù)服務(wù)器在安全方面為數(shù)據(jù)庫(kù)提供了保障,其提供的性能監(jiān)控、并發(fā)控制的工具解決了數(shù)據(jù)庫(kù)的后顧之憂,由數(shù)據(jù)庫(kù)管理員統(tǒng)一負(fù)責(zé)授權(quán)給訪問(wèn)數(shù)據(jù)庫(kù)和網(wǎng)絡(luò)管理。
數(shù)據(jù)庫(kù)服務(wù)器把數(shù)據(jù)管理和處理工作等從客戶端分割開(kāi),使得網(wǎng)絡(luò)中的計(jì)算機(jī)資源配置更為靈活。降低了網(wǎng)絡(luò)成本,減少了資源之間的競(jìng)爭(zhēng),避免死鎖,提供了聯(lián)機(jī)查詢優(yōu)化機(jī)制,讓數(shù)據(jù)庫(kù)資源分配更為合理。
數(shù)據(jù)庫(kù)服務(wù)器還能提供給各種擴(kuò)展功能,如多處理器的水平擴(kuò)展,多個(gè)服務(wù)器的水平擴(kuò)展或者垂直擴(kuò)展,服務(wù)器可以服務(wù)器可以移植到功能更強(qiáng)的計(jì)算機(jī)上而不用涉及處理數(shù)據(jù)的重新分布問(wèn)題。
在大數(shù)據(jù)時(shí)代,數(shù)據(jù)庫(kù)服務(wù)器為用戶與數(shù)據(jù)庫(kù)之間的橋梁,成為大數(shù)據(jù)的核心,也是大數(shù)據(jù)時(shí)代處理數(shù)據(jù)的鑰匙。