文章詳情頁
Oracle平臺下的數(shù)據(jù)分片技術(shù)解析
瀏覽:2日期:2023-11-20 12:01:14
Oracle公司出品的數(shù)據(jù)庫治理系統(tǒng)以其優(yōu)越的性能博得了廣大用戶的青睞,它以豐富的內(nèi)嵌函數(shù),PL/SQL支持,多平臺,Application Server集成等,給開發(fā)人員提供了極大的靈活性。 在ORACLE的用戶權(quán)限分配中,只提供對表、函數(shù)、同義詞、視圖、包等的Insert,Update, Select,Delete,Execute等操作,并未提供字段級的權(quán)限設(shè)置(實際上,對大型數(shù)據(jù)庫進(jìn)行字段級的 權(quán)限設(shè)置雖然帶來了安全性方面的好處,但對于性能的存在一定的影響),因此,對于大型 MIS系統(tǒng),進(jìn)行數(shù)據(jù)的分片是在所難免的。 一般地,一個典型的MIS數(shù)據(jù)庫平臺設(shè)計是這樣的: 對用戶權(quán)限的分配是通過對ORACLE臨時系統(tǒng)表來實現(xiàn)的: 1、在需要分片的表(CUSTOMER)中建立相關(guān)字段,如SGRANT_NUM number(20)及所屬部門 SUNIT_ID varchar(10), 2、對該表創(chuàng)建動態(tài)視圖 CUSTOMER_PV select * from CUSTOMER A where CD_WAREHOUSE.SUNIT_ID is null or exists ( select * from CUSTOMER B where A.SUNIT_ID = B.SUNIT_ID and ( B.SGRANT_NUM >= TO_NUMBER(SUBSTR(USERENV('CLIENT_INFO'), 1, 10)) and ( B.SGRANT_NUM <= TO_NUMBER(SUBSTR(USERENV('CLIENT_INFO'), 11, 10)) ) ) 3、在用戶登錄系統(tǒng)時修改用戶環(huán)境 client_info 中的分片號; 4、這樣,對設(shè)計者,不存在分片問題,對最終用戶,可定義該用戶的組織分片號來約束該用戶能夠存取的數(shù)據(jù)。 優(yōu)點: 1、由服務(wù)器自動完成,對設(shè)計無任何影響; 2、速度快,對巨量數(shù)據(jù)無明顯影響; 缺點: 1、只能根據(jù)組織(或其他)進(jìn)行縱向分片,不夠靈活; 2、技術(shù)實現(xiàn)復(fù)雜,主表的更改將直接影響視圖(需要重新生成); 3、一旦組織機構(gòu)變化,則分片需要重新設(shè)置。
標(biāo)簽:
Oracle
數(shù)據(jù)庫
排行榜
