一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

大型數(shù)據(jù)庫的設(shè)計原則與開發(fā)技巧

  隨著計算機技術(shù)越來越廣泛地應(yīng)用于國民經(jīng)濟的各個領(lǐng)域,在計算機硬件不斷微型化的同時,應(yīng)用系統(tǒng)向著復(fù)雜化、大型化的方向發(fā)展。數(shù)據(jù)庫是整個系統(tǒng)的核心,它的設(shè)計直接關(guān)系系統(tǒng)執(zhí)行的效率和系統(tǒng)的穩(wěn)定性。因此在軟件系統(tǒng)開發(fā)中,數(shù)據(jù)庫設(shè)計應(yīng)遵循必要的數(shù)據(jù)庫范式理論,以減少冗余、保證數(shù)據(jù)的完整性與正確性。只有在合適的數(shù)據(jù)庫產(chǎn)品上設(shè)計出合理的數(shù)據(jù)庫模型,才能降低整個系統(tǒng)的編程和維護難度,提高系統(tǒng)的實際運行效率。雖然對于小項目或中等規(guī)模的項目開發(fā)人員可以很容易地利用范式理論設(shè)計出一套符合要求的數(shù)據(jù)庫,但對于一個包含大型數(shù)據(jù)庫的軟件項目,就必須有一套完整的設(shè)計原則與技巧。

  一、成立數(shù)據(jù)小組
   大型數(shù)據(jù)庫數(shù)據(jù)元素多,在設(shè)計上有必要成立專門的數(shù)據(jù)小組。由于數(shù)據(jù)庫設(shè)計者不一定是使用者,對系統(tǒng)設(shè)計中的數(shù)據(jù)元素不可能考慮周全,數(shù)據(jù)庫設(shè)計出來后,往往難以找到所需的庫表,因此數(shù)據(jù)小組最好由熟悉業(yè)務(wù)的項目骨干組成。

  數(shù)據(jù)小組的職能并非是設(shè)計數(shù)據(jù)庫,而是通過需求分析,在參考其他相似系統(tǒng)的基礎(chǔ)上,提取系統(tǒng)的基本數(shù)據(jù)元素,擔負對數(shù)據(jù)庫的審核。審核內(nèi)容包括審核新的數(shù)據(jù)庫元素是否完全、能否實現(xiàn)全部業(yè)務(wù)需求;對舊數(shù)據(jù)庫(如果存在舊系統(tǒng))的分析及數(shù)據(jù)轉(zhuǎn)換;數(shù)據(jù)庫設(shè)計的審核、控制及必要調(diào)整。

  二、設(shè)計原則

  1.規(guī)范命名。所有的庫名、表名、域名必須遵循統(tǒng)一的命名規(guī)則,并進行必要說明,以方便設(shè)計、維護、查詢。

  2.控制字段的引用。在設(shè)計時,可以選擇適當?shù)臄?shù)據(jù)庫設(shè)計管理工具,以方便開發(fā)人員的分布式設(shè)計和數(shù)據(jù)小組的集中審核管理。采用統(tǒng)一的命名規(guī)則,如果設(shè)計的字段已經(jīng)存在,可直接引用;否則,應(yīng)重新設(shè)計。

  3.庫表重復(fù)控制。在設(shè)計過程中,如果發(fā)現(xiàn)大部分字段都已存在,開發(fā)人員應(yīng)懷疑所設(shè)計的庫表是否已存在。通過對字段所在庫表及相應(yīng)設(shè)計人員的查詢,可以確認庫表是否確實重復(fù)。

  4.并發(fā)控制。設(shè)計中應(yīng)進行并發(fā)控制,即對于同一個庫表,在同一時間只有一個人有控制權(quán),其他人只能進行查詢。

  5.必要的討論。數(shù)據(jù)庫設(shè)計完成后,數(shù)據(jù)小組應(yīng)與相關(guān)人員進行討論,通過討論來熟悉數(shù)據(jù)庫,從而對設(shè)計中存在的問題進行控制或從中獲取數(shù)據(jù)庫設(shè)計的必要信息。

  6.數(shù)據(jù)小組的審核。庫表的定版、修改最終都要通過數(shù)據(jù)小組的審核,以保證符合必要的要求。

  7.頭文件處理。每次數(shù)據(jù)修改后,數(shù)據(jù)小組要對相應(yīng)的頭文件進行修改(可由管理軟件自動完成),并通知相關(guān)的開發(fā)人員,以便進行相應(yīng)的程序修改。

  三、設(shè)計技巧

  1.分類拆分數(shù)據(jù)量大的表。對于經(jīng)常使用的表(如某些參數(shù)表或代碼對照表),由于其使用頻率很高,要盡量減少表中的記錄數(shù)量。例如,銀行的戶主賬表原來設(shè)計成一張表,雖然可以方便程序的設(shè)計與維護,但經(jīng)過分析發(fā)現(xiàn),由于數(shù)據(jù)量太大,會影響數(shù)據(jù)的迅速定位。如果將戶主賬表分別設(shè)計為活期戶主賬、定期戶主賬及對公戶主賬等,則可以大大提高查詢效率。

   2.索引設(shè)計。對于大的數(shù)據(jù)庫表,合理的索引能夠提高整個數(shù)據(jù)庫的操作效率。在索引設(shè)計中,索引字段應(yīng)挑選重復(fù)值較少的字段;在對建有復(fù)合索引的字段進行檢索時,應(yīng)注意按照復(fù)合索引字段建立的順序進行。例如,如果對一個5萬多條記錄的流水表以日期和流水號為序建立復(fù)合索引,由于在該表中日期的重復(fù)值接近整個表的記錄數(shù),用流水號進行查詢所用的時間接近3秒;而如果以流水號為索引字段建立索引進行相同的查詢,所用時間不到1秒。因此在大型數(shù)據(jù)庫設(shè)計中,只有進行合理的索引字段選擇,才能有效提高整個數(shù)據(jù)庫的操作效率。

   3.數(shù)據(jù)操作的優(yōu)化。在大型數(shù)據(jù)庫中,如何提高數(shù)據(jù)操作效率值得關(guān)注。例如,每在數(shù)據(jù)庫流水表中增加一筆業(yè)務(wù),就必須從流水控制表中取出流水號,并將其流水號的數(shù)值加一。正常情況下,單筆操作的反應(yīng)速度尚屬正常,但當用它進行批量業(yè)務(wù)處理時,速度會明顯減慢。經(jīng)過分析發(fā)現(xiàn),每次對流水控制表中的流水號數(shù)值加一時都要鎖定該表,而該表卻是整個系統(tǒng)操作的核心,有可能在操作時被其他進程鎖定,因而使整個事務(wù)操作速度變慢。對這一問題的解決的辦法是,根據(jù)批量業(yè)務(wù)的總筆數(shù)批量申請流水號,并對流水控制表進行一次更新,即可提高批量業(yè)務(wù)處理的速度。另一個例子是對插表的優(yōu)化。對于大批量的業(yè)務(wù)處理,如果在插入數(shù)據(jù)庫表時用普通的Insert語句,速度會很慢。其原因在于,每次插表都要進行一次I/O操作,花費較長的時間。改進后,可以用Put語句等緩沖區(qū)形式等滿頁后再進行I/O操作,從而提高效率。對大的數(shù)據(jù)庫表進行刪除時,一般會直接用Delete語句,這個語句雖然可以進行小表操作,但對大表卻會因帶來大事務(wù)而導(dǎo)致刪除速度很慢甚至失敗。解決的方法是去掉事務(wù),但更有效的辦法是先進行Drop操作再進行重建。

   4.數(shù)據(jù)庫參數(shù)的調(diào)整。數(shù)據(jù)庫參數(shù)的調(diào)整是一個經(jīng)驗不斷積累的過程,應(yīng)由有經(jīng)驗的系統(tǒng)管理員完成。以Informix數(shù)據(jù)庫為例,記錄鎖的數(shù)目太少會造成鎖表的失敗;邏輯日志的文件數(shù)目太少會造成插入大表失敗等,這些問題都應(yīng)根據(jù)實際情況進行必要的調(diào)整。

  5.必要的工具。在整個數(shù)據(jù)庫的開發(fā)與設(shè)計過程中,可以先開發(fā)一些小的應(yīng)用工具,如自動生成庫表的頭文件、插入數(shù)據(jù)的初始化、數(shù)據(jù)插入的函數(shù)封裝、錯誤跟蹤或自動顯示等,以此提高數(shù)據(jù)庫的設(shè)計與開發(fā)效率。

  6.避免長事務(wù)。對單個大表的刪除或插入操作會帶來大事務(wù),解決的辦法是對參數(shù)進行調(diào)整,也可以在插入時對文件進行分割。對于一個由一系列小事務(wù)順序操作共同構(gòu)成的長事務(wù)(如銀行交易系統(tǒng)的日終交易),可以由一系列操作完成整個事務(wù),但其缺點是有可能因整個事務(wù)太大而使不能完成,或者,由于偶然的意外而使事務(wù)重做所需的時間太長。較好的解決方法是,把整個事務(wù)分解成幾個較小的事務(wù),再由應(yīng)用程序控制整個系統(tǒng)的流程。這樣,如果其中某個事務(wù)不成功,則只需重做該事務(wù),因而既可節(jié)約時間,又可避免長事務(wù)。

  7.適當超前。計算機技術(shù)發(fā)展日新月異,數(shù)據(jù)庫的設(shè)計必須具有一定前瞻性,不但要滿足當前的應(yīng)用要求,還要考慮未來的業(yè)務(wù)發(fā)展,同時必須有利于擴展或增加應(yīng)用系統(tǒng)的處理功能。

  相對于中小型數(shù)據(jù)庫,大型數(shù)據(jù)庫的設(shè)計與開發(fā)要復(fù)雜得多,因此在設(shè)計、開發(fā)過程中,除了要遵循數(shù)據(jù)庫范式理論、增加系統(tǒng)的一致性和完整性外,還要在總體上根據(jù)具體情況進行分布式設(shè)計,緊緊把握集中控制、統(tǒng)一審核的基本原則,保證數(shù)據(jù)庫設(shè)計結(jié)構(gòu)緊湊、分布平衡、定位迅速。在數(shù)據(jù)庫操作上,要采用一定的技巧提高整個應(yīng)用系統(tǒng)的執(zhí)行效率,并注意適當超前,以適應(yīng)不斷變化的應(yīng)用及系統(tǒng)發(fā)展的要求。

