[IDS培訓文件]第五章 資料分片(fragmentation)

mrhutoo發表於2013-09-06
第五章 資料分片(fragmentation)
Informix資料分片指把一個資料庫表的資料分佈在不同的資料空間上。資料分片技術主要適用於資料量比較大(50,000條記錄以上)、訪問頻繁的資料表。
1、資料分片技術
1)輪循(round robin)方式
輪循方式資料分片將資料庫表的資料均勻分佈在指定的資料空間上。對於經常需要順序掃描的資料表或經常裝載的資料的資料表,可以考慮使用round robin分片策略,將資料均勻分佈在多個位於不同硬碟上的資料空間(dbspaces)上。例如:
create table satmxhz
(

)fragment by round robin in workdbs1,workdbs2,workdbs3;
2)表示式(expression)方式
表示式方式資料分片將資料按照一定的條件分佈在指定的資料空間上。對於經常按照一定的條件掃描,而且很少裝載資料的資料表,可以考慮使用expression分片方式,將資料按照一定條件分佈在多個位於不同的資料空間(dbspace)上。例如:
create table acdb1
(

)fragment by expression
fb1z1 in (“1”,”2”,”3”) in workdbs1,
fb1z1 in (“4”,”5”,”6”) in workdbs2,
remainder in workdbs3;
使用表示式方式資料分片在進行條件查詢時,Online可以忽略那些不滿足條件的分片,從而降低了掃描資料量,提高了查詢效率。
2、 資料分片的優點
(1)並行掃描(parallel scans);
如果使用了資料分片,並且開啟了PDQ,那麼對資料表的掃描將並行從各個fragmentation中讀資料,查詢速度將得到很大提高。
(2)均衡I/O;
如果資料分片使用的資料空間正好分佈在多個獨立物理硬碟上,則資料掃描將在多個硬碟上同時進行,減少了磁碟競爭,均衡了磁碟I/O。這對於OLTP交易非常有利。
(3)高可靠性;
通過設定忽略出錯的單個資料分片,可以避免由於單個資料分片出錯導致整個不能使用的情況。這對於大量的動態資料統計非常有利,如決策支援系統DSS(Decision Support System)中的資料統計。
(4)降低備份、恢復資料粒度。
由於資料備份、恢復可以在dbspace一級上進行,而資料分片駐留在dbspace上,所以資料備份、恢復可以在fragment上進行。
3、rowid問題
IDS的rowid由4個位元組構成:
0 -- 07bit :記錄在頁面中的槽表號。
08 -- 32bit :tbsapce中的邏輯頁號。
由於使用了資料分片,一個資料庫表將跨越多個dbspace中的tbspace,所以rowid在一個表中不再是唯一的,而且作為應用程式也不應該直接操作rowid。鑑於以上情況,在使用Informix 7.0後,應該不再直接操作rowid。為了操作方便可以在資料庫表中定義主關鍵字(primary key)。
 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24955184/viewspace-772255/,如需轉載,請註明出處,否則將追究法律責任。

相關文章