国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

系統(tǒng)數據庫可靠性分析

2016-05-18 08:43:23周春華
關鍵詞:設計技術可靠性分析數據庫

周春華

(工業(yè)和信息化部電子第五研究所,廣東 廣州 510610)

?

系統(tǒng)數據庫可靠性分析

周春華

(工業(yè)和信息化部電子第五研究所,廣東廣州510610)

摘要:近年來,隨著計算機技術的發(fā)展和應用,數據庫技術取得了迅速的發(fā)展,其可靠性也引起了人們越來越多的關注。首先,簡單地介紹了數據庫技術;然后,對導致數據庫失效的主要原因進行了歸納總結;其次,對數據庫的可靠性進行了分析,通過分析發(fā)現(xiàn),將并聯(lián)系統(tǒng)設計的思想融入到系統(tǒng)數據庫的設計中,可以大大地提高系統(tǒng)數據庫的可靠性;最后,對提高系統(tǒng)建設中數據庫的可靠性的常見方法和技術進行了闡述和分析。

關鍵詞:數據庫;失效原因;可靠性分析;設計技術

0 引言

在現(xiàn)今的計算機應用系統(tǒng)設計中,涉及到數據的存儲和管理時基本上都使用到了數據庫系統(tǒng),特別是大中型和互聯(lián)網應用系統(tǒng),都是以數據庫為基礎進行設計建設的,因而數據庫的可靠性是系統(tǒng)運行可靠、正常對外提供服務的基礎性決定因素。

1 數據庫技術

隨著計算機技術的發(fā)展和應用的需要, 20世紀60年代末至70年代初出現(xiàn)了數據庫技術,其目的主要是為了有效地組織與存儲計算機信息處理過程中的大量的數據,在數據庫系統(tǒng)中減少數據存儲冗余、實現(xiàn)數據共享和保障數據安全,以及高效地檢索和處理數據。數據庫系統(tǒng)主要經歷了層次數據庫系統(tǒng)、網狀數據庫系統(tǒng)、關系型數據庫系統(tǒng)和以面向對象數據模型為主要特征的數據庫系統(tǒng)幾個階段[1]。近年來,云計算和大數據技術的飛速發(fā)展,非關系型數據庫(NoSQL: Not Only SQL)取得了迅速的發(fā)展,成為了極其熱門的新領域。

典型的應用系統(tǒng)模型如圖1所示:

圖1 典型的應用系統(tǒng)模型

典型的應用系統(tǒng)由應用服務器、數據庫服務器和磁盤存儲單元組成,通過網絡提供服務。其中,跟數據庫有關的是數據訪問層、數據庫服務器和磁盤存儲單元,數據訪問層主要實現(xiàn)對數據表的查詢(Select)、插入(Insert)、更新(Update)和刪除(Delete)等操作;數據庫服務器一般由一臺或多臺計算機和數據庫管理系統(tǒng)軟件共同構成,為上層應用提供操作訪問的服務;磁盤存儲單元是數據的實際物理存儲位置,部分系統(tǒng)使用數據服務器的硬盤,一般設計良好的系統(tǒng)采用磁盤存儲陣列。

2 數據庫的可靠性分析

數據庫的可靠性是指在規(guī)定的時間和條件下,數據庫系統(tǒng)完成規(guī)定的數據存儲與管理的能力。根據圖1中應用系統(tǒng)的3個層次,可以將引起數據庫失效的主要因素劃分為3類,分別是: 1)應用失效,主要由于應用程序設計存在缺陷,在操作過程中因缺陷暴露而引起的數據庫暫時性的錯誤,或者是由于應用負載超出了設計的閾值,致使數據操作失?。?)系統(tǒng)失效,指操作系統(tǒng)或數據庫管理系統(tǒng)崩潰,重新啟動后系統(tǒng)能正常工作,此類失效會導致內存數據丟失,但數據庫中的數據不會遭到破壞;3)硬件失效,指計算機硬件發(fā)生故障,從而導致系統(tǒng)不能工作,可能發(fā)生故障的硬件主要包括磁盤、網絡通信、處理器、內存和布線等。

