TWI637281B - 資料庫容量計算方法和裝置 - Google Patents

資料庫容量計算方法和裝置 Download PDF

Info

Publication number
TWI637281B
TWI637281B TW106133063A TW106133063A TWI637281B TW I637281 B TWI637281 B TW I637281B TW 106133063 A TW106133063 A TW 106133063A TW 106133063 A TW106133063 A TW 106133063A TW I637281 B TWI637281 B TW I637281B
Authority
TW
Taiwan
Prior art keywords
archive
capacity
idleness
data
target library
Prior art date
Application number
TW106133063A
Other languages
English (en)
Other versions
TW201814559A (zh
Inventor
侯松
Original Assignee
平安科技(深圳)有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 平安科技(深圳)有限公司 filed Critical 平安科技(深圳)有限公司
Publication of TW201814559A publication Critical patent/TW201814559A/zh
Application granted granted Critical
Publication of TWI637281B publication Critical patent/TWI637281B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/214Database migration support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2462Approximate or statistical queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Probability & Statistics with Applications (AREA)
  • Software Systems (AREA)
  • Fuzzy Systems (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本發明涉及一種資料庫容量計算方法和裝置。上述方法包括:獲取目標庫的歸檔配置資料;根據該歸檔配置資料獲取該目標庫中與該歸檔配置資料匹配的歸檔表,並生成配置資訊表;根據該配置資訊表確定該歸檔表的原容量;分析該歸檔表,並獲取該歸檔表中各個資料塊的空閒度;根據該各個資料塊的空閒度及該歸檔表的原容量計算該歸檔表的實際容量。上述資料庫容量計算方法和裝置,能夠準確計算得到每個歸檔表的實際容量大小,從而準確得到資料庫進行歸檔後的實際容量。

Description

資料庫容量計算方法和裝置
本發明涉及資料庫技術領域,特別是涉及一種資料庫容量計算方法和裝置。
資料庫歸檔,指的是將資料庫中某些比較不常用之資料放置到諸如磁帶等大容量而不便於訪問之設備。資料庫之表中的資料被歸檔後,被歸檔之資料原來佔用的容量即可重新被使用,因此,往往需要重新計算資料庫歸檔後之容量方便進行資料存儲。而在傳統方式中,進行資料庫歸檔工作後,計算資料庫歸檔後之容量僅從存儲、表空間、表大小等維度進行量化。然而,這三個層面均忽視了表被歸檔後,資料刪除而尚未被回收之空間,因此無法準確地計算出資料庫歸檔後之實際容量,計算細微性過粗,導致統計得到的資料與實際情況出入較大。
本發明實施例提供一種資料庫容量計算方法和裝置,可以準確計算資料庫進行歸檔後各個歸檔表的實際容量。
一種資料庫容量計算方法,其中,方法包括:
獲取目標庫的歸檔配置資料;
根據該歸檔配置資料獲取該目標庫中與該歸檔配置資料匹配的歸檔表,並生成配置資訊表;
根據該配置資訊表確定該歸檔表的原容量;
分析該歸檔表,並獲取該歸檔表中各個資料塊的空閒度;
根據該各個資料塊的空閒度及該歸檔表的原容量計算該歸檔表的實際容量。
一種資料庫容量計算裝置,其中,裝置包括:
資料獲取模組,用於獲取目標庫的歸檔配置資料;
生成模組,用於根據該歸檔配置資料獲取該目標庫中與該歸檔配置資料匹配的歸檔表,並生成配置資訊表;
確定模組,用於根據該配置資訊表確定該歸檔表的原容量;
分析模組,用於分析該歸檔表,並獲取該歸檔表中各個資料塊的空閒度;
計算模組,用於根據該各個資料塊的空閒度及該歸檔表的原容量計算該歸檔表的實際容量。
上述資料庫容量計算方法和裝置,通過獲取目標庫之歸檔配置資料,根據歸檔配置資料生成配置資訊表,根據配置資訊表確定目標庫中的歸檔表之原容量,分析歸檔表,並獲取歸檔表中各個資料塊的空閒度,再根據各個資料塊的空閒及歸檔表的原容量計算歸檔表的實際容量,使得資料庫的真實容量計算能細細微性到資料塊層面,根據各個資料塊的空閒度能夠準確計算得到每個歸檔表的實際容量大小,從而準確得到資料庫進行歸檔後的實際容量。
為了使本發明之目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅用以解釋本發明,並不用於限定本發明。
圖1為本發明一實施例中伺服器之內部結構示意圖。如圖1所示,該伺服器包括通過系統匯流排連接的處理器、非易失性存儲介質、內記憶體和網路介面。其中,該伺服器的非易失性存儲介質存儲有作業系統、資料庫和電腦可執行指令,資料庫中存儲有歸檔表,該電腦可執行指令被處理器執行時可用於實現本申請實施例中提供的適用於伺服器的一種資料庫容量計算方法。該伺服器的處理器用於提供計算和控制能力,支撐整個伺服器的運行。該伺服器的內記憶體為非易失性存儲介質中的電腦可執行指令的運行提供環境。該伺服器的網路介面用於據以與外部的終端通過網路連接通信,比如接收終端發送的資料歸檔請求等。伺服器可以用獨立的伺服器或者是多個伺服器組成的伺服器集群來實現。本領域技術人員可以理解,圖1中示出的結構,僅僅是與本申請方案相關的部分結構的框圖,並不構成對本申請方案所應用於其上的伺服器的限定,具體的伺服器可以包括比圖中所示更多或更少的部件,或者組合某些部件,或者具有不同的部件佈置。
如圖2所示,提供了一種資料庫容量計算方法,包括以下步驟:
步驟S210,獲取目標庫的歸檔配置資料。
具體地,目標庫指的是待統計進行歸檔工作後的實際容量的目標資料庫,歸檔配置資料中記錄有目標庫進行歸檔的歸檔表資訊,伺服器從目標庫的歸檔配置資料中可清楚地獲取目標庫進行歸檔的歸檔表及歸檔表資訊。
如圖3所示,於本發明一實施例中,步驟S110獲取目標庫的歸檔配置資料,包括以下步驟:
步驟S302,獲取待計算的目標庫及目標庫資訊。
具體地,可獲取目標庫的目標庫資訊,目標庫資訊可包括目標庫編號、目標庫名稱、目標庫中存儲的各個表的表名等資訊。
步驟S304,根據目標庫資訊從配置庫中提取匹配的歸檔配置資料,並根據歸檔配置資料生成SQL腳本。
具體地,配置庫中存儲有各個資料庫的相關配置資訊,包括各個資料庫的歸檔配置資料、業務配置資料等,其中,業務配置資料可包括資料庫存儲的表對應的業務類型、資料庫各個表的主鍵、欄位等。可根據目標庫資訊中的目標庫編號或是目標庫名稱等,從配置庫中查找並提取與目標庫資訊匹配的歸檔配置資料,並匯出歸檔配置資料生成SQL(Structured Query Language,結構化查詢語言)腳本,方便將歸檔配置資料從配置庫中傳遞至目標庫。
步驟S306,根據SQL腳本將歸檔配置資料導入目標庫中。
具體地,可根據生成的SQL腳本將與目標庫的目標庫資訊匹配的歸檔配置資料導入目標庫中,即可成功提取目標庫中進行歸檔的歸檔表的相關資訊。
步驟S220,根據歸檔配置資料獲取目標庫中與歸檔配置資料匹配的歸檔表,並生成配置資訊表。
具體地,將歸檔配置資料導入目標庫後,即可根據歸檔配置資料獲取目標庫中進行歸檔的歸檔表及歸檔表資訊,並根據歸檔表資訊生成配置資訊表,配置資訊表中可包括歸檔表表名、歸檔表屬主、與歸檔表關聯的主表表名、主表屬主等資訊,其中,屬主指的是創建該表的用戶,即表所屬的主人。
步驟S230,根據配置資訊表確定歸檔表的原容量。
具體地,可按照配置資訊表中的歸檔表表名,逐一對目標庫中的歸檔表計算歸檔後的實際容量,可使用DBA_SEGMENTS函數獲取歸檔表所占的物理空間大小,即歸檔表的原容量。
步驟S240,分析歸檔表,並獲取歸檔表中各個資料塊的空閒度。
具體地,資料庫的邏輯結構包括表空間、段、區及資料塊,一個資料庫由多個表空間組成,表空間中存儲的物件稱為段,例如資料段、索引段等,段由區組成,區是磁片分配的最小單位。區的大小是資料塊大小的整數倍,資料塊是資料庫中最小的I/O單位,同時也是記憶體資料緩衝區的單位,及資料檔案存儲空間單位。在確定了歸檔表的原容量後,可對歸檔表進行分析,通過show_space函數掃描歸檔表中的各個資料塊,並獲取各個資料塊的空閒度,空閒度即資料塊未被佔用的容量占資料塊容量大小的比率。
步驟S250,根據各個資料塊的空閒度及歸檔表的原容量計算歸檔表的實際容量。
具體地,可根據歸檔表的BLOCK_SIZE參數獲取資料塊的容量大小,並根據歸檔表中各個資料塊的空閒度計算出歸檔表的歸檔容量,其中,歸檔容量指的是表中資料被歸檔後空出的容量,即資料被歸檔後可重新使用的容量。計算出歸檔表的歸檔容量後,可將歸檔表的原容量減去歸檔容量,即可得到歸檔表的實際容量。按照配置資訊表中的歸檔表表名逐一計算目標庫的各個歸檔表的實際容量後,即可將各個歸檔表的實際容量與其它未進行歸檔的表的容量進行相加,得到資料庫進行歸檔後的實際容量。
上述資料庫容量計算方法,通過獲取目標庫的歸檔配置資料,根據歸檔配置資料生成配置資訊表,根據配置資訊表確定目標庫中的歸檔表的原容量,分析歸檔表,並獲取歸檔表中各個資料塊的空閒度,再根據各個資料塊的空閒及歸檔表的原容量計算歸檔表的實際容量,使得資料庫的真實容量計算能細細微性到資料塊層面,根據各個資料塊的空閒度能夠準確計算得到每個歸檔表的實際容量大小,從而準確得到資料庫進行歸檔後的實際容量。
如圖4所示,在一個實施例中,步驟S240分析歸檔表,並獲取歸檔表中各個資料塊的空閒度,包括以下步驟:
步驟S402,分析歸檔表,得到歸檔表的高水位線。
具體地,高水位線(HWM,High-Water Mark)用於界定歸檔表的一個段中已被使用的資料塊及未被使用的資料塊,高水位線下為已被使用的資料塊,高水位線上為已分配但未使用的資料塊。當在表中新增資料時,高水位線會隨著資料存儲的空間不足而往上移,但當歸檔表中的資料被歸檔,相當於將歸檔的資料進行刪除時,高水位線並不會隨著資料塊中的資料被刪除而降低,因此,需要獲取歸檔表的高水位線,從而得到歸檔表中的各個段中已被使用的資料塊。
步驟S404,根據高水位線獲取歸檔表中已被使用的資料塊。
具體地,可根據歸檔表的高水位線獲取歸檔表中已被使用的資料塊及未被使用的資料塊,並獲取已被使用的資料塊的歸檔容量,即獲取已被使用的資料塊因資料歸檔從而空出來可重新寫入資料的容量。還可根據高水位線獲取未被使用的資料塊數量,並根據歸檔表的BLOCK_SIZE參數定義的資料塊容量大小計算歸檔表已分配但未使用的容量。
步驟S406,逐一掃描已被使用的資料塊,並獲取各個已被使用的資料塊的空閒度。
具體地,可通過show_space函數逐一掃描歸檔表中已被使用的資料塊,並分別獲取已被使用的資料塊的空閒度,從而根據歸檔表中各個資料塊的空閒度計算出歸檔表的歸檔容量。
在本實施例中,根據歸檔表的高水位線獲取已被使用的資料塊,並獲取各個已被使用的資料塊的空閒度從而精准地計算出歸檔表的歸檔容量,使得歸檔表的實際容量計算能細細微性到資料塊層面,在計算歸檔表的實際容量時能去除高水位線下的空出的容量,能夠準確計算得到每個歸檔表的實際容量大小。
如圖5所示,於本發明一實施例中,步驟S250根據各個資料塊的空閒度及歸檔表的原容量計算歸檔表的實際容量,包括以下步驟:
步驟S502,根據預設的各個空閒度階段對應的空閒度階段值及各個已被使用的資料塊的空閒度,將各個已被使用的資料塊分配到對應的空閒度階段。
具體地,可預先根據業務需求設置各個空閒度階段,例如,可分別設置0-25%、25%-50%、50%-75%、75%-100%、100%等5個空閒度階段。每個空閒度階段對應一個空閒度數值區間,空閒度階段值即為各個空閒度階段的最大值、最小值,每個空閒度階段對應的空閒度數值區間可大於或等於最小值,小於最大值,但並不限於此。通過show_space函數掃描歸檔表中已被使用的資料塊,可獲取已被使用的資料塊的空閒度,將獲取的已被使用的資料塊的空閒度與各個空閒度階段的空閒度階段值進行比對,判斷該已被使用的資料塊的空閒度落入哪一個空閒度數值區間,從而對已被使用的資料塊進行分配。例如,某已被使用的資料塊的空閒度為30%,進行比對後,可知其落入25%-50%這一空閒度數值區間,則將該已被使用的資料塊分配至25%-50%的空閒度階段。
步驟S504,獲取被分配到各個空閒度階段的資料塊數量。
具體地,逐一根據歸檔表中各個已被使用的資料塊的空閒度,將各個已被使用的資料塊分配到對應的空閒度階段後,可獲取被分配到各個空閒度階段的資料塊數量。
步驟S506,通過加權演算法對各個空閒度階段對應的空閒度階段值及資料塊數量進行計算,得到各個空閒度階段的加權空閒資料塊數量。
具體地,因各個空閒度階段對應的為空閒度數值區間,因此,需要對各個空閒度階段對應的空閒度階段值及資料塊數量進行加權計算,從而獲取歸檔表中已被使用的資料塊的空閒度分佈結構。例如,假設歸檔表中,分配到0-25%、25%-50%、50%-75%、75%-100%、100%等5個空閒度階段的資料塊數量分別為a、b、c、d、e,則可計算得到各個空閒度階段的加權空閒資料塊數量分別為a*(0+25%)/2、b*(25%+50%)/2、c*(50%+75%)/2、d*(75%+100%)/2、e*100%。
步驟S508,獲取歸檔表的資料塊容量,根據資料塊容量及各個空閒度階段的加權空閒資料塊數量計算歸檔容量。
具體地,可根據歸檔表的BLOCK_SIZE參數獲取歸檔表的資料塊容量大小,並將資料塊容量與各個空閒度階段的加權空閒資料塊數量之和相乘,即可得到歸檔表的歸檔容量,即歸檔容量=歸檔容量*各個空閒度階段的加權空閒資料塊數量之和。
步驟S510,根據原容量及歸檔容量計算歸檔表的實際容量。
具體地,可根據獲取的歸檔表的原容量、歸檔表中已分配但未使用的容量及歸檔容量等資料計算歸檔表的實際容量,歸檔表的實際容量=原容量-已分配但未使用的容量-歸檔容量。
在本實施例中,將歸檔表中已被使用的資料塊按照空閒度分配至各個空閒度階段,並計算各個空閒度階段的加權空閒資料塊數量,從而使得計算出的歸檔表的歸檔容量更加準確,能夠準確計算得到每個歸檔表的實際容量大小。
如圖6所示,在一個實施例中,上述資料庫容量計算方法,還包括以下步驟:
步驟S602,獲取目標庫的原全庫容量。
具體地,可從資料庫記錄表中提取與目標庫對應的資料,並獲取目標庫的原全庫容量,其中,原全庫容量指的是資料庫未進行資料歸檔前所占的物理空間大小。
步驟S604,統計目標庫中各個歸檔表的歸檔容量,得到目標庫的總歸檔容量。
具體地,計算得到目標庫中各個歸檔表的歸檔容量後,可對各個歸檔表的歸檔容量進行統計,得到目標庫的總歸檔容量。
步驟S606,根據總歸檔容量及原全庫容量計算實際歸檔率。
具體地,實際歸檔率指的是已歸檔的資料占原來全部資料的比率,目標庫的實際歸檔率=總歸檔容量/原全庫容量。在其它的實施例中,可每隔預設時間,例如每日、每月等,收集目標庫各個歸檔表的歸檔時間、歸檔容量、實際容量、目標庫的總歸檔容量、實際歸檔率等資料,並生成報表,方便工作人員對資料庫中的歸檔範圍及實際歸檔率等進行察看調整。
於本實施例中,可根據準確計算得到的歸檔表的歸檔容量計算目標庫的實際歸檔率,使實際歸檔率的計算更加精准,能幫助工作人員更加準確地分析資料庫的歸檔工作。
如圖7所示,提供了一種資料庫容量計算裝置,包括資料獲取模組710、生成模組720、確定模組730、分析模組740及計算模組750。
資料獲取模組710,用於獲取目標庫的歸檔配置資料。
具體地,目標庫指的是待統計進行歸檔工作後的實際容量的目標資料庫,歸檔配置資料中記錄有目標庫進行歸檔的歸檔表資訊,伺服器從目標庫的歸檔配置資料中可清楚地獲取目標庫進行歸檔的歸檔表及歸檔表資訊。
如圖8所示,在一個實施例中,資料獲取模組710包括資訊獲取單元712、腳本生成單元714和導入單元716。
資訊獲取單元712,用於獲取待計算的目標庫及目標庫資訊。
具體地,可獲取目標庫的目標庫資訊,目標庫資訊可包括目標庫編號、目標庫名稱、目標庫中存儲的各個表的表名等資訊。
腳本生成單元714,用於根據目標庫資訊從配置庫中提取匹配的歸檔配置資料,並根據歸檔配置資料生成SQL腳本。
具體地,配置庫中存儲有各個資料庫的相關配置資訊,包括各個資料庫的歸檔配置資料、業務配置資料等,其中,業務配置資料可包括資料庫存儲的表對應的業務類型、資料庫各個表的主鍵、欄位等。可根據目標庫資訊中的目標庫編號或是目標庫名稱等,從配置庫中查找並提取與目標庫資訊匹配的歸檔配置資料,並匯出歸檔配置資料生成SQL腳本,方便將歸檔配置資料從配置庫中傳遞至目標庫。
導入單元716,用於根據SQL腳本將歸檔配置資料導入目標庫中。
具體地,可根據生成的SQL腳本將與目標庫的目標庫資訊匹配的歸檔配置資料導入目標庫中,即可成功提取目標庫中進行歸檔的歸檔表的相關資訊。
生成模組720,用於根據歸檔配置資料獲取目標庫中與歸檔配置資料匹配的歸檔表,並生成配置資訊表。
具體地,將歸檔配置資料導入目標庫後,即可根據歸檔配置資料獲取目標庫中進行歸檔的歸檔表及歸檔表資訊,並根據歸檔表資訊生成配置資訊表,配置資訊表中可包括歸檔表表名、歸檔表屬主、與歸檔表關聯的主表表名、主表屬主等資訊,其中,屬主指的是創建該表的用戶,即表所屬的主人。
確定模組730,用於根據配置資訊表確定歸檔表的原容量。
具體地,可按照配置資訊表中的歸檔表表名,逐一對目標庫中的歸檔表計算歸檔後的實際容量,可使用DBA_SEGMENTS函數獲取歸檔表所占的物理空間大小,即歸檔表的原容量。
分析模組740,用於分析歸檔表,並獲取歸檔表中各個資料塊的空閒度。
具體地,資料庫的邏輯結構包括表空間、段、區及資料塊,一個資料庫由多個表空間組成,表空間中存儲的物件稱為段,例如資料段、索引段等,段由區組成,區是磁片分配的最小單位。區的大小是資料塊大小的整數倍,資料塊是資料庫中最小的I/O單位,同時也是記憶體資料緩衝區的單位,及資料檔案存儲空間單位。在確定了歸檔表的原容量後,可對歸檔表進行分析,通過show_space函數掃描歸檔表中的各個資料塊,並獲取各個資料塊的空閒度,空閒度即資料塊未被佔用的容量占資料塊容量大小的比率。
計算模組750,用於根據各個資料塊的空閒度及歸檔表的原容量計算歸檔表的實際容量。
具體地,可根據歸檔表的BLOCK_SIZE參數獲取資料塊的容量大小,並根據歸檔表中各個資料塊的空閒度計算出歸檔表的歸檔容量,其中,歸檔容量指的是表中資料被歸檔後空出的容量,即資料被歸檔後可重新使用的容量。計算出歸檔表的歸檔容量後,可將歸檔表的原容量減去歸檔容量,即可得到歸檔表的實際容量。按照配置資訊表中的歸檔表表名逐一計算目標庫的各個歸檔表的實際容量後,即可將各個歸檔表的實際容量與其它未進行歸檔的表的容量進行相加,得到資料庫進行歸檔後的實際容量。
上述資料庫容量計算裝置,通過獲取目標庫的歸檔配置資料,根據歸檔配置資料生成配置資訊表,根據配置資訊表確定目標庫中的歸檔表的原容量,分析歸檔表,並獲取歸檔表中各個資料塊的空閒度,再根據各個資料塊的空閒及歸檔表的原容量計算歸檔表的實際容量,使得資料庫的真實容量計算能細細微性到資料塊層面,根據各個資料塊的空閒度能夠準確計算得到每個歸檔表的實際容量大小,從而準確得到資料庫進行歸檔後的實際容量。
如圖9所示,在一個實施例中,分析模組740包括分析單元742、資料塊獲取單元744及空閒度獲取單元746。
分析單元742,用於分析歸檔表,得到歸檔表的高水位線。
具體地,高水位線用於界定歸檔表的一個段中已被使用的資料塊及未被使用的資料塊,高水位線下為已被使用的資料塊,高水位線上為已分配但未使用的資料塊。當在表中新增資料時,高水位線會隨著資料存儲的空間不足而往上移,但當歸檔表中的資料被歸檔,相當於將歸檔的資料進行刪除時,高水位線並不會隨著資料塊中的資料被刪除而降低,因此,需要獲取歸檔表的高水位線,從而得到歸檔表中的各個段中已被使用的資料塊。
資料塊獲取單元744,用於根據高水位線獲取歸檔表中已被使用的資料塊。
具體地,可根據歸檔表的高水位線獲取歸檔表中已被使用的資料塊及未被使用的資料塊,並獲取已被使用的資料塊的歸檔容量,即獲取已被使用的資料塊因資料歸檔從而空出來可重新寫入資料的容量。還可根據高水位線獲取未被使用的資料塊數量,並根據歸檔表的BLOCK_SIZE參數定義的資料塊容量大小計算歸檔表已分配但未使用的容量。
空閒度獲取單元746,用於逐一掃描已被使用的資料塊,並獲取各個已被使用的資料塊的空閒度。
具體地,可通過show_space函數逐一掃描歸檔表中已被使用的資料塊,並分別獲取已被使用的資料塊的空閒度,從而根據歸檔表中各個資料塊的空閒度計算出歸檔表的歸檔容量。
於本實施例中,根據歸檔表的高水位線獲取已被使用的資料塊,並獲取各個已被使用的資料塊的空閒度從而精准地計算出歸檔表的歸檔容量,使得歸檔表的實際容量計算能細細微性到資料塊層面,在計算歸檔表的實際容量時能去除高水位線下的空出的容量,能夠準確計算得到每個歸檔表的實際容量大小。
如圖10所示,在一個實施例中,計算模組750包括分配單元752、數量獲取單元754及計算單元756。
分配單元752,用於根據預設的各個空閒度階段對應的空閒度階段值及各個已被使用的資料塊的空閒度,將各個已被使用的資料塊分配到對應的空閒度階段。
具體地,可預先根據業務需求設置各個空閒度階段,例如,可分別設置0-25%、25%-50%、50%-75%、75%-100%、100%等5個空閒度階段。每個空閒度階段對應一個空閒度數值區間,空閒度階段值即為各個空閒度階段的最大值、最小值,每個空閒度階段對應的空閒度數值區間可大於或等於最小值,小於最大值,但並不限於此。通過show_space函數掃描歸檔表中已被使用的資料塊,可獲取已被使用的資料塊的空閒度,將獲取的已被使用的資料塊的空閒度與各個空閒度階段的空閒度階段值進行比對,判斷該已被使用的資料塊的空閒度落入哪一個空閒度數值區間,從而對已被使用的資料塊進行分配。例如,某已被使用的資料塊的空閒度為30%,進行比對後,可知其落入25%-50%這一空閒度數值區間,則將該已被使用的資料塊分配至25%-50%的空閒度階段。
數量獲取單元754,用於獲取被分配到各個空閒度階段的資料塊數量。
具體地,逐一根據歸檔表中各個已被使用的資料塊的空閒度,將各個已被使用的資料塊分配到對應的空閒度階段後,可獲取被分配到各個空閒度階段的資料塊數量。
計算單元756,用於通過加權演算法對各個空閒度階段對應的空閒度階段值及資料塊數量進行計算,得到各個空閒度階段的加權空閒資料塊數量。
具體地,因各個空閒度階段對應的為空閒度數值區間,因此,需要對各個空閒度階段對應的空閒度階段值及資料塊數量進行加權計算,從而獲取歸檔表中已被使用的資料塊的空閒度分佈結構。例如,假設歸檔表中,分配到0-25%、25%-50%、50%-75%、75%-100%、100%等5個空閒度階段的資料塊數量分別為a、b、c、d、e,則可計算得到各個空閒度階段的加權空閒資料塊數量分別為a*(0+25%)/2、b*(25%+50%)/2、c*(50%+75%)/2、d*(75%+100%)/2、e*100%。
計算單元756,還用於獲取歸檔表的資料塊容量,根據資料塊容量及各個空閒度階段的加權空閒資料塊數量計算歸檔容量。
具體地,可根據歸檔表的BLOCK_SIZE參數獲取歸檔表的資料塊容量大小,並將資料塊容量與各個空閒度階段的加權空閒資料塊數量之和相乘,即可得到歸檔表的歸檔容量,即歸檔容量=歸檔容量*各個空閒度階段的加權空閒資料塊數量之和。
計算單元756,還用於根據原容量及歸檔容量計算歸檔表的實際容量。
具體地,可根據獲取的歸檔表的原容量、歸檔表中已分配但未使用的容量及歸檔容量等資料計算歸檔表的實際容量,歸檔表的實際容量=原容量-已分配但未使用的容量-歸檔容量。
於本實施例中,將歸檔表中已被使用的資料塊按照空閒度分配至各個空閒度階段,並計算各個空閒度階段的加權空閒資料塊數量,從而使得計算出的歸檔表的歸檔容量更加準確,能夠準確計算得到每個歸檔表的實際容量大小。
如圖11所示,在一個實施例中,上述資料庫容量計算裝置,除了包括資料獲取模組710、生成模組720、確定模組730、分析模組740及計算模組750,還包括容量獲取模組760及統計模組770。
容量獲取模組760,用於獲取目標庫的原全庫容量。
具體地,可從資料庫記錄表中提取與目標庫對應的資料,並獲取目標庫的原全庫容量,其中,原全庫容量指的是資料庫未進行資料歸檔前所占的物理空間大小。
統計模組770,用於統計目標庫中各個歸檔表的歸檔容量,得到目標庫的總歸檔容量。
具體地,計算得到目標庫中各個歸檔表的歸檔容量後,可對各個歸檔表的歸檔容量進行統計,得到目標庫的總歸檔容量。
計算模組750,還用於根據總歸檔容量及原全庫容量計算實際歸檔率。
具體地,實際歸檔率指的是已歸檔的資料占原來全部資料的比率,目標庫的實際歸檔率=總歸檔容量/原全庫容量。在其它的實施例中,可每隔預設時間,例如每日、每月等,收集目標庫各個歸檔表的歸檔時間、歸檔容量、實際容量、目標庫的總歸檔容量、實際歸檔率等資料,並生成報表,方便工作人員對資料庫中的歸檔範圍及實際歸檔率等進行察看調整。
於本實施例中,可根據準確計算得到的歸檔表的歸檔容量計算目標庫的實際歸檔率,使實際歸檔率的計算更加精准,能幫助工作人員更加準確地分析資料庫的歸檔工作。
S210-S250‧‧‧資料庫容量計算方法之流程步驟
S302-S306‧‧‧獲取目標庫的歸檔配置資料之流程步驟
S402-S406‧‧‧分析歸檔表,並獲取歸檔表中各個資料塊的空閒度之流程步驟
S502-S510‧‧‧計算歸檔表的實際容量之流程步驟
S602-S606‧‧‧計算目標庫的實際歸檔率之流程步驟
710‧‧‧資料獲取模組
720‧‧‧生成模組
730‧‧‧確定模組
740‧‧‧分析模組
750‧‧‧計算模組
760‧‧‧容量獲取模組
770‧‧‧統計模組
712‧‧‧資訊獲取單元
714‧‧‧腳本生成單元
716‧‧‧導入單元
742‧‧‧分析單元
744‧‧‧資料塊獲取單元
746‧‧‧空閒度獲取單元
752‧‧‧分配單元
754‧‧‧數量獲取單元
756‧‧‧計算單元
圖1為本發明一實施例中伺服器之內部結構示意圖。 圖2為本發明一實施例中資料庫容量計算方法之流程示意圖。 圖3為本發明一實施例中獲取目標庫之歸檔配置資料之流程示意圖。 圖4為本發明一實施例中分析歸檔表,並獲取歸檔表中各個資料塊之空閒度之流程示意圖。 圖5為本發明一實施例中計算歸檔表之實際容量之流程示意圖。 圖6為本發明一實施例中計算目標庫之實際歸檔率之流程示意圖。 圖7為本發明一實施例中資料庫容量計算裝置之結構示意圖。 圖8為本發明一實施例中資料獲取模組的內部結構示意圖。 圖9為本發明一實施例中分析模組之內部結構示意圖。 圖10為本發明一實施例中計算模組之內部結構示意圖。 圖11為本發明另一實施例中資料庫容量計算裝置的結構示意圖。

Claims (6)

  1. 一種資料庫容量計算方法,其中,該方法包括:獲取目標庫的歸檔配置資料;根據該歸檔配置資料獲取該目標庫中與該歸檔配置資料匹配的歸檔表,並生成配置資訊表;根據該配置資訊表確定該歸檔表的原容量;分析該歸檔表以得到該歸檔表的高水位線,根據該高水位線獲取該歸檔表中已被使用的資料塊,逐一掃描該已被使用的資料塊,並獲取各個已被使用的資料塊的空閒度;根據預設的各個空閒度階段對應的空閒度階段值及該各個已被使用的資料塊的空閒度,將該各個已被使用的資料塊分配到對應的空閒度階段;獲取被分配到該各個空閒度階段的資料塊數量;通過加權演算法對該各個空閒度階段對應的空閒度階段值及資料塊數量進行計算,得到該各個空閒度階段的加權空閒資料塊數量;獲取該歸檔表的資料塊容量,根據該資料塊容量及該各個空閒度階段的加權空閒資料塊數量計算歸檔容量;根據該原容量及該歸檔容量計算該歸檔表的實際容量。
  2. 如請求項1所述之資料庫容量計算方法,其中,該獲取目標庫的歸檔配置資料之步驟,包括:獲取待計算的目標庫及目標庫資訊;根據該目標庫資訊從配置庫中提取匹配的歸檔配置資料,並根據該歸檔配置資料生成SQL腳本; 根據該SQL腳本將該歸檔配置資料導入該目標庫中。
  3. 如請求項1所述之資料庫容量計算方法,進一步包括:獲取該目標庫的原全庫容量;統計該目標庫中各個歸檔表的歸檔容量,得到該目標庫的總歸檔容量;根據該總歸檔容量及該原全庫容量計算實際歸檔率。
  4. 一種資料庫容量計算裝置,其中,該裝置包括:資料獲取模組,用於獲取目標庫的歸檔配置資料;生成模組,用於根據該歸檔配置資料獲取該目標庫中與該歸檔配置資料匹配的歸檔表,並生成配置資訊表;確定模組,用於根據該配置資訊表確定該歸檔表的原容量;分析模組,用於分析該歸檔表,並獲取該歸檔表中各個資料塊的空閒度以及得到該歸檔表的高水位線,其中,該資料獲取模組根據該高水位線獲取該歸檔表中已被使用的資料塊;計算模組,用於根據該各個資料塊的空閒度及該歸檔表的原容量計算該歸檔表的實際容量;空閒度獲取單元,用於逐一掃描該已被使用的資料塊,並獲取各個已被使用的資料塊的空閒度;分配單元,用於根據預設的各個空閒度階段對應的空閒度階段值及該各個已被使用的資料塊的空閒度,將該各個已被使用的資料塊分配到對應的空閒度階段;數量獲取單元,用於獲取被分配到該各個空閒度階段的資料塊數量;以及計算單元,用於通過加權演算法對該各個空閒度階段對應的空閒度階段值及 資料塊數量進行計算,得到該各個空閒度階段的加權空閒資料塊數量及獲取該歸檔表的資料塊容量;其中,根據該資料塊容量及該各個空閒度階段的加權空閒資料塊數量計算歸檔容量,根據該原容量及該歸檔容量計算該歸檔表的實際容量。
  5. 如請求項4所述之資料庫容量計算裝置,其中,該資料獲取模組,包括:資訊獲取單元,用於獲取待計算的目標庫及目標庫資訊;腳本生成單元,用於根據該目標庫資訊從配置庫中提取匹配的歸檔配置資料,並根據該歸檔配置資料生成SQL腳本;導入單元,用於根據該SQL腳本將該歸檔配置資料導入該目標庫中。
  6. 如請求項4所述之資料庫容量計算裝置,其中,該資料庫容量計算裝置進一步包括:容量獲取模組,用於獲取該目標庫的原全庫容量;統計模組,用於統計該目標庫中各個歸檔表的歸檔容量,得到該目標庫的總歸檔容量;該計算模組,還用於根據該總歸檔容量及該原全庫容量計算實際歸檔率。
TW106133063A 2016-09-28 2017-09-27 資料庫容量計算方法和裝置 TWI637281B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610859826.2A CN106383897B (zh) 2016-09-28 2016-09-28 数据库容量计算方法和装置
??201610859826.2 2016-09-28

Publications (2)

Publication Number Publication Date
TW201814559A TW201814559A (zh) 2018-04-16
TWI637281B true TWI637281B (zh) 2018-10-01

Family

ID=57937357

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106133063A TWI637281B (zh) 2016-09-28 2017-09-27 資料庫容量計算方法和裝置

Country Status (3)

Country Link
CN (1) CN106383897B (zh)
TW (1) TWI637281B (zh)
WO (1) WO2018058983A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106383897B (zh) * 2016-09-28 2018-02-16 平安科技(深圳)有限公司 数据库容量计算方法和装置
CN108470045B (zh) * 2018-03-06 2020-02-18 平安科技(深圳)有限公司 电子装置、数据链式归档的方法及存储介质
CN109885567B (zh) * 2018-12-13 2024-04-02 平安壹钱包电子商务有限公司 一种存储空间扩容方法和装置
CN111090652B (zh) * 2019-12-20 2023-05-23 山大地纬软件股份有限公司 一种可水平扩展归档数据库的数据归档方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200828073A (en) * 2006-09-28 2008-07-01 Ibm Managing encryption for volumes in storage pools
CN103064768A (zh) * 2013-01-25 2013-04-24 北京捷成世纪科技股份有限公司 一种基于磁带的数据归档备份方法和系统
TW201342052A (zh) * 2011-12-16 2013-10-16 Ibm 磁帶機系統伺服器
US20160239555A1 (en) * 2012-07-20 2016-08-18 Commvault Systems, Inc Systems and methods for database archiving

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101364897A (zh) * 2008-09-17 2009-02-11 中兴通讯股份有限公司 一种历史数据归档的系统与实现方法
CN101493842A (zh) * 2009-02-20 2009-07-29 中兴通讯股份有限公司 Oracle数据库中大批量删除数据的方法
US9002801B2 (en) * 2010-03-29 2015-04-07 Software Ag Systems and/or methods for distributed data archiving amongst a plurality of networked computing devices
CN103761318B (zh) * 2014-01-27 2017-08-18 中国工商银行股份有限公司 一种关系型异构数据库数据同步的方法及系统
CN104699807B (zh) * 2015-03-23 2018-05-15 上海新炬网络信息技术股份有限公司 一种oracle数据表空间的自动监控扩容方法
CN105808633B (zh) * 2016-01-08 2019-07-23 平安科技(深圳)有限公司 数据归档方法和系统
CN106383897B (zh) * 2016-09-28 2018-02-16 平安科技(深圳)有限公司 数据库容量计算方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200828073A (en) * 2006-09-28 2008-07-01 Ibm Managing encryption for volumes in storage pools
TW201342052A (zh) * 2011-12-16 2013-10-16 Ibm 磁帶機系統伺服器
US20160239555A1 (en) * 2012-07-20 2016-08-18 Commvault Systems, Inc Systems and methods for database archiving
CN103064768A (zh) * 2013-01-25 2013-04-24 北京捷成世纪科技股份有限公司 一种基于磁带的数据归档备份方法和系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
簡要分析估算oracle表的大小,http://gundam.blog.5lcto.com/1845787/987693,2012/09/11 *
簡要分析估算oracle表的大小,http://gundam.blog.5lcto.com/1845787/987693,2012/09/11。

Also Published As

Publication number Publication date
CN106383897B (zh) 2018-02-16
WO2018058983A1 (zh) 2018-04-05
TW201814559A (zh) 2018-04-16
CN106383897A (zh) 2017-02-08

Similar Documents

Publication Publication Date Title
TWI637281B (zh) 資料庫容量計算方法和裝置
US20230126005A1 (en) Consistent filtering of machine learning data
JP6634527B2 (ja) ユーザ権限データ検索方法および電子機器
US20200356901A1 (en) Target variable distribution-based acceptance of machine learning test data sets
CN107766575B (zh) 读写分离的数据库访问方法及装置
CN110008045B (zh) 微服务的聚合方法、装置、设备及存储介质
US10366053B1 (en) Consistent randomized record-level splitting of machine learning data
US11182691B1 (en) Category-based sampling of machine learning data
CN111488363B (zh) 数据处理方法、装置、电子设备及介质
TWI640876B (zh) 執行具有定義草圖精確度分佈之集合運算的系統與方法
CN108874803B (zh) 数据存储方法、装置及存储介质
JP2013156881A (ja) ファイルリスト生成方法及びシステム、ファイルリスト生成装置並びにプログラム
CN111061758B (zh) 数据存储方法、装置及存储介质
US20130073553A1 (en) Information management method and information management apparatus
CN111639092B (zh) 一种人员流动分析方法、装置、电子设备及存储介质
JPWO2014006903A1 (ja) コンテンツ制御方法、コンテンツ制御装置およびプログラム
CN111046240B (zh) 网关流量统计方法、装置、计算机设备和存储介质
JP2016024486A (ja) データ活用システム及びその制御方法
CN111368128A (zh) 目标图片的识别方法、装置和计算机可读存储介质
US20220043592A1 (en) Information processing device and non-transitory computer-readable storage medium
CN114416716A (zh) 车牌管理方法、车牌管理装置、设备及存储介质
CN110990394B (zh) 分布式面向列数据库表的行数统计方法、装置和存储介质
CN114997109A (zh) 单据转换方法、装置、计算机设备和存储介质
CN109063201B (zh) 一种基于混合存储方案的impala在线交互式查询方法
CN112506429A (zh) 进行删除处理的方法、装置、设备及存储介质