㈠ 並行資料庫的作用和目標
並行資料庫系統的目標是高性能(High Performance)和高可用性(High Availability),通過多個處理節點並行執行資料庫任務,提高整個資料庫系統的性能和可用性。
性能指標關注的是並行資料庫系統的處理能力,具體的表現可以統一總結為資料庫系統處理事務的響應時間。並行資料庫系統的高性能可以從兩個方面理解,一個是速度提升(SpeedUp),一個是范圍提升(ScaleUp)。速度提升是指,通過並行處理,可以使用更少的時間完成兩樣多的資料庫事務。范圍提升是指,通過並行處理,在相同的處理時間內,可以完成更多的資料庫事務。並行資料庫系統基於多處理節點的物理結構,將資料庫管理技術與並行處理技術有機結合,來實現系統的高性能。
可用性指標關注的是並行資料庫系統的健壯性,也就是當並行處理節點中的一個節點或多個節點部分失效或完全失效時,整個系統對外持續響應的能力。高可用性可以同時在硬體和軟體兩個方面提供保障。在硬體方面,通過冗餘的處理節點、存儲設備、網路鏈路等硬體措施,可以保證當系統中某節點部分或完全失效時,其它的硬體設備可以接手其處理,對外提供持續服務。在軟體方面,通過狀態監控與跟蹤、互相備份、日誌等技術手段,可以保證當前系統中某節點部分或完全失效時,由它所進行的處理或由它所掌控的資源可以無損失或基本無損失地轉移到其它節點,並由其它節點繼續對外提供服務。
為了實現和保證高性能和高可用性,可擴充性也成為並行資料庫系統的一個重要指標。可擴充性是指,並行資料庫系統通過增加處理節點或者硬體資源(處理器、內存等),使其可以平滑地或線性地擴展其整體處理能力的特性。
隨著對並行計算技術研究的深入和SMP、MPP等處理機技術的發展,並行資料庫的研究也進入了一個新的領域,集群已經成為了並行資料庫系統中最受關注的熱點。目前,並行資料庫領域主要還有下列問題需要進一步地研究和解決。
(1)並行體系結構及其應用,這是並行資料庫系統的基礎問題。為了達到並行處理的目的,參與並行處理的各個處理節點之間是否要共享資源、共享哪些資源、需要多大程度的共享,這些就需要研究並行處理的體系結構及有關實現技術。
(2)並行資料庫的物理設計,主要是在並行處理的環境下,數據分布的演算法的研究、資料庫設計工具與管理工具的研究。
(3)處理節點間通訊機制的研究。為了實現並行資料庫的高性能,並行處理節點要最大程度地協同處理資料庫事務,因此,節點間必不可少地存在通訊問題,如何支持大量節點之間消息和數據的高效通訊,也成為了並行資料庫系統中一個重要的研究課題。
(4)並行操作演算法,為提高並行處理的效率,需要在數據分布演算法研究的基礎上,深入研究聯接、聚集、統計、排序等具體的數據操作在多節點上的並行操作演算法。
(5)並行操作的優化和同步,為獲得高性能,如何將一個資料庫處理事務合理地分解成相對獨立的並行操作步驟、如何將這些步驟以最優的方式在多個處理節點間進行分配、如何在多個處理節點的同一個步驟和不同步驟之間進行消息和數據的同步,這些問題都值得深入研究。
(6)並行資料庫中數據的載入和再組織技術,為了保證高性能和高可用性,並行資料庫系統中的處理節點可能需要進行擴充(或者調整),這就需要考慮如何對原有數據進行卸載、載入,以及如何合理地在各個節點是重新組織數據。
㈡ 資料庫分析的原理是什麼
資料庫系統的基本概念
數據:實際上就是描述事物的符號記錄。
數據的特點:有一定的結構,有型與值之分,如整型、實型、字元型等。而數據的值給出了符合定型的值,如整型值15。
資料庫:是數據的集合,具有統一的結構形式並存放於統一的存儲介質內,是多種應用數據的集成,並可被各個應用程序共享。
資料庫存放數據是按數據所提供的數據模式存放的,具有集成與共享的特點。
資料庫管理系統:一種系統軟體,負責資料庫中的數據組織、數據操縱、數據維護、控制及保護和數據服務等,是資料庫的核心。
資料庫管理系統功能:
(1)數據模式定義:即為資料庫構建其數據框架;
(2)數據存取的物理構建:為數據模式的物理存取與構建提供有效的存取方法與手段;
(3)數據操縱:為用戶使用資料庫的數據提供方便,如查詢、插入、修改、刪除等以及簡單的算術運算及統計;
(4)數據的完整性、安生性定義與檢查;
(5)資料庫的並發控制與故障恢復;
(6)數據的服務:如拷貝、轉存、重組、性能監測、分析等。
為完成以上六個功能,資料庫管理系統提供以下的數據語言:
(1)數據定義語言:負責數據的模式定義與數據的物理存取構建;
(2)數據操縱語言:負責數據的操縱,如查詢與增、刪、改等;
(3)數據控制語言:負責數據完整性、安全性的定義與檢查以及並發控制、故障恢復等。
數據語言按其使用方式具有兩種結構形式:互動式命令(又稱自含型或自主型語言)宿主型語言(一般可嵌入某些宿主語言中)。
資料庫管理員:對資料庫進行規劃、設計、維護、監視等的專業管理人員。
資料庫系統:由資料庫(數據)、資料庫管理系統(軟體)、資料庫管理員(人員)、硬體平台(硬體)、軟體平台(軟體)五個部分構成的運行實體。
資料庫應用系統:由資料庫系統、應用軟體及應用界面三者組成。
文件系統階段:提供了簡單的數據共享與數據管理能力,但是它無法提供完整的、統一的、管理和數據共享的能力。
層次資料庫與網狀資料庫系統階段 :為統一與共享數據提供了有力支撐。
關系資料庫系統階段
資料庫系統的基本特點:數據的集成性 、數據的高共享性與低冗餘性 、數據獨立性(物理獨立性與邏輯獨立性)、數據統一管理與控制。
資料庫系統的三級模式:
(1)概念模式:資料庫系統中全局數據邏輯結構的描述,全體用戶公共數據視圖;
(2)外模式:也稱子模式與用戶模式。是用戶的數據視圖,也就是用戶所見到的數據模式;
(3)內模式:又稱物理模式,它給出了資料庫物理存儲結構與物理存取方法。
資料庫系統的兩級映射:
(1)概念模式到內模式的映射;
(2)外模式到概念模式的映射。
4.2 數據模型
數據模型的概念:是數據特徵的抽象,從抽象層次上描述了系統的靜態特徵、動態行為和約束條件,為資料庫系統的信息表與操作提供一個抽象的框架。描述了數據結構、數據操作及數據約束。
E-R模型的基本概念
(1)實體:現實世界中的事物;
(2)屬性:事物的特性;
(3)聯系:現實世界中事物間的關系。實體集的關系有一對一、一對多、多對多的聯系。
E-R模型三個基本概念之間的聯接關系:實體是概念世界中的基本單位,屬性有屬性域,每個實體可取屬性域內的值。一個實體的所有屬性值叫元組。
E-R模型的圖示法:(1)實體集表示法; (2)屬性表法; (3)聯系表示法。
層次模型的基本結構是樹形結構,具有以下特點:
(1)每棵樹有且僅有一個無雙親結點,稱為根;
(2)樹中除根外所有結點有且僅有一個雙親。
從圖論上看,網狀模型是一個不加任何條件限制的無向圖。
關系模型採用二維表來表示,簡稱表,由表框架及表的元組組成。一個二維表就是一個關系。
在二維表中凡能唯一標識元組的最小屬性稱為鍵或碼。從所有侯選健中選取一個作為用戶使用的鍵稱主鍵。表A中的某屬性是某表B的鍵,則稱該屬性集為A的外鍵或外碼。
關系中的數據約束:
(1)實體完整性約束:約束關系的主鍵中屬性值不能為空值;
(2)參照完全性約束:是關系之間的基本約束;
(3)用戶定義的完整性約束:它反映了具體應用中數據的語義要求。
4.3關系代數
關系資料庫系統的特點之一是它建立在數據理論的基礎之上,有很多數據理論可以表示關系模型的數據操作,其中最為著名的是關系代數與關系演算。
關系模型的基本運算:
(1)插入 (2)刪除 (3)修改 (4)查詢(包括投影、選擇、笛卡爾積運算)
4.4 資料庫設計與管理
資料庫設計是數據應用的核心。
資料庫設計的兩種方法:
(1)面向數據:以信息需求為主,兼顧處理需求;
(2)面向過程:以處理需求為主,兼顧信息需求。
資料庫的生命周期:需求分析階段、概念設計階段、邏輯設計階段、物理設計階段、編碼階段、測試階段、運行階段、進一步修改階段。
需求分析常用結構析方法和面向對象的方法。結構化分析(簡稱SA)方法用自頂向下、逐層分解的方式分析系統。用數據流圖表達數據和處理過程的關系。對資料庫設計來講,數據字典是進行詳細的數據收集和數據分析所獲得的主要結果。
數據字典是各類數據描述的集合,包括5個部分:數據項、數據結構、數據流(可以是數據項,也可以是數據結構)、數據存儲、處理過程。
資料庫概念設計的目的是分析數據內在語義關系。設計的方法有兩種
(1)集中式模式設計法(適用於小型或並不復雜的單位或部門);
(2)視圖集成設計法。
設計方法:E-R模型與視圖集成。
視圖設計一般有三種設計次序:自頂向下、由底向上、由內向外。
視圖集成的幾種沖突:命名沖突、概念沖突、域沖突、約束沖突。
關系視圖設計:關系視圖的設計又稱外模式設計。
關系視圖的主要作用:
(1)提供數據邏輯獨立性;
(2)能適應用戶對數據的不同需求;
(3)有一定數據保密功能。
資料庫的物理設計主要目標是對數據內部物理結構作調整並選擇合理的存取路徑,以提高資料庫訪問速度有效利用存儲空間。一般RDBMS中留給用戶參與物理設計的內容大致有索引設計、集成簇設計和分區設計。
資料庫管理的內容:
(1)資料庫的建立;
(2)資料庫的調整;
(3)資料庫的重組;
(4)資料庫安全性與完整性控制;
(5)資料庫的故障恢復;
(6)資料庫監控。
㈢ 如何設計開發資料庫應用系統
第13章 資料庫應用系統設計概述
13.1 資料庫設計概述
13.1.1 資料庫系統設計內容
資料庫設計包含兩方面的內容。
1. 結構特性設計
結構特性設計通常是指資料庫模式或資料庫結構設計,它應該具有最小冗餘的、能滿足不同用戶數據需求的、能實現數據共享的系統。資料庫結構特性是靜態的,應留有擴充餘地,使系統容易改變。
2. 行為特性設計
行為特性設計是指應用程序、事物處理的設計。
13.1.2 資料庫設計特點
資料庫設計是一項綜合性技術。「三分技術,七分管理,十二分基礎數據」是資料庫建設的基本規律。資料庫設計的特點是:
硬體、軟體和管理界面相結合。
結構設計和行為設計相結合。
13.2 資料庫設計步驟
見圖。
13.3 資料庫結構設計
13.3.1 需求分析
需求分析的目標是准確了解系統的應用環境,了解並分析用戶對數據及數據處理的需求。
1. 收集需求信息
一般來講,用戶對資料庫的要求如下:
(1)信息需求
(2)處理需求
(3)安全性與完整性要求
2. 分析整理
分析的過程是對所收集到的數據進行抽象的過程。下面是「高校收費管理系統」的用戶需求分析:
每年新生入學時學費基本信息的輸入
每年老生離校時學生基本信息的刪除
查詢、列印學生的交費情況
查詢、列印降級生的交費情況
進入學費管理系統的安全性條件設計
3. 數據流圖
資料庫設計中採用數據流圖(DFD:Data Flow Diagram)來描述系統的功能。DFD一般由下面圖素構成。
:數據及其流動方向,直線上方標明數據流名稱
:數據處理,圓圈內標明處理名稱
:數據流的終點和源點,方框內標明相應的名稱
:文件和數據存儲,在其內標明相應名稱
例如:高校收費管理系統
4.數據字典
數據字典(DD:Data Dictionary)用於記載系統中的各種數據、數據元素以及它們的名字、性質、意義及各類約束條件,記錄系統中用到的常量、變數、數組及其他數據單位,是系統開發與維護中不可缺少的重要文件。數據字典是關於資料庫中數據的一種描述,而不是數據本身。數據字典是在需求分析階段建立,在資料庫設計過程中不斷修改、充實、完善的。
數據字典產生於數據流圖,是對數據流圖中的四個成分(數據流、數據項、文件和處理)描述的結果。其中:
數據流描述:定義數據流的組成,一般包含若干數據項,通常在數據流圖的下方通過「說明」定義。
文件描述:定義文件的組成以及文件的組織方式,如學生交費數據可用下面方法描述:
交費數據=學號+姓名+收費標准+應交學費+待交學費+本次交款
數據項描述:定義數據項,一般包括名稱、類型長度、允許范圍等。如學生交費數據文件中的數據項。
數據項名稱 類型 長度(位元組) 范圍
學號 字元 8 H、G和數字
姓名 字元 8 任何字母
收費標准 正整數 5 0-99999
應交學費 正整數 5 0-99999
待交學費 正整數 5 0-99999
本次交款 正整數 5 0-99999
數據處理的描述:說明數據處理的邏輯關系,即輸入與輸出之間的邏輯關系。同時,也要說明數據處理的觸發條件、錯誤處理等問題。
13.3.2 概念結構設計
概念結構的目標是將需求分析得到的用戶需求抽象為資料庫的概念結構,即概念模式。概念結構設計形成一個獨立於具體DBMS的概念模型。描述概念模式的是E―R圖。
1. 局部E-R模型設計
局部E―R模型設計是從數據流圖出發確定實體和屬性,並根據數據流圖中表示的對數據的處理、確定實體之間的聯系。
2. 總體E-R模型設計
將各個局部E―R圖加以綜合,使同一個實體只出現一次,便可產生總體E―R圖。
13.3.3 邏輯結構設計
資料庫的邏輯結構設計的目標就是將概念結構轉換成特定的DBMS所支持的數據模型,並對其優化的過程。邏輯設計階段一般分三個過程進行:
將概念結構轉換為一般的關系、網狀、層次模型;
將由概念結構轉換來的模型向所選用DBMS支持的數據模型轉換;
對數據模型進行優化
13.3.4 物理設計
資料庫的物理設計目標是在選定的DBMS上建立起邏輯設計結構確立的資料庫的結構。這項工作一般由系統程序員完成。資料庫的物理設計通常分為兩步進行。
1. 確定資料庫的物理結構
在關系資料庫中,確定資料庫的物理結構主要指確定數據存放位置和存儲結構,包括確定關系、索引、日誌、備份等數據的存儲分配合存儲結構,確定系統配置等工作。
2. 對所確定的物理結構進行評價
13.4 應用程序設計
資料庫的應用程序設計和一般的應用程序設計方法基本相同。
應用程序的設計方法可以採用一般的程序設計方法。
13.5 運行和維護
13.5.1 數據載入資料庫
13.5.2 資料庫系統試運行
在試運行階段應當注意:
1. 數據的載入過程應先輸入小部分數據進行試運行
2. 應注意資料庫的轉儲和恢復工作
13.5.3 資料庫系統的運行和維護
在資料庫系統正式運行階段,對資料庫的經常性維護工作是由DBA來實施的,他的工作主要包括:
1. 資料庫的轉儲和恢復
2. 資料庫的安全性和完整性控制
3. 資料庫性能的監督、分析和改造
4. 資料庫的重組與重構
(1)資料庫的重組
(2)資料庫的重構
13.6 小結
本章通過高校收費管理系統資料庫的構建與設計過程的詳細描述,學習了資料庫設計的基本方法,資料庫設計的基本流程,E-R圖的建立和到關系模式的轉換,學習了軟體工程的基本思想,為後續課程資料庫開發技術打好基礎。
㈣ 現代資料庫怎麼管理數據模式的數據模型怎麼影響系統性能
資料庫管理的主要內容有:資料庫的建立、資料庫的調整、資料庫的重組、資料庫的重構、資料庫的安全控制、數據的完整性控制和對用戶提供技術支持。
資料庫的建立:資料庫的設計只是提供了數據的類型、邏輯結構、聯系、約束和存儲結構等有關數據的描述。這些描述稱為數據模式。要建立可運行的資料庫,還需進行下列工作:
(1)選定資料庫的各種參數,例如最大的數據存儲空間、緩沖決的數量、並發度等。這些參數可以由用戶設置,也可以由系統按默認值設置。
(2)定義資料庫,利用資料庫管理系統(DBMS)所提供的數據定義語言和命令,定義資料庫名、數據模式、索引等。
(3)准備和裝入數據,定義資料庫僅僅建立了資料庫的框架,要建成資料庫還必須裝入大量的數據,這是一項浩繁的工作。在數據的准備和錄入過程中,必須在技術和制度上採取措施,保證裝入數據的正確性。計算機系統中原已積累的數據,要充分利用,盡可能轉換成資料庫的數據。
㈤ 資料庫物理模型
資料庫物理模型設計的目標是根據選定的Oracle資料庫系統特點和航空物探數據管理與服務的業務處理需求,確定航空物探資料庫最優的物理環境、存取方法和存儲結構。即通過資料庫物理設計,以便達到物理資料庫結構的優化,使得在資料庫上運行的各種事務響應時間少、存儲空間利用率高、事務吞吐率大。
一、資料庫布局
航空物探信息系統的維護數據(部門、崗位、人員、人員許可權、數據入庫檢查規則及數據字典等)相對比較穩定。入庫前數據需經過各種檢查校對,確認數據正確後才能歸檔,存入航空物探資料資料庫,所以存入資料庫前的數據可能經常需要修改和刪除,相對變化較大;而存入資料資料庫中的數據一般不允許修改和刪除,以免誤操作破壞資料庫數據造成損失。
圖2-12 航空物探資料庫邏輯模型
圖2-13 航空物探資料庫布局與數據採集流程圖
據此,我們採用圖2-13所示的資料庫數據採集流程,並將航空物探資料庫分為資料採集資料庫、資料資料庫、系統維護資料庫分別進行存儲和管理,實現數據的統一管理和統一使用,便於數據入庫和易於維護等。
航空物探資料資料庫是航空物探所有數據最終存儲的場所。資料採集資料庫是數據歸檔存入資料資料庫前的臨時「集散地」,在此接收各項檢查,在確認數據無誤後歸檔到資料資料庫,然後刪除資料採集資料庫中已歸檔的數據。此外,資料採集資料庫中還保存數據入庫、維護、檢查日誌及歸檔記錄。
系統維護資料庫,存儲系統維護信息(如系統功能、資料庫表清單等)、安全信息(如信息系統用戶的角色、許可權、授權的系統功能等),數據字典、入庫數據檢查規則等。將其與航空物探數據分開,有利於系統維護和管理。
二、資料庫空間設置
資料庫空間設置包括磁碟空間設置、應用系統表空間設置、撤銷表空間、臨時表空間、日誌空間和索引空間設置。
(一)磁碟空間設置
磁碟空間設置的目標:磁碟性能不能阻礙實現資料庫性能,資料庫磁碟必須專用於資料庫文件,否則非資料庫將會影響到資料庫性能,且磁碟空間必須滿足恢復和性能的要求。
航空物探資料庫伺服器為IBM P620小型機,8塊硬碟,每塊硬碟36GB空間,每塊物理磁碟建立一個文件系統。為了提高磁碟的反應時間和尋道時間,提高I/O的存取效率,除了一塊硬碟用於UNIX操作系統外,其餘7塊磁碟分別存放資料採集資料庫、系統維護資料庫-日誌文件,資料資料庫及資料資料庫的大欄位數據、索引、回滾段和數據日誌文件。
(二)應用系統表空間設置
信息系統數據採集過程對數據的事務操作比較頻繁,經常進行數據插入(新數據入庫)、修改(入庫數據有誤)和刪除操作(數據重新導入或歸檔入庫),因此航空物探資料採集資料庫所在的表空間會很活躍。為了不影響其他I/O的競爭,同時也可以提高數據入庫的操作效率(50多年的歷史數據需要集中入庫),分配一個磁碟空間(36GB)為採集庫的表空間。由於採集數據歸檔入資料庫後被刪除,同時進行數據入庫的項目也不是很多,雖仍保留所有的採集日誌數據,一個磁碟空間也足夠使用。
航空物探資料資料庫的二維表和Oracle大欄位(BLOB)分別存放在不同的物理磁碟(每個磁碟36GB)上,對同時存在有表格數據和大欄位數據的資料庫表(如航跡線數據)時,可以提高磁碟I/O效率。隨著數據入庫的項目越來越多,需要增加相應的物理磁碟或磁碟陣列。
系統維護資料庫相對穩定,佔用磁碟空間約500 M左右。由於系統磁碟有限,把日誌文件存放該磁碟中。
(三)撤銷表和臨時表空間的設置
在Oracle資料庫中,撤銷的目的是確保事務的回退和恢復。撤銷參數有UNDO_MANAGEMENT、UNDO_TABLESPACE和UNDO_RETENTION。
UNDO_MANAGEMENT參數用於資料庫中管理撤銷數據的方式,航空物探資料庫設置為自動模式(auto)。
UNDO_TABLESPACE參數用於指定資料庫中保存撤銷數據的撤銷表空間名稱,航空物探資料庫撤銷表空間名稱為UNDO_ARGS_TBSPACE,空間大小設置為20GB,以確保在保留時間內進行恢復。
UNDO_RETENTION參數用於指定已經提交事務的撤銷數據在能夠覆蓋之前應該保留多長時間,本資料庫系統設置為60 min。
臨時表空間是用以存儲大量的排序,與撤銷表空間存放在一個物理磁碟上,本資料庫系統臨時表空間設置為500 M。
(四)日誌空間設置
日誌的主要功能是記錄對資料庫已做過的全部操作。在系統出現故障時,如果不能將修改數據永久地寫入數據文件,則可利用日誌得到該修改,所以不會丟失已有操作結果。
日誌文件主要是保護資料庫以防止故障。為了防止日誌文件本身的故障,航空物探資料庫系統分別在一個獨立磁碟和系統維護庫磁碟中存放日誌文件。若系統出現故障,在下次打開資料庫時Oracle資料庫系統自動用日誌文件中的信息來恢復資料庫文件。
根據航空物探資料庫信息系統同時登錄的用戶數及使用的功能,將日誌文件大小設置為10GB。
(五)索引表空間設置
為了提高航空物探信息系統的查詢和統計速度,把所有索引空間與應用表空間完全分開,從而提高I/O存取效率。航空物探索引表空間大小設置為10GB。
聚集是表的一種存儲方法,一般每個基本表是單獨組織的,但對邏輯上經常在一起查詢的表,在物理上也鄰近存放,這樣可減少數據的搜索時間,提高性能。
當幾個關系(表)以聚集方式組織時,是通過公共屬性的值為表聚集的依據。航空物探資料庫系統是以項目標識(PROJ_ID)建立聚集的,所有涉及項目標識的資料庫表直接引用項目標識聚集。航空物探聚集表空間與索引表空間相同。
三、資料庫參數設置
在資料庫創建前需要對如下資料庫參數進行設置,航空物探參數文件名為Initoraargs.ora,各種參數設置如下:
航空物探信息系統建設
四、內存設置
航空物探資料庫伺服器物理內存為4GB,除部分用於系統開銷外,其餘全部用於資料庫。
Oracle使用共享系統全局區(System Global Area,SGA)內存來管理內存和文件結構,包含DB_block_Buffers、DB_cache_size、Shared_pool_size、Log_Buffer參數。航空物探資料庫系統的全局區內存參數設置如下。
DB_block_Buffers參數為SGA中存儲區高速緩存的緩沖區數目,每個緩沖區的大小等於參數DB_block_size的大小,DB_block_Buffers=19200(約300 MB)。
Shared_pool_size參數為分配給共享SQL區的位元組數,是SGA大小的主要影響者,Shared_pool_size=1228800000(1.2GB)。
DB_cache_size參數是SGA大小和資料庫性能的最重要的決定因素。該值較高,可以提高系統的命中率,減少I/O,DB_cache_size=1024000000(1GB)。
Log_Buffer參數為重做日誌高速緩存大小,主要進行插入、刪除和修改回退操作,Log_buffer=5120000(5MB)。
五、優化設置
由於航空物探信息系統的採集軟體和應用軟體是採用MS.NET C#進行開發的,應用程序與資料庫之間的連接有傳統的ODBC和OLE DB兩種方式。為了支持ODBC在OLE DB技術上建立了相應的OLE DB到ODBC的調用轉換,而使用直接的OLE DB方式則不需轉換,從而提高處理速度。
在建立資料庫表時,參數Pctfree和Pctused設置不正確可能會導致數據出現行鏈接和行遷移現象,即同一行的數據被保存在不同的數據塊中。在進行數據查詢時,為了讀出這些數據,磁頭必須重新定位,這樣勢必會大大降低資料庫的執行速度。因此,在創建表時應充分估計到將來可能出現的數據變化,正確地設置這兩個參數,盡量減少資料庫中出現的行鏈接和行遷移現象。
航空物探資料採集資料庫表的插入、修改和刪除的頻率較高,Pctfree設置為20,Pctused設置為40;系統維護資料庫表相對穩定,Pctfree設置為10,Pctused設置為15;資料資料庫表除了增加數據外基本不進行修改和刪除操作,Pctfree設置為10,Pctused設置為5。
六、擴展性設置
多CPU和並行查詢PQO(Parallel Query Option)方式的利用:CPU的快速發展使得Oracle越來越重視對多CPU的並行技術的應用,一個資料庫的訪問工作可以用多個CPU相互配合來完成。對於多CPU系統盡量採用並行查詢選項方式進行資料庫操作。航空物探資料庫伺服器為2個CPU,在程序查詢中採用了並行查詢的方式。
在航空物探工作量統計、飛行小時統計、測量面積統計和岩石物性統計中,為了加快統計效率,在相應的查詢語句中增加了並行查詢語句。
隨著航空物探高精度測量程度的不斷提高,測量數據將越來越大。為了滿足航空物探查詢效率及發展,將航磁測量數據與校正後航磁測量數據按比例尺分1∶20 萬以下、20萬~50萬、1∶50萬以上分別存放3張不同的資料庫表。
七、創建資料庫
在完成資料庫布局、空間設置、內存設置、資料庫參數設置、擴展性設置和優化設置後,進行航空物探資料庫物理模型設計,即航空物探資料庫實體創建。由於航空物探空間資料庫邏輯模型是採用ESRI提供的ArcGIS UML構建的Geodatabase模型,因此,使用ESRI公司提供的CaseTools將航空物探數據UML模型圖轉成空間資料庫(Geodatabase)實體(圖2-14)。
航空物探屬性資料庫表(二維表)是採用Power Designer資料庫設計平台直接把資料庫關系模型生成資料庫腳本來創建的。
經過資料庫的概念設計、邏輯設計和物理設計,最終生成航空物探資料庫。
圖2-14 航空物探資料庫物理模型實現
八、空間數據的索引機制
對於海量的空間資料庫而言,資料庫的操作效率是關繫到資料庫成敗的關鍵問題。為了提高數據的訪問、檢索和顯示速度,數據在載入到資料庫時,要素類數據建立了空間索引,柵格數據構建了金字塔結構,對象類數據採用與資料庫直接聯接的訪問機制。
(一)空間索引
為了提高要素類數據的查詢性能,在建立航空物探空間資料庫時,創建了空間索引機制。常用的空間索引有格網索引、R樹索引、四叉樹索引等。Geodatabase採用格網索引方式。所謂格網索引是將空間區域劃分成適合大小的正方形格網,記錄每一個格網內所包含的空間實體(對象)以及每一個實體的封裝邊界范圍,即包圍空間實體的左下角和右上角坐標。當用戶進行空間查詢時,首先計算出用戶查詢對象所在格網,然後通過格網編號,就可以快速檢索到所需的空間實體。
確定適合的格網級數、單元大小是建立空間格網索引的關鍵。格網太大,在一個格網內有多個空間實體,查詢檢索的准確度降低。格網太小,則索引數據量成倍增長和冗餘,檢索的速度和效率較低。資料庫的每一數據層採用不同大小、不同級數的空間索引格網單元,但每層最多級數不能超過三級。格網單元的大小不是一個確定性的值,需要根據對象的大小確定。空間索引格網的大小與檢索准確度之間的關系如圖2-15所示。
選擇格網單元的大小遵循下列基本原則:
1)對於簡單要素的數據層,盡可能選擇單級索引格網。減少RDBMS搜索格網單元索引的級數,縮短空間索引搜索的過程,例如航跡線要素類。
圖2-15 索引格網大小與檢索准確度的關系
2)如果數據層中的要素封裝邊界大小變化比較大,應選擇2或3級索引格網。Geodatabase最多提供三級格網單元。每一要素封裝邊界在適合的級內,減少了每一封裝邊界有多個格網的可能性。在空間索引搜索過程中,RDBMS則必須搜索所有3個格網單元級,這將消耗大量的時間。
3)若用戶經常對圖層執行相同的查詢,最佳格網的大小應是平均查尋空間范圍的1.5倍。
4)格網的大小不能小於要素封裝邊界的平均大小,為了減少每個格網單元有多個要素封裝邊界的可能性,格網單元的大小應取平均格網單元的3倍。最佳格網單元的大小可能受圖層平均查詢的影響。
空間域是按照要素數據集定義的,空間索引格網是按照要素類設置的。它們都是在創建Geodatabase資料庫時設置,並一經設置,中間不許改變;所以一定要在充分分析數據的情況下確定它們的值。航空物探數據主要是簡單要素類,空間跨度為70°。根據上述原則,航空物探數據選擇單級索引格網,格網大小為20°。
(二)金字塔結構
金字塔結構的核心是將柵格數據逐級進行抽稀,形成多級解析度的重采樣數據,並將其分割成塊,按一定的文件格式(金字塔文件格式)存儲成磁碟文件;在以後進行圖像顯示處理時,只需將要顯示的部分所覆蓋的塊從磁碟文件直接讀進內存緩沖區顯示即可。從金字塔的所有層中尋找與所要求顯示的比例相近或匹配的一層,並將該層的從某一點起的一定范圍的圖像所覆蓋的所有塊載入到內存緩沖區,提取所需部分並形成圖像。
金字塔演算法(圖2-16)是通過獲取顯示時所需要的一定解析度的數據來提高顯示速度。使用金字塔數據格式後,在顯示全圖時僅需要顯示一個較低解析度的數據,這樣既能加快顯示速度,又不會影響顯示效果。放大圖像,盡管顯示圖像解析度提高,由於顯示區域減小,所以顯示速度不會下降。如果沒有為柵格數據建立金字塔數據,則每次顯示都會讀取整個數據,然後進行重采樣得到顯示所需要的解析度,明顯地降低了顯示速度。
圖2-16 金字塔壓縮示意圖
金字塔數據重采樣方式有:最近鄰法、雙線性內插和立方卷積。其中最近鄰法適用於離散數據,而雙線性內插法和立方卷積法適合於連續數據。
在ArcGIS Engine中提供了IRasterPyramid和IRasterPyramid2介面來實現金字塔數據的建立,而建立的數據保存在*.rrd格式的文件中。
(三)空間域定義
空間域是指數據的有效空間范圍,即Geodatabase資料庫的最大等效坐標的值域范圍,其定義主要是指比例系數和Min X、Min Y的計算。
因為使用整數比浮點數有更高的壓縮率,並且對整數進行二進制搜索比較快,所以多用戶Geodatabase以4位元組正整數存儲坐標,其最大值為32位正整數所能表示的范圍是21.4億(2147483647),整數的范圍稱為空間域。在創建Geodatabase資料庫時需要定義合適的比例系數。大的整數值將消耗大量的計算機物理內存,所以選定的比例系數最好不要大於必須的比例系數。空間域隨坐標系的單位變化而變化。
比例系數和空間域之間成反比例關系,比例系數越大(存儲單位越小),表達的空間域也越小。為了使目標數據都存儲在系統中,需要謹慎地設置比例系數。將目標數據的寬度和高度較適中的數值乘以比例系數,如果結果小於21.4億,則比例系數是合適的。
航空物探數據模型是為我國的航空物探行業數據建庫設計的,它支持的空間數據的坐標范圍為我國領土覆蓋的海陸空間,最低緯度為赤道。根據概念設計的分析,航空物探數據模型採用的是地理坐標系,坐標系單位是度,基準是Beijing_1954,要求存儲的坐標數據精度達到0.01 m。在赤道處,赤道圓周長為40075694.6 m,則每度弧長=40075694.6×100/360 cm=11132137.389 cm,即1 cm對應8.983000883E-8°。所以,航空物探數據模型的比例系數取為8.98E-8,即存儲單位為8.98E-8°,可滿足1 cm精度要求。
將空間域移動到目標數據范圍之前,首先找到空間域在存儲單位的中心位置,目的是在必要時向各個方向擴展。4位元組正整數可表示的坐標范圍:2147483647×8.98E-8=192.84°。我國的領土范圍是東經70°~140°,北緯0°~60°。所以,選取的比例系數是合適的。把空間域坐標系中心定為90°,然後,計算空間域的Min X、Min Y。
航空物探信息系統建設
航空物探信息系統建設
所以坐標的存儲數據是:
航空物探信息系統建設
航空物探信息系統建設
㈥ 什麼是DB的概念設計
資料庫設計是數據應用的核心。
資料庫設計的兩種方法:
(1)面向數據:以信息需求為主,兼顧處理需求;
(2)面向過程:以處理需求為主,兼顧信息需求。
資料庫的生命周期:需求分析階段、概念設計階段、邏輯設計階段、物理設計階段、編碼階段、測試階段、運行階段、進一步修改階段。
需求分析常用結構析方法和面向對象的方法。結構化分析(簡稱SA)方法用自頂向下、逐層分解的方式分析系統。用數據流圖表達數據和處理過程的關系。對資料庫設計來講,數據字典是進行詳細的數據收集和數據分析所獲得的主要結果。
數據字典是各類數據描述的集合,包括5個部分:數據項、數據結構、數據流(可以是數據項,也可以是數據結構)、數據存儲、處理過程。
資料庫概念設計的目的是分析數據內在語義關系。設計的方法有兩種
(1)集中式模式設計法(適用於小型或並不復雜的單位或部門);
(2)視圖集成設計法。
設計方法:E-R模型與視圖集成。
視圖設計一般有三種設計次序:自頂向下、由底向上、由內向外。
視圖集成的幾種沖突:命名沖突、概念沖突、域沖突、約束沖突。
關系視圖設計:關系視圖的設計又稱外模式設計。
關系視圖的主要作用:
(1)提供數據邏輯獨立性;
(2)能適應用戶對數據的不同需求;
(3)有一定數據保密功能。
資料庫的物理設計主要目標是對數據內部物理結構作調整並選擇合理的存取路徑,以提高資料庫訪問速度有效利用存儲空間。一般RDBMS中留給用戶參與物理設計的內容大致有索引設計、集成簇設計和分區設計。
資料庫管理的內容:
(1)資料庫的建立;
(2)資料庫的調整;
(3)資料庫的重組;
(4)資料庫安全性與完整性控制;
(5)資料庫的故障恢復;
(6)資料庫監控。