【正文】
。最小化空間開銷是很重要的,因?yàn)槿绻臻g開銷超出物理內(nèi)存,會(huì)使交換頁保存到磁盤(通過操作系統(tǒng)的虛擬存儲(chǔ)機(jī)制),這將大大降低執(zhí)行效率。 應(yīng)認(rèn)真優(yōu)化主存中的 操作實(shí)現(xiàn),因?yàn)榇疟P存取不再是限制性能的要素。為了使該問題最小化,不是每完成一個(gè)事務(wù)就進(jìn)行提交,而是收 15 集已完成的事務(wù),然后批量提交它們,這稱為組提交。在提交事務(wù)的時(shí)候,日志記錄必須寫到固定的存儲(chǔ)中。這促使重新考慮一些基本的 DBMS 設(shè)計(jì)決策,因?yàn)閷?duì)于駐留內(nèi)存的數(shù)據(jù)庫,磁盤訪問不再是主要的處理時(shí)間。而且,現(xiàn)代的 CPU 使用 64 位的尋址,有了很大的尋址 空間。事實(shí)上,我們可能不得不放棄具有 ACID特性的事務(wù),而是為用戶程序開發(fā)其他的一致性方法。 當(dāng)一個(gè)用戶移動(dòng)的時(shí)候,一個(gè)事務(wù)可能需要從多個(gè)數(shù)據(jù)庫服務(wù)器中訪問數(shù)據(jù),此時(shí)丟失連接的可能性比傳統(tǒng)的網(wǎng)絡(luò)要大。因此,除內(nèi)容傳輸開銷以及因位置的頻繁變動(dòng)而產(chǎn)生的開銷 外,真正的通信開銷體現(xiàn)在連接時(shí)間和電池的使用上。因此通信開銷比 I/O 和 CPU 開銷更高。另一方面,不論是網(wǎng)絡(luò),還是數(shù)據(jù)和用戶,都有一些新的特性,這就影響了 DBMS 中的許多構(gòu)件,包括查詢引擎,事務(wù)管理程序和虎伏管理程序。 (八)其他專題 移動(dòng)數(shù)據(jù)庫 便攜計(jì)算機(jī)和無線通信的應(yīng)用創(chuàng)建了一批移動(dòng)數(shù)據(jù)庫用戶。例如,用戶可能強(qiáng)迫系統(tǒng)使用特定的索引或連接的方法和順序。 不能識(shí)別出一個(gè)復(fù)雜的執(zhí)行計(jì)劃,例如不能發(fā)現(xiàn)在 GROUP BY 語句中含有的 14 聚集操作的查詢中的只讀索引掃描計(jì)劃。例如,如果在WHERE 語句中有一個(gè)條件 =2*,那么優(yōu)化器可能會(huì)正確利用現(xiàn)有的在 上的 索引,但是不能正確利用在 上的索引。由于一些原因,有時(shí)系統(tǒng)可能沒有找到最好的執(zhí)行計(jì)劃。如果在視圖上的一些查詢運(yùn)行得很慢,也可以進(jìn)行類似的調(diào)整。 ( 七 ) 調(diào)整查詢和視圖 如果一個(gè)查詢比預(yù)計(jì)的要慢得 多,那么我們就必須仔細(xì)檢查并找出問題。這里需要注意的是,這里討論的不是一個(gè)關(guān)系元組的物理劃分;而是想創(chuàng)建兩個(gè)不同的關(guān)系(可能具有不同的約束和索引)。 關(guān)于規(guī)范化的討論集中在分解技術(shù)上,實(shí)際上就是對(duì)關(guān)系的垂直劃分。也就是,可能將一組由一個(gè)大關(guān)系分解而得到的關(guān)系用它們的原大關(guān)系代替,盡管這樣會(huì)引起一些冗余的問題。 有時(shí)我們需要對(duì)一個(gè)應(yīng)景是 BCNF 的關(guān)系進(jìn)一步分解。 在對(duì)概念模式進(jìn)行調(diào)整時(shí)我們必須考慮以下幾點(diǎn): 13 我們也許應(yīng)當(dāng)采用 3NF 設(shè)計(jì)來代替 BCNF 設(shè)計(jì)。然而,有時(shí)需要根據(jù)使用系統(tǒng)的經(jīng)驗(yàn)來 對(duì)概念模式進(jìn)行修正。 在系統(tǒng)已經(jīng)運(yùn)行了一段時(shí)間后,我們也許會(huì)認(rèn)識(shí)到在初始設(shè)計(jì)期間或之后重新設(shè)計(jì)的必要性。 (六)調(diào)整概念模式 在數(shù)據(jù)庫設(shè)計(jì)期間,我們也許會(huì)意識(shí)到,在給定工作負(fù)載和任何一組可行的物理設(shè)計(jì)選擇的情況下,當(dāng)前選擇的關(guān)系模式并不能滿足性能目標(biāo)。對(duì)于查詢的仔細(xì)監(jiān)測(cè)可龕發(fā)現(xiàn)一些預(yù)測(cè)不到的問題,例如,優(yōu)化器可能不使用某些索引,盡管這些索引可以產(chǎn)生好的計(jì)劃。先前對(duì)工作負(fù)載的很多假設(shè)都可以用觀察到的模式來代替;一般來講,一些初始的關(guān)于工作負(fù)載的說明將得到驗(yàn)證,其中有一些可能是錯(cuò)誤的。另一種看法是,對(duì)于概念模式的進(jìn)一步求精(和受這些改進(jìn)影響的物理設(shè)計(jì)決策)也應(yīng)該是物理設(shè)計(jì)過程的一部分。一種看法認(rèn)為,一旦初始模式、索引和聚簇決策已經(jīng)確定,那么設(shè)計(jì)過程也就結(jié)束了。所以在 12 系統(tǒng)設(shè)計(jì)完以后,對(duì)數(shù)據(jù)庫的調(diào)整就變得很重要,我們必須按照實(shí)際的使用模式來對(duì)初始的設(shè)計(jì)進(jìn)行求精,以便獲得好的性能。在生成索引時(shí),設(shè)計(jì)者應(yīng)該在頭腦中進(jìn)行一下權(quán)衡。另一方面,更新操作一般還要做一些額外的工作,以維護(hù)所修改的屬性上的索引。 更新中包括一個(gè)查詢部分,用來找到目標(biāo)元組。 典型的 查詢和更新都帶有參數(shù),例如,借款或存款操作都涉及某個(gè)特定的帳號(hào)。 更新的類型( INSERT,DELETE,UPDATE)以及所要更新的關(guān)系。 在那些屬性上有選擇或連接條件(在 WHERE 子句中),以及這些條件具有多大的選擇性。 對(duì)于在工作負(fù)載中的每個(gè)查詢,我們必須確定: 需要訪問哪些關(guān)系。 。 (三)數(shù)據(jù)庫負(fù)載 一個(gè)好的數(shù)據(jù)庫設(shè)計(jì)的關(guān)鍵是對(duì)所希望的負(fù)載有準(zhǔn)確的描述。設(shè)計(jì)者需要明白 DBMS 工作的細(xì)節(jié),特別是 DBMS 所支持的索引和查詢處理技術(shù)。在物理數(shù)據(jù)庫設(shè)計(jì)過程中,工作 負(fù)載的描述和用戶的需求是作出許多決策的基礎(chǔ)。特別是,我們必須了解數(shù)據(jù)庫所必須支持的典型的工作負(fù)載,工作負(fù)載是查詢和更新的混合體。在商業(yè)上,數(shù)據(jù)庫管理系統(tǒng)代表著最大和最具活力的市場(chǎng)之一。 隨著越來越多在線數(shù)據(jù)的產(chǎn)生,并且通過計(jì)算機(jī)網(wǎng)絡(luò)越來越容易獲得,數(shù)據(jù)庫也變得更加重要了。通過 Web 可存取的表單界面來產(chǎn)生查詢請(qǐng)求,并使用諸如 HTML 的標(biāo)記語言將查詢結(jié)果格式化,從而便于在瀏覽器中顯示。 也許,在 DBMS 的發(fā)展中,最重要的事是 DBMS 已經(jīng)進(jìn) 入了因特網(wǎng)時(shí)代。數(shù)據(jù)存儲(chǔ)在關(guān)系型 DBMS 中,可以為不同公司分別定制應(yīng)用層。 一個(gè) 有趣的現(xiàn)象是隨著一些企業(yè)資源規(guī)劃( ERP)和管理自愿規(guī)劃( MRP)軟件包的出現(xiàn),他們?cè)?DBMS 之上增加了一層面向應(yīng)用的特征。很多數(shù)據(jù)庫提供商(如 IBM 的 DB2,Oracle 8,Informix UDS) 10 櫻井?dāng)U展了它們的系統(tǒng),使之具有存儲(chǔ)諸如圖像,文本等新數(shù)據(jù)類型的能力,以及回答更復(fù)雜查詢的能力。 在 20 世紀(jì) 80 年代末期和 90 年代,數(shù)據(jù)庫系統(tǒng)在很多方面得到發(fā)掌。用戶編寫程序時(shí)不用考慮其他程序的運(yùn)行,并發(fā)執(zhí)行操作由 DBMS 管理。 SQL 于 20 世紀(jì) 80 年代末期得到標(biāo)準(zhǔn)化,目前的標(biāo)準(zhǔn) SQL:1999 被美國國家標(biāo)準(zhǔn)協(xié)會(huì)( ANSI)和國際標(biāo)準(zhǔn)組織( ISO)接受。 在 20 世紀(jì) 80 年代,關(guān)系模型鞏固了它作為主導(dǎo) DBMS 模式的地位,而數(shù)據(jù)庫系統(tǒng)繼續(xù)被廣泛使用。數(shù)據(jù)庫系統(tǒng)作為學(xué)術(shù)學(xué)科已經(jīng)成熟了,而且關(guān)系型 DBMS 的普及改變了商業(yè) 應(yīng)用前景。這后來被證明是數(shù)據(jù)庫系統(tǒng)開發(fā)中的分水嶺:它推進(jìn)了幾個(gè)基于關(guān)系模型的數(shù)據(jù)庫管理系統(tǒng)的快速開發(fā),并取得大量的理論成果,從而為數(shù)據(jù)庫領(lǐng)域奠定了堅(jiān)實(shí)的基礎(chǔ)。有趣的是,今天 SABRE 系統(tǒng)被用于支持廣為流行的基于 Web的旅游服務(wù),如 Travelocity。 IMS 奠定了另一個(gè)數(shù)據(jù)表達(dá)框架 —— 層次數(shù)據(jù)模型的基礎(chǔ)。 20 世紀(jì) 60 年代末期, IBM 成功開發(fā)了信息管理系統(tǒng) (IMS)DBMS。網(wǎng)狀數(shù)據(jù)模型由數(shù)據(jù)系統(tǒng)語言協(xié)會(huì) (CODASYL)標(biāo)準(zhǔn)化,并在整個(gè) 20 世紀(jì) 60 年代對(duì)數(shù)據(jù)庫系統(tǒng)產(chǎn)生了巨大的影響。 this is called group mit. Recovery algorithms can also be optimized since pages rarely have to be written out to make room for other pages. The implementation of inmemory operations has to be optimized carefully since disk accesses are no longer the limiting factor for performance. A new criterion must be considered while optimizing queries, namely the amount of space required to execute a plan. It is important to minimize the space overhead because exceeding available physical memory would lead to swapping pages to disk (through the operating system’s virtual memory mechanisms), greatly slowing down execution. Pageoriented data structures bee less important (since pages are no longer the unit of data retrieval), and clustering is not important (since the cost of accessing any region of main memory is uniform). 9 (一) 從歷史的角度回顧 從數(shù)據(jù)庫的早期開始,存儲(chǔ)和操縱數(shù)據(jù)就一直是主要的應(yīng)用焦點(diǎn)。 for example, users might be able to force the use of a particular index or choose the join order and join method. A user who wishes to guide optimization in this manner should have a thorough understanding of both optimization and the capabilities of the given DBMS. (8)OTHER TOPICS MOBILE DATABASES The availability of portable puters and wireless munications has created a new breed of nomadic database users. At one level these users are simply accessing a database through a work, which is similar to distributed DBMSs. At another level the work as well as data and user characteristics now have several novel properties, which affect basic assumptions in many ponents of a DBMS, including the query engine, transaction manager, and recovery manager. Users are connected through a wireless link whose bandwidth is ten times less than Ether and 100 times less than ATM works. Communication costs are therefore significantly higher i