根據圖1,數據庫系統(tǒng)可以分為數據訪問層、數據庫服務器和磁盤3個層次,每個層次既相互獨立又相互依存,形成了一個整體并為應用提供服務。當系統(tǒng)中每一層都正常工作時,數據庫才能正常工作,當系統(tǒng)中有一層或一層以上失效時,數據庫就失效,因此數據庫系統(tǒng)可以用串聯(lián)系統(tǒng)可靠性模型進行分析。串聯(lián)模型中每層內部存在獨立失效,層與層之間存在共因失效和級聯(lián)失效。串聯(lián)模型的系統(tǒng)可靠性框圖如圖2所示[2]。

圖2 串聯(lián)系統(tǒng)可靠性模型

在串聯(lián)模型中,設各層的可靠度分別為r1, r2, …, rn,串聯(lián)系統(tǒng)的可靠度為Rs,則串聯(lián)系統(tǒng)級聯(lián)失效可靠度為:

由上式可知,系統(tǒng)的可靠性是各層模塊的可靠性的乘積。因此,想要提高系統(tǒng)的整體可靠度,就必須提高每層模塊的可靠度。串聯(lián)模型的系統(tǒng)設計有一定的脆弱性,主要表現(xiàn)為當其中一層模塊失效時,整個系統(tǒng)都會失效。但是由于其建設成本較低,因而仍在被大多中小型可靠性要求不高的系統(tǒng)使用。與串聯(lián)模型相對應的是并聯(lián)模型,其特點是系統(tǒng)中只要有一個模塊正常工作,系統(tǒng)就能正常工作,只有當全部模塊均失效時,系統(tǒng)才會失效。并聯(lián)模型可靠性框圖如圖3所示:

圖3 并聯(lián)系統(tǒng)可靠性模型

設系統(tǒng)各模塊的失效率(不可靠度)分別為f1, f2,…, fn,并聯(lián)系統(tǒng)的失效率為Fs,則并聯(lián)系統(tǒng)的失效率為:

并聯(lián)系統(tǒng)的可靠度Rs為:

在進行系統(tǒng)數據庫的設計時,融入并聯(lián)系統(tǒng)設計的思想可以提高系統(tǒng)的可靠性。

3 數據庫的可靠性設計

從上面的分析中可以發(fā)現(xiàn),可以通過提高各層模塊的可靠性,降低各層模塊的獨立失效率,通過并聯(lián)設計降低級聯(lián)失效率的方式來提高系統(tǒng)數據庫的整體可靠性,具體的設計技術主要包括以下幾項。

3.1軟件設計時的容錯和預防

a)軟件冗余

提供足夠的冗余信息和算法程序,使系統(tǒng)在實際運行時能夠及時地發(fā)現(xiàn)程序設計錯誤,采取補救措施,以提高軟件的可靠性,保證整個計算機系統(tǒng)的正常運行。

b)故障-停止模塊

不斷地對自身進行檢測,當檢測到一個故障時就自動停止,縮短了故障檢測的潛伏期。在軟件設計中對異常進行捕捉,當捕捉到影響到系統(tǒng)運行的故障時便自動停止。

c)進程對

通過軟件模塊的雙工可以實現(xiàn)容錯。具體包括了2個進程:一個是主進程,另一個是備份進程。它們同時提供同樣的服務,主進程和備份進程都是基于故障-停止模塊實現(xiàn)的。

3.2分布式數據庫系統(tǒng)設計

分布式數據庫系統(tǒng)是分布在計算機網絡的多個結點上,在邏輯上有內在聯(lián)系的數據庫集合。在物理上,數據分散存儲在不同的數據庫服務器上,每個子數據庫系統(tǒng)都是一個獨立的數據庫系統(tǒng),擁有各自的數據庫、管理軟件、硬件和存儲單元,可以獨立地工作。在邏輯上,分布式數據庫系統(tǒng)可被視為一個完整的數據庫,對于上層應用而言,分布式是透明的,用戶不必關心具體的數據處理結構,可以像訪問集中式數據庫一樣進行操作。

