資源描述:
《內(nèi)存數(shù)據(jù)庫在分布式系統(tǒng)中的應(yīng)用》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、內(nèi)存數(shù)據(jù)庫在分布式系統(tǒng)中的應(yīng)用摘要:本文通過對內(nèi)存數(shù)據(jù)庫的體系結(jié)構(gòu)、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)組織與事務(wù)管理等進(jìn)行分析,提出了內(nèi)存數(shù)據(jù)庫在分布式系統(tǒng)中的應(yīng)用案例。此方案用于解決海量數(shù)據(jù)、高并發(fā)系統(tǒng)的數(shù)據(jù)存儲(chǔ)和訪問問題,尤其適用于數(shù)據(jù)模型和業(yè)務(wù)規(guī)則復(fù)雜的大型互聯(lián)網(wǎng)應(yīng)用關(guān)鍵詞:內(nèi)存數(shù)據(jù)庫;分布式系統(tǒng);網(wǎng)站群CMS;數(shù)據(jù)持久層中圖分類號:TP311.13文獻(xiàn)標(biāo)識(shí)碼:A文章編號:1007-9599(2011)23-0000-02MemoryDatabaseApplicationsinDistributedSystemYouLiang
2、(GansuWanweiInformationTechnologyCo.,Ltd.,Lanzhou730000,China)Abstract:Basedonthememorydatabasearchitecture,datastorage,dataorganizationandanalysisoftransactionmanagement,etc.,madeinmemorydatabaseapplicationsinadistributedsystemcase.Thisprogramisusedtosolveth
3、emassdata,highlyconcurrentsystemsofdatastorageandaccessproblems,especiallyforcomplexdatamodelsandbusinessrulesoflarge-scaleInternetapplications.Keywords:Memorydatabases;Distributedsystem;WebbaseCMS;Datapersistencelayer引言:2011年在主持研發(fā)公司網(wǎng)站群CMSV2.0產(chǎn)品(該產(chǎn)品是為網(wǎng)站群構(gòu)建與管理
4、提供技術(shù)支撐的平臺(tái),解決了門戶網(wǎng)站集群的獨(dú)立權(quán)限下的數(shù)據(jù)共享,提供了大型同構(gòu)門戶網(wǎng)站群分布式部署的解決方案和異構(gòu)網(wǎng)站信息聚合的解決方案。)期間,由于在產(chǎn)品研發(fā)的中后期通過對前臺(tái)web站點(diǎn)進(jìn)行大用戶、高并發(fā)壓力測試過程中發(fā)現(xiàn)系統(tǒng)性能始終達(dá)不到前期設(shè)計(jì)要求,急需對系統(tǒng)架構(gòu)進(jìn)行調(diào)整優(yōu)化。經(jīng)過項(xiàng)目組反復(fù)認(rèn)真的討論最終決定采用內(nèi)存數(shù)據(jù)庫的方式以解決系統(tǒng)性能瓶頸,通過內(nèi)存數(shù)據(jù)庫選型、系統(tǒng)架構(gòu)改造并借助自動(dòng)化測試工具的大量調(diào)測,最終很好的解決了實(shí)際問題。一、內(nèi)存數(shù)據(jù)庫特點(diǎn)近年來,隨著計(jì)算機(jī)硬件技術(shù)的迅猛發(fā)展,內(nèi)存容量不斷提高,
5、價(jià)格不斷下跌,操作系統(tǒng)已經(jīng)可以支持更大的地址空間(計(jì)算機(jī)進(jìn)入了64位時(shí)代),同時(shí)對數(shù)據(jù)庫系統(tǒng)實(shí)時(shí)響應(yīng)能力要求日益提高,充分利用內(nèi)存技術(shù)提升數(shù)據(jù)庫性能成為一個(gè)熱點(diǎn)。其實(shí)內(nèi)存數(shù)據(jù)庫并不是一項(xiàng)新興技術(shù),其出現(xiàn)于上世紀(jì)60年代末,隨著市場需求的不斷增大在90年代后期開始得到快速發(fā)展。其原理就是將數(shù)據(jù)放在內(nèi)存中直接操作的數(shù)據(jù)庫。相對于磁盤,內(nèi)存的數(shù)據(jù)讀寫速度要高出幾個(gè)數(shù)量級,將數(shù)據(jù)保存在內(nèi)存中相比從磁盤上訪問能夠極大地提高應(yīng)用的性能。同時(shí),內(nèi)存數(shù)據(jù)庫系統(tǒng)帶來的優(yōu)越性能不僅僅在于對內(nèi)存讀寫比對磁盤讀寫快上,更重要的是,從根本
6、上拋棄了磁盤數(shù)據(jù)管理的許多傳統(tǒng)方式,基于全部數(shù)據(jù)都在內(nèi)存中管理進(jìn)行了新的體系結(jié)構(gòu)的設(shè)計(jì),并且在數(shù)據(jù)緩存、快速算法、并行操作方面也進(jìn)行了相應(yīng)的改進(jìn),從而使數(shù)據(jù)處理速度一般比傳統(tǒng)數(shù)據(jù)庫的數(shù)據(jù)處理速度快很多,一般都在10倍以上,理想情況甚至可以達(dá)到1000倍。內(nèi)存數(shù)據(jù)庫的另外一個(gè)重要特點(diǎn)是可以對內(nèi)存中的數(shù)據(jù)實(shí)現(xiàn)全事務(wù)處理,相比僅僅把數(shù)據(jù)以數(shù)組等形式放在內(nèi)存中是完全不同的。并且,內(nèi)存數(shù)據(jù)庫是與應(yīng)用無關(guān)的,顯然這種體系結(jié)構(gòu)具有其合理性。內(nèi)存引擎可以實(shí)現(xiàn)的查詢與存檔功能與磁盤數(shù)據(jù)庫的使用完全相同,同時(shí)內(nèi)存表與磁盤表也使用的是
7、完全相同的存取方法。存儲(chǔ)的選擇,對于應(yīng)用開發(fā)者而言是完全透明的。對于內(nèi)存數(shù)據(jù)庫而言,實(shí)現(xiàn)了數(shù)據(jù)在內(nèi)存中的管理,而不僅僅是作為數(shù)據(jù)庫的緩存。不同于其它將磁盤數(shù)據(jù)塊緩存到主存中的數(shù)據(jù)庫,內(nèi)存數(shù)據(jù)庫的內(nèi)存引擎使用了為隨機(jī)訪問內(nèi)存而特別設(shè)計(jì)的數(shù)據(jù)結(jié)構(gòu)和f法,這種設(shè)計(jì)使其避免了因使用排序命令而經(jīng)常破壞緩存數(shù)據(jù)庫性能的問題。通過內(nèi)存數(shù)據(jù)庫,大大減少了磁盤I/O處理,因此能夠達(dá)到以磁盤I/O為主的傳統(tǒng)數(shù)據(jù)庫無法與其相比擬的處理速度。二、內(nèi)存數(shù)據(jù)庫選型常見的內(nèi)存數(shù)據(jù)庫產(chǎn)品包括商業(yè)版和開源免費(fèi)版兩類。商業(yè)版如:OracleTime
8、sTen、Altibase、BerkleyDB等。他們在電信、金融、證券等高性能計(jì)算應(yīng)用中運(yùn)用較為廣泛。商業(yè)版功能強(qiáng)大,然而,價(jià)格比較昂貴,不適合針對中小企業(yè)提供的質(zhì)優(yōu)價(jià)廉的產(chǎn)品推廣解決方案。開源領(lǐng)域產(chǎn)品主要有H2、HsqlDB、Derby等。在混合分區(qū)架構(gòu)中,內(nèi)存數(shù)據(jù)庫將承擔(dān)OLTP的職責(zé),因此除了讀寫性能外,功能的完備,事務(wù)控制等都需要作為優(yōu)先評估的因素。基于以上情況