『壹』 erp一般採用什麼資料庫系統
sql2000,比較好維護,安全、穩定、性能好。
『貳』 基礎資料庫
(一)數據內容
基礎資料庫包括系統運行前所採集到的所有支撐數據,數據的具體內容在數據分類與數據源章節中已描述,概括可分為以下幾類。
(1)遙感影像數據:包括歷史圖像數據,以及按照一定監測周期更新的遙感圖像數據。
(2)數字線劃圖數據:矢量數據(現狀專題圖和歷史專題圖數據)、柵格數據、元數據等。入庫前數據以ArcInfoCoverage格式分幅或整體存儲,採用地理坐標系統。
(3)數字柵格圖數據:包括1∶5萬和1∶10萬基礎地理圖形數據的掃描柵格數據。
(4)數字高程模型數據:塔里木河幹流河道1∶1萬和「四源一干」區域1∶10萬數字高程模型。
(5)多媒體數據:考察照片、錄像、錄音和虛擬演示成果等多媒體資料。
(6)屬性數據:社會經濟與水資源數據、水利工程數據、生態環境數據等。
(二)數據存儲結構
1.柵格數據
柵格數據包括遙感影像、數字柵格圖、數字正射影像圖、數字高程模型等,這些數據的存儲結構基本類似,因此可進行統一設計。遙感圖像資料庫與普通的圖像資料庫在存儲上有些差別,遙感圖像作為感測器對地理、空間環境在不同條件下的測量結果(如光譜輻射特性、微波輻射特性),必須結合同時得到的幾個圖像才可以認為是對環境在一定的時間條件下的完整的描述,也即是說,可能需要一個圖像集合才能構成一個圖像的完整的概念,並使之與語義信息產生聯系(羅睿等,2000)。因此,遙感圖像數據存儲結構模型必須能夠描述幾個圖像(波段)之間的邏輯關系。利用ArcSDE進行數據入庫時,系統可自動建立各圖像(波段)之間的關系,並按一定規則存儲在資料庫系統中。
對柵格數據在後台將採用Oracle資料庫管理系統進行存儲。Oracle系統可直接存儲影像信息,並具有較強的數據管理能力,可以實現柵格數據信息的快速檢索和提取。數據引擎採用ArcSDE,實現各類影像數據的入庫。數據存儲的關鍵是建立圖幅索引,本系統數據的存儲按圖幅號、圖名、採集時間等內容建立索引。
柵格數據依據圖形屬性一體化的存儲思想,採用大二進制格式直接存儲數據,這種方式的存儲可實現內容的快速檢索查詢,按索引表檢索出相關項後可直接打開柵格數據,提高柵格數據的管理效率。
2.矢量數據
本系統採用圖屬一體化思想即將空間數據和屬性數據合二為一,全部存在一個記錄集中的思想存儲空間數據,是目前GIS數據非常流行的存儲方法。考慮到數據的具體情況,決定採用資料庫存儲空間數據和屬性數據,部分具有少量、定型幾何信息的地理要素如水文測站、河流、湖泊等,採用圖屬一體化思想存儲其信息,而與其有關聯關系的大量、多邊化的屬性信息如水文信息,則存儲在屬性數據表中,利用唯一標識符信息建立兩表的關聯。
針對本系統空間數據的特點,系統按照「資料庫—子庫—專題(基礎數據)—層—要素—屬性」的層次框架來構築空間資料庫,按照統一的地理坐標系統來存儲空間數據,以實現對地理實體/專題要素進行分層疊加顯示。
3.多媒體數據
Oracle系統可直接存儲圖片和視頻信息,並具有較強的數據管理能力,可以實現多媒體信息的快速檢索和提取。多媒體數據存儲的關鍵是建立索引表,本系統多媒體數據的存儲按類型、時間、內容等項目建立索引,直接存儲於Oracle資料庫中。
多媒體數據存儲時,可以將多媒體內容與索引表結構合為一體,採用大二進制格式直接存儲,這種存儲方式可實現內容的快速檢索和查詢,按索引表檢索出相關項後可直接打開多媒體內容,而且多媒體資料庫也便於維護管理。
(三)空間索引設計
1.矢量空間索引
確定合適的格網級數、單元大小是建立空間格網索引的關鍵。格網太大,在一個格網內有多個空間實體,查詢檢索的准確度就低。格網太小,則索引數據量成倍增長和冗餘,檢索的速度和效率低。每一個數據層可採用不同大小、不同級別的空間索引格網單元,但每層級數最多不能超過三級。索引方式設置遵循以下基本原則:
(1)對於簡單要素的數據層,盡可能選擇單級索引格網,減少RDBMS搜索格網單元索引的級數,縮短空間索引搜索的過程;
(2)如果數據層中的要素封裝邊界大小變化比較大,應選擇2或3級索引格網;
(3)如果用戶經常對圖層執行相同的查詢,最佳格網的大小應是平均查詢范圍的1.5倍;
(4)格網的大小不能小於要素封裝邊界的平均大小。為了減少每個格網單元有多個要素封裝邊界的可能性,格網單元的大小應取要素封裝邊界平均大小的3倍;
(5)格網單元的大小不是一個確定性的問題,需要多次嘗試和努力才會得到好的結果。有一些確定格網初始值的原則,用它們可以進一步確定最佳的格網大小。
SDE(Spatial Data Engine,即空間數據引擎),從空間管理的角度看,是一個連續的空間數據模型,可將地理特徵的空間數據和屬性數據統一集成在關系型資料庫管理系統中。關系型資料庫系統支持對海量數據的存儲,從而也可實現對空間數據的海量存儲。空間數據可通過層來進行數據的劃分,將具有共同屬性的一類要素放到一層中,每個資料庫記錄對應一層中一個實際要素,這樣避免了檢索整個數據表,減少了檢索的數據記錄數量,從而減少磁碟輸入/輸出的操作,加快了對空間數據查詢的速度。
ArcSDE採用格網索引方式,將空間區域劃分成合適大小的正方形格網,記錄每一個格網內所包含的空間實體(對象),以及每一個實體的封裝邊界范圍,即包圍空間實體的左下角和右上角坐標。當用戶進行空間查詢時,首先計算出用戶查詢對象所在格網,然後通過格網號,就可以快速檢索到所需的空間實體。因此確定合適的格網級數、單元大小是建立空間格網索引的關鍵,太大或太小均不合適,這就需要進行多次嘗試,確定合適的網格大小,以保證各單元能均勻落在網格內。利用ArcSDE的索引表創建功能,記錄每一網格單元的實體分布情況,形成圖層空間索引表。根據空間索引表,ArcSDE實現了對空間數據的快速查詢。
2.柵格數據空間索引
柵格數據的空間索引通過建立多級金字塔結構來實現。以高解析度柵格數據為底層,逐級抽取數據,建立不同解析度的數據金字塔結構,逐級形成較低解析度的柵格數據。該方法通常會增加20%左右的存儲空間,但卻可以提高柵格數據的顯示速度。在資料庫查詢檢索時,調用合適級別的柵格數據,可提高瀏覽和顯示速度。
(四)入庫數據校驗
入庫數據的質量關繫到系統評價分析結果的准確性。數據在生產中就需要嚴格進行質量控制。依據數據生產流程,將數據質量控制分成生產過程式控制制和結果控制。生產過程式控制制包括數據生產前期的質量控制、數據生產過程中的實時質量控制,結果質量控制為數據生產完成後的質量控制(裴亞波等,2003)。對入庫數據的校驗主要是進行數據生產完成後的質量控制和檢查。
1.規范化檢查
(1)代碼規范化:所有地理代碼盡量採用國家標准和行業標准,例如,行政代碼採用中華人民共和國行政區劃代碼國標。
(2)數據格式規范化:所有數據採用標准交換數據格式,例如,矢量數據採用標准輸出Coverage格式和E00格式。
(3)屬性數據和關系數據欄位規范化:所有屬性數據和關系數據提前分門別類地設計欄位的內容、長短和格式,操作過程中嚴格執行。
(4)坐標系統規范化:本系統所有與空間有關的數據採用統一的空間坐標系統,即地理坐標系統。
(5)精度規范化:所有數據按照數據精度與質量控制中所要求的精度進行採集和處理。
(6)命名規范化:所有數據按照命名要求統一命名,便於系統的查詢。
(7)元數據規范化:依照元數據標准要求,進行元數據檢查。
2.質量控制
數據質量是GIS成敗的關鍵。對於關系型資料庫設計,只要能保證表的實體完整性和參照完整性,並使之符合關系資料庫的三個範式即可。對於空間資料庫設計,則不僅要考慮數據采樣、數據處理流程、空間配准、投影變換等問題,還應對數據質量做出定量分析。
數據質量一般可以通過以下幾個方面來描述(吳芳華等,2001):
(1)准確度(Accuracy):即測量值與真值之間的接近程度,可用誤差來衡量;
(2)精度(Precision):即對現象描述得詳細程度;
(3)不確定性(Uncertainty):指某現象不能精確測得,當真值不可測或無法知道時,就無法確定誤差,因而用不確定性取代誤差;
(4)相容性(Compatibility):指兩個來源不同的數據在同一個應用中使用的難易程度;
(5)一致性(Consistency):指對同一現象或同類現象表達的一致程度;
(6)完整性(Completeness):指具有同一準確度和精度的數據在類型上和特定空間范圍內完整的程度;
(7)可得性(Accessibility):指獲取或使用數據的容易程度;
(8)現勢性(Timeliness):指數據反映客觀現象目前狀況的程度。
塔里木河流域生態環境動態監測系統的所有數據在數據質量評價後,還需要從數據格式、坐標一致性等方面進行入庫質量檢驗,只有通過質量檢驗的數據才可以入庫。
3.數據檢驗
空間數據質量檢驗包括以下步驟:
(1)數據命名是否規范,是否按設計要求命名;
(2)數據是否能夠正常打開;
(3)投影方式是否正確;
(4)坐標系統是否正確;
(5)改錯是否完成,拓撲關系是否建立;
(6)屬性數據是否正確,包括欄位設置是否依據設計進行、是否有空屬性記錄、是否有屬性錯誤記錄等。
關系數據質量檢驗包括以下步驟:
(1)數據命名是否規范,是否按設計要求命名;
(2)數據是否能夠正常打開;
(3)數據欄位是否按設計要求設置;
(4)是否有空屬性記錄;
(5)是否有屬性錯誤記錄。
屬性數據的校驗,主要採用以下三種方式:
(1)兩次錄入校驗:對一些相互之間毫無關聯的數據,進行兩次的錄入,編寫程序對兩次錄入的結果進行比較,找出兩次錄入結果不一樣的數據,查看正確值,進行改正。
(2)折線圖檢驗:對一些相互之間有關聯的序列數據,如人口統計數據,對這一類數據,編寫程序把數據以折線圖的形式顯示在顯示器上,數據的序列一般都有一定規律,如果出現較大的波動,則需對此點的數據進行檢查修改。
(3)計算校驗:對一些按一定公式計算後所得結果與其他數據有關聯的數據,如某些數據的合計等於另一數據,編寫程序對這類數據進行計算,計算結果與有關聯的數據進行比較,找出結果不一樣的數據,查看正確值,進行改正。
圖形數據的校驗,主要包括以下步驟(陳俊傑等,2005):
(1)圖層校驗:圖形要素的放置圖層是唯一的。對於入庫的Coverage數據,系統將根據圖層代碼進行檢查,確保圖形要素對層入座。
(2)代碼檢查:圖形要素的代碼是唯一的。對於入庫的Coverage數據,系統將根據入庫要素代碼與特徵表中的代碼進行比較,確保入庫數據代碼存在,杜絕非法代碼入庫。
(3)類型檢查:對入庫的數據,檢查該要素的類型與特徵表中的類型是否一致,確保圖形要素對表入座。如點要素、線要素、面要素僅能賦相應的點、線、面代碼,且該代碼必須與特徵表中的數據類型代碼相同。
(4)范圍檢查:根據入庫的數據,確定該類要素的大體范圍(如X、Y坐標等),在數據入庫前,比較入庫數據與范圍數據的大小,若入庫數據在該范圍內,則入庫,否則給出提示檢查信息。
(五)數據入庫
1.遙感影像數據
利用空間數據引擎———ArcSDE可實現遙感影像數據在Oracle資料庫中的存儲和管理,在影像數據進行入庫時,應加入相應的索引和影像描述欄位。
遙感影像入庫步驟:
(1)影像數據預處理:要將塔里木河遙感影像資料庫建成一個多解析度無縫影像資料庫系統,客觀上要求資料庫中的影像數據在幾何空間、灰度空間連續一致。因此,在數據採集階段就需要對影像數據進行預處理,包括圖像幾何校正、灰度拼接(無縫鑲嵌)、正射處理、投影變換等。
幾何校正的目的是使校正後的圖像重新定位到某種地圖投影方式,以適用於各種定位、量測、多源影像的復合及與矢量地圖、DTM等的套合顯示與處理。幾何校正多採用二次多項式演算法和圖像雙線性內插重采樣法進行圖像校正。將糾正後具有規定地理編碼的圖像按多邊形圈定需要拼接的子區,逐一鑲嵌到指定模版,同時進行必要的色彩匹配,使整體圖像色調一致,完成圖像的幾何拼接,再採用金字塔影像數據結構和「從粗到精」的分層控制策略實現逐級拼接。
數字正射影像具有統一的大地坐標系、豐富的信息量和真實的景觀表達,易於製作具有「獨立於比例尺」的多級金字塔結構影像。可以採用DTM和外方位元素經過數字微分糾正方法,獲得數字正射影像,它的基本參數包括原始影像與正射影像的比例尺、采樣解析度等(方濤等,1997)。
投影變換需根據資料庫系統定義的標准轉換到統一的投影體系下。
(2)影像數據壓縮:隨著感測器空間解析度的提高和對遙感信息需求的日益增長,獲取的影像數據量成幾何級數增大,如此龐大的數據將佔用較大的存儲空間,給影像的存儲和傳輸帶來不便(葛詠等,2000)。目前,系統處理的遙感影像數據已達數百千兆,單個文件的影像數據最大達到了2G,這樣的數據量在調用顯示時速度很慢,對影像數據進行壓縮存儲,將大大提高影像訪問效率。本系統採用ArcSDE軟體提供的無損壓縮模式對入庫影像進行壓縮。
(3)影像導入:遙感影像的入庫可通過ArcSDE或入庫程序進行導入,並填寫相關的索引信息,在入庫時對大型的遙感影像數據進行自動分割,分為若乾的塊(tiles)進行存儲。
(4)圖像金字塔構建:採用ArcSDE提供的金字塔構建工具在入庫時自動生成圖像金字塔,用戶只需要選擇相應的參數設置即可。圖像金字塔及其層級圖像按解析度分級存儲與管理。最底層的解析度最高,並且數據量最大,解析度越低,其數據量越小,這樣,不同的解析度遙感圖像形成了塔式結構。採用這種圖像金字塔結構建立的遙感影像資料庫,便於組織、存儲與管理多尺度、多數據源遙感影像數據,實現了跨解析度的索引與瀏覽,極大地提高了影像數據的瀏覽顯示速度。
2.數字線劃圖
對紙圖數字化、配准、校正、分層及拼接等處理後,生成標准分幅和拼接存儲的數字矢量圖,就可以進行圖形數據入庫。
(1)分幅矢量圖形數據、圖幅接合表:按圖形比例尺、圖幅號、製作時間、圖層等方式,通過入庫程序導入到資料庫中,同時導入與該地理信息相對應的屬性信息,建立空間信息與屬性信息的關聯。
(2)拼接矢量圖形數據:按圖形比例尺、製作時間、圖層等方式,通過入庫程序導入到資料庫中,同時導入與該地理信息相對應的屬性信息,建立空間信息與屬性信息的關聯。
3.柵格數據
對紙圖數字化、配准、校正、分層及拼接等處理後,生成標准分幅和整體存儲的數字柵格圖,然後進行圖形數據入庫。
(1)分幅柵格圖形數據、圖幅接合表:按圖形比例尺、圖幅號、製作時間等方式,通過入庫程序導入到資料庫中。
(2)整幅柵格圖形數據:按比例尺、製作時間等方式,通過入庫程序導入到資料庫中。
4.數字高程模型
(1)分幅數字高程模型數據、圖幅接合表:按圖形比例尺、圖幅號、製作時間等方式,通過入庫程序導入到資料庫中。
(2)拼接數字高程模型數據:按比例尺、製作時間等方式通過入庫程序導入到資料庫中。
5.多媒體數據
多媒體數據入庫可根據多媒體資料庫內容的需要對入庫數據進行預處理,包括音頻、視頻信息錄制剪接、文字編輯、色彩選配等。對多媒體信息的加工處理需要使用特定的工具軟體進行編輯。由於音頻信息和視頻信息數據量巨大,因此,對多媒體數據存儲時需採用數據壓縮技術,現在的許多商用軟體已能夠直接存儲或播放壓縮後的多媒體數據文件,這里主要考慮根據數據顯示質量要求選擇採用不同的存儲格式。圖4-2為各類多媒體數據的加工處理流程。
圖4-2 多媒體數據加工處理流程圖
6.屬性數據
將收集的社會經濟、水利工程、生態環境等屬性資料,進行分析整理,輸入計算機,最後經過程序的計算處理,存儲到資料庫中,具體流程如圖4-3所示。
圖4-3 屬性數據入庫流程圖
『叄』 基於多媒體GIS技術標准樣地管理系統的設計與實現
劉耀林 劉洋 劉敏 蘭澤英
(武漢大學資源環境科學學院,武漢,430072)
摘要:通過對多媒體技術和GIS的結合進行簡介,主要闡述了基於多媒體GIS技術的標准樣地管理系統的設計與實現,主要包括數據模型設計,數據的組織和管理,系統功能設計和物理實現。
關鍵詞:多媒體;GIS;標准樣地
1 引言
1.1 標准地塊概述
標准地塊是指在農用地分等定級對象所在區域內,在一定的栽培管理技術條件下,該區域內農作物產量水平最高的若干個農用地分等定級單元。標准地塊所處位置的氣候、地形、土壤、灌溉排水、土地利用等條件最優,農業生產條件最好。
設立標准樣地具有十分重要的作用和意義,是農用地分等定級工作中必不可少的環節。通過設立標准樣地可以直觀地獲得農用地質量等級信息,並對農用地分等定級成果進行評價、控制和校訂;通過對標准地塊的監測與管理,間接地對農用地質量等級變化進行動態監測與管理。
標准地塊分國家級、省級和縣級分別設置。標准地塊的設置遵循3個原則,即分層設置原則,生產條件最好的原則,永久性標志的原則。
標准樣地信息十分豐富,包括樣地的空間數據、屬性數據及其多媒體數據。其中空間數據是指標准樣地的坐標及其拓撲關系;屬性數據主要有樣地編號、級別、二級區名稱、實地位置、平面坐標、規劃用途、氣候、土壤、地形、農田基本建設情況、產量、土地利用和土地經濟等方面的內容;多媒體數據則包括了樣地的景觀圖片和剖面圖片,以及介紹當地人文風貌、風土人情的文檔、音頻、視頻數據。
1.2 採用多媒體GIS 技術管理標准樣地信息的必要性
傳統的地理信息系統主要研究空間數據的管理和分析,這些信息主要是以字母和數字的形式進行表達,手段單一而呆板。在GIS中採用多媒體數據,可將圖形圖像的直觀性、數字的准確性、音頻視頻的引導性和親切感相結合,充分調動用戶的多種感官,增強GIS的信息處理和傳輸的效果。將空間資料庫和多媒體資料庫相結合,採用兩者的數據存儲與處理方法,以空間對象為主框架,將多媒體數據附著於對象上,可以解決多媒體數據與空間數據之間的整合關系。由於標准樣地的數據具有多樣性和復雜性,它不僅包括一般地理目標的空間數據和屬性數據,還包括了大量與之相關的多媒體數據。為了對這些龐雜的數據進行高效的管理,方便查詢和實時的更新,基於多媒體GIS技術開發了標准樣地管理系統。
2 多媒體技術與 GIS 的結合
多媒體空間數據是以數值、文字、圖形、圖像和聲音等多媒體形式表示的GPS數據、RS影像數據、GIS數據、視頻數據、聲音及其他屬性數據。
多媒體空間資料庫系統是多媒體GIS的核心,它將多媒體空間數據有機地集成於一體,不僅提供空間數據的存儲與操作,還提供相應多媒體數據的存儲與操作。多媒體空間資料庫結合空間資料庫和多媒體資料庫的特點,採用兩者的數據存儲與處理方法,以空間對象為主框架,將多媒體數據附著於對象上,解決多媒體數據與空間數據之間的無縫整合關系,為多媒體地理信息系統提供數據管理基礎。
多媒體空間資料庫系統主要包括3個部分:關系資料庫,多媒體對象資料庫和空間資料庫。關系資料庫與空間資料庫的作用分別是管理屬性數據和空間數據,多媒體資料庫是用來管理多媒體數據。如圖1所示。
圖1 多媒體空間資料庫系統的結構
3 標准樣地管理系統的設計與實現
3.1 標准樣地管理系統的配置環境
標准樣地管理系統的設計與開發是2004年國土資源部試點項目「湖北省農用地分等成果匯總」工作的一部分。為了科學有效地管理省級標准樣地數據,並以視覺、聽覺等形式直觀、形象、生動地表達樣地信息,為用戶提供一個友好活潑的界面環境。開發採用當前流行的組件式GIS技術和多媒體技術標准樣地管理系統。系統的配置主要有:PC機,Windows2000 操作系統,VC + + 開發平台,MapObjects 控制項,Access 資料庫。
3.2 標准樣地管理系統的數據模型
由於大多數數據模型不支持復雜對象(影像和聲音),而面向對象的數據結構支持定義復雜的數據結構,並且面向對象的數據模型具有以下的特點:
(1)多媒體GIS系統中定義的空間信息,如點、線、面和非空間信息,如多媒體數據,每一個數據不再是分散的,而是集成為統一的實體。
(2)用戶可以根據需要定義自身系統的數據類型,編寫相關的輸入、輸出和執行函數。
(3)具有類的繼承性。
因此,標准樣地管理系統採用了面向對象的技術,每個標准地塊都是一個對象實體,有一個唯一的對象標識並包含有屬性數據、空間圖形數據、靜態圖像數據、視頻數據和聲音數據等,如圖2。
圖2 標准樣地對象模型
定義 1:一個標准樣地實體對象是一個7元組:[Oid,Aid,Gid,Wid,Pid,Mid,Sid],其中,Oid為該樣地對象的對象標識;Aid是屬性數據標識;Gid是空間數據標識;Wid是文檔數據標識;Pid是靜態圖像數據標識;Mid是視頻數據標識;Sid是聲音數據標識。
3.3 標准樣地管理系統的數據組織和管理
3.3.1 空間屬性數據的組織和管理
空間數據是標准樣地管理系統的核心,是整個系統的主體。基本空間數據類型有點、線和面。在矢量格式中點目標用一個坐標對(X1,Y1)表示,線目標用一串坐標對(X1,Y1) (X2,Y2)……(Xm,Ym)表示,面目標則用首尾相接的一串坐標對(X1,Y1) (X2,Y2)……(Xn,Yn) (X1,Y1)來表示。標准樣地的屬性數據是指其非空間、非多媒體數據,如樣地編號、級別、二級區名稱、實地位置等,屬性數據由多個屬性數據項組成,如圖3所示。在標准樣地管理系統中,採用MapObjects控制項默認的shape文件格式來組織空間數據,而屬性數據則由shape文件對應的dbf文件來組織。
圖3 標准樣地的屬性數據列表
3.3.2 多媒體數據的組織和管理
多媒體數據的管理方式一般有兩種。一是採用統一的資料庫,把所有的多媒體數據以BLOB對象納入其中進行統一的管理。其優點是便於數據的集中管理,但是資料庫會顯得過於龐大,且訪問數據的速度較慢。二是將多媒體的源數據和描述性信息分開存放。在硬碟中,每一個媒體數據以單個文件的形式存放,並將這些文件存放在一個特定的目錄下,形成一個媒體資料庫。在關系資料庫中儲存數據的描述性信息如數據的編號、名稱、路徑、格式、容量、默認表達方式等。通過建立空間目標與數據的描述性信息的聯系,來間接訪問多媒體數據文件,如圖4所示。其缺點一是數據的主體信息和描述性信息分開存放不便於統一管理,二是需要常用媒體軟體的支持;但是這種方式實現起來十分簡單,響應速度較快。本系統將採用第二種方式對多媒體數據進行管理。
圖4 多媒體數據的管理
3.3.3 系統的資料庫設計
本系統的資料庫分為兩個部分,即描述性信息資料庫和主體資料庫。前者以Access關系資料庫管理著圖件數據的描述性信息表和多媒體數據的信息表。後者又分為空間資料庫和多媒體資料庫。其中空間資料庫管理著所有的空間數據和屬性數據,它是硬碟中一特定目錄下shape文件、dbf文件及shx文件的集合;而多媒體資料庫管理著標准樣地的所有多媒體數據,它是硬碟中一特定目錄下各類多媒體數據文件的集合。系統以描述性信息資料庫為媒介訪問主體資料庫,如圖6中所示。
圖5 圖件數據的描述性信息表結構
圖6 多媒體數據的描述性信息表結構
3.4 標准樣地管理系統的功能模塊設計
標准樣地管理系統是目標管理系統的一種,它是多媒體技術和傳統地理信息系統結合的產物。系統主要對基礎數據、底圖數據和標准樣地數據進行了管理。基礎數據主要是道路圖層、水系圖層、注記圖層等輔助性數據;底圖數據採用了1∶50萬的湖北省農用地分等單元圖,它是各分等單元(面狀目標)空間數據和屬性數據的集合;標准樣地數據則包括了省級樣地(點狀目標)的空間數據,屬性數據及其多媒體數據。
針對以上的數據,系統主要提供了圖層管理、圖形編輯、統計分析、目標查詢和多媒體數據處理五個功能模塊。圖層管理模塊是對基礎圖層、分等單元圖和標准樣地圖層進行顯示、添加、刪除和移動等操作的方法的集合;圖形編輯模塊則提供了對點目標、線目標及面目標進行編輯的功能;統計分析模塊主要針對分等單元圖層數據,提供了各縣市各等別面積統計和各地類各等別面積統計兩個基本功能;目標查詢模塊和多媒體數據處理模塊是系統的核心,其中查詢模塊提供了空間點擊查詢、空間分析查詢和組合條件查詢3種查詢方式;而多媒體數據處理模塊則用來存取和表達多媒體數據。運用系統提供的查詢功能和多媒體數據處理功能,用戶可以快速地捕捉標准樣地目標並對其屬性數據和多媒體數據進行詳細的瀏覽。系統功能模塊設計如圖7所示:
圖7 系統的功能設計
3.5 標准樣地管理系統的功能模塊的物理實現
標准樣地管理系統在實現的過程中主要採用了組件式GIS技術和多媒體技術。其中組件式GIS技術實現系統中所有與空間數據和屬性數據有關的功能,而多媒體技術和資料庫技術則實現與多媒體數據有關的功能。
MapObjects控制項提供CMoMapLayer,CMoPoint,CMoLine,CMoPolygon 等類介面中的屬性和方法可以用來實現空間數據的操作。屬性數據的操作則依靠 MO 控制項提供的CMoRecordset類介面中的屬性和方法來實現。
多媒體數據的表達則視數據的類型而定。對於標准樣地景觀圖片和土壤剖面圖片數據,可以視其為柵格圖層數據,採用MO控制項提供的CMoImageLayer類介面中的屬性和方法來實現;樣地文檔數據、音頻和視頻數據的表達則分兩步進行。先要通過ADO或DAO提供的資料庫操作函數訪問關系資料庫中的多媒體數據描述性信息表,根據標准樣地對象實體的ID號,在信息表中找到此樣地的多媒體數據的描述記錄;然後根據記錄中路徑欄位的信息從多媒體資料庫中訪問其多媒體數據文件,最後調用ShellExecute函數根據文件格式激活應用程序對多媒體數據進行表達,具體過程如圖8所示。
3.6 標准樣地管理系統的運行簡介
標准樣地管理系統主要是為了對標准樣地數據進行科學有效的管理和圖、文、聲、影並茂的展示。為了把多媒體數據較好地連接到地理目標上,借鑒空間型超級文本的有關原理,即地理空間實體作為信息的結點,以地理實體的空間位置作為索引,由這樣的結點和索引組成鏈表,用戶可以對鏈表進行瀏覽、查詢等操作。這種方式比較簡單方便,但尚不能達到真正意義上的超文本。
伴隨著啟動界面和背景音樂,進入標准樣地管理系統。首先在圖層管理器中選擇標准樣地圖層激活並顯示它,運用系統查詢功能模塊提供的其中一種查詢方式捕捉到目標標准地塊。此時目標變成紅色,系統開始播放當地的民歌,接著屬性信息對話框出現,可以在出現的對話框中瀏覽到樣地的所有屬性信息,還可以運用對話框中的多媒體介面進一步欣賞到目標標准地塊的景觀圖片和土壤剖面圖片,以及與當地風土人情有關的文字和視頻信息。本系統改變了傳統GIS呆板、沉悶的界面環境,給人耳目一新的感覺。
圖8 系統的物理實現
圖9 標准樣地的剖面圖片和景觀圖片查詢
圖10 標准樣地的文檔和視頻信息查詢
參考文獻
黃濤等.地理信息系統集成開發中多媒體的應用和實現.微型電腦應用,2000,16 (4)
齊昕等.多媒體技術在GIS中的若干應用研究.微型電腦應用,1999,(5)
邱振戈等.多媒體技術在目標信息管理系統中的應用.解放軍測繪學院學報,1999,16 (4)
艾海濱等.多媒體數據在地理信息系統中的組織、管理及方法實現的研究.測繪通報,2003,(4)
許雲濤等.面向對象的多媒體空間資料庫系統設計.武漢測繪科技大學學報,1999,24 (3)
『肆』 資料庫架構選型與落地,看這篇就夠了
隨著時間和業務的發展,資料庫中的數據量增長是不可控的,庫和表中的數據會越來越大,隨之帶來的是更高的 磁碟 、 IO 、 系統開銷 ,甚至 性能 上的瓶頸,而單台伺服器的 資源終究是有限 的。
因此在面對業務擴張過程中,應用程序對資料庫系統的 健壯性 , 安全性 , 擴展性 提出了更高的要求。
以下,我從資料庫架構、選型與落地來讓大家入門。
資料庫會面臨什麼樣的挑戰呢?
業務剛開始我們只用單機資料庫就夠了,但隨著業務增長,數據規模和用戶規模上升,這個時候資料庫會面臨IO瓶頸、存儲瓶頸、可用性、安全性問題。
為了解決上述的各種問題,資料庫衍生了出不同的架構來解決不同的場景需求。
將資料庫的寫操作和讀操作分離,主庫接收寫請求,使用多個從庫副本負責讀請求,從庫和主庫同步更新數據保持數據一致性,從庫可以水平擴展,用於面對讀請求的增加。
這個模式也就是常說的讀寫分離,針對的是小規模數據,而且存在大量讀操作的場景。
因為主從的數據是相同的,一旦主庫宕機的時候,從庫可以 切換為主庫提供寫入 ,所以這個架構也可以提高資料庫系統的 安全性 和 可用性 ;
優點:
缺點:
在資料庫遇到 IO瓶頸 過程中,如果IO集中在某一塊的業務中,這個時候可以考慮的就是垂直分庫,將熱點業務拆分出去,避免由 熱點業務 的 密集IO請求 影響了其他正常業務,所以垂直分庫也叫 業務分庫 。
優點:
缺點:
在資料庫遇到存儲瓶頸的時候,由於數據量過大造成索引性能下降。
這個時候可以考慮將數據做水平拆分,針對數據量巨大的單張表,按照某種規則,切分到多張表裡面去。
但是這些表還是在同一個庫中,所以庫級別的資料庫操作還是有IO瓶頸(單個伺服器的IO有上限)。
所以水平分表主要還是針對 數據量較大 ,整體業務 請求量較低 的場景。
優點:
缺點:
四、分庫分表
在資料庫遇到存儲瓶頸和IO瓶頸的時候,數據量過大造成索引性能下降,加上同一時間需要處理大規模的業務請求,這個時候單庫的IO上限會限制處理效率。
所以需要將單張表的數據切分到多個伺服器上去,每個伺服器具有相應的庫與表,只是表中數據集合不同。
分庫分表能夠有效地緩解單機和單庫的 性能瓶頸和壓力 ,突破IO、連接數、硬體資源等的瓶頸。
優點:
缺點:
註:分庫還是分表核心關鍵是有沒有IO瓶頸 。
分片方式都有什麼呢?
RANGE(范圍分片)
將業務表中的某個 關鍵欄位排序 後,按照順序從0到10000一個表,10001到20000一個表。最常見的就是 按照時間切分 (月表、年表)。
比如將6個月前,甚至一年前的數據切出去放到另外的一張表,因為隨著時間流逝,這些表的數據被查詢的概率變小,銀行的交易記錄多數是採用這種方式。
優點:
缺點:
HASH(哈希分片)
將訂單作為主表,然後將其相關的業務表作為附表,取用戶id然後 hash取模 ,分配到不同的數據表或者資料庫上。
優點:
缺點:
講到這里,我們已經知道資料庫有哪些架構,解決的是哪些問題,因此, 我們在日常設計中需要根據數據的特點,數據的傾向性,數據的安全性等來選擇不同的架構 。
那麼,我們應該如何選擇資料庫架構呢?
雖然把上面的架構全部組合在一起可以形成一個強大的高可用,高負載的資料庫系統,但是架構選擇合適才是最重要的。
混合架構雖然能夠解決所有的場景的問題,但是也會面臨更多的挑戰,你以為的完美架構,背後其實有著更多的坑。
1、對事務支持
分庫分表後(無論是垂直還是水平拆分),就成了分布式事務了,如果依賴資料庫本身的分布式事務管理功能去執行事務,將付出高昂的性能代價(XA事務);如果由應用程序去協助控制,形成程序邏輯上的事務,又會造成編程方面的負擔(TCC、SAGA)。
2、多庫結果集合並 (group by,order by)
由於數據分布於不同的資料庫中,無法直接對其做分頁、分組、排序等操作,一般應對這種多庫結果集合並的查詢業務都需要採用數據清洗、同步等其他手段處理(TIDB、KUDU等)。
3、數據延遲
主從架構下的多副本機制和水平分庫後的聚合庫都會存在主數據和副本數據之間的延遲問題。
4、跨庫join
分庫分表後表之間的關聯操作將受到限制,我們無法join位於不同分庫的表(垂直),也無法join分表粒度不同的表(水平), 結果原本一次查詢就能夠完成的業務,可能需要多次查詢才能完成。
5、分片擴容
水平分片之後,一旦需要做擴容時。需要將對應的數據做一次遷移,成本代價都極高的。
6、ID生成
分庫分表後由於資料庫獨立,原有的基於資料庫自增ID將無法再使用,這個時候需要採用其他外部的ID生成方案。
一、應用層依賴類(JDBC)
這類分庫分表中間件的特點就是和應用強耦合,需要應用顯示依賴相應的jar包(以Java為例),比如知名的TDDL、當當開源的 sharding-jdbc 、蘑菇街的TSharding等。
此類中間件的基本思路就是重新實現JDBC的API,通過重新實現 DataSource 、 PrepareStatement 等操作資料庫的介面,讓應用層在 基本 不改變業務代碼的情況下透明地實現分庫分表的能力。
中間件給上層應用提供熟悉的JDBC API,內部通過 sql解析 、 sql重寫 、 sql路由 等一系列的准備工作獲取真正可執行的sql,然後底層再按照傳統的方法(比如資料庫連接池)獲取物理連接來執行sql,最後把數據 結果合並 處理成ResultSet返回給應用層。
優點
缺點
二、中間層代理類(Proxy)
這類分庫分表中間件的核心原理是在應用和資料庫的連接之間搭起一個 代理層 ,上層應用以 標準的MySQL協議 來連接代理層,然後代理層負責 轉發請求 到底層的MySQL物理實例,這種方式對應用只有一個要求,就是只要用MySQL協議來通信即可。
所以用MySQL Navicat這種純的客戶端都可以直接連接你的分布式資料庫,自然也天然 支持所有的編程語言 。
在技術實現上除了和應用層依賴類中間件基本相似外,代理類的分庫分表產品必須實現標準的MySQL協議,某種意義上講資料庫代理層轉發的就是MySQL協議請求,就像Nginx轉發的是Http協議請求。
比較有代表性的產品有開創性質的Amoeba、阿里開源的Cobar、社區發展比較好的 Mycat (基於Cobar開發)等。
優點
缺點
JDBC方案 :無中心化架構,兼容市面上大多數關系型資料庫,適用於開發高性能的輕量級 OLTP 應用(面向前台)。
Proxy方案 :提供靜態入口以及異構語言的支持,適用於 OLAP 應用(面向後台)以及對分片資料庫進行管理和運維的場景。
混合方案 :在大型復雜系統中存在面向C端用戶的前台應用,也有面向企業分析的後台應用,這個時候就可以採用混合模式。
JDBC 採用無中心化架構,適用於 Java 開發的高性能的輕量級 OLTP 應用;Proxy 提供靜態入口以及異構語言的支持,適用於 OLAP 應用以及對分片資料庫進行管理和運維的場景。
ShardingSphere是一套開源的分布式資料庫中間件解決方案組成的生態圈,它由 Sharding-JDBC 、 Sharding-Proxy 和 Sharding-Sidecar (計劃中)這3款相互獨立的產品組成,他們均提供標准化的數據分片、分布式事務和資料庫治理功能,可適用於如Java同構、異構語言、容器、雲原生等各種多樣化的應用場景。
ShardingSphere提供的核心功能:
Sharding-Proxy
定位為透明化的 資料庫代理端 ,提供封裝了 資料庫二進制協議的服務端版本 ,用於完成對 異構語言的支持 。
目前已提供MySQL版本,它可以使用 任何兼容MySQL協議的訪問客戶端 (如:MySQL Command Client, MySQL Workbench, Navicat等)操作數據,對DBA更加友好。
向 應用程序完全透明 ,可直接當做MySQL使用。
適用於任何兼容MySQL協議的客戶端。
Sharding-JDBC
定位為 輕量級Java框架 ,在Java的JDBC層提供的額外服務。 它使用客戶端直連資料庫,以jar包形式提供服務,無需額外部署和依賴,可理解為 增強版的JDBC驅動,完全兼容JDBC和各種ORM框架 。
以電商SaaS系統為例,前台應用採用Sharding-JDBC,根據業務場景的差異主要分為三種方案。
分庫(用戶)
問題解析:頭部企業日活高並發高,單獨分庫避免干擾其他企業用戶,用戶數據的增長緩慢可以不分表。
拆分維度:企業ID分庫
拆分策略:頭部企業單獨庫、非頭部企業一個庫
分庫分表(訂單)
問題解析:訂單數據增長速度較快,在分庫之餘需要分表。
拆分維度:企業ID分庫、用戶ID分表
拆分策略:頭部企業單獨庫、非頭部企業一個庫,分庫之後用戶ID取模拆分表
單庫分表(附件)
問題解析:附件數據特點是並發量不大,只需要解決數據增長問題,所以單庫IO足以支撐的情況下分表即可。
拆分維度:用戶ID分表
拆分策略:用戶ID取模分表
問題一:分布式事務
分布式事務過於復雜也是分布式系統最難處理的問題,由於篇幅有限,後續會開篇專講這一塊內容。
問題二:分布式ID
問題三:跨片查詢
舉個例子,以用戶id分片之後,需要根據企業id查詢企業所有用戶信息。
sharding針對跨片查詢也是能夠支持的,本質上sharding的跨片查詢是採用同時查詢多個分片的數據,然後聚合結果返回,這個方式對資源耗費比較大,特別是對資料庫連接資源的消耗。
假設分4個資料庫,8個表,則sharding會同時發出32個SQL去查詢。一下子消耗掉了32個連接;
特別是針對單庫分表的情況要注意,假設單庫分64個表,則要消耗64個連接。如果我們部署了2個節點,這個時候兩個節點同時查詢的話,就會遇到資料庫連接數上限問題(mysql默認100連接數)
問題四:分片擴容
隨著數據增長,每個片區的數據也會達到瓶頸,這個時候需要將原有的分片數量進行增加。由於增加了片區,原先的hash規則也跟著變化,造成了需要將舊數據做遷移。
假設原先1個億的數據,hash分64個表,現在增長到50億的數據,需要擴容到128個表,一旦擴容就需要將這50億的數據做一次遷移,遷移成本是無法想像的。
問題五:一致性哈希
首先,求出每個 伺服器的hash值 ,將其配置到一個 0~2^n 的圓環上 (n通常取32)
其次,用同樣的方法求出待 存儲對象的主鍵 hash值 ,也將其配置到這個圓環上。
然後,從數據映射到的位置開始順時針查找,將數據分布到找到的第一個伺服器節點上。
一致性hash的優點在於加入和刪除節點時只會影響到在哈希環中相鄰的節點,而對其他節點沒有影響。
所以使用一致性哈希在集群擴容過程中可以減少數據的遷移。
好了,這次分享到這里,我們日常的實踐可能只會用到其中一種方案,但它不是資料庫架構的全貌,打開技術視野,才能更好地把存儲工具利用起來。
老規矩,一鍵三連,日入兩千,點贊在看,年薪百萬!
本文作者:Jensen
7年Java老兵,小米主題設計師,手機輸入法設計師,ProcessOn特邀講師。
曾涉獵航空、電信、IoT、垂直電商產品研發,現就職於某知名電商企業。
技術公眾號 【架構師修行錄】 號主,專注於分享日常架構、技術、職場干貨,Java Goals:架構師。
交個朋友,一起成長!
『伍』 mes系統用什麼資料庫
mes系統用Oracle資料庫。
MES系統的Oracle資料庫一共有2個,一個是lims系統需要的,存儲著lims系統的配置數據和每天的業務數據;數據量最龐大最核心的一個就是我們所說的TOTALPLANT資料庫,其存儲著系統的核心的模型數據和每天產生的業務數據。如Oracle資料庫出現問題,系統就將癱瘓,所以在Oracle資料庫出現故障的時候,能夠快速進行數據恢復就是非常重要的。HoneyWell公司提供了一個資料庫備份方案,對數據的恢復沒有介紹,其備份方案能對資料庫進行聯機備份,將數據文件和控制文件備份到以當前備份日期為名字的新建文件夾中,將所有的歸檔日誌備份到一個固定的文件夾中。歸檔日誌特別多,而我們的硬碟容量是有限的,如果一天備份一次數據的話,基本上十多天就將整個硬碟空間耗盡,這就需要每天去查看硬碟空間,刪除過時的數據文件備份和歸檔日誌備份,一旦忘記刪除過時備份的話,使得以後的備份都不能進行,資料庫系統也會因為磁碟空間的不足造成宕機,使得資料庫無法正常啟動,這在我們MES系統實施初期就發生過這種現象,給系統的實施造成了不小的麻煩,對於歸檔日誌的刪除還要特別小心,得判斷好日誌是否有用,如果將有用的備份誤刪得話,備份也就無效了,所以制定一個完善可行的備份恢復方案是非常必要的。
『陸』 資料庫中的集群和F5
分布式資料庫系統分布式資料庫系統有兩種:一種是物理上分布的,但邏輯上卻是集中的。這種分布式資料庫只適宜用途比較單一的、不大的單位或部門。另一種分布式資料庫系統在物理上和邏輯上都是分布的,也就是所謂聯邦式分布資料庫系統。由於組成聯邦的各個子資料庫系統是相對「自治」的,這種系統可以容納多種不同用途的、差異較大的資料庫,比較適宜於大范圍內資料庫的集成。
----- ----
分布式資料庫系統(DDBS)包含分布式資料庫管理系統(DDBMS)和分布式資料庫(DDB)。在分布式資料庫系統中,一個應用程序可以對資料庫進行透明操作,資料庫中的數據分別在不同的局部資料庫中存儲、由不同的 DBMS進行管理、在不同的機器上運行、由不同的操作系統支持、被不同的通信網路連接在一起。
一個分布式資料庫在邏輯上是一個統一的整體,在物理上則是分別存儲在不同的物理節點上。一個應用程序通過網路的連接可以訪問分布在不同地理位置的資料庫。它的分布性表現在資料庫中的數據不是存儲在同一場地。 更確切地講,不存儲在同一計算機的存儲設備上。 這就是與集中式資料庫的區別。從用戶的角度看,一個分布式資料庫系統在邏輯上和集中式資料庫系統一樣,用戶可以在任何一個場地執行全局應用。就好那些數據是存儲在同一台計算機上,有單個資料庫管理系統(DBMS)管理一樣,用戶並沒有什麼感覺不一樣。
分布式資料庫系統是在集中式資料庫系統的基礎上發展起來的,是計算機技術和網路技術結合的產物。分布式資料庫系統適合於單位分散的部門,允許各個部門將其常用的數據存儲在本地,實施就地存放本地使用,從而提高響應速度,降低通信費用。分布式資料庫系統與集中式資料庫系統相比具有可擴展性,通過增加適當的數據冗餘,提高系統的可靠性。在集中式資料庫中,盡量減少冗餘度是系統目標之一.其原因是,冗餘數據浪費存儲空間,而且容易造成各副本之間的不一致性.而為了保證數據的一致性,系統要付出一定的維護代價.減少冗餘度的目標是用數據共享來達到的。而在分布式資料庫中卻希望增加冗餘數據,在不同的場地存儲同一數據的多個副本,其原因是:①.提高系統的可靠性、可用性當某一場地出現故障時,系統可以對另一場地上的相同副本進行操作,不會因一處故障而造成整個系統的癱瘓。②.提高系統性能系統可以根據距離選擇離用戶最近的數據副本進行操作,減少通信代價,改善整個系統的性能。
分布式資料庫具有以下幾個特點:
(1)、數據獨立性與位置透明性。數據獨立性是資料庫方法追求的主要目標之一,分布透明性指用戶不必關心數據的邏輯分區,不必關心數據物理位置分布的細節,也不必關心重復副本(冗餘數據)的一致性問題,同時也不必關心局部場地上資料庫支持哪種數據模型.分布透明性的優點是很明顯的.有了分布透明性,用戶的應用程序書寫起來就如同數據沒有分布一樣.當數據從一個場地移到另一個場地時不必改寫應用程序.當增加某些數據的重復副本時也不必改寫應用程序.數據分布的信息由系統存儲在數據字典中.用戶對非本地數據的訪問請求由系統根據數據字典予以解釋、轉換、傳送.
(2)、集中和節點自治相結合。資料庫是用戶共享的資源.在集中式資料庫中,為了保證資料庫的安全性和完整性,對共享資料庫的控制是集中的,並設有DBA負責監督和維護系統的正常運行.在分布式資料庫中,數據的共享有兩個層次:一是局部共享,即在局部資料庫中存儲局部場地上各用戶的共享數據.這些數據是本場地用戶常用的.二是全局共享,即在分布式資料庫的各個場地也存儲可供網中其它場地的用戶共享的數據,支持系統中的全局應用.因此,相應的控制結構也具有兩個層次:集中和自治.分布式資料庫系統常常採用集中和自治相結合的控制結構,各局部的DBMS可以獨立地管理局部資料庫,具有自治的功能.同時,系統又設有集中控制機制,協調各局部DBMS的工作,執行全局應用。當然,不同的系統集中和自治的程度不盡相同.有些系統高度自治,連全局應用事務的協調也由局部DBMS、局部DBA共同承擔而不要集中控制,不設全局DBA,有些系統則集中控製程度較高,場地自治功能較弱。
(3)、支持全局資料庫的一致性和和可恢復性。分布式資料庫中各局部資料庫應滿足集中式資料庫的一致性、可串列性和可恢復性。除此以外還應保證資料庫的全局一致性、並行操作的可串列性和系統的全局可恢復性。這是因為全局應用要涉及兩個以上結點的數據.因此在分布式資料庫系統中一個業務可能由不同場地上的 多個操作組成.例如, 銀行轉帳業務包括兩個結點上的更新操作。這樣,當其中某一個結點出現故障操作失敗後如何使全局業務滾回呢?如何使另一個結點撤銷已執行的操作(若操作已完成或完成一部分)或者不必再執行業務的其它操作(若操作尚沒執行)?這些技術要比集中式資料庫復雜和困難得多,分布式資料庫系統必須解決這些問題.
(4)、復制透明性。用戶不用關心資料庫在網路中各個節點的復制情況,被復制的數據的更新都由系統自動完成。在分布式資料庫系統中,可以把一個場地的數據復制到其他場地存放,應用程序可以使用復制到本地的數據在本地完成分布式操作,避免通過網路傳輸數據,提高了系統的運行和查詢效率。但是對於復制數據的更新操作,就要涉及到對所有復制數據的更新。
(5)、易於擴展性。在大多數網路環境中,單個資料庫伺服器最終會不滿足使用。如果伺服器軟體支持透明的水平擴展,那麼就可以增加多個伺服器來進一步分布數據和分擔處理任務。
分布式資料庫的優點:
(1)具有靈活的體系結構 。
(2)適應分布式的管理和控制機構。
(3)經濟性能優越 。
(4)系統的可靠性高、可用性好 。
(5)局部應用的響應速度快。
(6)可擴展性好,易於集成現有系統。
分布式資料庫的缺點:
(1)系統開銷大,主要花在通信部分。
(2)復雜的存取結構,原來在集中式系統中有效存取數據的技術,在分成式系統中都不再適用。
(3)數據的安全生和保密性較難處理。
分布式資料庫系統的目標
分布式資料庫系統的目標,也就是研製分布式資料庫系統的目的、動機,主要包括技術和組織兩方面的目標.
1.適應部門分布的組織結構,降低費用。
使用資料庫的單位在組織上常常是分布的(如分為部門、科室、車間等等),在地理上也是分布的.分布式資料庫系統的結構符合部門分布的組織結構,允許各個部門對自己常用的數據存儲在本地,在本地錄入、查詢、維護,實行局部控制.由於計算機資源靠近用戶,因而可以降低通信代價,提高響應速度,使這些部門使用資料庫更方便更經濟。
2.提高系統的可靠性和可用性。
改善系統的可靠性和可用性是分布式資料庫的主要目標.將數據分布於多個場地,並增加適當的冗餘度可以提供更好的可靠性.一些可靠性要求較高的系統,這一點尤其重要.因為一個地出了故障不會引起整個系統崩潰.因為故障場地的用戶可以通過其它場地進入系統.而其它場地的用戶可以由系統自動選擇存取路徑,避開故障場地,利用其它數據副本執行操作,不影響業務的正常運行.
3.充分利用資料庫資源,提高現有集中式資料庫的利用率
當在一個大企業或大部門中已建成了若干個資料庫之後,為了利用相互的資源,為了開發全局應用,就要研製分布式資料庫系統.這種情況可稱為自底向上的建立分布式系統.這種方法雖然也要對各現存的局部資料庫系統做某些改動、重構,但比起把這些資料庫集中起來重建一個集中式資料庫,則無論從經濟上還是從組織上考慮,分布式資料庫均是較好的選擇.
4.逐步擴展處理能力和系統規模
當一個單位規模擴大要增加新的部門(如銀行系統增加新的分行,工廠增加新的科室、車間)時,分布式資料庫系統的結構為擴展系統的處理能力提供了較好的途徑:在分布式資料庫系統中增加一個新的結點.這樣做比在集中式系統中擴大系統規模要方便、靈活、經濟得多。
在集中式系統中為了擴大規模常用的方法有兩種:一種是在開始設計時留有較大的餘地.這容易造成浪費,而且由於預測困難,設計結果仍可能不適應情況的變化.另一種方法是系統升級,這會影響現有應用的正常運行.並且當升級涉及不兼容的硬體或系統軟體有了重大修改而要相應地修改已開發的應用軟體時,升級的代價就十分昂貴而常常使得升級的方法不可行.分布式資料庫系統能方便地把一個新的結點納入系統,不影響現有系統的結構和系統的正常運行,提供了逐漸擴展系統能力的較好途徑,有時甚至是唯一的途徑。
①資料庫系統與應用 趙致格編著 清華大學出版社p. 260
②資料庫原理及應用 張晉連 編著 電子工業出版社P.13