it知識庫大型數(shù)據(jù)庫的設(shè)計原則與開發(fā)技巧,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 91青青国产在线观看免费 | 91在线欧美精品观看 | 日产精品一区二区三区免费 | 大伊人网 | 国产精品国产色综合色 | 国产精品久久自在自2021 | 国产成人 免费观看 | 精品在线小视频 | 久久亚洲网| 丁香六月激情综合 | 男人操女人免费视频 | 99精品国产自产在线观看 | 国产成人亚洲综合无 | 色老板在线免费 | 日韩在线看片 | 国产女同一区二区三区五区 | 精品精品国产高清a毛片牛牛 | 欧美精品亚洲精品日韩专区 | 国产一区二区色淫影院 | 中文字幕久久网 | 久久国产乱子伦精品岳两 | 美女视频黄是免费的 | 国产小视频免费观看 | 欧美黄色片在线 | 91在线欧美精品观看 | 国产精品伦理久久久久 | 欧美99视频| 97影院秋霞国产精品 | 中国精品视频一区二区三区 | 99久久国产综合精品麻豆 | 亚洲国产精品成人午夜在线观看 | 国产精品视频一区二区三区经 | 日韩精品一区二区三区四区 | 国产精品原创巨作av | 国产区二区 | 国产成人精品实拍在线 | 亚洲艳图 | 91久久精一区二区三区大全 | 国产一区系列在线观看 | 色视频观看 | 天天视频入口 |