版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
目錄
Sybase數(shù)據(jù)倉庫解決方案指南2
SybaseIQ技術(shù)白皮書_________________________________________________8
PowerDesignorWarehouseArchitect6.024
PowerDimensions實現(xiàn)動態(tài)OLAP30
SybaseIQ為數(shù)據(jù)倉庫應(yīng)用帶來的經(jīng)濟利益36
SybaseIQ的性能測試._______________________________________________43
Sybase數(shù)據(jù)倉庫解決方案指南
數(shù)據(jù)倉庫的概念
任何一個公司和企業(yè),在訂貨、存貨清單、票據(jù)清單、帳目清算、客戶服務(wù)
以及財務(wù)報告等方面都存在大量的業(yè)務(wù)應(yīng)用和技術(shù)環(huán)節(jié)。數(shù)據(jù)倉庫的作用在于:
從這些應(yīng)用系統(tǒng)中獲得信息并轉(zhuǎn)換到一個新的數(shù)據(jù)庫,通過對新庫中的歷史信息
和面對主題的信息進行分析,為決策供應(yīng)支持。以往的產(chǎn)品系統(tǒng),如訂貨或購置
系統(tǒng),則很難從中獲得有關(guān)商業(yè)發(fā)展狀況的信息。
數(shù)據(jù)倉庫是企業(yè)決策支持的一部分。在做出下一個確定前,每個商業(yè)機構(gòu)中
的行政人員和分析人員都須要將很多關(guān)鍵商業(yè)問題搞清晰,例如:哪些產(chǎn)品最有
利可圖?哪些客戶會為我們帶來最大利益?哪些環(huán)節(jié)須要花費很高的費用?哪些市
場活動運行得最好,為什么?我們有可能會失去哪些客戶,為什么?這些都是數(shù)據(jù)
倉庫要回答的“百萬利潤”問題,也同時是一個最大的市場。據(jù)Gartner估計,
60%的關(guān)系數(shù)據(jù)庫管理系統(tǒng)被用作決策支持系統(tǒng)的應(yīng)用開發(fā)。
數(shù)據(jù)倉庫與數(shù)據(jù)集市的比較
在二十世紀八十年頭中期,BillInmon首次提出“數(shù)據(jù)倉庫”這一名詞。
它最初被設(shè)計為一個商業(yè)數(shù)據(jù)庫,具有穩(wěn)定性(主要成分不變)、歷史性(包含歷
史信息)和面對主題(信息由客戶、產(chǎn)品和市場等組成)等特點。這些最初的“數(shù)
據(jù)倉庫”依據(jù)對客戶、產(chǎn)品、銷售狀況和財務(wù)狀況等信息的分析,得到對企業(yè)活
動的整體相識。
要建立一個數(shù)據(jù)倉庫,一般分為四個步驟:
第一步:數(shù)據(jù)庫設(shè)計,即設(shè)計出一個包含商業(yè)數(shù)據(jù)和信息的數(shù)據(jù)庫,為商
業(yè)實體所用;
其次步:開發(fā)數(shù)據(jù)抽取和轉(zhuǎn)換程序,從產(chǎn)品系統(tǒng)中將數(shù)據(jù)取出后放入數(shù)據(jù)
倉庫中;
第三步:開發(fā)數(shù)據(jù)加載和更新技術(shù),使得在產(chǎn)品數(shù)據(jù)發(fā)生變更時,數(shù)據(jù)倉
庫得到動態(tài)實時的更新;
第四步:購置查詢和報表生成工具,令運用者通過企業(yè)內(nèi)部網(wǎng)和個人計算
機很便利地獲得信息。
多年以來客戶發(fā)覺:盡管企業(yè)級數(shù)據(jù)倉庫很有吸引力,但是具體操作起來有
些難度。1996年“IDC探討”調(diào)查結(jié)果表明:盡管為建立數(shù)據(jù)倉庫平均投入了三
年多時間和近320萬美元,5096沒有達到應(yīng)有的效果。從項目起先算起,三年后,
大多數(shù)商人發(fā)覺所面臨的商業(yè)問題已經(jīng)不再是起先建立時的樣子,發(fā)生了很大變
更。另外,盡管開發(fā)進度被延長了一年又一年,仍舊做不到讓全部感愛好的客戶
對想看到什么信息給出明確的需求定義。因而“企業(yè)數(shù)據(jù)模型”的確立猶如練習(xí)
一樣進行了一年又一年。
在最近的18-24個月的時間里,出現(xiàn)了一種新的解決方法,那就是數(shù)據(jù)集市。
數(shù)據(jù)集市也是一種數(shù)據(jù)倉庫,只是它更精練,更面對主題。Sybase公司自創(chuàng)立
以來,便確立了在數(shù)據(jù)集市技術(shù)上的領(lǐng)導(dǎo)地位。目前,運用Sybase產(chǎn)品的2萬
多家客戶中的大多數(shù)已經(jīng)建立了運行在SQLServer上的數(shù)據(jù)集市,盡管通常也
稱為數(shù)據(jù)倉庫,卻幾乎沒有一個是企業(yè)級的。
數(shù)據(jù)集市的優(yōu)勢在于建設(shè)周期的縮短和費用上的大大降低。其中周期以月代
替了年,費用從幾百萬下降到一百萬。由于整個企業(yè)的數(shù)據(jù)很浩大,真正將它們
集中到一個數(shù)據(jù)庫中幾乎是不行能的。有人便對很多大數(shù)據(jù)倉庫實質(zhì)上是不是數(shù)
據(jù)集市產(chǎn)生了懷疑。運用數(shù)據(jù)集市后。設(shè)計、抽取、轉(zhuǎn)換、加載和查詢等環(huán)節(jié)變
得更加簡潔,因為客戶中的一部分人能夠更精確地知道他們自己所須要的信息是
什么。
然而,假如有很多的數(shù)據(jù)集市卻不能使它們保持同步,數(shù)據(jù)集市解決方案就
會遇到困難。一旦一個單位創(chuàng)建了兩個或兩個以上的數(shù)據(jù)集市,最大的問題就是
如何使它們之間協(xié)調(diào)一樣,如何使它們實時操作,以及如何維護全部的數(shù)據(jù)抽取
和轉(zhuǎn)換。另外,當一個單位要創(chuàng)建兩個或兩個以上的數(shù)據(jù)集市時,會發(fā)覺每一個
都要經(jīng)過一個重新的設(shè)計、抽取、加載和查詢步驟。于是,在面對多個數(shù)據(jù)集市
的開發(fā)時,如何共享設(shè)計和結(jié)構(gòu)成為一個有現(xiàn)實意義和挑戰(zhàn)性的問題。
運作型數(shù)據(jù)存儲與合并式數(shù)據(jù)倉庫
針對上述問題,一種解決方案是采納一種全新的數(shù)據(jù)倉庫概念一一“運作型
數(shù)據(jù)存儲(OperationalDataStore,ODS)”。在ODS方式下,數(shù)據(jù)被從業(yè)務(wù)數(shù)
據(jù)庫中復(fù)制到一個中心位置,再從這里被抽取到多個數(shù)據(jù)集市中。ODS是從客戶、
產(chǎn)品和其他商業(yè)角度來組織的,被稱為商業(yè)狀況的“實時快照”。它不包含歷史
信息,但可以很簡潔地滿意一個歷史數(shù)據(jù)庫或一組面對主題的數(shù)據(jù)集市的須要。
我們一般稱之為“合并式數(shù)據(jù)倉庫”,因為它在進入決策支持數(shù)據(jù)庫以前
是一個信息的結(jié)合點。ODS雖小,卻能被常常地修改,因而特別適合于建立在
AdaptiveServerEnterpriseReplicationServerJio
多維或OLAP(聯(lián)機分析處理)市場
作為數(shù)據(jù)倉庫應(yīng)用環(huán)節(jié)中的一部分,OLAP在市場份額上得到快速增長,變
得越來越大。簡潔來說,OLAP是從商業(yè)角度進行信息組織,而不象通常的由行、
列和表構(gòu)成。例如,在一個類似Arbor或OracleExpress的OLAP數(shù)據(jù)中,信
息是通過客戶、產(chǎn)品、日期、銷售部門和地域等屬性來存取的,這對于數(shù)據(jù)理解
和信息獲得來說都顯得特別直觀。
OLAP產(chǎn)品取得關(guān)系數(shù)據(jù)后,將它放入一個特別簡潔的表格中,使之很簡潔
分析。OLAP數(shù)據(jù)庫和一個OLAP產(chǎn)品可被看做一個多維表格。這個市場相當熱門,
Arbor>Oracle的Express和Microstrategy在此領(lǐng)域中各占一席之地,而Sybase
的PowerDimentions(原名whitelight),Cognos的Impromptu和Powerplay,Brio
Technology的BrioQuery處于優(yōu)勢地位。
競爭對手與合作伙伴一覽
RDBMS公司:Sybase,Oracle,IBM,Teradata/NCR,Informix,Microsoft
硬件公司:IBM,Teradata,Sun,Digital/Compaq.HP
轉(zhuǎn)換工具:VMARK,Infomatica,Carleton/Apertus,ETZ,PrismSolutions
OLAP:Sybase/PowerDimentions,Arbor,Oracle/Express,Microstrategy,
InfomationAdvantage0
Sybase的解決方案及其組成
Sybase擁有一個獨特而強有力的點對點方案,用來設(shè)計、建立和管理數(shù)據(jù)
倉庫和數(shù)據(jù)集市。各個部門之間通過集中的元數(shù)據(jù)進行交互,這便具有了完整性、
集中性和敏捷性等特點。我們的工具也具有很多優(yōu)越性能。
下表列出了各個組成部分:
(1)PowerDesignerWarehouseArchitect
PowerDesigner不但是業(yè)界知名的數(shù)據(jù)庫設(shè)計工具,也是數(shù)據(jù)倉庫模型設(shè)計
工具。其中的WarehouseArchitect模塊支持多種數(shù)據(jù)倉庫模型,包括星型模式、
雪花模式、以及雪暴模式。這是同行業(yè)中最優(yōu)秀、最敏捷的開發(fā)工具,可用來設(shè)
H"一個關(guān)系的或OLAP的軟件倉庫。PowerDesigner在數(shù)據(jù)倉庫設(shè)計工具市場中
占有最大份額。它能從已有的數(shù)據(jù)庫進行反向工程,從運行系統(tǒng)中將現(xiàn)存的數(shù)據(jù)
結(jié)構(gòu)抽取出來形成數(shù)據(jù)模型,使設(shè)計變得簡潔。
(2)PowerStage
強大的數(shù)據(jù)抽取和數(shù)據(jù)轉(zhuǎn)換產(chǎn)品。它是領(lǐng)導(dǎo)市場的客戶/服務(wù)器轉(zhuǎn)換方法,
使數(shù)據(jù)倉庫模型用PowerDesigner實現(xiàn)起來更加簡潔,更加直觀。PowerStage
真正是平安并基于引擎的。它有一個簡潔的面對處理的圖形用戶接口,使得用戶
可以快速啟動,重復(fù)利用以往的工作,從任何源中獲得數(shù)據(jù)。
(3)適用于數(shù)據(jù)倉庫的AdaptiveServerfortheWarehouse
AdaptiveServerfortheWarehouse(ASW),是一個包含AdaptiveServer
Enterprise(ASE)和AdaptiveServerIQ(ASIQ)的新關(guān)系數(shù)據(jù)庫管理系統(tǒng)。它
具有一項新的數(shù)據(jù)庫查詢技術(shù)一一干脆英文查詢。該產(chǎn)品使得高性能的OLAP和
高性能的DSS在同一服務(wù)器上得到集成。
AdaptiveServerIQ,是服務(wù)于數(shù)據(jù)倉庫的最優(yōu)秀關(guān)系數(shù)據(jù)庫管理系統(tǒng),可
以對數(shù)據(jù)庫進行壓縮,也可以以傳統(tǒng)關(guān)系數(shù)據(jù)庫管理系統(tǒng)的10至100倍的速度
執(zhí)行快速查詢,使得數(shù)據(jù)規(guī)??梢赃_到并超過十億行數(shù)據(jù)。
⑷PowerDimensions
快速、可擴展的聯(lián)機分析工具。這是業(yè)界中最新的OLAP解決方案,對建立
于ASIQ和ASW數(shù)據(jù)庫的數(shù)據(jù)可以供應(yīng)快速敏捷的多維模型建立和分析。區(qū)分于
多維數(shù)據(jù)庫,Powerdimensions能支持幾百千兆以至萬億字節(jié)的原始數(shù)據(jù)和多個
角度。
(5)IntellidexControlCenter
對元數(shù)據(jù)和分布式數(shù)據(jù)集市供應(yīng)點對點集中管理的產(chǎn)品。它是業(yè)界中管理分
布式數(shù)據(jù)集市的唯一的完全點對點的解決方案。作為一個新產(chǎn)品,它供應(yīng)了建立
分布式數(shù)據(jù)集市的點對點方案,并且從一個中心位置上管理它們,它同時解決了
業(yè)界中在元數(shù)據(jù)管理方面的問題。
(6)SAFE/DW
建立數(shù)據(jù)倉庫的一套完整的測試方法,在世界上得到廣泛應(yīng)用。
(7)Sybase專業(yè)服務(wù)
是一個全球范圍的數(shù)據(jù)倉庫協(xié)作組織,可快速、牢靠地設(shè)計和供應(yīng)數(shù)據(jù)倉庫
解決方案。
Sybase方案的主要好處
1、快速實現(xiàn)
由于Sybase的解決方案是集成的,客戶只須要選擇一套最適合的產(chǎn)品集,
即可使它們無縫地工作。這樣,一方面可以快速實現(xiàn),另一方面只須要面對一個
廠商就可以獲得全部的支持和服務(wù)。
2、數(shù)據(jù)集市與中心倉庫的無縫集成
在市場上,Sybase方案唯一地能夠?qū)⒍鄠€數(shù)據(jù)集市和中心倉庫管理集成在一
起。我們的方案是為企業(yè)供應(yīng)的“唯一的可行方案”,對進入數(shù)據(jù)集市的數(shù)據(jù)移
動、平安和元數(shù)據(jù)管理進行調(diào)度。
3、極高的查詢速度
ASIQ是世界上用于決策支持(DSS)的最快速數(shù)據(jù)庫。由于具有先進的
Bit-wise索引技術(shù),它能夠以10至100倍于其競爭對手的速度查詢,這些對手
包括Oracle,RedBrack,Informix和Teradata。這更有利于最終用戶的特殊的、
重復(fù)的分析,也支持了在以前根本做不到的應(yīng)用開發(fā)。
4、高效的數(shù)據(jù)壓縮
ASIQ和ASE的數(shù)據(jù)壓縮結(jié)果是傳統(tǒng)RDBMS方法的三分之一至七分之一。在一
個典型的ASIQ實現(xiàn)上,假如以五年左右時間來計算,一個Sybase方案可以做到
每增加100GB數(shù)據(jù)節(jié)約大約41.5萬美元(包括磁盤購置、維護和操作)。
5、無限的可擴展性
區(qū)分于傳統(tǒng)的RDBMS解決方案,ASIQ和ASE將共同支持客戶存放更多的歷史
和具體數(shù)據(jù)??蛻舫3P(guān)切對VLDB的支持。采納Sybase解決方案后,數(shù)據(jù)庫
規(guī)模比用非Sybase解決方案要小得多。今日,我們的用戶已經(jīng)可以利用ASIQ
數(shù)據(jù)庫來存取萬億字節(jié)(TB級)的數(shù)據(jù)。
6、面對不同數(shù)據(jù)庫環(huán)境
Sybase解決方案也可以適用在混合的非Sybase環(huán)境中。在數(shù)據(jù)庫網(wǎng)關(guān)方面,
Sybase是世界上的先驅(qū)者,可以干脆訪問25種不同的主機,以及其它的客戶機
/服務(wù)器數(shù)據(jù)庫系統(tǒng),通過其DirectConnect系列產(chǎn)品。我們同時為基于軟件的
數(shù)據(jù)倉庫和數(shù)據(jù)集市供應(yīng)了具有數(shù)據(jù)變更捕獲實力的復(fù)制服務(wù)器Replication
Server,它可以反映Sybase、Oracle.DB2、VSAM、IMS以及其它關(guān)系型數(shù)據(jù)庫
中的數(shù)據(jù)變更。
7、平安性和易管理性
利用intellidex,我們的方案使IT用戶僅通過一個簡潔的承諾模式,就可
以管理分布的數(shù)據(jù)集市,具有高度的平安性、用戶可限制性。除此之外,我們還
有一個管理整個企業(yè)元數(shù)據(jù)的解決方案,這樣既可以運用戶創(chuàng)建自己的數(shù)據(jù)集
市,也可以得到一個“唯一可行的方案”。intellidex能自動告知用戶哪些數(shù)
據(jù)是在他們的數(shù)據(jù)集市中,這些數(shù)據(jù)從哪里來,以及到哪里去取等附加信息。
8、供應(yīng)強大的、可擴展的OLAP集成
業(yè)務(wù)分析人員希望通過利用數(shù)據(jù)倉庫中的數(shù)據(jù)做一些困難分析。利用
PowerDimensions,用戶可以快速建立簡潔或困難的多角度模型,干脆訪問數(shù)據(jù)
倉庫中的數(shù)據(jù)。而這些模型可以被成百上千的用戶共享,允許分析人員建立一些
能為最終用戶的決策者所運用的業(yè)務(wù)模型。
9、Web上的基于軟件的數(shù)據(jù)倉庫解決方案
Sybase的PowerDimensions包含一個用來分析和查詢的基于Java的閱讀器。
它支持圖形、主元選擇和表格模型。Sybase的PowerDynamo自動將數(shù)據(jù)倉庫并
入Web,產(chǎn)生簡潔的基于HTML的查詢。
10、豐富的閱歷
Sybase在數(shù)據(jù)倉庫和數(shù)據(jù)集市的實現(xiàn)方面閱歷豐富,涉及金融服務(wù)、電訊、
醫(yī)療保健、公用事業(yè)、交通運輸、媒體和消遣業(yè)。正由于在業(yè)務(wù)和技術(shù)上的特長,
我們可以快速地為客戶建立好用可行的高效的解決方案。
SybaseIQ技術(shù)白皮書
數(shù)據(jù)庫背景學(xué)問
SQL數(shù)據(jù)庫
長期以來,數(shù)據(jù)庫管理系統(tǒng)始終被用于在線事務(wù)處理(OnlineTransaction
Processing,簡稱OLTP),也就是將日常事務(wù)處理中的數(shù)據(jù)以表的形式存放在數(shù)
據(jù)庫里。為了在數(shù)據(jù)庫中“加入”數(shù)據(jù),OLTP系統(tǒng)通常要發(fā)出查詢一個記錄或
少量幾個記錄的吩咐,比如OLTP系統(tǒng)中的一個查詢可能會查找某一個客戶的數(shù)
據(jù)記錄,如在一個航空訂票系統(tǒng)中查找訂票號為35的記錄。由此可以看出,OLTP
系統(tǒng)查詢數(shù)據(jù)的用途主要為滿意即時性的事務(wù)處理需求,在這種需求中,查詢比
較簡潔,查詢獲得的數(shù)據(jù)列的數(shù)量(相對于整個數(shù)據(jù)表的大小)也較少。換句話
說,OLTP系統(tǒng)是被優(yōu)化用來執(zhí)行“大海撈針”類型的任務(wù)的,即在大量的數(shù)據(jù)
中找尋符合給定查詢條件的少量記錄。
最近一段時間,人們對數(shù)據(jù)倉庫的愛好越來越濃。數(shù)據(jù)倉庫是應(yīng)用于決策
支持系統(tǒng)(DecisionSupportSystem,簡稱DSS),對于這類應(yīng)用來說,數(shù)據(jù)庫
系統(tǒng)的主要任務(wù)并不是“加入”信息,而是“提取”信息。供應(yīng)DSS的作法通
常是將基于SQL的OLTP數(shù)據(jù)庫引擎(如SybaseSQLServerOracle或Informix)
加以擴展以用來處理DSS應(yīng)用。但是,這樣構(gòu)造出的DSS功能性能普遍較差,
緣由特別簡潔:這些數(shù)據(jù)庫的底層物理結(jié)構(gòu)都是特地為事務(wù)處理而設(shè)計和優(yōu)化
的,并不適用于DSS的分析性處理,所以這些數(shù)據(jù)庫在OLTP應(yīng)用中的性能特
別好,而在DSS應(yīng)用中的性能則出現(xiàn)明顯差異。
為了說明這一點,讓我們來做個比方。十年前,假如你想要買一輛自行車,
你只要到商店去買一輛即可,你雖然可以在不同的顏色和式樣中做選擇,但自行
車還是自行車。而現(xiàn)在,我們有山地車、賽車和絕技用車等不同種類的自行車。
之所以有這么多種自行車的緣由是不同任務(wù)對自行車的物理要求也不同,例如山
地車輪胎所必需的物理結(jié)構(gòu)就與賽車完全不同。你雖然可以在山地環(huán)境中湊合運
用賽車,但效果確定不會好。
對于數(shù)據(jù)庫也是一樣,讓OLTP數(shù)據(jù)庫來做DSS的工作,就象騎著賽車翻
山越嶺,緣由是OLTP與DSS的基本物理結(jié)構(gòu)的不同導(dǎo)致解決方案的不同。在
一條特別平坦的山路上,你可以若無其事地騎幾次賽車,但當騎行的次數(shù)增加或
山路變得陡峭時,采納山地車這樣特地解決方案就會顯得特別明智。
數(shù)據(jù)庫結(jié)構(gòu)
大多數(shù)現(xiàn)代關(guān)系型數(shù)據(jù)庫由五個主要部件組成,即句法分析/語言層
(Parser/Languagelayer)、SQL節(jié)(SQLCatalog)、查詢優(yōu)化(QueryOptimization)>
查詢運行庫(QueryRuntime)和數(shù)據(jù)庫存儲管理系統(tǒng)(DatabaseStorage
ManagementSystem)0以下是一個典型的數(shù)據(jù)庫結(jié)構(gòu)的示意圖:
典型的數(shù)據(jù)庫結(jié)構(gòu)
句法分析/語言層
查詢優(yōu)化
SQL節(jié)
查詢運行庫
存儲管理系統(tǒng)
讓我們再回到自行車的比方上。山地車和賽車都有車把、車座和腳蹬,這其
中的一些部件是相同的,有些則是不同的,其不同之處是為了更有利于不同的用
途。對于數(shù)據(jù)庫也是一樣,我們發(fā)覺有利于供應(yīng)DSS性能的數(shù)據(jù)庫結(jié)構(gòu)與原始
數(shù)據(jù)庫結(jié)構(gòu)的不同之處主要在于數(shù)據(jù)庫存儲管理系統(tǒng)。一個特地為DSS編寫的
數(shù)據(jù)庫存儲管理器(StorageManager)在處理DSS方面要遠遠優(yōu)于為OLTP編
寫的存儲管理器。
多維數(shù)據(jù)庫
為了供應(yīng)更多的解決方案,一些廠商實施了具有DSS功能的非SQL系統(tǒng)。
這些非SQL或“多維數(shù)據(jù)庫(Multi-DimensionalDatabase,簡稱MDDB)”有
PiloJM和ComshareTM等。這些系統(tǒng)采納了一個能夠讓用戶以一個類似立方體的
形式查看數(shù)據(jù)的非關(guān)系型模型。
這些系統(tǒng)典型的運作方式是先從SQL數(shù)據(jù)庫中導(dǎo)出數(shù)據(jù)記錄,然后以各種
不同的專用格式將這些數(shù)據(jù)保存起來。信息一旦從SQL格式轉(zhuǎn)化為專用的格式,
就被保存在一個或多個服務(wù)器上以便讓用戶通過專用界面進行訪問,因此這些系
統(tǒng)一般都集成了專用的客戶端或前端系統(tǒng)。
大多數(shù)被稱為在線分析處理(OnlineAnalyticProcessing,簡稱OLAP)引擎
的多維數(shù)據(jù)庫產(chǎn)品試圖以犧牲一些敏捷性為代價獲得更好的性能。用自行車的比
方來說,MDDB就象一輛行駛在兩旁都是懸崖峭壁的山路上的山地車,假如你
希望離開現(xiàn)成的小路,不是根本行不通,就是要付出很大的代價。
雖然MDDB能夠以很高的速度完成預(yù)先設(shè)定好的分析工作,但這種方法也
存在著重大的劣勢,特殊是當數(shù)據(jù)的容量達到10GB以上時,即用戶必需事先將
數(shù)據(jù)導(dǎo)入并整理成各種專用格式。然而事實上,用戶通常希望數(shù)據(jù)以最基本的形
式存在于SQL數(shù)據(jù)庫表中,這其中至少有兩個緣由:一是長期以來收集與積累
起來的信息業(yè)已以SQL格式保存在數(shù)據(jù)庫中;二是用戶已經(jīng)對諸如Sybase或
Oracle等主要的SQL數(shù)據(jù)庫廠商的客戶端查詢軟件特別熟識。假如實施DSS須
要有附加工具,用戶會比較喜愛采納那些與他們?nèi)粘K霉ぞ咄瑢僖粋€家族的產(chǎn)
品。現(xiàn)在大多數(shù)關(guān)系型數(shù)據(jù)庫廠商正在或安排將MDDB技術(shù)融入到自己的關(guān)系
數(shù)據(jù)庫引擎中,而且有些廠商已經(jīng)推出了各種對SQL語言的擴展,以為各自的
用戶群供應(yīng)OLAP功能。
為什么DSS別出心裁
現(xiàn)在須要的是具有更佳DSS性能的系統(tǒng)和方法,而且這些系統(tǒng)和方法應(yīng)屬
于用戶所喜聞樂見的傳統(tǒng)的SQL/關(guān)系型模式。從用戶的角度來看,這樣的系統(tǒng)
將完全是一個基于SQL的關(guān)系型系統(tǒng),但它供應(yīng)很高的DSS性能。SybaseIQ
就是這樣一個滿意以上要求的系統(tǒng)。這份白皮書將試圖描述與探討分別為DSS
和OLTP用途而優(yōu)化的數(shù)據(jù)庫存儲管理系統(tǒng)之間的根本性區(qū)分。
什么是DSS?
對不同的人來說,DSS是不同的東西。SybaseIQ為DSS供應(yīng)了以下這些運
用特點:
OLTP與DSS
預(yù)先設(shè)定查詢特定查詢
簡潔查詢困難查詢
小查詢結(jié)果集大查詢結(jié)果集
事務(wù)數(shù)量大事務(wù)數(shù)量小
事務(wù)歷時短事務(wù)歷時長
更新/選擇主要為選擇
實時更新批更新
細微環(huán)節(jié)行提取整理分組
高選擇性查詢條件低選擇性查詢條件
同時用戶數(shù)大,1000以上同時用戶數(shù)小,100以上
多用戶/特定查詢
DSS數(shù)據(jù)庫領(lǐng)域必需勝利解決的一個最為重要的問題是多用戶的特定查詢
性能?;贠LTP的數(shù)據(jù)庫無法在大量的數(shù)據(jù)上很好地完成此類查詢,因為這些
數(shù)據(jù)庫是為預(yù)先設(shè)定好的查詢而建立的?,F(xiàn)在看來,這種只限于預(yù)設(shè)查詢的高性
能并不能供應(yīng)一個健全的解決方案。當今用于特定和困難查詢的OLTP數(shù)據(jù)庫采
納的是并行表掃描方法。這種方法在一個大型SMP上只有一個用戶的狀況下,
效果是最好的,但在多用戶查詢環(huán)境中的性能會大打折扣。緣由是現(xiàn)在的大多數(shù)
SMP系統(tǒng)只能同時支持一至兩個大型的并行表掃描,假如掃描數(shù)量增加,不是
CPU資源不夠,就是耗盡了I/O總線的帶寬。每一個表的掃描同時也使數(shù)據(jù)庫緩
沖完全失效,因為大多數(shù)大型DSS應(yīng)用的表掃描都遠大于物理緩沖區(qū)的存儲實
力。
SybaseIQ在開發(fā)的時候就考慮到多用戶特定查詢在本質(zhì)上的不行預(yù)料性和
對于DSS市場勝利的極端重要性,因此我們找尋了其它可以預(yù)料的方面來努力
供應(yīng)性能。我們發(fā)覺,雖然查詢本身無法預(yù)料,但數(shù)據(jù)的屬性是可以預(yù)料的。
SybaseIQ利用這一點供應(yīng)了更高的性能,這些技術(shù)中的一部分將在這份白皮書
中予以探討。
事務(wù)模型
DSS與OLTP的事務(wù)特性是極為不同的。OLTP模型中有很多很短的事務(wù),
這些讀取與更新的短小事務(wù)組成了一個混合體。數(shù)據(jù)庫廠商花了很大的精力來提
高自己的事務(wù)速率,通常的作法是對CPU上下文開關(guān)進行內(nèi)部管理并通過去除
代碼間的模塊性來縮短代碼的路徑長度。為了表明這些短事務(wù)的性能,大多數(shù)
OLTP數(shù)據(jù)庫都供應(yīng)了各自的每分鐘事務(wù)速率(TransactionPerMinute,簡稱
TPM)o現(xiàn)在,大多數(shù)數(shù)據(jù)庫可以達到18000TPM以上的速率。
而DSS的事務(wù)特點則迥然不同。DSS中有很多長時間運行的只讀事務(wù)和少
量一些長時間運行的更新事務(wù)??偟膩碚f,是留意查詢的反應(yīng)時間與批量更新實
力。
人們通常知道在SMP環(huán)境中,只讀(非登錄)系統(tǒng)的性能要大大高于非只
讀(登錄)系統(tǒng),緣由是須要有更多的系統(tǒng)資源來管理SMP環(huán)境中的可更新系
統(tǒng)和運行大量的內(nèi)容鎖定。
DSS系統(tǒng)的優(yōu)點在于能夠在大多數(shù)狀況下以非登錄方式運行,從而提高了查
詢的性能。
困難查詢
DSS與OLTP之間另一個重大的區(qū)分是查詢的困難程度。在OLTP環(huán)境中,
查詢總是比較簡潔,只涉及到數(shù)據(jù)庫中少量的行,查詢返回的通常是實際的細微
環(huán)節(jié)數(shù)據(jù)。DSS查詢要困難一些,常常要涉及到數(shù)據(jù)庫四分之一或更多的行,查
詢通常不返回實際的數(shù)據(jù)行,而是先把數(shù)據(jù)整理壓縮到少量的幾行后再交給用
戶。在OLTP數(shù)據(jù)庫環(huán)境中,困難的DSS查詢總是要造成TPM的大大降低。
DSS數(shù)據(jù)庫內(nèi)核物理結(jié)構(gòu)
上面我們探討了OLTP與DSS的應(yīng)用模型的一些不同之處。接下來我們將
探討為了支持DSS和OLTP這兩種不同模式,數(shù)據(jù)庫的內(nèi)核層應(yīng)有的一些差別。
假如仍以自行車作比方,那么我們下面想要說明的是:為什么用來登山時,
為競賽而設(shè)計的賽車的性能不如為登山而設(shè)計的山地車。我們將探討的是為什么
這兩種不同應(yīng)用模型的結(jié)構(gòu)須要實行不同的方案才能達到卓越的性能。
數(shù)據(jù)庫頁面大小
大多數(shù)的數(shù)據(jù)庫中有數(shù)據(jù)庫頁面大小這一概念。頁面大小通常代表著數(shù)據(jù)
庫送數(shù)據(jù)到磁盤或從磁盤取數(shù)據(jù)時以字節(jié)計算的內(nèi)部數(shù)據(jù)量。這是數(shù)據(jù)庫的基
石,數(shù)據(jù)庫其余操作都會用到這一概念。好玩的是,基于OLTP的應(yīng)用模型在頁
面較小時性能較好,而基于DSS的應(yīng)用模型則在頁面較大時性能較好。
在OLTP系統(tǒng)中,從磁盤一次讀/寫的信息量通常只是一條或幾條記錄,所
以I/O頁面一般不大,大約2K至4K。假設(shè)一頁數(shù)據(jù)約有50至100條記錄,而
每次查詢或更新操作只涉及其中一條記錄,這樣就可以通過削減一頁上的無關(guān)數(shù)
據(jù)量來達到更高的I/O檢索效率。在這個例子中,查詢只用到緩慢的I/O操作所
取到數(shù)據(jù)的1/100到1/50,而由于數(shù)據(jù)庫內(nèi)核所采納的存儲方式,數(shù)據(jù)庫系統(tǒng)不
得不檢索全部這些數(shù)據(jù)。當數(shù)據(jù)庫的大小與物理內(nèi)存大小之比達到或超過2:1(當
前典型的大型系統(tǒng)均如此)時,這一影響因素就變得不容忽視了。
讓我們以一臺有1GB物理內(nèi)存的機器為例說明,假設(shè)在這臺機器上有一個
10GB的數(shù)據(jù)庫。假設(shè)數(shù)據(jù)勻稱分布并且懇求是隨機的,那么每10次I/O中僅有
1次會命中Cache,而其余的不能命中Cache,而必定導(dǎo)致物理I/O。既然大多數(shù)
I/O都會導(dǎo)致物理I/O(與CPU訪問內(nèi)存相比物理I/O是一個極慢的操作),那
么僅僅取那些必需的信息或元組能帶來更高的性能。因此,同時滿意以下兩條規(guī)
則前提下,頁面越小,OLTP系統(tǒng)越好:
?頁面大小應(yīng)大于或等于記錄大小。
?頁面大小應(yīng)大于或等于操作系統(tǒng)最小I/O傳輸量(常為2K或4K)。
除此以外還有別的需考慮的因素,但這是最基本的兩條。
與此相反,典型DSS系統(tǒng)為了響應(yīng)一個查詢需取得大量信息;其操作通常
須要查詢數(shù)據(jù)庫中的大量數(shù)據(jù)。假如DSS查詢所取來的數(shù)據(jù)頁中很大的一部分
的確是DSS查詢所需的(大約25%至100%),那么I/O頁面大小可以增加到對
于環(huán)境/平臺來說最優(yōu)的水平,例如以64K為數(shù)據(jù)頁面的大小。從我們的測試可
以看出,讀一張10GB的表,163,840個64K的I/O明顯比5,242,880個2K的I/O
快得多。
LargerPageSize=FasterThroughput
數(shù)據(jù)分割方式
典型的OLTP數(shù)據(jù)庫內(nèi)核中數(shù)據(jù)庫的一張表常常表示為一條數(shù)據(jù)庫頁的鏈
(頁鏈),每一數(shù)據(jù)頁中有一個或多個數(shù)據(jù)記錄或元組。這種方式適用于事務(wù)處
理,當數(shù)據(jù)庫要檢索某條特定記錄時,只需將存有該記錄的相關(guān)數(shù)據(jù)頁讀入。我
們將這種按頁存儲記錄的方式稱為“水平數(shù)據(jù)分割”,在這種方式下數(shù)據(jù)庫將一
張表水平分割為N個數(shù)據(jù)頁,每頁上有Y條完整記錄。
在DSS應(yīng)用模型中,從查詢性能的觀點動身,這種水平分割方式是全部可
能的數(shù)據(jù)存儲方式中最不行取的。較好的方式是采納“垂直分割”,在這種方式
下,每張表是一組相互獨立的頁鏈的集合,每一頁鏈代表表中的一列。所以有
100列的表將有100條相互獨立的頁鏈,每一列都有一條頁鏈與之對應(yīng),而不是
象OLTP中那樣一張表對應(yīng)一條頁鏈。
VerticalPartitioning
|VerticalPartitioningTableByColumn|
Account八?
,ncomc
NumberSlatc00Kle「
Customer
5Table
|TraditionalHorizontalTablePartitioning||
Customer
Table
垂直按列進行頁面鏈接所固有的優(yōu)越性在于:大多數(shù)DSS查詢只關(guān)切表中
全部列的一個很小的子集。讓我們以一個DSS應(yīng)用為例,這個應(yīng)用有兩個較大
的表,分別是Customers表和Transactions表。描述顧客的信息在Customers表
中,而當一個顧客購買了某樣?xùn)|西,這一事務(wù)被記錄到Transactions表中。
Customers表和Transactions表通過顧客帳號(Accountnumber)字段形成一對多
的關(guān)系。為簡潔起見,不妨設(shè)每張表大小均為100GB且各有100歹!J,兩張表共
有200列數(shù)據(jù)。我們發(fā)覺大多數(shù)DSS類的查詢只關(guān)注10個甚至是更少的列。此
例中,數(shù)據(jù)的垂直按列存儲方式將使得從磁盤檢索的數(shù)據(jù)量至多是原來的1/20。
這是由200(總列數(shù))除以10(查詢涉及的不同列的總數(shù))得到,結(jié)果為20。
磁盤檢索數(shù)據(jù)量削減20倍,通常會使查詢響應(yīng)時間提高20倍。
運用這一技術(shù),SybaseIQ在最壞的狀況下的查詢方案是對查詢涉及的全部
列進行并行掃描,而不是象大多數(shù)的OLTP數(shù)據(jù)庫內(nèi)核那樣進行并行的表掃描。
然而,SybaseIQ也極少運用對查詢涉及的全部列并行掃描的方式,而常常采納
附加的技術(shù)以進一步削減查詢時間。
Column-wiseQueryProcessingTechnology
Cache命中率
典型的大型數(shù)據(jù)庫應(yīng)用中,DSS類查詢的Cache命中率很低。這是因為數(shù)
據(jù)庫大小與物理內(nèi)存之比很大,而大多數(shù)被傳統(tǒng)OLTP數(shù)據(jù)庫內(nèi)核執(zhí)行的DSS
型查詢會導(dǎo)致對表的并行掃描。表掃描使Cache命中率降低,并且也使得后續(xù)查
詢也停留在如此低的命中率。
SybaseIQ由于運用按列的垂直數(shù)據(jù)分割方式存儲數(shù)據(jù),Cache命中率大大
提高。所以在反復(fù)查詢或多用戶查詢的狀況下,查詢響應(yīng)加快。這一提高是源于
數(shù)據(jù)的更好的聚集方式,某些列,如連接字段或其它一些公共字段,由于數(shù)據(jù)垂
直存儲,將有更大的機會得以留在Cache中。
數(shù)據(jù)壓縮
數(shù)據(jù)壓縮在數(shù)據(jù)庫中被廣泛采納已有多年。Stacker公司為數(shù)據(jù)壓縮在PC
領(lǐng)域中的推廣做出了很大的貢獻,它把透亮數(shù)據(jù)壓縮加入到Microsoft的MS-DOS
操作系統(tǒng)中。這使得用戶可以在硬盤上存儲更多信息,而代價只是應(yīng)用性能很小
的降低。
OLTP應(yīng)用不能以一種通用的方式進行數(shù)據(jù)壓縮,主要是由于存在以下三個
問題:
1.第一個問題是其數(shù)據(jù)存儲方式(按行)不利于壓縮。這是因為這些數(shù)據(jù)
(大多為二進制數(shù)據(jù))在以這種方式存儲時重復(fù)并不多。我們發(fā)覺,以傳統(tǒng)方式
存儲的數(shù)據(jù),最多能有5-10%的壓縮比例;
2.其次個問題是對于很多的2K和4K的二進制數(shù)據(jù)的頁來說,為壓縮和
解壓縮而增加的開銷太大;
3.第三個問題是在OLTP環(huán)境中,大量讀取和更新混雜在一起。每一次更
新須要進行壓縮操作,而讀取只需解壓縮操作,大多數(shù)的數(shù)據(jù)壓縮算法在壓縮時
比解壓縮時慢4倍。這一開銷將明顯降低OLTP數(shù)據(jù)庫內(nèi)核的TPM率而使得數(shù)
據(jù)壓縮的代價昂貴到幾乎不能忍受。
DSS應(yīng)用中,數(shù)據(jù)壓縮可以用小得多的代價換取更大好處。其中包括削減
對于存儲量的要求;增大數(shù)據(jù)吞吐量,這相當于削減查詢響應(yīng)時間。
SybaseIQ在其Cache管理器或Buffer管理器中運用了數(shù)據(jù)壓縮。由于數(shù)據(jù)
垂直(按列)存儲,可以更多地實現(xiàn)壓縮。數(shù)據(jù)按列存儲,其二進制值的范圍通
常要小得多,所以壓縮更簡潔。SybaseIQ對垂直存儲的數(shù)據(jù)通常能得到大于50%
的壓縮。更大的壓縮比例,加上大頁面I/O,使得SybaseIQ在獲得查詢應(yīng)有的
全部優(yōu)良性能的同時,削減了對于存儲量的需求。
前面我們已經(jīng)看到垂直按列分割能削減95%的來自磁盤的數(shù)據(jù),因而得以
將查詢響應(yīng)速度提高20倍。運用數(shù)據(jù)壓縮我們可以把20倍的速度進一步提高到
40倍,因為按列的數(shù)據(jù)壓縮在大多數(shù)狀況下可以削減50%的數(shù)據(jù)量。
DSS而進行了優(yōu)化的索引技術(shù)
通常,索引是數(shù)據(jù)庫內(nèi)核建立的,并用以削減針對給定查詢和更新的工作
量的數(shù)據(jù)結(jié)構(gòu)。這種工作量的削減主要是圍圍著避開對在相應(yīng)查詢時對下層的表
的全部或部分進行搜尋。工作量(多為I/O)的削減的結(jié)果是查詢響應(yīng)速度的加
快。
大多數(shù)流行的基于OLTP的RDBMS運用相像的索引方法,即“B-樹索引
盡管B-樹索引有很多不同形式,它們基本上都努力解決同一問題一一“大海撈
針”問題。也就是說,一張表中或許有數(shù)百萬條記錄,我們要找的只是其中之一。
例如,在一張以帳號為主碼的表中,有一個查詢須要找出帳號為4032的記錄。
基于OLTP的數(shù)據(jù)庫內(nèi)核的編寫和優(yōu)化都是針對這種查詢的,這種類型的查詢具
有高選擇性,這就意味著為了滿意查詢須要,表中僅有少數(shù)幾行須要被檢索到。
現(xiàn)在仍被OLTP數(shù)據(jù)庫運用的傳統(tǒng)B—樹索引技術(shù)在以下兩件事上做得較好。首
先,B一樹索引技術(shù)使得系統(tǒng)能快速找到某條特定記錄。其次,B-樹索引技術(shù)允
許個別記錄的快速更新,所以任何一條單獨的記錄都能快速修改。而不幸的是,
對于用戶來說,大多數(shù)DDS查詢都不會做以上兩件事,因而也就幾乎不能從B-
樹索引技術(shù)中得到什么好處。所以,在DSS應(yīng)用中運用傳統(tǒng)索引技術(shù)通常不能
帶來什么優(yōu)越性(甚至于可能帶來系統(tǒng)性能的降低)。
DSS應(yīng)用中通常不是高選擇性查詢而是恰恰相反。大多數(shù)DSS查詢具有高
度的非選擇性,所以在OLTP數(shù)據(jù)庫中負有盛名的B-樹索引技術(shù)不適用于DSS
應(yīng)用和查詢。一個數(shù)據(jù)庫內(nèi)核要針對DSS進行優(yōu)化,就必需采納一些別的可隨
意運用的索引技術(shù)。事實上SybaseIQ產(chǎn)品針對DSS應(yīng)用有四種完全不同的可隨
意運用的索引技術(shù),這些技術(shù)中每一個都與DSS查詢問題相吻合。我們將在此
白皮書中探討其中的一部分。
數(shù)據(jù)屬性與SQL運用方式的關(guān)系
Sybase公司的開發(fā)人員發(fā)覺了列的秩(即不同的值的個數(shù))與該列在SQL
語言和DSS應(yīng)用模型中的運用方式之間存在聯(lián)系。假如一列的秩較低(也就是
少于1000個不同的值),在DSS中該列會被最頻繁地用在SQL的WHERE子
句和GROUPBY子句中。當用在SQLWHERE子句中,低秩的列通常被用在EQ
(=)和NE(<>)謂詞中。在DSS中很少發(fā)覺低秩的列被用在范圍查詢和聚集
中。
一個具有特殊高的秩的列(超過100,000個不同的值),在DSS中常被用
于SQL的WHERE子句和聚集中。當用在SQL的WHERE子句中時,高秩的列
常用于范圍謂詞。
我們還發(fā)覺很多數(shù)據(jù)屬性隨時間變更保持相對穩(wěn)定。也就是說,秩、分布
和范圍保持相對穩(wěn)定。一個初始時秩為52的列(例如:州名),或許隨著時間
的推移其秩會增加到100,但很可能恒久也不會增加到100,000。數(shù)據(jù)的分布也
保持相對穩(wěn)定。仍以州名這一列為例,對大多數(shù)公司,在California的顧客數(shù)或
許比在RhodeIsland的顧客數(shù)更多,并且可能總是這樣。數(shù)據(jù)的范圍也趨向于保
持穩(wěn)定。
數(shù)據(jù)屬性的這些相對穩(wěn)定的特性可被利用以獲得更高的查詢性能。通常的
想法是:雖然針對特定目的的查詢按其定義是不行預(yù)料的,數(shù)據(jù)自身和它在DSS
中的運用方式是可預(yù)料的。這種可預(yù)料性可以用來提高查詢的性能。
低秩的索引技術(shù)
此項位圖索引技術(shù)從1960年起先推廣,如今很多產(chǎn)品都采納了這項技術(shù),
SybaseIQ是第一個將這項技術(shù)用于解決關(guān)系型SQL查詢問題的數(shù)據(jù)庫產(chǎn)品。針
對非選擇性(低秩)的數(shù)據(jù),此項技術(shù)能供應(yīng)比傳統(tǒng)的B-樹索引高得多的查詢
性能。值得指出的是,在典型的DSS數(shù)據(jù)庫中,低秩的列占了全部列的75%。
既然低秩數(shù)據(jù)的分布如此廣泛,那么能否對其進行高效的處理就顯得尤其重要。
低秩索引為維護索引字段上的每一個唯一的值創(chuàng)建一個稱為位圖(Bitmap)
的數(shù)據(jù)結(jié)構(gòu)。每一個位圖是數(shù)據(jù)庫中數(shù)據(jù)頁面的一個獨立的鏈。簡潔地說,它就
是一個二進制位的數(shù)組,這個二進制位的取值可以是0也可以是1。在此方法中,
相對的位號(例如,第1位,第2位,等等)用來表示數(shù)據(jù)庫中的表中的元組。
因此,我們就可以有一個紐約州的位圖,其中的第一位、第七位和第八位的位置
置為1,就表示第一個,第七個和第八個記錄滿意條件state="NewYork”。
LowCardinalityIndex
對于非選擇性的查詢謂詞,這項技術(shù)可以顯著改善查詢的響應(yīng)時間。讓我們
以下面的查詢?yōu)槔?,將傳統(tǒng)的B-樹索引技術(shù)和我們的低秩索引技術(shù)進行一下對
比:
SELECTCOUNT(*)FROMcustomers
WHEREstate="NY”
我們假設(shè)customers表中有10,000,000個元組,其中有2,000,000個的state
列的值為“NY”。
傳統(tǒng)的B-樹索引中將有10,000,000個實體,表中的每一個元組對應(yīng)索引中的
一個實體。每一個實體通常大約包含16字節(jié)(或128位)的信息。對傳統(tǒng)的B-
樹進行閱讀就須要從磁盤中讀取大約32MB(16*2,000,000)的數(shù)據(jù)。
低秩方法只須要從磁盤讀取1.25MB(10,000,000/8)的數(shù)據(jù),這是采納B-
樹方法所要讀取的數(shù)據(jù)的1/25o因此,采納低秩方法的效率至少要比采納傳統(tǒng)的
B-樹方法要高25倍。
正如我們在前面所指出的,低秩數(shù)據(jù)在DSS中的運用特別普遍,主要用于運
用量化謂詞的WHERE子句和SQL的GROUPBY子句中。此項索引技術(shù)針對這
些操作進行優(yōu)化。例如,在GROUPBY的狀況下,假如索引已經(jīng)是依據(jù)GROUP
組織好的,并且不再須要進行排序,就可以很快將結(jié)果返回。
SybaseIQ低秩索引技術(shù)與其它技術(shù)的對比
SybaseIQ實現(xiàn)上述的低秩索引技術(shù)的方法有別于對同樣技術(shù)的其它的一些
實現(xiàn)方法。大多數(shù)實現(xiàn)(包括Oracle的實現(xiàn))只適用于指標特別低的狀況(例
如,秩<50)。這是因為隨著秩的增長,索引的大小也將隨之增長,而隨著索引
的大小的增長,開銷增大,好用性降低。
形象地說,建立在50個唯一值和10,000,000個元組上的低秩索引須要
62.5MB的磁盤空間。當秩由50增至500時,所須要的磁盤空間猛增至625MB。
索引空間的爆炸性增長是使得此項技術(shù)只有在低秩狀況下才有好用價值的重要
緣由。
SybaseIQ通過增加數(shù)據(jù)壓縮技術(shù)勝利地解決了這一問題。通常,隨著秩的
增長,位圖中的值為0的位的個數(shù)快速增長。值為1的位的個數(shù)隨著元組個數(shù)的
增長而增長。因此,假如秩的增長幅度與元組個數(shù)的增長幅度相同,那么,所增
加的值為0的位的個數(shù)將遠遠大于所增加的值為1的位的個數(shù)。由于0的個數(shù)的
增加,使得壓縮的效果特別顯著。由于采納了這樣的技術(shù),SybaseIQ可以將秩
的范圍由50(此時,大多數(shù)數(shù)據(jù)庫產(chǎn)品就不再運用此項技術(shù)了)擴展到500-1000。
Sybase在此項技術(shù)上取得了專利,這就使得我們的競爭對手要想超越我們就更加
困難了。
高秩索引技術(shù)
SybaseIQ所采納的另一項索引技術(shù)是獲得專利的高秩(HC)索引技術(shù)。這
項技術(shù)特地為具有HC數(shù)據(jù)的DSS查詢(包含聚集和WHERE子句中的范圍謂
詞)進行了優(yōu)化。
在這種方法中,數(shù)據(jù)列被分割成N個分別的位圖。每一個位圖對應(yīng)索引所在
的數(shù)值的一個有效位。例如,假設(shè)reve〃圖域是一個32位的無符號數(shù),在這種
狀況下,SybaseIQHC索引就建立32個分別的位圖,每一個位圖對應(yīng)一個有效
位。以這種方式組織數(shù)據(jù)大大減小了數(shù)據(jù)的大小。大多數(shù)的reve/we數(shù)據(jù)通常沒
有運用32位有效數(shù)字中的全部。商務(wù)數(shù)據(jù)通常都有一個自然的數(shù)值的聚集區(qū)域,
只運用了40億種可能的取值中的很小的一部分。這種數(shù)值的聚集,加上SybaseIQ
的數(shù)據(jù)壓縮功能,使得索引只要運用實際數(shù)據(jù)所占用的空間的20%,甚至更少,
就可以表示全部的數(shù)據(jù)了。所用空間的減小,具有在位圖之間運用SET操作(SET
操作的運用與AND、OR和XOR操作完全相同)的實力,這些使得SybaseIQ
能夠快速計算出哪些元組在所指定的范圍內(nèi),以及有關(guān)的SUM、AVG等統(tǒng)計結(jié)
果。此項索引技術(shù)使得范圍查詢操作很快由芯片微代碼演化成為軟件,并以向量
的形式加以實現(xiàn)。采納此項技術(shù)比采納傳統(tǒng)的B-樹要快10至100倍,這沒有什
么可驚異的,因為它存儲數(shù)據(jù)的方式是獨一無二的。目前,我們不知道還有哪一
家其他的數(shù)據(jù)庫公司采納了這項技術(shù)。Sybase在此項技術(shù)上擁有專利。
HighCardinalityIndexing
IfWPInQprtpdthenumber7intothpind^xnt
Row23.
Decimal7=0111Binary
TurnOnBit23inBitmap1,2,4.
1Bitmap2Bitmap4Bitmap8Bitmap
基于用戶的并行
傳統(tǒng)的基于OLTP的數(shù)據(jù)庫核心所采納的并行方法,如今已集中在一項簡潔
的技術(shù),以解決DSS查詢的有關(guān)問題,這項技術(shù)稱為“并行表掃描”。這種方
法是特地為具有多處理器SMP硬件,并且一次運行一個預(yù)先規(guī)劃好的查詢的狀
況而設(shè)計的,它帶來了新的性能上的重大突破。它與早先的主機批處理類似,在
一次運行多個困難查詢的狀況下,這種方法就會變得很慢,并導(dǎo)致總體性能的降
低。
SybaseIQ還采納了一項圍繞DSS應(yīng)用模型而設(shè)計的方法。“并行表掃描”
的確不是解決查詢速度問題的最佳方法。
SybaseIQ采納的是針對用戶的并行模型。這就是說,在多處理器SMP環(huán)境
中,SybaseIQ會在用戶之間對CPU資源進行分布。它是為特定的多用戶DSS
應(yīng)用環(huán)境而設(shè)計的。SybaseIQ的設(shè)計目的在于最大限度地增加多個同時進行的
查詢的吞吐量,而不是為了支持一次一個的查詢的吞吐量的提高。它的每一個查
詢平均運用1.2個CPUo因此,在20個CPU的SMP機器上同時做15個特定查
詢,SybaseIQ的查詢性能與單機上處理一個查詢的性能大體相當。
DDS數(shù)據(jù)倉庫市場正在不斷發(fā)展,如今,沒有人再考慮做單用戶的OLTP
性能對比測試了。對DSS也是同樣,大多數(shù)公司都不希望為了創(chuàng)建和維護只有
一個用戶的數(shù)據(jù)倉庫花幾百萬美元。
查詢優(yōu)化
OLTP和DSS中的查詢優(yōu)化都是特別重要的,這兩個問題的關(guān)鍵性的差別在
于它們所能夠用于優(yōu)化的時間的多少不同。
OLTP引擎可以用于查詢優(yōu)化的時間特別少,沒有必要花30秒鐘來為一個執(zhí)
行時間僅僅1/10秒的查詢選擇最優(yōu)的查詢方案。存儲過程對此有所幫助,但是
從總體上講,大多數(shù)OLTP數(shù)據(jù)庫查詢優(yōu)化用在選擇查詢方案上的時間都不到一
秒。
另一方面,DSS的查詢優(yōu)化器可以花大量的時間來確定最佳的查詢方案。假
如大多數(shù)的DSS查詢的執(zhí)行時間都是5-10分鐘的話,那么花5-15秒來選擇一個
最終可能節(jié)約20分鐘的執(zhí)行時間的查詢方案就顯得特別必要了。
優(yōu)先線索模型
SybaseIQ運用的是一個非傳統(tǒng)型的數(shù)據(jù)庫核心線索模型。大多數(shù)OLTP數(shù)
據(jù)庫核心都實現(xiàn)了非優(yōu)先的或基于產(chǎn)量的線索模型。它們的每一個重型的進程中
都有很多非優(yōu)先性的重型的用戶線索。每一個引擎運用共享內(nèi)存來進行重型的進
程間的數(shù)據(jù)共享。對OLTP來講,這是一個不錯的模型,因為OLTP常常須要管
理特別小的工作單元,在這種狀況下,費時太多的操作系統(tǒng)的上下文切換會極大
的降低OLTP的性能。
SybaseIQ采納的是一個迥然不同的線索模型,對每一個并發(fā)的連接都有一
個重型的進程。在每一個重型的進程中,SybaseIQ又有很多輕型的或核心的線
索。這些線索是優(yōu)先的,OS對它們進行獨立的調(diào)度。由于SybaseIQ是在DSS
應(yīng)用模型中運做的,而DSS應(yīng)用模型中的平均工作單元是以秒,而不是以千分
秒來計的,因此SybaseIQ能夠充分利用這種新的方法所帶來的優(yōu)勢。下圖是
SybaseIQ進程模型的示意圖。
SybaseIQProcessDiagram
解決特定的的查詢問題
SybaseIQ通過大幅度降低索引的開銷和以異于大多數(shù)基于OLTP的數(shù)據(jù)庫
系統(tǒng)的方式對數(shù)據(jù)進行存儲和訪問,來達到解決特定的查詢問題的目的。在大多
數(shù)基于OLTP的數(shù)據(jù)庫中,核心索引的代價很高,主要緣由如下:
?索引的創(chuàng)建特別慢
?索引通常都特別大
?在增量更新中索引通常都特別慢
SybaseIQ針對這三點都進行了相應(yīng)的處理。
索引的創(chuàng)建速度快
首先,由于SybaseIQ采納的是針對DDS類型的操作而設(shè)計的索引數(shù)據(jù)結(jié)構(gòu),
所以創(chuàng)建索引能夠做得很快。SybaseIQ通常對每一列數(shù)據(jù)都創(chuàng)建一個索引,盡
管我們這樣做,在性能上還是大大超出那些只在10-15%的列上創(chuàng)建索引的競爭
對手。我們創(chuàng)建索引的速度是一般的OLTP數(shù)據(jù)庫創(chuàng)建索引的速度的10-20倍。
另外,與其它的數(shù)據(jù)庫一樣,我們也采納并行技術(shù)以便進一步提高索引的創(chuàng)建速
度。這樣,通過加快索引的創(chuàng)建速度,我們掃除了運用重型索引方法的第一個障
礙。
索引很小
SybaseIQ還順當?shù)亟鉀Q了有關(guān)索引的其次個問題。典型的OLTP數(shù)據(jù)庫核
心在存儲數(shù)據(jù)的基礎(chǔ)上附加數(shù)量較少的索引來幫助提高查詢的速度?;贒SS
應(yīng)用的OLTP數(shù)據(jù)庫的大多數(shù)實現(xiàn)須要的磁盤空間的數(shù)量大約是原始數(shù)據(jù)的3-6
倍。這就是說,假如你有100GB的原始數(shù)據(jù),你還須要300-600GB的磁盤空間
來存儲OLTP索引,這樣,總的磁盤需求量大約是400-700GB。甚至在這種磁盤
空間爆炸的狀況下,也只有10-15%的數(shù)據(jù)上創(chuàng)建了索引。
SybaseIQ解決了索引大小的問題。SybaseIQ裝入數(shù)據(jù),在數(shù)據(jù)庫中的每一
列上創(chuàng)建索引,并且所占用的空間遠遠小于協(xié)助數(shù)據(jù)所占用的空間。這樣,假如
有100GB的原始數(shù)據(jù),在SybaseIQ中只須要一個100GB或不足100GB的數(shù)據(jù)
庫。
索引可以增量式裝入
大多數(shù)OLTP數(shù)據(jù)庫在數(shù)據(jù)的增量式裝入方面都存在嚴峻的問題。這就是說,
假如你一次裝入了100GB的原始數(shù)據(jù)并在其上創(chuàng)建了索引,再在此基礎(chǔ)上增加
100MB或幾個GB的數(shù)據(jù)都會特別特別慢。這一過程實在是太慢了,以至于假
如先刪除全部的OLTP索引,裝入增加的數(shù)據(jù),再重新對整個數(shù)據(jù)庫創(chuàng)建索引反
而會快一點。
SybaseIQ在裝入其次個100MB或100GB的時候的速度幾乎與裝入第一批
數(shù)據(jù)一樣快。這是因為SybaseIQ存儲數(shù)據(jù)和創(chuàng)建索引的方式別出心裁。SybaseIQ
的索引是特地為增量式裝入而設(shè)計和開發(fā)的。這就給最終用戶帶來的更大的敏捷
性。
SybaseIQ使得索引的開銷大大降低,并供應(yīng)了一個新的開發(fā)環(huán)境,在這樣
的開發(fā)環(huán)境中,索引的運用可以比過去任何時候更充分。我們所設(shè)計的索引還更
適合于DSS類型的查詢的須要。這些特性結(jié)合起來,使得SybaseIQ與其它的基
于OLTP的數(shù)據(jù)庫核心相比具有更優(yōu)越的特定查詢相應(yīng)時間。
DSS與OLTP數(shù)據(jù)庫核心的對比
數(shù)據(jù)庫物理結(jié)構(gòu)的對立原則
現(xiàn)在,明顯很多數(shù)據(jù)庫核心所必需的,特殊是為了對DSS供應(yīng)強有力的支
持所必需的基礎(chǔ)技術(shù)會使OLTP操作變得很慢。反之也是如此,很多數(shù)據(jù)庫核心
所必需的,特殊是為了對OLTP供應(yīng)強有力的支持所必需的基礎(chǔ)技術(shù)也會使DSS
操作變得很緩慢。例如,前面所提到的垂直分割技術(shù)能夠使DSS查詢的速度提
高20多倍,同時垂直分割還會使OLTP查詢的速度減低20多倍。事務(wù)模型的種
類、數(shù)據(jù)庫頁面的大小、壓縮,以及垂直分割都是數(shù)據(jù)庫物理結(jié)構(gòu)的對立原則的
例子。DSS和OLTP在很多本質(zhì)的和重要的問題上處于兩個極端。
混合任務(wù)裝入數(shù)據(jù)庫核心
在同一個數(shù)據(jù)庫中進行混合任務(wù)裝入就好象“一邊為地板打蠟一邊刷牙”。
你當然可以這樣做,但是
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 北京課改版歷史八年級下冊第2課《新中國的初步鞏固》聽課評課記錄
- 人民版道德與法治九年級上冊4.2《城鄉(xiāng)差距》聽課評課記錄
- 招投文件合同范本(2篇)
- 生物燃料鍋爐購買合同(2篇)
- 人教版數(shù)學(xué)七年級下冊《7-2-2用坐標表示平移》聽評課記錄
- 魯人版道德與法治九年級上冊9.1《公正律師法律援助》配套聽課評課記錄
- 湘師大版道德與法治七年級上冊2.3《快樂學(xué)習(xí)》聽課評課記錄
- 道德與法治部編版七年級上冊同步聽課評課記錄《第8課 生命可以永恒嗎》
- 【部編版】八年級歷史上冊《鴉片戰(zhàn)爭》公開課 聽課評課記錄及教學(xué)反思
- 蘇科版數(shù)學(xué)八年級上冊《課題學(xué)習(xí) 關(guān)于勾股定理的研究》聽評課記錄
- 三廢環(huán)保管理培訓(xùn)
- 財務(wù)管控的間接成本
- 藏族唐卡藝術(shù)特色分析
- 操作系統(tǒng)課程設(shè)計報告
- 護士團隊的協(xié)作和領(lǐng)導(dǎo)力培養(yǎng)培訓(xùn)課件
- QFD模板含計算公式計分標準說明模板
- 醫(yī)院護理培訓(xùn)課件:《早產(chǎn)兒姿勢管理與擺位》
- 人工智能在生物醫(yī)學(xué)倫理與法律中的基因編輯與生命倫理問題研究
- 《論文的寫作技巧》課件
- 國有資產(chǎn)管理辦法-國有資產(chǎn)管理辦法條例
- 公務(wù)車輛定點維修車輛保養(yǎng)(附彩圖) 投標方案
評論
0/150
提交評論