SYBASE IQ簡介

sunwgneuqsoft發表於2007-12-17
SYBASE IQ是SYBASE公司開發的基於列儲存的資料庫,與我們平時使用的關係型資料庫有很大的差異。
我們平時使用的ORACLE,DB2等關係型資料庫是基於行來儲存的,表的組織單位是行,是記錄;
而IQ中的表是按照列來儲存的,表中一列的資料是放到一起的。[@more@]


形象點說明的話,傳統關係型資料庫一個表(非分割槽表)只對應一個SEGMENT,因為是按照行來組織;
而IQ中,每一個列會對應一個SEGMENT,那麼一個表就會對應多個SEGMENT。

按列儲存有著幾個明顯的優勢:
1,我們SQL一般僅僅關心表中的幾個欄位,對於IQ來說,它僅僅會掃描那些使用者關係的列,而不會讀取那

些使用者並不關心的列;而ORACLE這樣的關係型資料庫,無論你是否感興趣,它都會讀取所有的列的內容。
2,我們知道ORACLE中的索引就是基於單個或著多個列的。IQ中所有的記錄按列儲存,那麼每個列都可以

看做一個效率低一些的索引(相對樹型結構),這樣訪問的速度上會有很大的提升。
3,IQ上表中表上增加列是很容易的事情。大家可能都有這個經歷,在一個資料量很大的表上增加列簡直

就是噩夢。而這種問題在IQ上是不存在的,因為增加列就象增加記錄一樣簡單(類似於縱表)。
4,IQ上提供了多種特殊的索引來提高效率
5,由於IQ中是按列儲存,那麼資料型別的數值放到一起,這樣壓縮的效果會相當的好。

以上一些優點都是因為IQ是採用基於列來儲存的。但是IQ也有一些顯而易見的缺點,最重要的一個就是,

IQ並不適合OLAT系統,因為它並不是基於關係型的,IQ中的表的連線效率特別低。所以可以看得出來,IQ

僅僅適合資料量大,查詢操作為主的資料倉儲系統。

雖然IQ現在的使用還不是太廣泛,但是他的設計思想還是很新穎的,值得我們深入的學習。

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

相關文章