集中式數據庫是指所有數據存儲在一臺數據庫的服務器上,所有的數據處理集中在一臺計算機上完成。集中式數據庫中的數據庫系統(tǒng)或服務器硬件一旦發(fā)生失效,整個應用系統(tǒng)就將無法工作,用串聯(lián)可靠性模型來解釋,就是當ri=0時,。從第2章的分析中可知,通過將串聯(lián)系統(tǒng)改造成并聯(lián)系統(tǒng),可以大大地提高系統(tǒng)的可靠性。分布式數據庫存在一定的數據冗余,同樣的數據可能分布在兩個或以上的節(jié)點中,任何單個節(jié)點上的崩潰、通信連接故障或數據出錯都只會影響到一個或幾個節(jié)點,不會導致整個系統(tǒng)失效[3]。雖然應用可能無法訪問某些數據,但其他沒有發(fā)生問題的節(jié)點仍然可以繼續(xù)提供服務,從系統(tǒng)失效和硬件失效兩方面都有效地提高了系統(tǒng)的可靠性。

分布式數據庫的設計方法包括自頂向下法、自底向上法和混合設計法3種。常用的自頂向下法主要包括數據分片和數據分配。分片是指把一個全局的對象(關系或實體)細化,分成若干個邏輯片段;分配是指將各個分片映射到一個或多個節(jié)點[4]。分片可分為垂直分片和水平分片,垂直分片的原則是將業(yè)務緊密、表間關系密切的表劃分在一起。若垂直劃分后的數據片數據量大,數據增長速度快,則需要進行水平分片。

3.3硬件冗余

a)集群技術

數據庫集群是指將兩臺或以上的數據庫服務器連接起來,對外提供統(tǒng)一服務。數據庫集群可以通過多臺服務器共享存儲和每臺服務器專享存儲2種方式來實現(xiàn)。多臺服務器共享存儲架構又分為單活和雙活,雙活即為集群中的每一個節(jié)點都可以同時對外提供服務,而單活為集群中只有一個節(jié)點可對外提供服務,集群中的其他服務器則作為冗余在“活”的節(jié)點出現(xiàn)故障時接替該服務器對外提供服務。服務器專享存儲架構中,集群中的節(jié)點會被分為主節(jié)點和輔助節(jié)點,主節(jié)點向外提供服務,輔助節(jié)點則作為熱備或暖備,同時有可能提供只讀的服務。輔助節(jié)點數據和主節(jié)點數據保持同步或準同步,當搭配第三方仲裁后,可以實現(xiàn)自動的故障轉移,從而實現(xiàn)了高可用性,輔助節(jié)點由于和主節(jié)點完全獨立且數據同步或準同步,因此主節(jié)點出現(xiàn)數據損壞后,可以從輔助節(jié)點恢復數據,從而提高系統(tǒng)的可靠性。

b)磁盤陣列存儲

磁盤陣列(RAID: Redundant Arrays of Independent Disks)技術是一種把多塊獨立的物理硬盤按照不同的組織方式組合起來形成一個硬盤組,通過RAID控制器將磁盤組虛擬成一個邏輯硬盤,從而實現(xiàn)快速、并行或交叉存取。一般磁盤陣列由價格比較便宜的硬盤組成,存儲容量大,速度比單個硬盤快很多,同時可以提供數據冗余和備份功能。RAID支持自動檢測故障硬盤、重建硬盤壞軌資料、不停機硬盤備援和不停機更換硬盤等功能,在數據遭到損壞后可以迅速恢復,數據能夠極大地提高數據存儲的可靠性。

c)SAN技術

存儲區(qū)域網絡(SAN: Storage Area Network)是一種通過光纖集線器、光纖路由器和光纖交換機等連接設備將磁盤陣列、磁帶等存儲設備與相關服務器連接起來的高速專用子網。SAN通常由接口、連接設備和通信控制協(xié)議3個基本的組件構成,這3個組件再加上附加的存儲設備和獨立的SAN服務器,便構成了一個SAN系統(tǒng)。SAN提供一個專用的、高可靠性的基于光通道的存儲網絡,且允許獨立地增加儲存設備存儲容量,從而使得管理及集中控制(特別是當全部存儲設備都集群在一起的時候)更加簡化。而且,光纖接口之間的連線可長達10 km,這也使得遠距離存儲變得更加容易。

