[發明專利]一種基于Oracle分區的數據存儲方法及裝置在審
| 申請號: | 201310256059.2 | 申請日: | 2013-06-24 |
| 公開(公告)號: | CN103279582A | 公開(公告)日: | 2013-09-04 |
| 發明(設計)人: | 不公告發明人 | 申請(專利權)人: | 浙江宇天科技股份有限公司;廣東宇天科技有限公司;夏陽 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京集佳知識產權代理有限公司 11227 | 代理人: | 王寶筠 |
| 地址: | 310002 浙江省杭州市*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 oracle 分區 數據 存儲 方法 裝置 | ||
技術領域
本發明屬于數據庫存儲技術領域,尤其涉及一種基于Oracle分區的數據存儲方法及裝置。
背景技術
Oracle分區是一種處理超大型表的技術。分區是一種“分而治之”的技術,通過將大表和索引分成可以管理的小塊,從而避免了對每個表作為一個大的、單獨的對象進行管理,為大量數據提供了可伸縮的性能。
分區通過將操作分配給更小的存儲單元,減少了進行管理操作的時間;通過增強的并行處理,提高了性能;通過屏蔽故障數據的分區,增加了可用性。Oracle提供了三種基本的分區方法:范圍分區、列表分區和哈希分區,采用上述分區方法,可以將數據表分成單一表或組合分區表,用戶可以根據實際業務需要以最佳方式調整數據細分。
現有技術中的數據庫存儲方法為:為數據表建立一個表空間,為表空間分配一定數量的數據文件,對數據表進行分區,將分區的數據存儲在表空間的數據文件中。發明人在實現本發明創造的過程中發現:由于分區數據只能寫入一個表空間的數據文件中,因此,很可能出現經常被讀取的數據寫入到同一個數據文件中的情況,當用戶大并發的讀取這些數據時很容易產生數據IO熱點,對存在數據IO熱點的數據塊進行查詢時,SQL語句執行耗時很長,導致數據庫連接數增長很快,由于每個連接數耗費一定的資源,連接數的不斷增加最終導致數據庫響應緩慢甚至死掉。
發明內容
有鑒于此,本發明提供了一種基于Oracle分區的數據存儲方法及裝置,用以解決現有技術中的數據庫存儲方法容易產生數據IO熱點,導致對存在數據IO熱點的數據塊進行查詢時,SQL語句執行耗時很長,進一步導致數據庫連接數增長很快,最終導致數據庫響應緩慢甚至死掉的問題,其技術方案如下:
一方面,一種基于Oracle分區的數據存儲方法,包括:
為數據表創建M個表空間,其中,M為大于等于2的整數;
將N個數據文件均衡分配到所述M個表空間中,其中,N為大于等于M的整數;
對所述數據表進行分區;
將所述數據表的第i個分區的數據存儲至第i-k*M個表空間的數據文件中,其中,i=1,2,…,P,P為數據表的分區個數,且P為大于M的整數,表示向上取整。
其中,所述N個數據文件的大小相同,所述將N個數據文件均衡分配到M個表空間中的過程包括:
當N能被M整除時,為每個表空間分配N/M個數據文件;
當N不能被M整除時,為M-R個表空間中的每個表空間分配個數據文件,為其余表空間中的每個表空間分配個數據文件,其中,R為N除以M得到的余數,表示向下取整。
可選的,上述方法還包括:
當所述數據表中的數據增加,并且為所述M個表空間分配的N個數據文件不足以存儲數據表中增加的數據時,創建至少一個表空間,并依據增加的數據量為所述表空間分配數據文件,以使數據表中新增加的數據存儲到該新創建的表空間的數據文件中。
可選的,上述方法還包括:
當所述數據表中的數據增加,并且為所述M個表空間分配的N個數據文件不足以存儲數據表中增加的數據時,依據增加的數據量為所述M個表空間中的至少一個表空間分配數據文件,以使數據表中新增加的數據存儲到該數據文件中。
可選的,上述方法還包括:
檢測所述N個數據文件的讀寫次數;
將讀寫次數大于第一預設值的數據文件中的數據移至其它表空間中讀寫次數小于第二預設值的數據文件中,其中,所述第一預設值大于所述第二預設值。
另一方面,一種基于Oracle分區的數據存儲裝置,包括:
第一創建單元,用于為數據表創建M個表空間,其中,M為大于等于2的整數;
第一分配單元,用于將N個數據文件均衡分配到M個表空間中,其中,N為大于等于M的整數;
數據表分區單元,用于對所述數據表進行分區;
數據存儲單元,用于將所述數據表的第i個分區的數據存儲至第i-k*M個表空間的數據文件中,其中,i=1,2,…,P,P為數據表的分區個數,且P為大于M的整數,表示向上取整。
其中,所述N個數據文件的大小相同,所述第一分配單元包括:
分配子單元,用于當N能被M整除時,為每個表空間分配N/M個數據文件,當N不能被M整除時,為M-R個表空間中的每個表空間分配個數據文件,為其余表空間中的每個表空間分配個數據文件,其中,R為N除以M得到的余數,表示向下取整。
可選的,所述裝置還包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浙江宇天科技股份有限公司;廣東宇天科技有限公司;夏陽,未經浙江宇天科技股份有限公司;廣東宇天科技有限公司;夏陽許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310256059.2/2.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





