時間:2015/6/28來源:IT貓撲網(wǎng)作者:網(wǎng)管聯(lián)盟我要評論(0)
這篇論壇文章詳細(xì)的講解了使用sql server 2008管理非結(jié)構(gòu)化數(shù)據(jù)的具體方法,更多內(nèi)容請參考下文:
microsoft SQL Server™ 2008提供了一個靈活的解決方案,使得可以存儲非結(jié)構(gòu)化數(shù)據(jù),并將它與關(guān)系數(shù)據(jù)合并起來建立使用整個公司范圍內(nèi)的數(shù)據(jù)的綜合的解決方案。
1. 導(dǎo)言
在最近幾年,個人和公司創(chuàng)建和存儲的數(shù)字?jǐn)?shù)據(jù)的數(shù)量急劇膨脹。過去,企業(yè)使用計算機(jī)系統(tǒng)和數(shù)據(jù)庫以結(jié)構(gòu)化格式例如關(guān)系表或固定的格式文檔來存儲它們的大部分商業(yè)數(shù)據(jù),軟件應(yīng)用程序使用這些結(jié)構(gòu)化數(shù)據(jù)存儲來執(zhí)行商業(yè)操作。然而在現(xiàn)今,公司的很大一部分?jǐn)?shù)據(jù)是存儲在使用功能強(qiáng)大的工具例如Microsoft® office excel®和Microsoft Office word所創(chuàng)建的文檔中的,而數(shù)字?jǐn)z影、文檔掃描、視頻產(chǎn)品和音頻格式進(jìn)一步的擴(kuò)大了用于商業(yè)數(shù)據(jù)的非結(jié)構(gòu)化數(shù)據(jù)格式的范圍。此外,在存儲硬件和內(nèi)存上的成本的顯著降低極大的影響了存儲在計算機(jī)中的數(shù)據(jù)的數(shù)量和類型,并導(dǎo)致產(chǎn)生了新一代的商業(yè)應(yīng)用,這些商業(yè)應(yīng)用合并了傳統(tǒng)的關(guān)系數(shù)據(jù)結(jié)構(gòu)和非結(jié)構(gòu)化數(shù)字內(nèi)容。數(shù)字內(nèi)容的豐富意味著公司現(xiàn)在正在試圖能夠在企業(yè)范圍內(nèi)管理關(guān)系數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù),并需要一個能夠全面滿足關(guān)系數(shù)據(jù)存儲和非關(guān)系數(shù)據(jù)存儲,同時降低管理和建立使用這些數(shù)據(jù)的應(yīng)用程序的成本的解決方案。
例如,考慮一個保險索賠應(yīng)用程序在過去的15年里是怎樣改變的。15年前,這個應(yīng)用程序一般維護(hù)一列以簡單的行和列來存儲的保險索賠記錄。而今天,一個保險索賠應(yīng)用程序更趨向于管理一組包括圖片、照片和文檔的索賠記錄。它還可能需要以基于XML的格式來顯示索賠數(shù)據(jù),以此來與其它的系統(tǒng)集成,并且它還可能包括更高級別的功能像空間可視化、報表和分析。
SQL Server 2008提供了一些超出傳統(tǒng)的數(shù)據(jù)庫系統(tǒng)、向能夠存儲、管理和查詢所有類型的數(shù)據(jù)的數(shù)據(jù)平臺發(fā)展的功能;包括非結(jié)構(gòu)化二進(jìn)制數(shù)據(jù)、XML和空間數(shù)據(jù)。這篇白皮書集中講述了非結(jié)構(gòu)化數(shù)據(jù),并描述了使用SQL Server 2008的存儲、管理和使用非結(jié)構(gòu)化數(shù)據(jù)的選項(xiàng)。
2. 商業(yè)推動非結(jié)構(gòu)化數(shù)據(jù)
大多數(shù)公司依賴于存儲在數(shù)據(jù)庫中的關(guān)鍵業(yè)務(wù)數(shù)據(jù),并在存儲和操縱這些數(shù)據(jù)的數(shù)據(jù)管理系統(tǒng)和應(yīng)用上投入很大。然而,日漸增長的業(yè)務(wù)產(chǎn)生了大量的數(shù)字圖片、文檔視頻和其它多媒體格式的非關(guān)系和非結(jié)構(gòu)化數(shù)據(jù)——這些新的數(shù)據(jù)格式迅速成為正式的和非正式的商業(yè)處理的一個關(guān)鍵組成部分,它們與現(xiàn)有的商業(yè)應(yīng)用程序集成在一起,遵守調(diào)整要求,或者簡單的提供了一個更加豐富的用戶體驗(yàn)。
例如,在下面這些商業(yè)情景中:
· 一個保險公司需要存儲政策文檔和按照要求處理來提取這些文檔。
· 一個在線的零售商需要存儲用于在一個電子商城中顯示它的產(chǎn)品的視頻膠片。
· 一個電話系統(tǒng)需要保存語音信息的音頻流以便他們可以遠(yuǎn)程傳送。
· 一個廣播臺需要制作一個在它的網(wǎng)站上用于下載的并可以搜索的廣播庫。
· 一個操作需要存儲文檔的圖片形式的電子拷貝,并能很容易的獲取與一個單獨(dú)的客戶端或例子相關(guān)的文檔。
· 一個建筑合伙企業(yè)需要存儲和提取數(shù)字計劃和其相關(guān)聯(lián)的客戶端數(shù)據(jù)。
· 一個需要轉(zhuǎn)換和保存大量的現(xiàn)有的文件和分類內(nèi)容的庫,用于在一個數(shù)字搜索工具中進(jìn)行檢索和使用。
這些是全球商業(yè)中使用的非機(jī)構(gòu)化數(shù)字?jǐn)?shù)據(jù)的一些新的例子;并且隨著創(chuàng)建數(shù)字內(nèi)容變得越來越容易,公司也在尋找新的創(chuàng)新方式來使用這個數(shù)字內(nèi)容來改進(jìn)或擴(kuò)展它們的商業(yè)能力。
2.1 對于非結(jié)構(gòu)化數(shù)據(jù)的挑戰(zhàn)
當(dāng)新的非結(jié)構(gòu)化數(shù)據(jù)的類型在不斷增加的同時,數(shù)字內(nèi)容帶來了很多好處和商業(yè)機(jī)遇,但是它同時還帶來了一些針對需要合并這些非結(jié)構(gòu)化數(shù)據(jù)源到計算機(jī)應(yīng)用程序和服務(wù)中去的系統(tǒng)架構(gòu)師、管理員和應(yīng)用程序開發(fā)人員的挑戰(zhàn)。
存儲非結(jié)構(gòu)化數(shù)據(jù)的挑戰(zhàn)
要考慮的第一個挑戰(zhàn),同時也可能是最明顯的挑戰(zhàn),就是非結(jié)構(gòu)化數(shù)據(jù)的大量存儲。你值得擁有一個使你可以靈活地滿足存儲非關(guān)系數(shù)據(jù)、同時將成本和管理費(fèi)用降低到最小的特定需求的系統(tǒng)。當(dāng)你計劃存儲非結(jié)構(gòu)化數(shù)據(jù)時你要考慮的主要問題包括:
· 存儲你的非結(jié)構(gòu)化數(shù)據(jù)的成本,不只是包括硬件成本,還包括管理成本。
· 非結(jié)構(gòu)化數(shù)據(jù)的物理存儲位置,例如文件服務(wù)器和網(wǎng)絡(luò)附加存儲(NAS)設(shè)備。
· 管理持久力和存檔政策。
· 將非結(jié)構(gòu)化數(shù)據(jù)文件和相關(guān)聯(lián)的關(guān)系數(shù)據(jù)集成起來,并維護(hù)結(jié)構(gòu)化數(shù)據(jù)源和非結(jié)構(gòu)化數(shù)據(jù)源間的事務(wù)一致性。
· 將與維護(hù)關(guān)系數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)相關(guān)的管理費(fèi)用降低到最小。
· 性能和可擴(kuò)展性。.
· 保護(hù)非結(jié)構(gòu)化數(shù)據(jù),并確保相關(guān)的關(guān)系數(shù)據(jù)的一致性。
· 非結(jié)構(gòu)化數(shù)據(jù)的可用性和可恢復(fù)性。
使用非結(jié)構(gòu)化數(shù)據(jù)的挑戰(zhàn)
還有關(guān)于存儲非結(jié)構(gòu)化數(shù)據(jù)的相關(guān)問題,你必須考慮數(shù)據(jù)將怎樣被你公司的應(yīng)用程序使用。一些具有代表性的要考慮的事項(xiàng)包括:
· 在建立使用結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)的應(yīng)用程序時遇到的開發(fā)挑戰(zhàn)包括編寫代碼來創(chuàng)建、提取、更新和刪除非結(jié)構(gòu)化數(shù)據(jù),并維護(hù)相關(guān)聯(lián)的關(guān)系數(shù)據(jù)源和非結(jié)構(gòu)化數(shù)據(jù)源間的事務(wù)一致性。
· 索引和搜索非結(jié)構(gòu)化數(shù)據(jù)。
· 顯式提取可用的元數(shù)據(jù)(例如從表格區(qū)域或文件屬性),并將它顯示給用戶。
· 將文檔內(nèi)容轉(zhuǎn)換為可以搜索和查詢的格式(例如,轉(zhuǎn)換音頻文件到文本形式,從而可以被數(shù)據(jù)庫查詢或純文本引擎檢索到。)
2.2 在SQL Server 2008中的非結(jié)構(gòu)化數(shù)據(jù)的目標(biāo)
非結(jié)構(gòu)化數(shù)據(jù)面臨的相關(guān)挑戰(zhàn)反應(yīng)了那些開始為數(shù)字內(nèi)容建立解決方案的公司所關(guān)注的一些常見情況:
· 管理多個不同的平臺來處理關(guān)系數(shù)據(jù)和非關(guān)系數(shù)據(jù),從而導(dǎo)致不必要的復(fù)雜性。
· 這些分散的數(shù)據(jù)存儲使得對于開發(fā)人員來說增加了復(fù)雜度,并提高了經(jīng)理的部署難度。
· 開發(fā)人員和數(shù)據(jù)庫管理員缺乏在這些不同的數(shù)據(jù)類型中可以使用的服務(wù)。
SQL Server 2008旨在解決這些問題,通過:
· 降低管理這些不同的數(shù)據(jù)類型的成本。
· 簡化使用關(guān)系數(shù)據(jù)和非關(guān)系數(shù)據(jù)的應(yīng)用程序的開發(fā)工作。
· 將現(xiàn)在只用于關(guān)系數(shù)據(jù)的功能擴(kuò)展到非關(guān)系數(shù)據(jù)。
3. 在SQL Server 2008中存儲非結(jié)構(gòu)化數(shù)據(jù)
依賴于關(guān)系數(shù)據(jù)和非關(guān)系數(shù)據(jù)的應(yīng)用程序通常使用下面的三個架構(gòu)中的一個:
· 數(shù)據(jù)庫中的關(guān)系數(shù)據(jù)以及文件系統(tǒng)和文件服務(wù)器上的非關(guān)系型二進(jìn)制大對象(BLOB)。
· 數(shù)據(jù)庫中的關(guān)系數(shù)據(jù)和只用于BLOB的存儲中的非關(guān)系數(shù)據(jù)。
· 數(shù)據(jù)庫中的關(guān)系數(shù)據(jù)和非關(guān)系數(shù)據(jù)。
每一個方法都有其優(yōu)劣之處。例如,在文件服務(wù)器或只用于BLOB的存儲中存儲非結(jié)構(gòu)化數(shù)據(jù)會降低每GB所花費(fèi)的費(fèi)用,但是通常會增加管理和建立應(yīng)用程序的復(fù)雜性,因?yàn)閼?yīng)用程序不得不維護(hù)包含BLOB數(shù)據(jù)的數(shù)據(jù)庫和單獨(dú)的系統(tǒng)中的記錄以及這些記錄所關(guān)聯(lián)的對象間的完整性。另一方面,在數(shù)據(jù)庫中存儲BLOB數(shù)據(jù)方便地集中了數(shù)據(jù)存儲,但是通常帶來了更高的成本并會導(dǎo)致性能下降。
SQL Server 2008推出了兩個用于存儲BLOB數(shù)據(jù)的新功能:
· FILESTREAM:是一個你可以在varbinary字段上設(shè)置的屬性,以便數(shù)據(jù)存儲在文件系統(tǒng)中(因此受益于它的快速流式功能和存儲能力)但是直接在數(shù)據(jù)庫的上下文中管理和訪問。:
· 遠(yuǎn)程BLOB存儲:一個客戶端應(yīng)用程序編程接口(API),它降低了建立依賴于一個用于BLOB的外部存儲和一個用于關(guān)系數(shù)據(jù)的數(shù)據(jù)庫的應(yīng)用程序的復(fù)雜性。
此外,SQL Server 2008繼續(xù)通過varbinary 數(shù)據(jù)庫類型支持標(biāo)準(zhǔn)的BLOB字段。
◆3.1 SQL Server BLOB
SQL Server 2005推出了varbinary(max)數(shù)據(jù)類型,它使得你可以在一個SQL Server字段或變量中存儲最大為2,147,483,647字節(jié)的大型二進(jìn)制數(shù)據(jù)值。當(dāng)使用修訂過的max時,你可以通過設(shè)置large value types out of row表選項(xiàng)來控制數(shù)據(jù)怎樣存儲在物理的表的數(shù)據(jù)頁面中。當(dāng)這個選項(xiàng)設(shè)置為ON時,所有的值存儲在單獨(dú)的鏈接頁面上,而在這個記錄的數(shù)據(jù)頁面上會保存一個指向這些頁面的16位的根指針。當(dāng)這個選項(xiàng)設(shè)置為OFF時,最大為8000字節(jié)的值存儲在這行的數(shù)據(jù)頁面上,而更大的值存儲在單獨(dú)的鏈接頁面上。
盡管新的FILESTREAM 和遠(yuǎn)程BLOB能力是設(shè)計用來提供比標(biāo)準(zhǔn)的varbinaryBLOB字段更好的性能和可管理性,但有一些場景是使用varbinary 字段更適合的(具有代表性的是當(dāng)BLOB平均規(guī)模小于250 KB的時候。)
◆3.2 FILESTREAM 屬性
在SQL Server 2008中,你可以將FILESTREAM 屬性應(yīng)用到一個varbinary 字段,然后SQL Server 為這個字段在本地NTFS文件系統(tǒng)上存儲數(shù)據(jù)。在文件系統(tǒng)上存儲數(shù)據(jù)帶來兩個重大的優(yōu)勢:
· 性能可匹配文件系統(tǒng)的流性能。
· BLOB 規(guī)模只受文件系統(tǒng)的空間規(guī)模限制。
然而,字段可以像SQL Server中的其它任何BLOB字段一樣來管理,所以管理員可以使用SQL Server的可管理性和安全功能來集成BLOB數(shù)據(jù)管理和關(guān)系數(shù)據(jù)庫中的其它數(shù)據(jù)——而不需要單獨(dú)管理文件系統(tǒng)數(shù)據(jù)。在SQL Server中將數(shù)據(jù)定義為一個FILESTREAM字段還確保了在數(shù)據(jù)庫中的關(guān)系數(shù)據(jù)和存儲在文件系統(tǒng)中的非結(jié)構(gòu)化數(shù)據(jù)在數(shù)據(jù)級的一致性。FILESTREAM字段的使用和BLOB字段一樣,這意味著維護(hù)操作的完全集成(例如備份和恢復(fù))、和SQL Server安全模型的完全集成、以及純事務(wù)的支持。
應(yīng)用程序開發(fā)人員可以通過兩個編程模型中的一個來使用FILESTREAM數(shù)據(jù);他們可以使用Transact-SQL就像對待標(biāo)準(zhǔn)的BLOB字段一樣的來訪問和操縱數(shù)據(jù),或者他們可以使用Win32流式API和Transact-SQL事務(wù)型語義來確保一致性,這意味著他們可以對FILESTR
關(guān)鍵詞標(biāo)簽:SQL Server 2008
相關(guān)閱讀
熱門文章 SqlServer2005對現(xiàn)有數(shù)據(jù)進(jìn)行分區(qū)具體步驟sql server系統(tǒng)表損壞的解決方法MS-SQL2005服務(wù)器登錄名、角色、數(shù)據(jù)庫用戶Access、SQL Server、Oracle常見應(yīng)用的區(qū)別
人氣排行 如何遠(yuǎn)程備份(還原)SQL2000數(shù)據(jù)庫SQL2000數(shù)據(jù)庫遠(yuǎn)程導(dǎo)入(導(dǎo)出)數(shù)據(jù)配置和注冊O(shè)DBC數(shù)據(jù)源-odbc數(shù)據(jù)源配置教程SQL2000和SQL2005數(shù)據(jù)庫服務(wù)端口查看或修改SQL Server 2005降級到2000的正確操作步驟修改Sql Server唯一約束教程淺談JSP JDBC來連接SQL Server 2005的方法SQL Server創(chuàng)建表語句介紹