登錄

聯(lián)機事務(wù)處理

百科 > 信息技術(shù) > 聯(lián)機事務(wù)處理

1.什么是聯(lián)機事務(wù)處理

  聯(lián)機事務(wù)處理是指針對傳統(tǒng)的關(guān)系型數(shù)據(jù)庫的操作,主要是基本的、日常事務(wù)處理,例如,銀行交易。

  在聯(lián)機事務(wù)處理系統(tǒng)中,事務(wù)是被立即執(zhí)行的。聯(lián)機事務(wù)處理系統(tǒng)是一種以事務(wù)元作為數(shù)據(jù)處理的單位。它能對數(shù)據(jù)進行即時更新或其他操作,使系統(tǒng)內(nèi)的數(shù)據(jù)總是保持最新狀態(tài)。在數(shù)據(jù)處理過程中,用戶可將一組保持?jǐn)?shù)據(jù)一致性的操作序列指定為一個事務(wù)元。

2.聯(lián)機事務(wù)處理的性質(zhì)

  在執(zhí)行事務(wù)元時,系統(tǒng)必須保證它具有下列性質(zhì):

  1、原子性,即事務(wù)元中的操作要么全部執(zhí)行,要么全部不執(zhí)行,不允許只執(zhí)行其中的部分操作。

  2、一致性,即事務(wù)元的執(zhí)行必須保證數(shù)據(jù)庫由一個一致的狀態(tài)過渡到另一個一致的狀態(tài)。

  3、持久性,即事務(wù)元對數(shù)據(jù)的任何更新必須反映在如磁盤這樣的非易失性存儲器中,即使在系統(tǒng)發(fā)生故障或掉電時也能如此。

  4、孤立性,即當(dāng)多個事務(wù)元并發(fā)執(zhí)行時,其效果與這些事務(wù)元按某一順序的串行執(zhí)行時的效果一樣。

  聯(lián)機事務(wù)處理通過終端、個人計算機或其他設(shè)備(如自動提款機等)輸入事務(wù)元,經(jīng)系統(tǒng)處理后返回結(jié)果。聯(lián)機事務(wù)處理一般具有數(shù)百乃至上千個用戶,它以交互方式為用戶提供多種服務(wù)。例如,民航訂票系統(tǒng)、銀行ATM機系統(tǒng)都是聯(lián)機事務(wù)處理系統(tǒng)的實例。

3.聯(lián)機事務(wù)處理的數(shù)據(jù)庫特征

  聯(lián)機事務(wù)處理數(shù)據(jù)庫通常具有以下特征。

  (1)支持大量并發(fā)用戶定期添加和修改數(shù)據(jù)。例如,銀行ATM機系統(tǒng)每天接受成千上萬的顧客同時辦理業(yè)務(wù)。

  (2)反映隨時變化的單位狀態(tài),但不保存其歷史記錄。

  (3)包含大量數(shù)據(jù),其中包括用于驗證事務(wù)的大量數(shù)據(jù)。

  (4)具有復(fù)雜的結(jié)構(gòu)。

  (5)可以進行優(yōu)化以對事務(wù)活動做出響應(yīng)。

  (6)提供用于支持單位日常運營的技術(shù)基礎(chǔ)結(jié)構(gòu)。

4.聯(lián)機事務(wù)處理設(shè)計注意事項

  事務(wù)處理系統(tǒng)數(shù)據(jù)庫應(yīng)設(shè)計為支持:

  很好的數(shù)據(jù)放置

  對于 OLTP 系統(tǒng),輸入/輸出瓶頸是一個尤為關(guān)心的問題,原因在于修改整個數(shù)據(jù)庫中數(shù)據(jù)的用戶很多。確定數(shù)據(jù)的可能訪問模式,并將經(jīng)常訪問的數(shù)據(jù)放在一起。在此過程中,可輔以文件組和 RAID(獨立磁盤冗余陣列)系統(tǒng)。

  縮短事務(wù)以將長期鎖減至最少,提高并發(fā)性

  在事務(wù)期間,避免用戶交互。無論何時,只要有可能,就通過執(zhí)行單個存儲過程來處理整個事務(wù)。在事務(wù)內(nèi)對表的引用順序可能會影響并發(fā)性。將對經(jīng)常訪問的表的引用置于事務(wù)的末尾,以便將控制鎖的持續(xù)時間減至最短。

  聯(lián)機備份

  OLTP 系統(tǒng)通常的特征是連續(xù)操作(一天24小時,一周7天),為達到此目的,停工時間要保持絕對最短。盡管 Microsoft SQL Server 2000可以在數(shù)據(jù)庫正在使用時對其進行備份,但是應(yīng)將備份過程安排在活動不頻繁時進行,以使對用戶的影響減至最小。

  數(shù)據(jù)庫的高度規(guī)范化

  盡可能減少冗余信息以提高更新的速度,從而提高并發(fā)性。減少數(shù)據(jù)還可以提高備份的速度,因為只需要備份更少的數(shù)據(jù)。

  很少或沒有歷史或聚合數(shù)據(jù)

  可以將很少引用的數(shù)據(jù)歸檔到單獨的數(shù)據(jù)庫中,或者從經(jīng)常更新的表中移出,并置于僅含歷史數(shù)據(jù)的表中。這將保持表盡可能地小,從而縮短備份時間,改善查詢性能。

  小心使用索引

  每次添加或修改行時,必須更新索引。若要避免對經(jīng)常更新的表進行過多的索引,索引范圍應(yīng)保持較窄。請用索引優(yōu)化向?qū)гO(shè)計索引。

  OLTP 系統(tǒng)需要最佳的硬件配置以處理較大并發(fā)用戶數(shù)目和快速響應(yīng)時間。

評論  |   0條評論