基于分布式數(shù)據(jù)庫(kù)或文件系統(tǒng)的高可用性的軟件架構(gòu)設(shè)計(jì)方案
2017-10-27 |
rar |
0.6 MB |
次下載 |
1積分
資料介紹
在業(yè)內(nèi),計(jì)算機(jī)應(yīng)用系統(tǒng)的可用性定義為計(jì)算機(jī)應(yīng)用系統(tǒng)保持正常運(yùn)行時(shí)間的百分比,通常用表1所示的“9”的個(gè)數(shù)來(lái)劃分可用性的類型。
通常,硬件冗余(容錯(cuò)計(jì)算機(jī)、雙機(jī)或多機(jī)集群、磁盤陣列、SAN等)、數(shù)據(jù)復(fù)制、合理的災(zāi)難備份和恢復(fù)策略都可以極大地提高計(jì)算機(jī)應(yīng)用系統(tǒng)的可用性。正因?yàn)槿绱?,?dāng)前,對(duì)于計(jì)算機(jī)應(yīng)用系統(tǒng)的高可用性、業(yè)務(wù)的可持續(xù)性要求,業(yè)內(nèi)通常以硬件系統(tǒng)的高可用性來(lái)應(yīng)對(duì)或代替。常見(jiàn)的解決方案是雙機(jī)(或多機(jī))集群方案或直接采用容錯(cuò)計(jì)算機(jī)來(lái)保障系統(tǒng)的高可用性,應(yīng)用軟件的設(shè)計(jì)和開(kāi)發(fā)往往僅注重業(yè)務(wù)流程的分析和過(guò)程控制。在這種完全依賴硬件來(lái)保障整個(gè)系統(tǒng)的可用性的系統(tǒng)里,一旦關(guān)鍵硬件出現(xiàn)故障或數(shù)據(jù)庫(kù)宕機(jī),正在進(jìn)行中的業(yè)務(wù)流程(如需較長(zhǎng)執(zhí)行時(shí)間的事務(wù)處理、后臺(tái)批處理過(guò)程等)必然會(huì)中斷,這是因?yàn)殡p機(jī)切換也需要時(shí)間。對(duì)此,應(yīng)用軟件本身并無(wú)多少作為,該類業(yè)務(wù)必須等待系統(tǒng)重新恢復(fù)后全部或部分重做。
本文以基于大型數(shù)據(jù)庫(kù)的應(yīng)用系統(tǒng)為例,從“軟件容錯(cuò)”設(shè)計(jì)的概念出發(fā),參考“分布式”數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì),以“系統(tǒng)服務(wù)總線”為核心,給出了一種可行的高可用性軟件架構(gòu)的設(shè)計(jì)方案,可以極大地提高應(yīng)用軟件的可用性和業(yè)務(wù)系統(tǒng)的可持續(xù)性。無(wú)論是傳統(tǒng)的C/S架構(gòu),還是近年來(lái)流行的B/S架構(gòu),本文中給出的設(shè)計(jì)方案都有一定的參考意義。
1 軟件結(jié)構(gòu)模型
任何基于大型數(shù)據(jù)庫(kù)的應(yīng)用系統(tǒng),都可以抽象為對(duì)數(shù)據(jù)的“讀”和“寫”操作。至于客戶端如何展現(xiàn)“讀”到的數(shù)據(jù),以及“客戶端”與“服務(wù)端”基于何種通信協(xié)議通信,不在本文討論之列。
軟件結(jié)構(gòu)的設(shè)計(jì)其實(shí)就是針對(duì)“讀”和“寫”的一系列流程的設(shè)計(jì)。如何最大限度地保證系統(tǒng)中的所有“硬件”和“軟件”協(xié)同工作,正確完成每一次“讀”和“寫”的操作,也就是對(duì)系統(tǒng)“高可靠性”和“高可用性”的要求。
圖1是基于“軟件容錯(cuò)”和“分布式數(shù)據(jù)庫(kù)系統(tǒng)”的原理,并參照了計(jì)算機(jī)“總線”的工作原理給出的一種基于分布式數(shù)據(jù)庫(kù)或文件系統(tǒng)的高可用性的軟件架構(gòu)設(shè)計(jì)方案。系統(tǒng)采用3層架構(gòu):客戶端、中間應(yīng)用層和數(shù)據(jù)庫(kù)層。
2 系統(tǒng)設(shè)計(jì)
2.1 數(shù)據(jù)庫(kù)配置
為了更清楚地闡述本文的設(shè)計(jì)方案,先對(duì)數(shù)據(jù)庫(kù)的配置及其功能進(jìn)行描述。本系統(tǒng)中,數(shù)據(jù)庫(kù)按角色可劃分為如下三類數(shù)據(jù)庫(kù):控制數(shù)據(jù)庫(kù)(COTROLL DB)、日志數(shù)據(jù)庫(kù)(LOG DB)、業(yè)務(wù)數(shù)據(jù)庫(kù)(BUS DB_N)。
2.1.1 控制數(shù)據(jù)庫(kù)
控制數(shù)據(jù)庫(kù)也可以是一個(gè)或多個(gè)系統(tǒng)控制(參數(shù))文件。它存放要訪問(wèn)的目標(biāo)數(shù)據(jù)庫(kù)的節(jié)點(diǎn)(N)、端口、用戶、文件頭、表、視圖等信息;存放對(duì)節(jié)點(diǎn)、業(yè)務(wù)數(shù)據(jù)庫(kù)、表或視圖的授權(quán)或訪問(wèn)控制信息;目標(biāo)數(shù)據(jù)庫(kù)(或文件)的當(dāng)前狀態(tài)(聯(lián)機(jī)/脫機(jī)、忙/空閑等);目標(biāo)數(shù)據(jù)庫(kù)中的表或視圖的當(dāng)前狀態(tài)(聯(lián)機(jī)/脫機(jī)、忙/空閑、加鎖/解鎖等)。
2.1.2 日志數(shù)據(jù)庫(kù)
日志數(shù)據(jù)庫(kù)獨(dú)立于業(yè)務(wù)數(shù)據(jù)庫(kù)之外,用于記錄客戶端節(jié)點(diǎn)信息、請(qǐng)求時(shí)刻和發(fā)來(lái)的所有請(qǐng)求的原始內(nèi)容,但不做業(yè)務(wù)流程相關(guān)的處理、運(yùn)算等。記錄每次數(shù)據(jù)操作分配的唯一的“事件號(hào)”(EVENT_ID)。對(duì)每一次客戶端的“請(qǐng)求”,“系統(tǒng)服務(wù)總線”(SYSSRV)會(huì)分配唯一的標(biāo)識(shí)符號(hào),可以定義為有一定意義的字符串,比如,“當(dāng)前時(shí)刻+流水號(hào)”。以上信息可以被壓縮、打包、加密后存放,以記錄格式保存于數(shù)據(jù)庫(kù)的表或文件中。它可以設(shè)計(jì)為數(shù)據(jù)庫(kù)中的一個(gè)或多個(gè)表,也可以是文件格式。
2.1.3 業(yè)務(wù)數(shù)據(jù)庫(kù)
業(yè)務(wù)數(shù)據(jù)庫(kù)記錄所有業(yè)務(wù)相關(guān)的數(shù)據(jù)信息。所有業(yè)務(wù)數(shù)據(jù)庫(kù)的相關(guān)業(yè)務(wù)邏輯的數(shù)據(jù)結(jié)構(gòu)相同,即,N個(gè)節(jié)點(diǎn)的業(yè)務(wù)數(shù)據(jù)庫(kù)中與業(yè)務(wù)模式相關(guān)的表、視圖、過(guò)程或其他程序設(shè)置相同。
需要特別指出的是:
?。?)控制數(shù)據(jù)庫(kù)、日志數(shù)據(jù)庫(kù)和業(yè)務(wù)數(shù)據(jù)庫(kù)可以是不同數(shù)據(jù)庫(kù)廠家或品牌的產(chǎn)品。比如,日志數(shù)據(jù)庫(kù)可以采用低端的數(shù)據(jù)庫(kù)產(chǎn)品或開(kāi)源數(shù)據(jù)庫(kù)系統(tǒng),業(yè)務(wù)數(shù)據(jù)庫(kù)可以采用高端的大型數(shù)據(jù)庫(kù)產(chǎn)品。
(2)控制數(shù)據(jù)庫(kù)、日志數(shù)據(jù)庫(kù)和業(yè)務(wù)數(shù)據(jù)庫(kù)在物理上和邏輯上是可以相互隔離的,這可以極大地提高系統(tǒng)的整體安全性。目標(biāo)數(shù)據(jù)庫(kù)和要訪問(wèn)的表或視圖對(duì)客戶端來(lái)說(shuō)是“不可見(jiàn)”的,由控制數(shù)據(jù)庫(kù)動(dòng)態(tài)定義和控制。
(3)所有類別的數(shù)據(jù)庫(kù)在物理上位于一個(gè)或多個(gè)節(jié)點(diǎn)上,即節(jié)點(diǎn)N》=1;任意一個(gè)節(jié)點(diǎn)N上建有一個(gè)或多個(gè)業(yè)務(wù)數(shù)據(jù)庫(kù)(邏輯數(shù)據(jù)庫(kù)》=1);任意一個(gè)節(jié)點(diǎn)是一個(gè)完整的、可獨(dú)立工作的計(jì)算機(jī)。根據(jù)性能要求,可以是高性能PC機(jī)、PC服務(wù)器、小型機(jī)、集群或超級(jí)計(jì)算機(jī),或是它們的“混合體”;任意一個(gè)節(jié)點(diǎn)是指定網(wǎng)絡(luò)中的一個(gè)指定節(jié)點(diǎn)。
2.2 應(yīng)用層設(shè)計(jì)
中間應(yīng)用層由5個(gè)后臺(tái)進(jìn)程構(gòu)成:(1)系統(tǒng)服務(wù)總線(SYSSRV);(2)數(shù)據(jù)庫(kù)寫進(jìn)程(DBWRT_N);(3)數(shù)據(jù)庫(kù)讀進(jìn)程(DBRED_N);(4)數(shù)據(jù)庫(kù)在線恢復(fù)進(jìn)程(DBRCY);(5)日志檢查進(jìn)程(LOGCHK)。
2.2.1 系統(tǒng)服務(wù)總線
這是一個(gè)后臺(tái)監(jiān)聽(tīng)、分發(fā)、調(diào)度總進(jìn)程。設(shè)計(jì)目標(biāo)具有一定的“自我修復(fù)”和“自我復(fù)制”動(dòng)能。它可以根據(jù)負(fù)載情況,自我復(fù)制或開(kāi)啟子進(jìn)程響應(yīng)新的負(fù)載;可以動(dòng)態(tài)配置可服務(wù)的節(jié)點(diǎn)或客戶端;可以為特定節(jié)點(diǎn)或客戶端指定專用進(jìn)程;它通過(guò)“DBWRT”和“DBRED”“讀/寫”日志數(shù)據(jù)庫(kù)或日志文件。
2.2.2 寫進(jìn)程
寫進(jìn)程負(fù)責(zé)向所有節(jié)點(diǎn)寫數(shù)據(jù)。它可以配置成多進(jìn)程/單進(jìn)程模式;多進(jìn)程模式,指對(duì)應(yīng)每個(gè)業(yè)務(wù)數(shù)據(jù)庫(kù)N都有獨(dú)立的“寫”進(jìn)程;單進(jìn)程模式,指對(duì)應(yīng)多個(gè)業(yè)務(wù)數(shù)據(jù)庫(kù)只有一個(gè)主進(jìn)程,主進(jìn)程開(kāi)啟多個(gè)線程提供“寫”服務(wù)。
2.2.3 讀進(jìn)程
讀進(jìn)程負(fù)責(zé)向所有節(jié)點(diǎn)讀數(shù)據(jù),它可以配置成多進(jìn)程/單進(jìn)程模式。多進(jìn)程模式指對(duì)應(yīng)每個(gè)業(yè)務(wù)數(shù)據(jù)庫(kù)N都有獨(dú)立的“讀”進(jìn)程,單進(jìn)程模式指對(duì)應(yīng)多個(gè)業(yè)務(wù)數(shù)據(jù)庫(kù)只有一個(gè)主進(jìn)程,主進(jìn)程開(kāi)啟多個(gè)線程提供“讀”服務(wù)。
根據(jù)需要,讀進(jìn)程可以配置成:向所有在線節(jié)點(diǎn)并發(fā)讀數(shù)據(jù),返回最快的結(jié)果集,拋棄其他的結(jié)果集,并中斷其他讀進(jìn)程;也可以配置成:隨機(jī)讀某個(gè)節(jié)點(diǎn)的數(shù)據(jù),如果失敗或超時(shí),則再隨機(jī)讀余下的在線節(jié)點(diǎn),直到“讀”成功或失??;還可以配置成向所有節(jié)點(diǎn)順序讀數(shù)據(jù),過(guò)程類似上面“隨機(jī)讀”。
以上“讀寫”業(yè)務(wù)數(shù)據(jù)庫(kù)的進(jìn)程,設(shè)計(jì)上支持多種數(shù)據(jù)庫(kù)訪問(wèn)接口,針對(duì)“表”或“視圖”提供統(tǒng)一格式的、標(biāo)準(zhǔn)的、動(dòng)態(tài)的SQL數(shù)據(jù)操作接口和方法,完成對(duì)數(shù)據(jù)庫(kù)中表或視圖的增、刪、改、查和批處理操作。它們可以設(shè)計(jì)為數(shù)據(jù)庫(kù)中的存儲(chǔ)過(guò)程,也可以是C++,Java程序的API或混合體。
通常,硬件冗余(容錯(cuò)計(jì)算機(jī)、雙機(jī)或多機(jī)集群、磁盤陣列、SAN等)、數(shù)據(jù)復(fù)制、合理的災(zāi)難備份和恢復(fù)策略都可以極大地提高計(jì)算機(jī)應(yīng)用系統(tǒng)的可用性。正因?yàn)槿绱?,?dāng)前,對(duì)于計(jì)算機(jī)應(yīng)用系統(tǒng)的高可用性、業(yè)務(wù)的可持續(xù)性要求,業(yè)內(nèi)通常以硬件系統(tǒng)的高可用性來(lái)應(yīng)對(duì)或代替。常見(jiàn)的解決方案是雙機(jī)(或多機(jī))集群方案或直接采用容錯(cuò)計(jì)算機(jī)來(lái)保障系統(tǒng)的高可用性,應(yīng)用軟件的設(shè)計(jì)和開(kāi)發(fā)往往僅注重業(yè)務(wù)流程的分析和過(guò)程控制。在這種完全依賴硬件來(lái)保障整個(gè)系統(tǒng)的可用性的系統(tǒng)里,一旦關(guān)鍵硬件出現(xiàn)故障或數(shù)據(jù)庫(kù)宕機(jī),正在進(jìn)行中的業(yè)務(wù)流程(如需較長(zhǎng)執(zhí)行時(shí)間的事務(wù)處理、后臺(tái)批處理過(guò)程等)必然會(huì)中斷,這是因?yàn)殡p機(jī)切換也需要時(shí)間。對(duì)此,應(yīng)用軟件本身并無(wú)多少作為,該類業(yè)務(wù)必須等待系統(tǒng)重新恢復(fù)后全部或部分重做。
本文以基于大型數(shù)據(jù)庫(kù)的應(yīng)用系統(tǒng)為例,從“軟件容錯(cuò)”設(shè)計(jì)的概念出發(fā),參考“分布式”數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì),以“系統(tǒng)服務(wù)總線”為核心,給出了一種可行的高可用性軟件架構(gòu)的設(shè)計(jì)方案,可以極大地提高應(yīng)用軟件的可用性和業(yè)務(wù)系統(tǒng)的可持續(xù)性。無(wú)論是傳統(tǒng)的C/S架構(gòu),還是近年來(lái)流行的B/S架構(gòu),本文中給出的設(shè)計(jì)方案都有一定的參考意義。
1 軟件結(jié)構(gòu)模型
任何基于大型數(shù)據(jù)庫(kù)的應(yīng)用系統(tǒng),都可以抽象為對(duì)數(shù)據(jù)的“讀”和“寫”操作。至于客戶端如何展現(xiàn)“讀”到的數(shù)據(jù),以及“客戶端”與“服務(wù)端”基于何種通信協(xié)議通信,不在本文討論之列。
軟件結(jié)構(gòu)的設(shè)計(jì)其實(shí)就是針對(duì)“讀”和“寫”的一系列流程的設(shè)計(jì)。如何最大限度地保證系統(tǒng)中的所有“硬件”和“軟件”協(xié)同工作,正確完成每一次“讀”和“寫”的操作,也就是對(duì)系統(tǒng)“高可靠性”和“高可用性”的要求。
圖1是基于“軟件容錯(cuò)”和“分布式數(shù)據(jù)庫(kù)系統(tǒng)”的原理,并參照了計(jì)算機(jī)“總線”的工作原理給出的一種基于分布式數(shù)據(jù)庫(kù)或文件系統(tǒng)的高可用性的軟件架構(gòu)設(shè)計(jì)方案。系統(tǒng)采用3層架構(gòu):客戶端、中間應(yīng)用層和數(shù)據(jù)庫(kù)層。
2 系統(tǒng)設(shè)計(jì)
2.1 數(shù)據(jù)庫(kù)配置
為了更清楚地闡述本文的設(shè)計(jì)方案,先對(duì)數(shù)據(jù)庫(kù)的配置及其功能進(jìn)行描述。本系統(tǒng)中,數(shù)據(jù)庫(kù)按角色可劃分為如下三類數(shù)據(jù)庫(kù):控制數(shù)據(jù)庫(kù)(COTROLL DB)、日志數(shù)據(jù)庫(kù)(LOG DB)、業(yè)務(wù)數(shù)據(jù)庫(kù)(BUS DB_N)。
2.1.1 控制數(shù)據(jù)庫(kù)
控制數(shù)據(jù)庫(kù)也可以是一個(gè)或多個(gè)系統(tǒng)控制(參數(shù))文件。它存放要訪問(wèn)的目標(biāo)數(shù)據(jù)庫(kù)的節(jié)點(diǎn)(N)、端口、用戶、文件頭、表、視圖等信息;存放對(duì)節(jié)點(diǎn)、業(yè)務(wù)數(shù)據(jù)庫(kù)、表或視圖的授權(quán)或訪問(wèn)控制信息;目標(biāo)數(shù)據(jù)庫(kù)(或文件)的當(dāng)前狀態(tài)(聯(lián)機(jī)/脫機(jī)、忙/空閑等);目標(biāo)數(shù)據(jù)庫(kù)中的表或視圖的當(dāng)前狀態(tài)(聯(lián)機(jī)/脫機(jī)、忙/空閑、加鎖/解鎖等)。
2.1.2 日志數(shù)據(jù)庫(kù)
日志數(shù)據(jù)庫(kù)獨(dú)立于業(yè)務(wù)數(shù)據(jù)庫(kù)之外,用于記錄客戶端節(jié)點(diǎn)信息、請(qǐng)求時(shí)刻和發(fā)來(lái)的所有請(qǐng)求的原始內(nèi)容,但不做業(yè)務(wù)流程相關(guān)的處理、運(yùn)算等。記錄每次數(shù)據(jù)操作分配的唯一的“事件號(hào)”(EVENT_ID)。對(duì)每一次客戶端的“請(qǐng)求”,“系統(tǒng)服務(wù)總線”(SYSSRV)會(huì)分配唯一的標(biāo)識(shí)符號(hào),可以定義為有一定意義的字符串,比如,“當(dāng)前時(shí)刻+流水號(hào)”。以上信息可以被壓縮、打包、加密后存放,以記錄格式保存于數(shù)據(jù)庫(kù)的表或文件中。它可以設(shè)計(jì)為數(shù)據(jù)庫(kù)中的一個(gè)或多個(gè)表,也可以是文件格式。
2.1.3 業(yè)務(wù)數(shù)據(jù)庫(kù)
業(yè)務(wù)數(shù)據(jù)庫(kù)記錄所有業(yè)務(wù)相關(guān)的數(shù)據(jù)信息。所有業(yè)務(wù)數(shù)據(jù)庫(kù)的相關(guān)業(yè)務(wù)邏輯的數(shù)據(jù)結(jié)構(gòu)相同,即,N個(gè)節(jié)點(diǎn)的業(yè)務(wù)數(shù)據(jù)庫(kù)中與業(yè)務(wù)模式相關(guān)的表、視圖、過(guò)程或其他程序設(shè)置相同。
需要特別指出的是:
?。?)控制數(shù)據(jù)庫(kù)、日志數(shù)據(jù)庫(kù)和業(yè)務(wù)數(shù)據(jù)庫(kù)可以是不同數(shù)據(jù)庫(kù)廠家或品牌的產(chǎn)品。比如,日志數(shù)據(jù)庫(kù)可以采用低端的數(shù)據(jù)庫(kù)產(chǎn)品或開(kāi)源數(shù)據(jù)庫(kù)系統(tǒng),業(yè)務(wù)數(shù)據(jù)庫(kù)可以采用高端的大型數(shù)據(jù)庫(kù)產(chǎn)品。
(2)控制數(shù)據(jù)庫(kù)、日志數(shù)據(jù)庫(kù)和業(yè)務(wù)數(shù)據(jù)庫(kù)在物理上和邏輯上是可以相互隔離的,這可以極大地提高系統(tǒng)的整體安全性。目標(biāo)數(shù)據(jù)庫(kù)和要訪問(wèn)的表或視圖對(duì)客戶端來(lái)說(shuō)是“不可見(jiàn)”的,由控制數(shù)據(jù)庫(kù)動(dòng)態(tài)定義和控制。
(3)所有類別的數(shù)據(jù)庫(kù)在物理上位于一個(gè)或多個(gè)節(jié)點(diǎn)上,即節(jié)點(diǎn)N》=1;任意一個(gè)節(jié)點(diǎn)N上建有一個(gè)或多個(gè)業(yè)務(wù)數(shù)據(jù)庫(kù)(邏輯數(shù)據(jù)庫(kù)》=1);任意一個(gè)節(jié)點(diǎn)是一個(gè)完整的、可獨(dú)立工作的計(jì)算機(jī)。根據(jù)性能要求,可以是高性能PC機(jī)、PC服務(wù)器、小型機(jī)、集群或超級(jí)計(jì)算機(jī),或是它們的“混合體”;任意一個(gè)節(jié)點(diǎn)是指定網(wǎng)絡(luò)中的一個(gè)指定節(jié)點(diǎn)。
2.2 應(yīng)用層設(shè)計(jì)
中間應(yīng)用層由5個(gè)后臺(tái)進(jìn)程構(gòu)成:(1)系統(tǒng)服務(wù)總線(SYSSRV);(2)數(shù)據(jù)庫(kù)寫進(jìn)程(DBWRT_N);(3)數(shù)據(jù)庫(kù)讀進(jìn)程(DBRED_N);(4)數(shù)據(jù)庫(kù)在線恢復(fù)進(jìn)程(DBRCY);(5)日志檢查進(jìn)程(LOGCHK)。
2.2.1 系統(tǒng)服務(wù)總線
這是一個(gè)后臺(tái)監(jiān)聽(tīng)、分發(fā)、調(diào)度總進(jìn)程。設(shè)計(jì)目標(biāo)具有一定的“自我修復(fù)”和“自我復(fù)制”動(dòng)能。它可以根據(jù)負(fù)載情況,自我復(fù)制或開(kāi)啟子進(jìn)程響應(yīng)新的負(fù)載;可以動(dòng)態(tài)配置可服務(wù)的節(jié)點(diǎn)或客戶端;可以為特定節(jié)點(diǎn)或客戶端指定專用進(jìn)程;它通過(guò)“DBWRT”和“DBRED”“讀/寫”日志數(shù)據(jù)庫(kù)或日志文件。
2.2.2 寫進(jìn)程
寫進(jìn)程負(fù)責(zé)向所有節(jié)點(diǎn)寫數(shù)據(jù)。它可以配置成多進(jìn)程/單進(jìn)程模式;多進(jìn)程模式,指對(duì)應(yīng)每個(gè)業(yè)務(wù)數(shù)據(jù)庫(kù)N都有獨(dú)立的“寫”進(jìn)程;單進(jìn)程模式,指對(duì)應(yīng)多個(gè)業(yè)務(wù)數(shù)據(jù)庫(kù)只有一個(gè)主進(jìn)程,主進(jìn)程開(kāi)啟多個(gè)線程提供“寫”服務(wù)。
2.2.3 讀進(jìn)程
讀進(jìn)程負(fù)責(zé)向所有節(jié)點(diǎn)讀數(shù)據(jù),它可以配置成多進(jìn)程/單進(jìn)程模式。多進(jìn)程模式指對(duì)應(yīng)每個(gè)業(yè)務(wù)數(shù)據(jù)庫(kù)N都有獨(dú)立的“讀”進(jìn)程,單進(jìn)程模式指對(duì)應(yīng)多個(gè)業(yè)務(wù)數(shù)據(jù)庫(kù)只有一個(gè)主進(jìn)程,主進(jìn)程開(kāi)啟多個(gè)線程提供“讀”服務(wù)。
根據(jù)需要,讀進(jìn)程可以配置成:向所有在線節(jié)點(diǎn)并發(fā)讀數(shù)據(jù),返回最快的結(jié)果集,拋棄其他的結(jié)果集,并中斷其他讀進(jìn)程;也可以配置成:隨機(jī)讀某個(gè)節(jié)點(diǎn)的數(shù)據(jù),如果失敗或超時(shí),則再隨機(jī)讀余下的在線節(jié)點(diǎn),直到“讀”成功或失??;還可以配置成向所有節(jié)點(diǎn)順序讀數(shù)據(jù),過(guò)程類似上面“隨機(jī)讀”。
以上“讀寫”業(yè)務(wù)數(shù)據(jù)庫(kù)的進(jìn)程,設(shè)計(jì)上支持多種數(shù)據(jù)庫(kù)訪問(wèn)接口,針對(duì)“表”或“視圖”提供統(tǒng)一格式的、標(biāo)準(zhǔn)的、動(dòng)態(tài)的SQL數(shù)據(jù)操作接口和方法,完成對(duì)數(shù)據(jù)庫(kù)中表或視圖的增、刪、改、查和批處理操作。它們可以設(shè)計(jì)為數(shù)據(jù)庫(kù)中的存儲(chǔ)過(guò)程,也可以是C++,Java程序的API或混合體。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 虛擬化模型驅(qū)動(dòng)的分布式數(shù)據(jù)湖架構(gòu)設(shè)計(jì) 5次下載
- 區(qū)塊鏈中的分布式數(shù)據(jù)庫(kù)管理系統(tǒng)相關(guān)研究 8次下載
- 基于分布式文件系統(tǒng)元數(shù)據(jù)操作優(yōu)化 0次下載
- 分布式數(shù)據(jù)庫(kù)中一致性與可用性的關(guān)系 0次下載
- 分布式數(shù)據(jù)庫(kù)聚合計(jì)算性能優(yōu)化 0次下載
- 分布式數(shù)據(jù)庫(kù)控制協(xié)調(diào)體系結(jié)構(gòu)的研究與實(shí)現(xiàn) 0次下載
- 分布式數(shù)據(jù)庫(kù)分片關(guān)系變換查詢優(yōu)化 0次下載
- 基于分布式數(shù)據(jù)庫(kù)系統(tǒng)的數(shù)據(jù)分配模型研究
- 海量郵件分布式文件系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 基于分布式數(shù)據(jù)庫(kù)技術(shù)的森林防火指揮系統(tǒng)的研究
- 基于入侵容忍的分布式數(shù)據(jù)庫(kù)安全體系結(jié)構(gòu)
- 分布式數(shù)據(jù)庫(kù)技術(shù)與MO在GIS系統(tǒng)集成開(kāi)發(fā)中的應(yīng)用
- 分布式數(shù)據(jù)庫(kù)搜索引擎的索引建立和優(yōu)化
- 采用信任管理的分布式文件系統(tǒng)TrustFs
- 分布式數(shù)據(jù)庫(kù)系統(tǒng)及其應(yīng)用 PDF 0次下載
- 基于英特爾至強(qiáng)6能效核處理器優(yōu)化原生分布式數(shù)據(jù)庫(kù)OceanBase 324次閱讀
- tldb提供分布式鎖使用方法 761次閱讀
- 數(shù)據(jù)庫(kù)如何實(shí)現(xiàn)分布式鎖 4437次閱讀
- 互聯(lián)網(wǎng)領(lǐng)域常見(jiàn)的數(shù)據(jù)庫(kù)架構(gòu)方案 1155次閱讀
- 如何使用分布式存儲(chǔ)系統(tǒng)促進(jìn)AI模型訓(xùn)練 493次閱讀
- Nginx高可用方案 439次閱讀
- 什么是分布式文件系統(tǒng) 3990次閱讀
- 嵌入式移動(dòng)數(shù)據(jù)庫(kù)的結(jié)構(gòu)體系特點(diǎn)及優(yōu)化查詢方法研究 2192次閱讀
- 分布式系統(tǒng)CAP、ACID、BASE概念介紹 2101次閱讀
- 干貨:解決分布式緩存與數(shù)據(jù)庫(kù)的雙存儲(chǔ)雙寫 2489次閱讀
- 微服務(wù)架構(gòu)下分布式數(shù)據(jù)庫(kù)如何支撐千億級(jí)數(shù)據(jù) 3530次閱讀
- 盤點(diǎn)一下這些常見(jiàn)的分布式文件系統(tǒng) 1.1w次閱讀
- 通過(guò)安裝該Linux-HA軟件可以實(shí)現(xiàn)Linux雙機(jī)系統(tǒng)的高可用性解決方案 7498次閱讀
- 基于COM技術(shù)的SCADA系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì) 2343次閱讀
- 深度解讀分布式存儲(chǔ)技術(shù)之分布式剪枝系統(tǒng) 1773次閱讀
下載排行
本周
- 1TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 2開(kāi)關(guān)電源基礎(chǔ)知識(shí)
- 5.73 MB | 6次下載 | 免費(fèi)
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設(shè)計(jì)
- 0.60 MB | 3次下載 | 免費(fèi)
- 5基于FPGA的光纖通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 0.61 MB | 2次下載 | 免費(fèi)
- 6基于FPGA的C8051F單片機(jī)開(kāi)發(fā)板設(shè)計(jì)
- 0.70 MB | 2次下載 | 免費(fèi)
- 751單片機(jī)窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費(fèi)
- 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
- 0.86 MB | 2次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33564次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21548次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
- 0.00 MB | 6653次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537796次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191185次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183278次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多