構(gòu)想網(wǎng)格數(shù)據(jù)庫架構(gòu)設(shè)計(jì) 實(shí)現(xiàn)海量數(shù)據(jù)處理
對于一個具有海量數(shù)據(jù)的系統(tǒng)來說,性能的瓶頸最終就只能落在數(shù)據(jù)庫身上了,這時(shí)候硬件升級和程序優(yōu)化已經(jīng)是無能為力,一個簡單的查詢也有可能給數(shù)據(jù)庫帶來沉重的負(fù)擔(dān)。網(wǎng)格計(jì)算可把把一個需要巨大的計(jì)算能力才能解決的問題分割成許多小部分,然后把這些小部分分配給許多計(jì)算機(jī)進(jìn)行處理,***把這些計(jì)算結(jié)果綜合起來得到最終結(jié)果。對數(shù)據(jù)庫進(jìn)行網(wǎng)絡(luò)計(jì)算的架構(gòu)設(shè)計(jì),無疑可能解決上述的性能問題。
那么怎么把一個巨大的數(shù)據(jù)庫分割成許多小的數(shù)據(jù)庫呢?現(xiàn)階段比較行之有效的方法是對數(shù)據(jù)庫進(jìn)行分區(qū)處理。對于一個巨大容量的數(shù)據(jù)表,可不可以按日期,或者按類型,或者按區(qū)域,或者按ID號進(jìn)行分割呢?答案是肯定的,這種分區(qū)方法也就是所謂的水平分區(qū)方法。另一方面,對于不同類型的數(shù)據(jù),比如一個電子商務(wù)系統(tǒng)中的用戶數(shù)據(jù)、商品數(shù)據(jù)、交易數(shù)據(jù)等,它們之間的聯(lián)系不是很緊密,可以存放在不同的數(shù)據(jù)庫中,這樣就可實(shí)現(xiàn)了垂直分區(qū)。
經(jīng)過分區(qū)處理,一個大的數(shù)據(jù)庫,可以分成許多小的數(shù)據(jù)庫。但是這樣一來,對于這些小數(shù)據(jù)庫的訪問,和怎么進(jìn)行綜合處理,就引發(fā)出新的問題出來了。
在一個系統(tǒng)中,對這些數(shù)據(jù)庫進(jìn)行訪問不是沒有可能,使用多個連接,多重處理,無論在哪種框架中都很容易實(shí)現(xiàn)。問題是,在一個系統(tǒng)中分別對這些數(shù)據(jù)庫進(jìn)行訪問,其程序的復(fù)雜度和處理效率,有可能會產(chǎn)生出另一個瓶頸,這就不是我們需要的結(jié)果了。當(dāng)然也可以使用負(fù)載均衡設(shè)計(jì),但是其程序的復(fù)雜度還是不可避免。
這里,再引進(jìn)另一個概念:SOA架構(gòu),即面向服務(wù)的體系結(jié)構(gòu)。SOA可以通過服務(wù)生產(chǎn)者/服務(wù)消費(fèi)者的方式,或訂閱/發(fā)布的方式等提供松散耦合的分布式服務(wù)體系。那么,對于各個不同區(qū)域的數(shù)據(jù)庫,就可以按照SOA架構(gòu)做成不同的服務(wù)中心,對外提供數(shù)據(jù)庫訪問接口。SOA可以使用CORBA、Web Service等方式予以實(shí)現(xiàn)。
這樣一來,數(shù)據(jù)庫服務(wù)器的壓力分散了,程序計(jì)算的壓力也分散了,不管數(shù)據(jù)庫的數(shù)據(jù)量有多大,程序計(jì)算有多復(fù)雜,系統(tǒng)的性能都能得到***限度的提升。
***,大家可能會說,如果有一個網(wǎng)格數(shù)據(jù)庫系統(tǒng)就好了,應(yīng)用系統(tǒng)的設(shè)計(jì)就不用那么復(fù)雜了。是的,現(xiàn)在的數(shù)據(jù)庫系統(tǒng)也有向這一方向設(shè)計(jì)的趨勢,只是技術(shù)還沒有成熟。相信在不久的將來,應(yīng)該可以用到網(wǎng)格數(shù)據(jù)庫。
原文標(biāo)題:網(wǎng)格數(shù)據(jù)庫架構(gòu)設(shè)計(jì)構(gòu)想
鏈接:http://www.cnblogs.com/chrischen662/archive/2010/09/03/1817081.html
延伸閱讀
網(wǎng)格計(jì)算已經(jīng)成為熱點(diǎn),它所帶來的低成本、高性能以及方便的計(jì)算資源共享正是眾多企業(yè)所追求的。未來的數(shù)據(jù)庫將構(gòu)筑在網(wǎng)格計(jì)算環(huán)境之上。
RAC(Real Application Cluster,真正應(yīng)用集群)是Oracle9i數(shù)據(jù)庫中采用的一項(xiàng)新技術(shù),也是Oracle數(shù)據(jù)庫支持網(wǎng)格計(jì)算環(huán)境的核心技術(shù)。它的出現(xiàn)解決了傳統(tǒng)數(shù)據(jù)庫應(yīng)用中面臨的一個重要問題:高性能、高可伸縮性與低價(jià)格之間的矛盾。
除了RAC技術(shù),Oracle9i數(shù)據(jù)庫還提供其他功能來支持網(wǎng)格計(jì)算,包括支持在數(shù)據(jù)庫之間進(jìn)行數(shù)據(jù)快速復(fù)制的Transportable Tablespaces、支持?jǐn)?shù)據(jù)流更新的Oracle Streams、支持應(yīng)用可移植性的One Portable Codebase等。Mendelsohn認(rèn)為,對那些需要建立數(shù)據(jù)中心的企業(yè)來說,Oracle9i RAC加上刀片服務(wù)器和Linux操作系統(tǒng),就完全能夠替代傳統(tǒng)的基于大型機(jī)的數(shù)據(jù)系統(tǒng)。
準(zhǔn)確的說應(yīng)為支持網(wǎng)格的數(shù)據(jù)庫技術(shù),Oracle10g中的g即為gridding網(wǎng)格。
【編輯推薦】