柯南君 Oracle分割槽技術之如何支撐大資料操作?

2021-12-30 12:29:26 字數 1622 閱讀 1020

前段時間,看了羅女士( 資深技術顧問 -oracle中國 顧問諮詢部)關於《大批量資料處理技術的演講》**,感覺受益良多,結合多年的知識積累,柯南君給大家分享一下:

交流內容:

一、oracle的分割槽技術

(一)分割槽技術內容

1. 什麼是分割槽?

分割槽就是將乙個非常大的table或者index按照某一列的值,分解為更小的,易於管理的邏輯片段---分割槽。將表或者索引分割槽不會影響sql語句以及dml(見備註語句,就和使用非分割槽表一樣,每個分割槽擁有自己的segment(見備註,因為,ddl(見備註能夠將比較大的任務分解為更小的顆粒。分割槽表只有定義資訊,只有每個存放資料的分割槽才有各自的segment。就好象擁有多個相同列名,列型別的乙個大的檢視。

大資料物件(表,索引)被分成小物理段; 當分割槽表建立時,記錄基於分割槽字段值被儲存到相應的分割槽; 分割槽字段值可以修改(row movement enable); 分割槽可以儲存在不同的表空間; 分割槽可以有不同的物理儲存引數; 分割槽可以支援iot表,物件表,lob欄位,varrays等;備註:

① dml(data manipulation language):

它們是select、update、insert、delete,就象它的名字一樣,這4條命令是用來對資料庫裡的資料進行操作的語言;

② segment(data

manipulation language):

段(segment)是一種在資料庫中消耗物理儲存空間的任何實體(乙個段可能存在於多個資料檔案中,因為物理的資料檔案

是組成邏輯表空間的基本物理儲存單位)

2.分割槽的好處?

效能 - select 和 dml操作只訪問指定分割槽

- 並行dml操作

- patition - wise join

可管理性:資料刪除,資料備份

- 歷史資料清除

- 提高備份效能

- 指定分割槽的資料維護操作

可用性 - 將故障侷限在分割槽中

- 縮短恢復時間

分割槽目標優先順序

- 高效能->資料維護能力->實施難度->高可用性(故障遮蔽能力)

③ 如何實施分割槽?

a . range partitioning(範圍分割槽)

【案例分析】:

就是根據資料庫表中某一字段的值的範圍來劃分分割槽,例如:

sql**

Oracle分割槽技術

oracle的分割槽 partitioning option 是一種處理超大型表的技術。分割槽是一種 分而治之 的技術,通過將大表和索引分成可以管理的小塊,從而避免了對每個表作為乙個大的 單獨的物件進行管理,為大量資料提供了可伸縮的效能。分割槽通過將操作分配給更小的儲存單元,減少了需要進行管理操作的...

oracle之表分割槽

分割槽元素 字串,日期時間或間隔文字,數字或 maxvalue 檢視表的分割槽,利用user tab partitions select table name,partition name from user tab partitions where table name stud 1 範圍分割槽 ...

oracle分割槽技術提高查詢效率

當表中的資料量不斷增大,查詢資料的速度就會變慢,應用程式的效能就會下降,這時就應該考慮對錶進行分割槽。表進行分割槽後,邏輯上表仍然是一張完整的表,只是將表中的資料在物理上存放到多個表空間 物理檔案上 這樣查詢資料時,不至於每次都掃瞄整張表。下面介紹如何使用分割槽增加查詢效率 range分割槽 就是區...