當(dāng)前位置:工程項目OA系統(tǒng) > 泛普各地 > 廣東OA系統(tǒng) > 廣州OA系統(tǒng) > 廣州OA快博
PDM中的文件放在文件服務(wù)器還是數(shù)據(jù)庫中?
PDM中的文件到底是放到文件服務(wù)器上還是放在數(shù)據(jù)庫中好?本來這是一個老話題了,很多年前大家都專門討論過,但是我最近遇到幾位朋友都向我咨詢這個問題,覺得有必要再次比較系統(tǒng)地來專題聊聊;另外近幾年的IT技術(shù)發(fā)展也很快,有很多新技術(shù)新方法出現(xiàn),我也希望以軟件開發(fā)者的角度與大家一起探討這個問題。
第一:文件放在文件服務(wù)器中的工作原理。
的確,最早以前PDM中的關(guān)于圖文檔一般由兩部分的數(shù)據(jù)組成,一是文檔主記錄,用于描述文檔的屬性,這部分的數(shù)據(jù)一般是放在數(shù)據(jù)庫中;另外一部分是文檔本身,這部分的數(shù)據(jù)一般是放在文件服務(wù)器中(PDM中經(jīng)常稱為文件倉庫,英文是File-Vault)。而在文檔主記錄中,一般用一個字段來描述這個文件是放在哪個文件服務(wù)器的哪個具體路徑,從而將兩個部分的數(shù)據(jù)關(guān)聯(lián)起來。(如果有文檔的版本管理,這個模型會更加復(fù)雜一些,但基本原理是一樣的)如圖所示:
早期的PDM基本上都是采用這種數(shù)據(jù)庫+文件服務(wù)器的模式來管理圖文檔的;
文件服務(wù)器提供文件上下載的方法大致有這樣的幾種方法:
1. 文件的共享服務(wù),(windows編程中被稱為“命名管道”);
2. 活動目錄 Active Directory
3. FTP 服務(wù)器
以上幾種各有各的優(yōu)勢和缺點,具體不展開說了。
第二:文件放在數(shù)據(jù)庫服務(wù)器中的工作原理。
隨著數(shù)據(jù)庫技術(shù)的發(fā)展,特別是面向?qū)ο蟮募夹g(shù)在數(shù)據(jù)庫領(lǐng)域的應(yīng)用,特別是數(shù)據(jù)庫處理大對象的能力和方法手段越來越豐富,很多新一代的PDM系統(tǒng)可以直接將文件對象放在數(shù)據(jù)庫中管理,其基本的原理如下圖所示:
也就是說文件記錄在數(shù)據(jù)庫中是數(shù)據(jù)表中的一條數(shù)據(jù)記錄,而記錄文件本身內(nèi)容的是一個數(shù)據(jù)庫的特殊字段,這種字段有很多類型,例如(BLOB,F(xiàn)LOB,CLOB)等,這種字段在存儲文件等大對象的時候,大對象實際上存儲在另外的“表空間”中,主記錄表中僅僅存儲大對象在這個表空間的地址指針。主記錄數(shù)據(jù)表的訪問速度沒有任何影響。
而數(shù)據(jù)庫管理員可以將“大對象表空間”指定到不同的磁盤分區(qū),卷,硬盤,甚至其他計算機的目錄中,數(shù)據(jù)庫管理員可以隨時追加“大對象表空間”的目錄空間。這樣雖然從存儲的物理位置上,文件記錄和文件內(nèi)容本身雖然在不同的“空間”存儲,但從邏輯上他們是一體的,從根本上保證了數(shù)據(jù)的完整性,一致性,并盡量降低了系統(tǒng)管理員的部署和維護(hù)難度。
我個人的偏好:
我更傾向與采用數(shù)據(jù)庫存儲的方式來解決文件存儲的問題,這種方式帶來的好處如下:
1. 數(shù)據(jù)的一致性、完備性得到根本保證:
由于文件本身,與文件記錄從邏輯上是一條數(shù)據(jù)庫記錄,從而從根本上保證了數(shù)據(jù)的一致性和完備性。
另外,從編程角度,對于邏輯上需要保證“元事務(wù)特性”的數(shù)據(jù)操作,在數(shù)據(jù)庫中得到了根本保證,比如某個文件要上傳到PDM系統(tǒng)中,在上傳過程中,網(wǎng)絡(luò)出現(xiàn)故障,如果采用數(shù)據(jù)存儲文件,那么這個文件在數(shù)據(jù)庫中沒有任何記錄存在;而如果采用文件服務(wù)器,很有可能是數(shù)據(jù)庫中有這個記錄存在,而文件服務(wù)器中由于網(wǎng)絡(luò)問題造成上傳失敗,文件沒有存在,從而造成數(shù)據(jù)的不一致。
2. 部署更為簡單, 對于數(shù)據(jù)存儲,用戶只需要架設(shè)數(shù)據(jù)庫服務(wù)器就可以了。
3. 更為安全:
a) 文件的存儲更安全安全,避免了文件服務(wù)器的共享服務(wù),或者文件FTP服務(wù)帶來的不安全因素。
b) 數(shù)據(jù)在傳輸過程中都通過數(shù)據(jù)庫指定的TCP/IP協(xié)議和特定的端口進(jìn)行,文件在傳輸過程中沒有采用任何其他文件傳輸協(xié)議,與其他數(shù)據(jù)一樣都是IP數(shù)據(jù)包。
c) 文件的存儲避免了各種感染文件型病毒的可能。
3. 數(shù)據(jù)庫的平臺無關(guān)性:
a) 數(shù)據(jù)庫可以與操作系統(tǒng)平臺無關(guān),文件的存放也自然與操作系統(tǒng)無關(guān),進(jìn)一步提高了數(shù)據(jù)的安全性。
b) 數(shù)據(jù)庫還可以支持“裸盤”存儲,也就是數(shù)據(jù)庫的存儲“空間”可以獨立于操作系統(tǒng)之外,這樣數(shù)據(jù)庫對數(shù)據(jù)的物理操作不通過操作系統(tǒng)提供的接口,而直接對物理硬盤進(jìn)行操作,更進(jìn)一步提高的大數(shù)據(jù)量的訪問性能。
4. 容量的擴展更為方便。由于數(shù)據(jù)庫表空間可以隨時擴展, 并且這種擴展不受到文件分區(qū)的限制,表空間可以擴展到其他分區(qū),其他硬盤,甚至其他計算機上,保證了系統(tǒng)的持久應(yīng)用。如果采用文件服務(wù)器的形式,這樣的擴展會有較多的限制。
5. 數(shù)據(jù)備份和恢復(fù)更為容易。系統(tǒng)管理員只需要關(guān)心數(shù)據(jù)庫如何備份就可以,數(shù)據(jù)庫會自動將邏輯上是一體的數(shù)據(jù)從邏輯完備性的角度一起備份出來。如果采用文件服務(wù)器的形式,那么系統(tǒng)管理員還要考慮數(shù)據(jù)庫本身的備份和文件備份的對應(yīng)關(guān)系,很容易出現(xiàn)差錯,特別是在熱備份的過程中,由于系統(tǒng)還在使用,備份也是需要有時間過程的,任何增刪改的操作,都可能使得備份出來的數(shù)據(jù)出現(xiàn)數(shù)據(jù)不一致的可能。
另外數(shù)據(jù)庫本省提供多種的備份形式,用戶在選擇的時候更容易。
6. 全文檢索更為方便,可以利用數(shù)據(jù)庫的全文檢索機制,對文件進(jìn)行全文檢索。
可能很多客戶對數(shù)據(jù)庫存儲文件還有一些顧慮,例如:
1. 文件太多了,數(shù)據(jù)庫會不會過于膨脹,這個庫會不會“爆炸”,管理會不會復(fù)雜?
實際上從原理上分析,數(shù)據(jù)庫中存放文件的管理模式,與文件的多少沒有關(guān)系,文件在“大對象表空間”中的具體存放,都有數(shù)據(jù)庫本身來維護(hù),系統(tǒng)管理員只需要定期的給“大對象表空間”擴容就可以,并且這個擴容也非常簡單,可以隨時將其他分區(qū)的某個目錄指定到這個空間中。
反而采用文件服務(wù)器,文件記錄中要記錄文件的具體物理地址,反而給數(shù)據(jù)的遷移,擴容帶來一些管理工作。
2. 文件太多了,數(shù)據(jù)庫會不會很慢?
兩種方式比較起來,對文件主記錄表的影響沒有差別,不會因為文件多,采用文件服務(wù)器就比采用數(shù)據(jù)庫服務(wù)器更快;很多企業(yè)用這種形式存儲數(shù)據(jù)達(dá)到上百GB的數(shù)據(jù),沒有發(fā)現(xiàn)數(shù)據(jù)庫的速度降低。
反而,我認(rèn)為數(shù)據(jù)庫中用大對象表空間來儲存文件,有利于大數(shù)據(jù)量下的性能提高,因為數(shù)據(jù)庫中可以建立索引,從而大大提高數(shù)據(jù)訪問效率,這是文件服務(wù)器所不能。(e-works博客)
- 1企業(yè)的IT組織架構(gòu)分布:集權(quán)與分權(quán)
- 2從SOA到云計算 盤點計算機技術(shù)發(fā)展歷程
- 3考察軟件產(chǎn)品 閑話企業(yè)信息化建設(shè)之合肥OA選型
- 4PDM中的文件放在文件服務(wù)器還是數(shù)據(jù)庫中?
- 5SaaS模式孕育內(nèi)部軟件產(chǎn)品之外的替代方案
- 6全面分析SOA 面向服務(wù)架構(gòu)的優(yōu)勢與隱患
- 7OA工作微博內(nèi)容與當(dāng)天的工作更加緊密得結(jié)合
- 8淺析合肥OA項目監(jiān)理的必要性和過程
- 9合肥OA系統(tǒng)控制職能及注意的問題剖析
- 10從合肥OA到APS 尋找提高企業(yè)效率和效益的利器
- 11當(dāng)IT有償服務(wù)遭遇轉(zhuǎn)型期的“中國特色”
- 12企業(yè)存儲正在為垃圾數(shù)據(jù)付出昂貴代價
- 13離散性企業(yè)合肥OA實施能力的研究與分析(中)
- 14關(guān)注:關(guān)于合肥OA報表體系幾個方面的思考
- 15第三代OA辦公軟件幫助企業(yè)從How To的過程轉(zhuǎn)到Know的過程
- 16企業(yè)信息化合肥OA系統(tǒng)財務(wù)實施重難點解析
- 17三維立體看企業(yè) 三個角度給合肥OA畫張像
- 18成功規(guī)劃SOA必備的完整規(guī)劃藍(lán)圖
- 19企業(yè)采用SaaS服務(wù)是IT投資與回報關(guān)鍵因素
- 20SaaS模式如何助力數(shù)據(jù)備份?
- 21供應(yīng)鏈管理的應(yīng)用 SCM實施之三原則
- 22淺析產(chǎn)品設(shè)計中的設(shè)計流程管理
- 23SCM供應(yīng)鏈管理策略、技術(shù)與實務(wù)學(xué)習(xí)筆記
- 24企業(yè)進(jìn)行合肥OA選型 如何把握主動權(quán)
- 25簽訂信息化項目合同八大注意(一)
- 26解決雞肋難題 剖析SaaS的非典型性法則
- 27SaaS應(yīng)用瓶頸給中小企業(yè)CIO帶來新挑戰(zhàn)
- 28融合時代共贏價值 細(xì)說SOA進(jìn)階的核心動力
- 29獨家:功能伴隨責(zé)任 雙面虛擬化解析
- 30從合肥OA前期看CIO應(yīng)對信息化生態(tài)鏈中各方
成都公司:成都市成華區(qū)建設(shè)南路160號1層9號
重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務(wù)大廈18樓