從數據倉庫的數據來源及實施環境來看,它離不開數據庫,數據倉庫技術與數據庫技術有緊密聯系,二者能相互連通,相互支持,又有著重要差別。主要是數據倉庫側重于決策分析,而數據庫則側重于操作和管理。
其中Data Mart(專用數據倉庫)是為滿足用戶特定需求而創建的數據倉庫,具有傳統意義上的數據倉庫的基本特征,可以看成是中央數據倉庫的一個子集,是針對某個部門級的應用( 如市場、財務、銷售
、產品控制等)而建立的數據倉庫。企業最高級集中化的數據倉庫可稱之為原子化(Atomic)數據倉庫。它主要用作其各個子集——Data Mart的集結基礎(Staging ground)以及作為參照(reference)用的中央數據倉庫。
各個Data Mart物理上往往散布到與最終用戶較近的地點以節約通信開銷并提高響應速度。故相對于集中化的數據倉庫而言,把Data Mart又稱分布式的數據倉庫。與中央數據倉庫相比它與(某組)用戶更具交互性。
應著重指出的是,建立Data Mart的著眼點主要在于它的目標而不是規模。一般情況下Data Mart比中央數據倉庫小一些,比如在大型保險公司的數據倉庫中所涉及的"主題"可能是保險金、客戶等,而在
其地區辦事處建立的Data Mart可能僅涉及這些主題的一個子集——本地區的客戶、保險金等。
交互式數據倉庫解決方案Sybase IQ
作為國際著名數據庫廠商之一的Sybase公司推出了交鑰匙型的數據倉庫解決方案。
Sybase交互式數據倉庫解決方案的著眼點是以較低的花費,按一個易于管理和擴充的基礎框架為企業用戶和信息技術部門提供快速的解決方案。
Sybase的特色產品便是Sybase IQ,它能方便地為用戶建立Data Mart,即部門級的數據倉庫,或"面向應用系統的數據倉庫"。
為使各Data Mart能與該企業中其它Data Mart保持一致的增長和維護,在創建時就應有充分的考慮。因而Sybase推出了一個名為"Quick Start Data Mart"的交鑰匙型解決方案。它是以Sybase IQ為核心,
由Sybase及第三方(如:Business Object等)的產品和服務打包而成。
另外還包括了必要的專家咨詢和技術培訓,以保證在短期內為用戶創建一個實用的Data M art。
這一方案的特點包括:
◆能夠快速獲得效益,風險低;
◆以較經濟的方式能夠對大量用戶的即席查詢給出極快的響應。
◆易于實現企業內部數據倉庫與Inernet應用的有機結合。
Sybase IQ技術
Sybase IQ是針對DSS應用而提供的一個特定的數據庫服務器,它能上百倍地提高交互式即席查詢的速度,特別適用于交互式數據倉庫環境。
Sybase IQ服務器可透明地集成到Sybase的開放性客戶/服務器體系結構中,它使用標準的SQL命令,支持DB-Lib、CT-Lib和ODBC客戶調用。因而,利用Isql及各種流行的前端工具,如PowerBuilder、access
、SAS Assist及Business Object等都可方便地訪問Sybase IQ服務器。
Sybase IQ服務器可與SQL Server混合使用。一個內置的智能查詢管理器可識別并透明地將對數據庫的更新傳遞到SQL Server以完成OLTP;同時利用Sybase IQ來解決用于DSS的即席查詢。Sybase IQ的Bit-Wise索引可定期地在非高峰時刻批量地進行更新。SQL Server和Sybase IQ有一個共同集成的目錄(Catalog),這樣,在Sybase環境中可統一管理安全性和其他服務,Sybase IQ也可有效地支持SMP環境及多用戶并發操作。
Sybase IQ服務器的技術特色
Sybase IQ服務器的主要特點為:
◆數據的垂直分割——數據是按"列"來儲存。查詢時僅需讀取在該查詢中所涉及的各列的索引,因而徹底避免了耗時的全表掃描。
◆采用了突破性的數據存取方法——Bit-Wise索引技術。
◆在數據壓縮和并行處理方面有獨到之處。
◆提供有效的預連接(PReJoin)策略。
Sybase IQ服務器的核心由于采用了正在申請專利的Bit-Wise索引技術,它在處理復雜的即席查詢時,能比傳統的B-Tree索引能提高響應速度10~100倍。
對B-Tree及Bit-Map索引的簡要回顧
1.傳統的B-Tree(平衡樹)索引是通過跟蹤一個選擇的數據字段的值和直接指向包含該數據項的數據頁的方式來提供快速查找數據記錄。
傳統的B-Tree 樹索引
若為一個特定的客戶查找信息記錄就只有快速讀取索引,然后直接定位到包含該客戶信息的數據頁中。索引方式通過直接指向相關信息來消除高代價的表掃描。
B-Tree非常適合于查找并取回少量的行。但對典型的數據倉庫的復雜交互式查詢應用B -Tree有三個缺點:
首先,B-Tree只在索引是高度可選擇(Highly Selective)又稱之為高基數(Cardinality )的時候才有價值,對一些唯一值極少的(低基數)數據字段就幾乎毫無價值。
B-Tree索引第二個限制是在數據倉庫中構造和維護索引的代價。
由于B-Tree索引包含實際數據和其他信息(如指針等),因而使得索引需占用一定的空間和時間。如果構造所有相關的索引,數據倉庫就會占據2~4倍原始數據空間。當成批插入刪除時,索引就非常敏感,有可
能失去平衡并降低性能。通常說來,10%~15%的數據修改會導致重建索引。
最后,B-Tree索引設計用于簡單查詢及已知公共存取路徑的環境下才有優點,而在數據倉庫應用中,通常是復雜的查詢,并經常帶有分組及聚合條件。此時,B-Tree索引往往是無能為力。
2.Bit-Map(位圖)索引和使用B-Tree相比,位圖為每個記錄的名字段用給定真或假("1"或"0")的方式表示。
傳統的位圖索引突破了B-Tree索引的一些限制。位圖索引可以非常有效地對低基數數據進行索引,但位圖式索引卻不適用于高基數數據,在聚集數據、完成關系聯結和取回原始數據值等方面的效率不高。
Bit-Wise的索引技術特點
1.Sybase IQ在存儲數據的方式上與傳統的RDBMS完全不同,它不是以"記錄行"而是按"列"為單位來存儲數據。即所謂的"對數據進行垂直分割",它在Bit-Map索引基礎上擴充存放了該字段中的不同取值,
一般的DSS查詢往往僅涉及大量數據記錄中的少數列,因而不需訪問原始數據就能快速獲得查詢結果。顯然,利用這些不同取值也就能快速地進行數據聚集、分組、求最大值、最小值及平均值等。它彌補了位圖式索引不適用于高基數數據的缺點。
2.由于列數據比行數據更易進行壓縮,因而Sybase IQ以壓縮方式存放原始數據時可節省50%的磁盤空間,在獲取查詢結果數據時減少了I/O次數,響應速度自然加快。
3.Sybase IQ采用操作系統級的并行處理機制,因而像分類、Bit-Map操作及I/O操作都可由操作系統獨立地進行調度以消除瓶頸,進而在數據加載時其能充分利用SMP環境中多CPU的資源潛力。
Bit-Wise"數據驅動的"索引機制在Sybase IQ中對每個字段所建索引的類型和個數主要是取決于其數據的特征和經常被使用的情況而不是針對某組特定的查詢(后者被稱為"查詢驅動的"索引機制)。Bit-
Wise索引是"數據驅動的",因而無需DBA為各種查詢分別考慮優化策略。
Sybase IQ支持的主要索引類型為:
·LowFast-LF(低基數)
·HighGroup-HG(高基數)
·HighNonGroup-HNG(高基數)
·FastProjiectinFP
建立Bit-Wise索引的一般原則:
(1)在每個列上都建FP索引;
(2)在唯一值<1000的字段上建立LF索引;
(3)在參加連接的字段上建HG或LF索引;
(4)唯一值>1000且用在GROUP BY,SELCT DISITICT,COUNT DISITICT中的字段上建立HG索引;
(5)此外的其它列若出現在where條件中或聚集運算中,則建立HNG索引。
Sybase IQ可利用預連接技術來提高即席查詢速度
Sybase IQ支持兩類連接處理:一類是即席連接(在查詢時處理);另一類是預連接(在加載時處理)。大多數應用是二者的結合。即席連接適用于多對多的聯系,被連接的表之間的尺寸差別超過10倍。
預連接適用于一對多的聯系,被連接的表之間的尺寸差別不大于10倍,如:等值或左、右外連接。但預連接將導致增大存儲量并降低加載速度。
Sybase IQ能對已建立了HG或LF索引的列,再利用"Joined Indexset"完成預連接處理。它通常能使查詢速度提高10倍以上。
設置Sybase IQ的基本步驟:
在安裝Sybase IQ產品之后:
1.建立與Sybase IQ Indexspace相關的SQL Server基礎數據庫,Indexspace是SybaseIQ 用于存儲索引結構和部分數據的原始設備(rawdevices)或系統文件;
2.建立同基礎數據庫同名的Sybase IQ Indexspace,最大為2GB,I/O塊同壓縮比有關,調節范圍512B到32KB;
3.在基礎數據庫上建表;
4.運行Sybase IQ的存儲過程,估算所需空間;
5.為表中的某列或所有列建立Sybase IQ Indexsets,Indexsets是Sybase IQ存儲表中某列索引空間的,它存儲于Indexspace中;
6.定義不同Sybase IQ的索引類型,(每列都建立一個FP索引然后酌情建立別種索引);
7.往Sybase IQ Indexset中加入新數據,從相關的數據庫中插入數據到Sybase IQ Inde xes或利用ASCII文件加載;
8.建立供預連接用的Joined Indexset;
9.往Joined Indexset中加入新數據。
現在已可通過Isql或其他前端工具查詢Sybase IQ數據了。
測試比較
經實際的測試后,Sybase IQ的效果良好。
新聞熱點
疑難解答