4 結束語

系統(tǒng)數據庫的可靠性主要體現(xiàn)在軟件和硬件兩大方面,硬件是軟件運行的基礎,從軟件到硬件可以看做是一個串聯(lián)的系統(tǒng)。將串聯(lián)的系統(tǒng)改造成并聯(lián)或串并結合的表決系統(tǒng)可以有效地提高數據庫的可靠性。計算機技術發(fā)展迅速,云計算、大數據等新技術促進了數據庫技術的發(fā)展,同時硬件的性能和可靠性也進一步地提高,新技術和新硬件的采用進一步地提高了數據庫的可靠性。

參考文獻:

[1]呂玲玲.數據庫技術的發(fā)展現(xiàn)狀與趨勢[J] .信息與電腦(理論版), 2011(8): 118-120.

[2]張增照.以可靠性為中心的質量設計、分析和控制[M] .北京:電子工業(yè)出版社, 2010.

[3]郭江.分布式數據庫系統(tǒng)中的一些問題[J] .計算機系統(tǒng)應用, 1994(2): 29-33.

[4]左翔,姜文彪.分布式數據庫系統(tǒng)的設計與優(yōu)化[J] .赤峰學院學報(自然科學版), 2012, 28(10): 20-21.

[5]韓蕾,王海蛟. SQL Server數據庫中數據完整性的實現(xiàn)[J] .科技信息, 2010(4): 229.

[6]潘博.計算機軟件數據庫設計的重要性以及原則研究[J] .計算機光盤軟件與應用, 2013(8): 291-292.

Reliability Analysis of System Database

ZHOU Chun-hua
(CEPREI, Guangzhou 510610, China)

Abstract:In recent years, with the development and application of computer technology, database technology has made rapid development, and its reliability has attracted more and more attention. Firstly, the database technology is introduced. Next, the main causes of database failure are summarized. And then, the reliability of database is analyzed. Through the analysis, it is found that the design of parallel system can be integrated into the design of system database, which can greatly improve the reliability of the database. Finally, the common methods and techniques to improve the reliability of database in the system construction are described and analyzed.

Key words:database;failure cause;reliability analysis;design technology

作者簡介:周春華(1987-),男,廣東電白人,工業(yè)和信息化部電子第五研究所標準與信息研究中心工程師,碩士,從事企業(yè)信息化管理與運維工作。

收稿日期:2015-09-23修回日期:2015-11-23

doi:10.3969/j.issn.1672-5468.2016.01.011

中圖分類號:TP 302.7;TP 311.13

文獻標志碼:A

文章編號:1672-5468(2016)01-0048-04

猜你喜歡
設計技術可靠性分析數據庫
數據庫
財經(2017年2期)2017-03-10 14:35:35
本溪市區(qū)主干交通線網規(guī)劃總體思路
600MW超臨界直流鍋爐運行的可靠性分析與探討
考慮隱性故障的繼電保護系統(tǒng)可靠性分析及評估
提高計算機網絡可靠性的方法研究
生態(tài)理念下辦公建筑設計與技術應用
縣級電網規(guī)劃可靠性分析與應用
人間(2016年24期)2016-11-23 19:26:59
數據庫
財經(2016年15期)2016-06-03 07:38:02
高性能襯砌抗?jié)B混凝土配合比設計技術
礦井綜合自動化系統(tǒng)平臺設計技術研究
兴义市| 清苑县| 海原县| 奉节县| 建湖县| 深水埗区| 玉溪市| 通化市| 贞丰县| 合肥市| 信宜市| 旬阳县| 灵石县| 阳曲县| 故城县| 台北市| 和顺县| 磴口县| 洛南县| 石渠县| 松原市| 永宁县| 仪陇县| 稷山县| 独山县| 明溪县| 西乡县| 威远县| 嘉兴市| 曲水县| 徐水县| 竹溪县| 建水县| 化德县| 莱阳市| 西安市| 罗城| 内丘县| 读书| 策勒县| 亚东县|