Oracle下的數據分片技術
2024-08-29 13:30:56
供稿:網友
oracle數據分片技術作者:流方 主頁:http://liulee.myrice.com
oracle公司出品的oracle enterprise 8.0.5以其優越的性能博得了廣大用戶的青睞,它以豐富的內嵌函數,pl/sql支持,多平臺,application server集成等,給開發人員提供了極大的靈活性。 在oracle的用戶權限分配中,只提供對表、函數、同義詞、視圖、包等的insert,update,select,delete,execute等操作,并未提供字段級的權限設置(實際上,對大型數據庫進行字段級的權限設置雖然帶來了安全性方面的好處,但對于性能的存在一定的影響),因此,對于大型mis系統,進行數據的分片是在所難免的。 一般地,一個典型的mis數據庫平臺設計是這樣的: 對用戶權限的分配是通過對oracle臨時系統表來實現的: 1、在需要分片的表(customer)中建立相關字段,如sgrant_num number(20)及所屬部門 sunit_id varchar(10),2、對該表創建動態視圖 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、在用戶登錄系統時修改用戶環境 client_info 中的分片號;4、這樣,對設計者,不存在分片問題,對最終用戶,可定義該用戶的組織分片號來約束該用戶能夠存取的數據。原理圖 優點:1、由服務器自動完成,對設計無任何影響;2、速度快,對巨量數據無明顯影響;缺點:1、只能根據組織(或其他)進行縱向分片,不夠靈活;2、技術實現復雜,主表的更改將直接影響視圖(需要重新生成);3、一旦組織機構變化,則分片需要重新設置。
※ 尊重作者辛勤勞動,轉載前請告訴我先,謝謝!※·[返回首頁]·[進入討論版]·[寫信給我]·[快速返回]·
注冊會員,創建你的web開發資料庫,