五月婷婷激情五月,人成电影网在线观看免费,国产精品不卡,久久99国产这里有精品视,爱爱激情网,免费看国产精品久久久久

首頁 優秀范文 關系數據庫

關系數據庫賞析八篇

發布時間:2022-10-03 07:30:28

序言:寫作是分享個人見解和探索未知領域的橋梁,我們為您精選了8篇的關系數據庫樣本,期待這些樣本能夠為您提供豐富的參考和啟發,請盡情閱讀。

第1篇

關鍵詞:非關系數據庫;CouchDB;Map/Reduce

中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2013)14-3220-03

隨著以社交網絡、云計算為代表的Web2.0網站的興起,非關系數據庫(NoSQL)得到了廣泛的關注[1-2]。這是因為傳統的關系數據庫在面對這類應用的時候暴露出許多問題,在處理超大規模的數據、應對高度并發的請求時顯得力不從心。這種情況下非關系數據庫得到了迅速的發展,成為業界和學界所探討的熱點問題。

CouchDB是在處理半結構化的文檔中具有獨特的優勢,在CMS系統、大數據分析和挖掘中具有廣泛的用途。該文首選對非關系數據庫的特征及Map/Reduce的工作方式進行分析,然后詳介紹了CouchDB的安裝、配置及使用方法。

1 非關系數據庫

1.1 非關系數據庫的特點

非關系數據庫是根據Web應用發展的需要而產生的,與傳統關系數據庫有很大的差異。關系數據庫最為顯著的是ACID特性,即原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation)、持久性(Durability)。從分布式應用的CPA理論[3,4]的角度來看,關系數據庫主要關注的是一致性和可用性,能夠很好的滿足傳統的應用需求。但是在Web2.0時代,對數據處理的要求高并發性、海量數據的處理能力和訪問需求,以及對數據庫的高擴展性和高可用性要求。相對而言,關系數據庫所關注的一致性、讀寫的實時性和復雜的SQL查詢在新的應用中卻并不需要[5]。

CPA理論認為一致性、可用性和分區容錯性不可能同時實現。因此非關系數據庫的主要特征為與ACID有著顯著差異的BASE模型[6]。即基本可用(Basically Available)、軟狀態(Soft state)和最終一致(Eventually consistent),它允許系統在一段時間內有不一致性,而放寬至只要最終狀態下數據是一致的就可以了,從而以犧牲高一致性為代價獲得了高可用性。由于非關系數據庫沒有數據庫模式的約束,從而具備了良好的可擴充性。

1.2 Map/Reduce機制

Map函數的輸出為數據庫中的文檔或數據,輸出為鍵值對。這里的鍵和值可以是系統支持的任何類型的數據,用戶可以在Map函數中對文檔數據加以處理,把所需的數據以鍵值的形式輸出。Map函數會對數據庫中所有數據進行處理,結果由主控制器按鍵進行分組,如果用戶不指定Reduce函數則按鍵分組的結果直接輸出。Reduce函數的功能是把鍵值組合進一步處理,比如統計、匯總等。

2 CouchDB的安裝及應用

2.1 CouchDB簡介

CouchDB是最著名的非關系數據庫系統之一,它是Apache軟件基金會的頂級開源項目。CouchDB使用Erlang語言開發,繼承了其強大的強大的并發性和分布式的特征,因此在大數據處理及諸如社交網絡等Web2.0應用開發中具有重要的應用價值。CouchDB的早期版本只能安裝在POSIX系統之上,最新版本則提供了對Windows的支持。

CouchDB是一個面向文檔的、分布式的數據庫,支持REST接口訪問。面向文檔是指CouchDB中存儲的是半結構化的JSON文檔,而且可以方便的將文檔對象映射為具體編程語言的對象。由于JSON在Ajax技術及社交網絡應用中廣泛應用,因此CouchDB在這類應用的數據存儲和處理中具有良好的應用前景。CouchDB是分布式的數據庫系統,源于Erlang極好的并發特性,CouchDB存儲系統可以分布到多臺計算機之上,每臺計算機稱為存儲系統的一個節點。CouchDB能夠很好的協調和同步多個節點之間的數據一致性和完整性,有效的應用系統應用中可能出現的各種錯誤。CouchDB支持REST接口訪問,即可以通過GET、PUT、POST、HEAD和DELETE等標準的Http請求對數據庫進行寫入和查詢分析等操作。因此,任何一種編程語言只要具備Http請求模塊就可以方便的與CouchDB進行對接,甚至只要利用正確的URL地址只要運用瀏覽器就可以訪問CouchDB得到所需要的數據。

與其他的非關系數據庫一樣,CouchDB利用Map/Reduce對數據進行插入、搜索等操作。CouchDB將鍵值對存儲在B-樹引擎之上,并根據鍵值進行排序,因此具有高效的查詢和操作性能。需要注意的是,CouchDB是一個基于版本的數據庫系統,即只能添加數據不能刪除和修改數據,當數據需要更新時CouchDB只是增加了新的版本,所有的版本數據依舊保存在數據庫中,且可以方便的得到。如果要刪除數據則需要將整個數據庫刪除。

2.2 CouchDB的安裝和配置

CouchDB在包括Windows在內的各種操作系統中安裝都非常方便,幾乎不需要做任何復雜的配置,特別是在Mac OS中,下載之后直接運行即可。CouchDB默認使用5984端口,在本機可使用http://127.0.0.1:5984訪問。在瀏覽器中訪問該Url即可得到關于版本等信息的JSON格式的數據。CouchDB的管理控制臺稱為Futon,通過http://127.0.0.1:5984/_utils訪問并操作。在Futon中可以手工創建數據庫、添加和查看文檔,并管理CouchDB。默認情況下,CouchDB開放admin權限,為了安全起見需要添加用戶名和密碼。

2.3 CouchDB的操作

3)統計和匯總

對CouchDB進行更復雜的查詢需要同時使用map函數reduce函數。圖5所示的代碼對數據庫文檔數量進行統計,程序運行輸出結果為數據庫中文檔的總數。如果數據庫中僅有圖2所加入的數據,則圖5輸出結果為2。如果要進行匯總操作,只需改變map函數返回值為需要匯總的數值,并根據需要改變group參數的值為True。

結合map函數和reduce函數,可以在CouchDB數據庫中實現傳統關系數據庫中的運算,如選擇、投影、并、交、差,以及連接等。此外,與傳統數據庫一樣,CouchDB也可以利用ViewDefinition將查詢保存為視圖,其使用參數與query較為類似。不同的是視圖的信息要保存在設計文檔之中,因此要指定相應的鍵值,在使用中,數據庫根據這些鍵值生成url用于進行訪問。

3 結論

CouchDB作為一種高性能的面向文檔的非關系數據庫具有廣泛的用途,其開源、免費,以及易用使用的特點使其在Web2.0應用開發、大數據挖掘與分析等方面都有潛在的重要應用價值。該文對CouchDB的應用的分析,有助于深入了解非關系數據庫的工作機制和使用方法。需要指出的是,盡管非關系數據庫在處理大數據方面有很高的效率,但是它絕不是關系數據庫的替代,在數據更新頻繁的傳統應用中關系數據庫依舊是最優的選擇。

參考文獻:

[1] 蔡金花.淺析NOSQL及使用[J].電腦知識與技術,2012,7(12):2757-2758.

[2] 柯棟梁,鄭嘯,李喬.云計算:實例研究與關鍵技術[J].小型微型計算機系統,2012,33(11): 2321-2329.

[3] Brewer E A.Towards Robust Towards Robust Distributed Systems[C].Proceedings of the 19th Annual ACM Symposium on Principles of Distributed Computing, 2000.

[4] Gilbert S,Lynch N.Brewer's Conjeture and the Feasibility of Consistent, Available, Partition-Tolerant Web[J]. ACM SIGACT News, 2002, 33(2):51-59.

[5] 范凱.NoSQL數據庫探討之——為什么要用非關系數據庫?[EB/OL].(2009-11-25). http:///topic/524977.

第2篇

【關鍵詞】數據庫設計;單元測試;集成測試

一、數據庫設計

本系統為面向關系數據庫的關鍵字查詢系統,在實驗中本文選取了IMDB 數據集,為了進行實驗,將數據集整理為以下七個表數據結構。

實驗數據集(電影信息數據庫):

Actor(演員表)、Consume(設計師)、Director(導演信息)、Business(投資)、Editor(編輯)、Color(顏色信息)、Keyword(關鍵詞)。本數據庫抽象的數據庫關系E-R圖如圖1所示。

二、單元測試

為保證代碼中SQL語句的正確性,需要對數據庫中數據進行查詢檢測,當輸入關鍵字為“black”時,查詢結果如圖2所示。

通過外鍵mvname的連接,再查詢Business關系表,顯示結果如圖3所示。

圖3說明當關鍵字是“black”時查詢出來的actor表中,與business中mvname相同的值沒有。當關鍵字為“a”時查詢兩表,顯示結果不為空,如圖4所示。

按照上述方法和SQL語句依次查詢檢測其他關系表。

三、集成測試

在確定系統代碼中關鍵字轉化的SQL語句都正確的前提下,進行系統測試,即進行關鍵字檢索測試。

(一)當輸入的關鍵字為為單關鍵字時,關鍵字分析過程比較簡單,假設檢索關鍵字選擇“keyword”,查詢結果如圖5所示。

關鍵字“keyword”為表名,直接輸出keyword表即可。

(二)當輸入的關鍵字為多個時,情況比單個的復雜一些,假設檢索關鍵字選擇“director color”,檢索結果如圖6所示。

顯示的結果中,包含director和color均為表名時兩表合一的元組;director為表名color為color表中屬性名時,通過mvname、mvyear、setname、episode、made、explantaion等屬性值相等連接后的元組;以及director為表名、color為director和color兩表中的屬性值時,同樣通過mvname、mvyear、setname、episode、made、explantaion等屬性值相等連接所得元組。這三種情況合到一起即為關鍵字“director color”的查詢結果。

四、結語

從單元測試的角度,在MySQL數據庫中測試了系統代碼中SQL語句的正確性。最后,系統測試中測試了系統的關鍵字檢索功能,從單關鍵字和多關鍵字的角度驗證了系統中的查詢功能,保證了系統的正確性、可靠性。

參考文獻

[1] Mac K,David J,Linda C.A hierarchical Dirichiet language model[J].Natural Language Engineering,1995,1(3).

第3篇

關鍵詞:關系;E-R圖;實體

中圖分類號:TP301 文獻標識碼:A 文章編號:1009-3044(2013)25-5587-02

數據庫技術的應用實例在我們生活中隨處可見,如企業、學校、醫院、超市、社區等,可見數據庫技術的重要性不言而喻。而在普通高等院校、三本或高職類(非)計算機專業的群體中,數據庫課程也是作為其中一門必修的公共基礎課存在。開設的課程有SQL Server、Oracle、Visual FoxPro、Access等,無論是哪門課程,它們都有一個共同的特點,都是關系型數據庫[1],而關系型數據庫在我們現實生活中應用也是最為廣泛的。下面我們就以一個簡單的實例來闡述關系數據庫設計的基本原則和實踐應用。

1 數據庫系統結構與邏輯設計

1.1 三級模式和二級映像結構的優點

數據庫系統的標準結構為三級模式和二級映像。三級模式分別為內模式、模式和外模式,二級映射為內模式/模式映像和模式/外模式映像。如圖1所示:

模式即概念模式,該模式是對數據的邏輯結構和特征的描述,是對所有應用程序的數據綜合抽象得到的全局數據視圖;外模式是所有應用程序或用戶訪問數據的邏輯結構和特征的描述;內模式是數據的底層物理存儲結構的描述。二級映像保證了各級數據在不破壞底層數據存儲結構的基礎上完成上層數據的所有操作任務,保證了數據庫中數據較高的邏輯獨立性和物理獨立性。

1.2 邏輯設計內容和方法

計算機處理客觀應用問題的一般框架如圖2所示:

在設計開發數據庫時,邏輯設計的內容有應用語義環境下如何設計表、定義表、定義表間關系、如何操作表等,可通過文字或一套業務實體表格來描述。大致可通過兩步來完成,第一步:從應用問題中提取核心概念建立概念模型;概念模型可用實體—關系圖(E-R圖)來描述;第二步基于一定的轉換原則建立關系數據模型。關系模型的表示形式為:R(U, F),其中,R為關系名,U為屬性集,F為函數依賴關系。轉換原則有以下七種[2][3]:

1)一個實體型轉換為一個關系模式,通俗的說即一個實體對應一張二維表。

2)一個1:1實體聯系可轉換為一個獨立關系模式,也可以與任意一端對應的關系合并。

3)一個1:N實體聯系可轉換為一個獨立關系模式,也可以與任意一端對應的關系合并。

4)一個M:N實體聯系一定轉換為一個獨立的關系模式,特別是帶有屬性的聯系。

5)三個以上實體間的多元聯系可轉換為一個關系模式。

6)相同碼的關系模式可以合并。

7)同一實體集的實體間聯系與對應的關系合并為一個關系模式。

除此之外,數據庫的設計不僅需考慮理論支持,還需要結合實際的業務流程。

2 應用實例解析

其中,實體“學生”、“課程”和“系別”分別轉換為三個關系模式,照應原則1;另外有兩個聯系,“所屬”聯系可以獨立轉換為一個關系模式,也可以與“學生”和“系別”任意一個關系合并,照應原則3;而“選課”聯系自身具有特殊屬性“成績”,特殊性體現在該屬性既不能作為“學生”的屬性存在,也不能作為“課程”的屬性存在,故必須將該聯系轉換為一個獨立的關系模式,照應原則4。綜上所述,E-R圖可被轉換為4個關系模式,根據對該領域的認識和經驗為每個關系添加屬性描述其特征,同時指定關系的主碼、外碼以及用戶自定義完整性約束,最終實現E-R圖到關系模型合理正確的轉換,建立數據庫同時進一步優化其性能[4]。

原則4實際應用的例子有很多,又如銷售商與供應商之間的供銷關系問題。在該業務流程中三個主要的實體:供應商,源材料和工廠。他們之間時刻有著密切的業務往來,而在三個實體間共同存在“供銷”聯系,而該聯系具有屬性“供應量”,供應量就如同上述的“成績”一樣,需轉換為一個獨立的關系模式來描述。

3 結束語

文中以關系數據庫基本理論為依據展開闡述數據庫邏輯設計的內容和方法,并以簡單實例來論證理論方法的指導意義和應用效果。

參考文獻:

[1] 薩師煊,王珊. 數據庫系統概論[M].北京:高等教育出版社,2000.

[2] 袁國銘.關系數據庫設計的總體原則[C].第七屆中國通信學會學術年會論文集,2010:168-171

第4篇

關鍵詞:查詢優化;索引結構;算法分析;對象關系數據庫

中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2008)25-1366-02

Object Relational Data Base Management Systems

LIU Da-ming1,2

(1.Ningxia Vocational Technological Institution,Yinchuan 750002;2.Ningxia Radio and TV University,Yinchuan 750002, China)

Abstract: Object-relational database technology combines the relational and object-oriented capabilities in one database system. It provides support for richer object structures and powerful query-oriented functions. This kind of DBMS can meet the requirement of some newly emerging application areas, such as GIS. Now, the Object-Relational DataBase technology is regarded as one of the most promising research and product development directions. This paper gives a method of accessing spatiotemporal vector data in an Object-Relational database. Results provide path of spatiotemporal data storage in Web environment.

Key words: query optimization; index structure; loin algorithm; algorithm analysis; ORDB

面向對象的開發方法是當今的主流,但是同時不得不使用關系型數據庫,將兩者更好地結合起來將在很大程度上加快軟件的開發[1]。對象/關系數據庫通過將面向對象程序設計中的對象映射到基于SQL的關系模型的數據結構中去,能給軟件的開發帶來很多好處如:數據庫結構清晰,便于實現OOP,數據庫對象具有獨立性,便于維護,需求變更時程序與數據庫重用率高,修改少。地理時空數據小不同于一般的屬性數據和空間數據時空數據主要有以下特性:空間性、時間性、抽象性,進而帶來多維性、多態性和多尺度[2]。GIS的時空數據組織與管理一直是GIS理論界關注的一個熱點問題,傳統的基于文件方式的GIS數據存儲技術以及基于混合方式的GIS數據存儲技術有其各自的不足,采用對象關系數據庫技術存儲時空數據是今后一段時間內GIS數據管理發展的一個方向[3]。

1 對象關系數據庫管理系統(ORDBMS)的基本原理

“對象關系數據庫”實現既非純粹的面向對象的數據庫也非純粹的關系數據庫,它代表兩者的結合[4]。擴充現有數據庫系統以支持面向對象的概念,我們習慣上稱這樣的系統為擴充數據庫系統。在關系數據庫基礎上加以擴充的, 稱之為對象-關系數據庫(ORDBMS)。RDBMS派認為RDB具有堅實而成熟的理論基礎, 主張對現有的RDBMS 進行擴充和改進, 使之升級為ORDBMS。這種系統既支持已經被廣泛使用的SQL,具有良好的通用性, 又具有面向對象特性, 支持復雜對象和復雜對象的復雜行為, 是對象技術和傳統關系數據庫技術的最佳融合。

由于在ORDBMS 中,關系和對象兩者共存,因此由面向用戶層和內部接口層構成的兩層體系結構來構造一個ORDBMS。面向用戶層主要是對ORSQL ,ORDML 及ORDDL 這類語言進行轉換和處理,通過解析各種用戶命令語句,并完成視圖轉換和查詢優化,以產生執行代碼。內部接口層在存儲管理器之上運行。存儲管理器是一個既支持表存儲又支持對象存儲的內核機制。依靠操作系統的頁、Buffer 及內存管理,存儲機制實現從邏輯到物理的存儲的轉換。存儲和存取機制的任務就是把上層操作轉換成單個的對象操作或記錄操作。ORDBMS體系結構圖1所示。

2 Oracle對象關系數據庫管理系統在GIS中的應用

Oracle是以高級結構化查詢語言(SQL)為基礎、支持分布式海量數據存儲與處理的對象關系數據庫管理系統。目前很多GIS軟件平臺及其相關產品采用Oracle作為空間數據庫管理系統的基礎平臺。因此如何在Oracle中快速、有效地管理和操作海量空間數據成為GIS平臺和應用系統研發人員十分關心的問題。Oracle Spatial解決空間數據的方法是:提供一個MDSYS模式,在其中包含了關于空間數據管理的所有內容,即提供一個對象數據類型(SDO_GEOMETRY)、索引功能及多個針對SDO_GEOMETRY的函數/運算符。這樣就可以在Oracle數據庫中快速有效地存儲、訪問和分析空間數據。Oracle Spatial所提供的功能完全集成在數據庫服務器中。用戶可使用SQL定義來操縱空問數據,也可以利用Oracle的標準特性,從而確保數據的完整性、可恢復性和安全性等特征。

2.1 對象-關系模型

對于空間幾何對象,Oracle Spatial可以用對象關系模型來表達,該對象關系模型通常用表的一個MDSYS.SDO_GEOMETRY類型字段來表示,同時每一記錄表示一個幾何對象地實例。該對象關系模型有以下的優點:

1) 支持多種幾何對象類型,包括:弧、圓、復合多邊形、復合線串、矩形。

2) 容易創建和維護空間索引并進行空間的查詢。

3) 用一行和一列表示幾何對象的模型。

4) 可以達到最優的性能。

2.2 數據模型

空間數據模型可分為幾何元素、幾何對象、層等三級結構,每一種結構都對應于空間數據的一種表達。層是由幾何對象組成,而幾何對象則由幾何元素組成。例如:一個點表示一個建筑物,一條線表示一條公路或是跑道,一個多邊形表示一個省、城市或某個區域。

1) 幾何元素(element)

元素是幾何對象(Geometry)的基本構成單元,支持的空間元素有點、線、面和多邊形,例如:元素可以構成星群(由點串構成),公路(由線串構成)、縣的邊界(多邊形構成),元素的每個坐標存儲為x,y坐標對。一個帶洞的多邊形的外部環和內部環被認為是兩個不同的元素所構成的復合多邊形。

2) 幾何對象(Geometry)

一個幾何對象表示一個空間幾何特征,它是由一個或多個幾何元素的有序組成:一個幾何對象可以由一個幾何元素組成,也可以由同一類型的幾何元素集合或不同類型的幾何元素集合組成。

3) 層(layer)

層是具有相同屬性特征的幾何對象的集合。例如:地理信息系統中,一層包括拓撲特征,而另一層描述它的人口密度,第三層則描述路和橋的網絡結構,每一層對應一個空間索引。

2.3 空間查詢模型

Oracle Spatial用兩層查詢模型來解決空間查詢和空間聯合查詢。這兩層模型是指主過濾和次過濾。主過濾主要從被選記錄中作快速選擇并傳給次過濾,它近似地比較幾何對象以減小復雜度計算,它是一種內存、時間消耗的過濾;次過濾是對來自于主過濾的幾何對象結果集作精確的計算。

2.4 空間索引

通過Oracle Spatial把空間索引化能力導入數據庫引擎是空間產品的一個關鍵特征。一個空間索引就是以空間標準為基礎、限制表內(或數據空間內)的搜索的機制。為了高效地執行查詢過程,索引是必不可少的,比如在查詢區域的數據空間內尋找對象,通過一個查詢多邊形(柵欄定位)。第二種查詢(空間聯合)類型是在兩個存在空間關聯的數據空間內尋找對象組。

2.5 空間關系與過濾

Oracle Spatial用次過濾來決定數據庫中的空間對象之間的空間關系。空間關系是以幾何對象的位置為基礎的,最基本的空間關系是基于拓撲和距離。如:區域的邊界包含一系列把外部的空間分隔開來的弧段,區域的內部包含區域內的所有不在邊界的點。為此我們說,擁有部分共同邊界而沒用共同內部點的兩個區域的空間關系為臨近的。兩個空間幾何對象的距離定義為他們之間的任何兩點的最小距離。如果兩個幾何對象之間的距離小于給定的距離,則我們說一個幾何對象在另一個對象的某一距離內。

3 結論

面向對象的開發方法是當今的主流,但是同時不得不使關系型數據庫,將兩者更好地結合起來將在很大程度上方便軟件的開發。伴隨著關系數據庫日益增長用和面向對象程序設計的普及,對對象/關系數據庫的關注越來越多。由于將目前最為流行的關系數據庫和面向對象程序設計很好的結合起來,而且己經有了比較穩定的對象/關系數據庫的映射下具,因此對象/關系數據庫會有一定的應用前景。本文正是利用對象關系數據庫管理地理時空數據所具備的優越性,將其用于存取矢量時空數據,為地理時空數據的存儲提供了一條有效途徑。

參考文獻:

[1] Carey M J,Dewitt D J.Of Objects and Databases: A Decade of Turmoil[M].22nd VLDB,1996:3-14.

[2] Stonebraker M.Object-Relational DBMSs The Next Grew' Wave[M].Morgan Kaufmann Publishers,Inc,1996.

第5篇

關鍵詞:公共信息模型CIM;SqlBulkCopy與OracleBulkCopy;Oracle;關系數據庫

中圖分類號: G250 文獻標識碼: A 文章編號:

0引言

目前,由于電力生產的迅猛發展,高科技的廣泛應用,用電需求不斷增加,并且隨著我國經濟的不斷發展,用電需求將持續增大,電網規模越來越龐大,也就直接造成了電網模型的膨脹性發展;電網具有調度、運行、維護、檢修、改造等工作量大的特點,需滿足調度工作“實時、可靠、靈活、協作”的原則,因此如何快速有效的將龐大的電網模型建模入庫,使調度員能不間斷、高效完成調度工作成為首要解決的問題。

1影響入庫性能因素分析

公共信息模型(Common Information Model , CIM模型)[ 1]是一個抽象模型,它包含了所有與電力生產有關的數據,實際為一種XML格式數據,可以作為一種數據庫直接使用。

煙臺供電公司是山東電力集團公司直屬的國有大一型供電企業,承擔著煙臺市14個縣市區的供用電工作。目前,煙臺電網以500千伏變電站為支撐,220千伏環網和110千伏輻射網為主網架,公司直轄35千伏及以上變電站54座,變電總容量946萬千伏安,35千伏及以上輸電線路143條,總長2437千米。電網模型十分龐大,相對于的CIM模型巨大,并且隨著用電需求將持續增大,直接影響入庫速度。

CIM采取了面向對象的技術來抽象電力系統的實現。通過提供一種對象類和屬性及他們之間的關系來表示電力系統資源的標準。但是,目前面向對象的數據庫發展還不成熟,而使用最廣泛、技術最成熟的數據庫管理系統大都是關系型的。所以需要將面向對象的CIM與關系型數據庫結合起來[ 2]。

通用信息模型之間的關系比較復雜,將所有關系全部映射成關系數據庫[3]的表,這些復雜的通用信息模型關系將會不可避免的生成很多關系表,使數據庫的表的數量增大。而且表之間的關系性也非常強。標準的意義在于將系統涉及的通用信息模型對象和關系全部映射成表,如果只是其中一部分,數據庫便不能完全的遵循通用信息模型。

關系型數據庫[4]是建立在關系模型基礎上的數據庫,借助于集合代數等數學概念和方法來處理數據庫中的數據。

XML缺少關系型數據庫具備的特性[5]:高效的存儲、索引和數據修改機制、嚴格的數據安全訪問控制、完整的事務和數據一致性控制、多用戶訪問機制、觸發器、完善的并發控制等。因此,數據量大、數據集成度高以及性能要求高的數據環境中仍是使用關系型數據庫較好,在這里的比較中不考慮直接使用XML數據庫的情況。

2各種方法入庫的性能比較及應用

將CIM對象模型寫入關系數據庫的方法很多,可以用SQL語句或存儲過程,也可以用SqlBulkCopy或OracleBulkCopy方法[6],然而不同的方法在性能方面又有他們的不同。下面分別對各種方法寫入數據庫進行了分析。

2.1 SQL語句

優點:以煙臺電網CIM 模型118.2M的數據為例,采用SQL語句直接寫入數據庫的方法只需執行一次SQL的連接字符串,非常方便。

缺點:在客戶端代碼中,使用拼接SQL語句方式實現數據寫入時,由于SQL語句是動態執行的,所以惡意用戶可以通過拼接SQL的方式實施SQL注入攻擊。

2.2 存儲過程

優點:與SQL語句相比,存儲過程存在很多優勢。存儲過程允許標準組件式編程,能夠實現較快的執行速度,能夠減少網絡流量,而且可被作為一種安全機制來充分利用。

缺點:由于其實現方式是利用數據庫訪問類調用存儲過程,利用循環逐條插入,所以這種方式的效率不高。還有兩個方面是他的可移植性和可擴展性,因為一般大型的Web應用程序都是多Web服務器,然后用雙數據庫服務器做雙機熱備,其中一臺開機,但是是閑置的。這里只是解決單點故障的問題,但形成了多Web應用服務器,單數據庫服務器的情況。如果所有的運算都用存儲過程實現,那么會造成數據庫服務器負擔過重。而Web服務器負荷不足的情況,擴展數據庫服務器的話就會非常的麻煩,而且投資較大,程序也需要改。

2.3 SqlBulkCopy

優點:SqlBulkCopy可以實現數據的批量寫入操作,并且寫入速度非常快。可以使用其他源的數據有效批量加載SQL Server表。Microsoft SQL Server 提供一個命令提示符實用工具,用于將數據從一個表移動到另一個表,表既可以在同一個服務器上,也可以在不同服務器上。SqlBulkCopy 類允許編寫提供類似功能的托管代碼解決方案,還有其他將數據加載到 SQL Server 表的方法(例如 INSERT 語句),但相比之下 SqlBulkCopy 提供明顯的性能優勢。

缺點:使用 SqlBulkCopy 類只能向 SQL Server 表寫入數據,數據源不限于 SQL Server,可以使用任何數據源,只要數據可加載到 DataTable instance 或可使用 DataReader 讀取數據。SqlBulkCopy的另一個缺點是寫入前的數據判斷和過濾。

2.4 OracleBulkCopy

OracleBulkCopy是中的一個類,是才有的功能。

優點:調用WriteToServer方法,可以快速有效的實現大數據量導入數據庫。OracleBulkCopy支持超大文本的導入,支持從數據中的某一行開始導入,可以決定是否保存數據行號,列映射不區分大小寫,支持導入常量列,支持源列自動檢測,當相同源列導入多目標列時,只分配一次內存,更加節約內存。

缺點:OracleBulkCopy目前還不支持事務回滾。并且Oracle 11g及以上的版本才支持OracleBulkCopy。

2.5 入庫時間比較分析

下面以118.2M煙臺電網CIM模型數據作為實例寫入數據庫,應用各種不同方法寫入數據庫的時間比較如下表1。

表1各種寫入數據庫方法時間比較

在上述比較過程中由于采用編碼技術及CIM模型數據關系的特殊性,寫入時間有差距,僅供參考。

綜合以上對各種方法的分析以及不同方法寫入數據庫的時間比較,在處理海量數據方面,OracleBulkCopy較其他方法有明顯的優勢。并且考慮到CIM模型的巨大,因此,采用OracleBulkCopy的方式寫入關系數據庫是最高效的。

3總結

本文分析了將龐大的電網模型建模入庫的影響因素,并對多種寫入數據庫的各種方法的性能進行了比較。最后通過煙臺電網實際CIM模型數據作為實例對各種方法入庫的時間進行了比較。綜合各方面的分析表明:使用OracleBulkCopy方法寫入Oracle數據庫是最快,最高效的。解決了煙臺供電公司基于綜合數據平臺的調度智能防誤系統中CIM模型快速入庫的問題。

參考文獻:

孟祥治.電力系統CIM模型及其數據庫設計[J].《企業科技與發展》,2009,24.

趙麗華,劉軍.基于C #的電力系統網絡數據模型解析[J].《現代計算機》,2011,10.

翁芳芳,林俐,楊以涵.CIM模型與關系模型的一種映射方法的探討[J].《現代電力》, 2005,22(4).

陳明磊,薛永強,邵玉槐.基于CIM的變電站設備數據庫模型探討[J].《太原理工大學學報》,2008,39(1).

第6篇

關鍵詞: 關系數據庫; NoSQL; 海量數據; 教學

中圖分類號:TP311.13 文獻標志碼:A 文章編號:1006-8228(2013)02-47-03

Analyzing the relationship between NoSQL and teaching database

Lou Ying

(Electronic Information Engineering College, Henan University of Science and Technology, Luoyang, Henan 471003, China)

Abstract: Because of the dominant position in database, the relational database has been always the main content in database curriculum of university. With the rise of Web2.0, in the huge data environment, NoSQL (not relational database) technology is used widely and the current database course teaching has been impacted deeply. NoSQL technology is introduced in this paper and then the challenges of NoSQL database technology to teaching database are analyzed. Finally, the teaching methods of database course are proposed.

Key words: relational database; NoSQL; massive data; teaching

0 引言

NoSQL指的是非關系型的數據庫。隨著互聯網Web2.0網站的興起,傳統的關系數據庫在應付Web2.0網站,特別是超大規模和高并發的社交網絡類型的Web2.0純動態網站已經顯得力不從心,暴露出了很多難以克服的問題。例如:關系數據庫為了降低數據冗余,保證數據約束性,在數據查詢時不得不使用多個數據表之間的連接操作,這極大地降低了查詢效率,不能夠滿足當前Internet的高實時性的要求。而非關系型數據庫對并發的大規模訪問有著效率上的優勢,因此,非關系數據庫是在具體應用背景下得到了迅速的發展。

其實,NoSQL概念最早出現在1998年,當時的含義是反SQL技術革命運動,但并未引起太多的關注。直到2009年,NoSQL概念被來自Rackspace的Eric Evans再次提出,這時的NoSQL已經不是單純的反SQL運動,指的主要是非關系型的分布式數據庫,并且不支持原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation)、持久性(Durability)的數據庫設計模式[1]。在亞特蘭大舉行的有關NoSQL的討論會上,學者給出了NoSQL較為普遍的解釋,即“非關系型的”。并且指出Key-Value存儲和文檔數據庫是NoSQL的主要特點,本文認為NoSQL是一項新的與傳統關系數據庫有顯著區別的新技術。

1 NoSQL的主要特點

1.1 Key-Value存儲

Key-Value本身是一種數據結構的模式,其基本思想為:一個主鍵下有相應的值,在實現上可以通過哈希表或B樹等不同的數據結構完成。Key-Value存儲是以鍵值對的數據模型存儲數據,并能提供持久化分布式存儲系統,查詢速度快、存放數據量大、支持高并發,非常適合通過主鍵進行查詢機制和數據同步等功能[2]。

現有非關系型數據庫采用不同的方式實現了Key-Value存儲,并且擁有各自的優缺點。然而,性能優良的Key-Value存儲需要滿足下列條件:高可用性,即在Key-Value存儲模式下可以提供不間斷的服務;可擴展性,海量數據的處理要求存儲模式能夠具有可擴展性;故障恢復,要求該存儲模式下能夠對故障自動感知并能自動恢復。

在具體的實現上,多數非關系數據庫采用單文件進行存儲,雖然單個文件操作具有一定的方便性,但在數據量不斷增大時,會遇到存儲瓶頸。為了提高響應速度,Key-Value存儲一般只支持數據的添加操作,而不是支持數據更新操作。為了實現故障可恢復,需要對數據進行備份,數據備份操作即從主端向從端的數據復制,應用系統的性能在備份過程中會受到影響,備份策略決定了影響程度。然而,數據可靠性和性能是一對平衡關系,越是可靠性高的數據保障,其性能相對會下降。

1.2 最終一致性

一致性是關系數據庫中主要特點[3],關系數據庫為了保證一致性需要使用約束條件,從而影響了數據的讀寫效率。而非關系數據庫只要求保證數據的最終一致性,基本思想是:在數據的讀寫過程中,對一致性的要求是松散的,而最終完成操作后的結果是一致的。

假設A為對數據庫的寫操作,而B和C都代表對數據庫的讀操作,且A,B和C之間是相互獨立的。當執行了A,即向數據庫中寫入數據,若數據庫系統能夠保證隨后B和C的讀操作都能夠讀到最新的數據,則說明該數據庫系統具有強一致性,關系數據庫能夠保證強一致性;當執行了A,B和C不能夠立即讀到最新的數據,而是需要經過一段時間才能獲取更新的數據,則說明該數據庫系統具備弱一致性,這段時間也叫做不一致性時間窗口;最終一致性屬于弱一致性的特例,當執行了A,在該數據沒有再被更新的條件下,B和C最終都讀取到最新的數據,這就是最終一致性。

最終一致性是在高數據量(十幾億條記錄、數TB數據)和高訪問量(數千TPS、數萬QPS)需求下的選擇,在缺乏種種約束的情況下,最終一致性在一致性要求不高的應用場景下能夠極大提高數據訪問效率。

1.3 可擴展

這里的擴展性主要指的是水平擴展性,應用無關和容錯性。關系數據通常通過讀寫分離,更換高性能的服務器來提高性能[4],而在海量數據的環境下,這些方法仍然無法滿足某些應用需求。非關系數據庫具有水平擴展性的特點。

盡管現有的非關系型數據庫采用不同的技術實現可擴展性,但其基本的目標是:在應用不間斷的情況下,增加或刪除數據節點,實現水平擴展;利用分布式計算的技術,通過節點之間的通訊,實現數據分布式處理,滿足海量數據的讀寫性能要求。

2 NoSQL技術對數據庫教學的影響

長期以來,普通高校計算機專業的數據庫課程以關系數據庫為講授內容。作為當前數據庫領域不可忽視的力量,NoSQL技術已經引起了許多高校的關注,它給傳統的數據庫教學帶來了以下幾個方面的挑戰:

挑戰一,教師的認知和講授能力。長期以來,在講授數據庫課程時,往往認為關系數據庫占主導和統治地位,忽略了對其他數據庫的研究。當前高校與市場的聯系遠遠不如想象的那樣緊密,因此,當前高校教師面對著對NoSQL技術的認知能力,這里不僅包含對技術的掌握和熟悉,而更重要的是對該新興技術的認可。

在授課的過程中,如何把握NoSQL技術和關系數據庫的之間的關系,巧妙地融合兩種技術,使學生有個全面和清晰的認識是數據庫課程教師的重要工作之一。

挑戰二,學生的接受水平。對于剛剛接觸專業課程的學生,同時掌握兩種具有對立性質的技術也是學生學習過程中的一個難點。

挑戰三,學校的實驗環境。實驗一直是數據庫課程教學的重要環節,現有大多數學校的實驗條件和環境能夠基本滿足關系數據庫技術的教學需要,對于NoSQL技術所在大規模數據處理下的優勢,如何構建實驗環境也是教學的一個重要挑戰。

為了應對這些挑戰,我們至少需要弄清楚兩個方面的問題:①為什么要使用NoSQL;②NoSQL技術和關系數據庫的聯系和區別。

2.1 為什么要使用NoSQL技術

NoSQL技術不是實驗室的產物,而是以實際需求推動的,這里的推動主要指的是互聯網的發展在推動。Web2.0時代,用戶每天使用網絡的同時也在制造網絡的內容。例如:用戶在瀏覽微博網站的同時也會自己的信息。這種特點改變了對網站后臺數據庫的訪問方式,從原先頻繁的讀操作變成了頻繁的讀寫操作,這時,往往要達到每秒上萬次讀寫請求,關系數據庫還能同時勉強應付上萬次的SQL查詢,但是要同時應付上萬次的SQL寫數據請求,關系數據庫系統就已經無法承受了,對數據讀寫操作需求的變化推動了新技術的發展。

社交網絡是Web2.0的一個重要產物,近年來,社交網絡用戶的規模日漸增長,2011年8月,Facebook的活躍用戶已經接近7億,用戶對Web的要求也逐步的提高,縮短用戶操作的響應時間已成為提高網絡質量的基本要求。關系數據庫在保證數據的一致性方面有優勢,而在大規模的用戶操作下,嚴格的一致性對現實的需求來說并不是必須的,高效的數據響應才是最重要的,NoSQL在保證最終一致性的情況下能夠實現高效的數據訪問。

對于一個Web應用系統,在用戶量和訪問量不斷增加的時候,該應用系統需要增加新的服務節點來提高性能和負載能力,在增加服務節點時,可以通過增加硬件設施在滿足Web服務器和應用服務器的需求,而對于數據服務器,關系數據庫模式下很難進行類似增加節點的水平擴展。因此,在關系數據庫的模式下,進行節點增加時需要停機維護和數據遷移,這對于很多需要提供24小時不間斷服務的網站來說是不方便的。可以看出,關系數據庫無法滿足應用的可擴展性和高可用性,而NoSQL技術具有水平擴展性的特點,可滿足需求。

從上述分析可知,在互聯網環境下處理海量數據時,關系數據庫無法滿足實際需求。一方面,關系數據庫技術中的種種約束(事務管理、完整性約束等)對實際需求來說是沒有必要的;另一方面,這種約束的保證影響了數據處理性能。在這種情況下,NoSQL技術就自然而然地成為了人們的選擇并取得了快速的發展。

2.2 NoSQL與關系數據庫的對比

通過上述分析可以看出,NoSQL數據庫和關系數據庫是根本不同的,兩種數據庫分別適應不同的需求。

關系數據庫是以表來存儲數據的,表的組織形式嚴格,表中的每一行代表一條數據記錄,每一列代表特定方面的信息。在設計好表結構(表的列信息)后,修改的代價巨大,數據庫表之間存在著聯系和某種約束關系。所設計的數據操作(查詢,添加,修改,刪除)通常涉及對單張表和多個表,在對多個表的操作時需要使用到表之間定義的范式,消除數據冗余和保證數據一致性是關系數據庫的基本要求。長期以來,關系數據庫一直以簡潔、規范和靈活占據著數據庫領域的統治地位,現有關系數據庫的產品主要有SQL Server,DB2,Oracle,MySqL等,這些產品都屬于關系數據庫管理系統,雖然功能有所不同,但基本思想都屬于關系數據庫的范疇。正是由于關系數據庫的主導地位,在高校計算機學科數據庫教學中,關系數據庫也一直是該課程講授的重點內容。

NoSQL數據主要有三種主流的數據模型,除了上面介紹的Key-Value以外,還有列式和文檔兩種。列式也主要使用Table這樣的模型,但是它并不支持關系數據庫中的多表連接操作,其主要特點是在存儲數據時,主要圍繞著“列”,而不是像關系型數據庫那樣根據“行”進行存儲;在結構上,文檔模式與Key-Value模式想象,不同的是,這里的Value對應的往往是一個文檔。在查詢時,NoSQL數據庫往往只支持主鍵或者是單個列查詢,不支持關系數據庫多表復雜查詢。在寫操作時,NoSQL數據庫對數據一致的要求并不是那么高。現有的NoSQL產品很多,主要有Cassandra,HBase,Memcached,Voldemort等。這些數據庫的側重點不同,雖然都具備NoSQL的特點,但一些也兼具關系數據庫的功能。其中,許多產品是開源的,開源雖然能夠使更多用戶采用,但其可靠性和后期的維護也受到了用戶的質疑。

關系數據庫是否能被NoSQL數據庫取代呢?答案是否定的。雖然關系數據庫在處理Web2.0數據時明顯遇到了瓶頸,但不代表它就能被NoSQL技術完全取代。不同的應用背景可有不同的選擇,例如,在金融和電信領域,用戶無法接受數據的不一致,因此,關系數據庫的一致性對數據處理來說就尤為重要。而對一些非核心數據的處理,日志的管理和外部數據的集成來說,NoSQL技術就更能勝任。因此,應該根據實際的需求選擇NoSQL技術或者是關系數據庫。NoSQL技術是在新的需求下對關系數據庫的補充和擴展。這就需要將NoSQL技術和關系數據庫進行結合使用,各取所長,需要使用關系特性的時候使用關系數據庫,需要使用NoSQL特性的時候使用NoSQL數據庫。

2.3 采用啟發式教學法

啟發式教學的基本思想是:教師在根據教學任務和學習的客觀規律,從實際出發,以啟發學生的思維為核心,采用多種方式,調動學生的學習主動性和積極性,促使他們生動活潑地學習的一種教學指導思想。

由于NoSQL技術是從實際應用需求產生而來的,具備實際的推動力。因此,教師在講授時,可以首先介紹關系數據庫的基本知識,在介紹關系數據庫的性能指標,例如:每秒讀寫數據的次數,數據處理能力的極限等概念時,再描述現實需求。從現實中,學生可以發現關系數據庫的不足,當它的某些優點不是必須時,就引出了NoSQL技術。啟發學生從需求出發研究技術的思想,真正做到學以致用。

3 結束語

NoSQL技術的應用已經給市場帶來了巨大的影響。本文總結了NoSQL的特點,對比了NoSQL與關系數據之間的區別,提出了NoSQL技術給高校計算機教學帶來的挑戰。面對計算機技術高速發展的時代,高校計算機的教學模式是否能夠適應當前教育的需要,在數據庫教學方面,如果仍然按照固定的教學模式,將關系數據庫不可動搖地位的思想傳遞給學生,顯然是不合理的。因此,我們需要在重視理論教育的同時,研究技術發展的動態,以更客觀和合理的方法講授課程。T技術是一項發展迅速的技術,在未來的教學工作中,知識的傳播已經不是高等教育的主要任務,而啟發式的引導才能豐富高校的教學成果。

參考文獻:

[1] Thomas, R. H. A majority consensus approach to concurrencycontrol for multiple copy databases. ACM Transactions on Database Systems,1979.4(2):180-209

[2] Chris Bunch, NavrajChohan, Chandra Krintz, JovanChohan,Jonathan Kupferman, Puneet-Lakhina, YimingLi, Yoshihide Nomura. Key-Value Data stores Comparison in App Scale. February 17, 2010 UCSB Tech Report,2010.3.

第7篇

關鍵詞:遙感影像數據庫管理系統;要求;管理模式

中圖分類號:P23 文獻標識碼:A

遙感技術的發展準確來說應該開始于人類第一顆人造衛星發射。經過幾十年來的發展,遙感影像的應用范圍越來越廣泛,涉及到了軍事、科學研究、氣象預報等等多個行業領域,也正是由于遙感影像的應用越來越廣泛,遙感影像數據量越來越大。遙感影像數據量與日劇增以后,遙感影像的發展必然呈現出越來越繁榮的趨勢,數據量也會越來越大,面對這樣的情況,對建設遙感影像數據庫管理系統提出了更高的標準。

1 遙感影像數據庫管理系統所具備的要求分析

遙感影像是記錄電磁波的膠片,與我們日常的影像數據存在很大的區別,從遙感影像數據特征來進行分析,遙感影像數據庫管理系統需要具備以下幾點要求:

1.1 在實際當中,遙感影像的來源有很多渠道,如航空影像、衛星影像等等,因此,遙感影像數據庫管理系統的兼容性要強。

1.2 遙感影像具有一個很明顯的特點就是能夠表現立體空間,支持空間表達對于應高影像來說是至關重要的,所以遙感影像數據庫管理系統對于空間數據索引和數據查詢具有一定的能力。

1.3 由于遙感影像數據庫來源于很多的渠道,影像數據也沒有統一的標準,所以對于遙感影像要滿足多尺度的特性。

1.4 遙感影像數據庫管理系統必須具備“無縫性”,主要表現在其一集合空間的無縫,遙感影像的存儲一般來說具有固定的存儲模式,而無縫性的要求就是要打破這種模式,構建一個無縫的區域,用戶在使用的時候圖幅是透明的。二是色彩空間的無縫性,遙感影像數據庫管理系統在一定區域和分辨率范圍內,影像色彩的變化應當是平滑的,不能出現明顯的差異。其三是尺度空間的無縫性,在操作遙感影像數據縮放的時候,應該保持不同尺寸之間的遙感影像能夠平穩的過渡。其四是影像數據和元數據的無縫性,該性質是遙感影像數據庫管理系統建設當中需要著重強調的。

1.5 遙感影像應用較為廣泛,對于商業用途來說,系統的通用性、擴展性以及維護性是非常重要的。

1.6 隨著社會經濟的發展,遙感影像數據量急劇增加,遙感數據庫管理系統的儲存量也應該是海量的,必須要達到TB級。

1.7 從數據可視化的角度上來說,遙感影像數據庫管理系統的建設應該以零延遲為目標。

2 遙感影像數據庫系統管理模式研究

從大體上來說,遙感數據庫系統管理的主要方式可以分為三大類,一個是基于文件的方式,其次是基于數據庫的方式,最后就是文件和數據庫混合的方式,下面文章對三種方法進行簡單的分析:

2.1 基于文件的方式

遙感影像數據庫管理系統基于文件方式進行管理的主要優點就是結構不復雜,并且維護的費用也不高,技術相對來說較為成熟。同時也存在一定的缺點,主要表現為安全性能不高,不能支持多用戶進行并發操作,元數據管理效率較低等等。因此,對于這種管理方式來說在多數據量的環境下性能表現力不從心,大多數情況下只能適用于遙感影像數據量較小的環境下。

2.2 文件和數據庫混合的方式

文件和數據庫混合的方式的主要原理是將遙感影像數據以文件的形式保存在服務器上,但是與之對應的元數據卻分隔開來保存在了數據庫當中,這種管理方式的主要優點是遙感影像數據存儲的效率高,但是相對難度也會增大很多,并且隨著時間的推移,遙感影像數據量會不斷增多,并且后期的維護難度也非常大。

2.3 基于數據庫的方式

基于數據庫的遙感影像管理模式主要以分布式對象對應關系數據庫管理遙感影像數據,該方式不僅可以給中央服務器減負,還可以減少產生瓶頸的幾率,提高數據的傳送率、查詢以及更新效率,可以大大縮短相應時間,并且能夠支持多用戶的并發訪問,這些都是其他管理模式無法比擬的。除此之外目前的數據庫都設置了安全訪問控制機制,這樣的設置能夠為開發人員省下了不少的麻煩,提高效率。

3 遙感影像數據庫管理系統建設對比分析

由于工作的需要,遙感影像數據庫管理系統的功能要求越來越高,為了更好的進行分析研究,文章對比了傳統遙感影像數據庫系統來論述。

3.1 傳統遙感影像數據庫管理系統分析

3.1.1 關系數據庫系統

傳統的關系數據庫對于遙感影像數據的處理僅限于數值和字符串,并沒有豐富的數據類型,這對于遙感影像的使用、研究來說是極其不方便的,建立在對象層來挖掘面向對象應該是目前的主流,對于對象數據庫的存儲和訪問不能優化,其效率不高,而且技術上也存在嚴重的問題。

3.1.2 對象數據庫系統

在上個世紀八十年代以來,對了遙感影像數據的最好技術就是面對象技術,這種技術的應用能夠使得系統當中的數據模型表現的更加直觀、并且性能更加的問題,后期維護也較為方便,同時這種系統也存在致命的缺陷,對于SQL的支持很少,實際的工作當中,許多軟件需要應用到SQL接口。

3.2 對象一關系數據庫系統

對象一關系數據庫管理系統具備最大的優勢就是具有面向對象的建模能力,對于復雜的遙感影像數據都能進行分析,用戶可以直接使用數據管理工具,將遙感影像應用的具體范圍與系統實現無縫結合,極大的提高了工作效率。

在目前來說,對象一關系數據庫管理模式還處在研發階段,只能說是一種新興的技術,其應用的行業領域也較窄,相比上文論述的遙關系數據庫管理來說還尚不成熟,關系數據庫系統的所有操作只是按照既定的操作標準來執行,相對來說非常簡單,但是其致命缺點有限的數據類型以及程序設計中數據結構是制約關系數據庫系統發展的最大障礙。而遙感影像數據對象一關系數據庫管理系統能夠將面向對象的建模能力和關系數據庫的功能實現了有機的結合,理論上來說都優于上述兩種遙感影像數據庫管理系統,還能將關系數據庫系統缺點轉換成優勢,具有高度的擴展性、管理復雜遙感影像數據的能力也大大提高,用戶通過自定義的功能和索引表達,對于各種類型的遙感影像數據實現訪問、存儲以及恢復等功能。

遙感影像數據對象一關系數據庫管理系統通過開放SQL平臺,可以最大限度的避免定義復雜對象的專有數據結構,使得遙感影像數據庫管理系統的應用更加廣泛。

4 遙感影像數據庫管理系統建設的技術分析

隨著遙感技術的不斷發展,遙感影像數據量增長速度越來越快,在這樣的背景下,必須要研發出一套高效的管理應用系統,將遙感影像的分發以及處理能力提升到新的高度,與此同時還需要很好的契合遙感影像數據制作影像海圖等各方面應用需求。高效科學的遙感影像數據庫管理系統建設成為了業內關注的焦點。鑒于此,文章對遙感影像數據庫管理系統建設的總體構架以及相關的技術問題提出了幾點愚見。

4.1 遙感影像數據庫管理系統建設的總體架構

針對日常生產生活對遙感影像數據庫管理系統提出的功能和要求,總的來說,系統的總體框架可以分成四層: 基礎設施層、數據層、邏輯層和應用層。在這四個層次當中,基礎設施層是整個遙感影像數據庫管理系統運行的基礎,主要包含了系統的軟硬件運行環境以及網絡運行環境的建設;第二層數據層對于整個遙感影像數據庫管理系統來說,是非常關鍵的組成部分,也應該是建設的重中之重,其主要的功能是對采集的原始遙感影像、影像元數據以及矢量數據等等進行儲存;而對于邏輯層來說,主要的工作就是對客戶端訪問遙感影像數據庫所需的功能部件進行優化升級;最后的應用層主要就是對遙感影像數據庫管理系統當中的集成影像進行日常的管理和維護,同時提供查詢、分析以及分發等等功能。

4.2 遙感影像數據庫管理系統功的能設計

結合上文對遙感影像數據庫管理系統總體架構分析,所提出的四層主要架構需要實現的功能,可以將遙感影像數據庫管理系統分為五個子系統。

4.2.1 質檢入庫子系統

遙感影像采集后需錄入到系統當中,但是在此之前需要對遙感影像進行質檢,主要檢查的內容包括了遙感影像的完整性、一致性等等,并且通過工程化方式對遙感影像、元數據等等實現快速入庫,支持斷點續傳、后臺任務同時進行。

4.2.2 組織管理子系統

該子系統是對遙感影像數據管理的核心部分,主要對數據庫當中遙感影像的參數進行配制、同時還包含了數據建模、數據備份以及數據共享等等應用,方便遙感影像數據的共享和管理系統的集成。

4.2.3 分發服務子系統

需要在系統中引入電子商務模式的影像分發服務,實現對數據庫中遙感影像的查詢、分發等功能,同時在改子系統當中提供開放的數據接口。

4.2.4 技術支援子系統

對入庫的遙感影像數據進行規范化處理,包括了元數據的采集、快視圖提取、鑲嵌、配準等。

4.2.5 配置維護子系統

主要的工作是支持和維護遙感影像數據庫管理系統的運行,提供一系列的安全管理配套功能,如用戶管理、日志信息維護等。

結語

遙感技術隨著社會經濟的發展,應用越來越廣泛,面對與日俱增的遙感影像數據,必須要建立一個強大的遙感影像數據庫管理,這也是遙感影像發展的必然趨勢。遙感影像信息系統核心技術設計的范圍較廣、難度較大,目前有很多的學者在進行這方面的研究,本文對遙感影像數據庫管理系統的建設只是進行了粗淺的探討,相信隨著研究的深入和科技的發展,遙感影像數據庫管理系統建設相關研究會更加的深入,遙感影像也會更加方便的應用于我們的各項工作當中。

參考文獻

[1]黃杰,劉仁義,劉南,沈林芳,王娜. 海量遙感影像管理與可視化系統的研究與實現[J]. 浙江大學學報(理學版). 2008(06).

第8篇

絡不法分子通過網絡,局域網等途徑通過入侵電腦使系統無法正常啟動,或超負荷讓機子運行大量算法,

并關閉CPU風扇,使CPU過熱燒壞等破壞性活動;第二層是指系統信息安全,系統安全通常受到的威脅

如下,黑客對數據庫入侵,并盜取想要的資料。

關鍵字:數據庫;管理;技術

Abstract: The security database contains two meanings: the first layer is that the system is running security,the usual threats of system safe operation are a number of network criminals through the network, local area networks and channels such as the invasion of the computer system does not start properly, or let overload machine running a large number of algorithms, and turn off the CPU fan, to made the CPU overheating burned and other destructive activities; second layer refers to information systems security, system security was usually threats by as follows, a hacker invasion, the database and steal the information you want.

Key words: database; management; technology

中圖分類號:TP31 文獻標識碼:A文章編號:2095-2104(2012)

數據庫系統在管理數據和數據傳輸中起著至關重要的作用,數據庫系統在實際應用中存在來自各方面的安全風險,由安全風險最終引起安全問題。

一、數據庫安全的含義

數據庫安全包含兩層含義:第一層是指系統運行安全,系統運行安全通常受到的威脅如下,一些網絡不法分子通過網絡,局域網等途徑通過入侵電腦使系統無法正常啟動,或超負荷讓機子運行大量算法,并關閉cpu風扇,使cpu過熱燒壞等破壞性活動;第二層是指系統信息安全,系統安全通常受到的威脅如下,黑客對數據庫入侵,并盜取想要的資料。

下面從晰面講述數據庫系統的安全風險。

二、數據庫安全的特征

數據庫系統的安全特性主要是針對數據而言的,包括數據獨立性、數據安全性、數據完整性、并發控制、故障恢復等幾個方面。下面分別對其進行介紹

1、數據獨立性

數據獨立性包括物理獨立性和邏輯獨立性兩個方面。物理獨立性是指用戶的應用程序與存儲在磁盤上的數據庫中的數據是相互獨立的;邏輯獨立性是指用戶的應用程序與數據庫的邏輯結構是相互獨立的。

2、數據安全性

操作系統中的對象一般情況下是文件,而數據庫支持的應用要求更為精細。通常比較完整的數據庫對數據安全性采取以下措施:

(1)將數據庫中需要保護的部分與其他部分相隔。

(2)采用授權規則,如賬戶、口令和權限控制等訪問控制方法。

(3)對數據進行加密后存儲于數據庫。

3、數據完整性

數據完整性包括數據的正確性、有效性和一致性。正確性是指數據的輸入值與數據表對應域的類型一樣;有效性是指數據庫中的理論數值滿足現實應用中對該數值段的約束;一致性是指不同用戶使用的同一數據應該是一樣的。保證數據的完整性,需要防止合法用戶使用數據庫時向數據庫中加入不合語義的數據

4、并發控制

如果數據庫應用要實現多用戶共享數據,就可能在同一時刻多個用戶要存取數據,這種事件叫做并發事件。當一個用戶取出數據進行修改,在修改存入數據庫之前如有其它用戶再取此數據,那么讀出的數據就是不正確的。這時就需要對這種并發操作施行控制,排除和避免這種錯誤的發生,保證數據的正確性。

5、故障恢復

由數據庫管理系統提供一套方法,可及時發現故障和修復故障,從而防止數據被破壞。數據庫系統能盡快恢復數據庫系統運行時出現的故障,可能是物理上或是邏輯上的錯誤。比如對系統的誤操作造成的數據錯誤等。

三、計算機安全問題的具體原因的分析

1、操作方面的問題來自操作系統的風險主要集中在病毒、后門、數據庫系統和操作系統的關聯性方面。

首先在病毒方面,操作系統中可能存在的特洛伊木馬程序對數據庫系統構成極大的威脅,數據庫管理員尤其需要注意木馬程序帶給系統人駐程序所帶來的威脅。一旦特洛伊木馬程序修改了人駐程序的密碼,并且當更新密碼時,入侵者能得到新的密碼。

其次在操作系統的后門方面,許多數據庫系統的特征參數盡管方便了數據庫管理員,但也為數據庫服務器主機操作系統留下了后門,這使得黑客可以通過后門訪問數據庫。最后數據庫系統和操作系統之間帶有很強的關聯性。操作系統具有文件管理功能,能夠利用存取控制矩陣,實現對各類文件包括數據庫文件的授權進行讀寫和執行等,而目操作系統的監攔褂能進行用戶登錄和口令鑒別的控制,因此數據庫系統的安全性最終要靠操作系統和硬件設備所提供的環境,如果操作系統允許用戶直接存取數據庫文件,則在數據庫系統中采取最可靠的安全措施也沒有用。

2、管理問題用戶安全意識薄弱,對信息網絡安全重視不夠,安全管理措施不落實,導致安全事件的發生,這些都是當前安全管理工作存在的主要問題。從已發生安全事件的原因中,占前兩位的分別是“未修補軟件安全漏洞”和“登錄密碼過于簡單或未修改”,也表明了用戶缺乏相關的安全防范意識和基本的安全防范常識。比如數據庫系統可用的但并未正確使用的安全選項、危險的默認設置、給用戶更多的不適當的權限,對系統配置的未經授權的改動等等。

3、數據庫系統自身問題雖然絕大多數常用的關系數據庫系統已經存在了十多年之久,并目具有強大的特性,產品非常成熟。但許多應詼具有的特征,在操作系統和現在普遍使用的數據庫系統中,并沒有提供,特別是那些重要的安全特征,絕大多數關系數據庫系統并不夠成熟。

四、數據庫安全策略

1、對用戶安全管理

Web數據庫是個極為復雜的系統,因此很難進行正確的配置和安全維護,當然,必須首先要保證的就是數據庫用戶的權限的安全性。

當用戶通過Web方式要對數據庫中的對象(表、視圖、觸發器、存儲過程等)進行操作時,必須通過數據庫訪問的身份認證。多數數據庫系統還有眾所周知的默認賬號和密碼,可支持對數據庫資源的各級訪問。因此,很多重要的數據庫系統很可能受到威協。

用戶存取權限是指不同的用戶對于不同的數據對象有不同的操作權限。存取權限由兩個要素組成:數據對象和操作類型。定義一個用戶的存取權限就是要定義這個用戶可以在哪些數據對象上進行哪些類型的操作。

權限分系統權限和對象權限兩種。系統權限由DBA授予某些數據庫用戶,只有得到系統權限,才能成為數據庫用戶。對象權限是授予數據庫用戶對某些數據對象進行某些操作的權限,它既可由DBA授權,也可由數據對象的創建者授予。

2、數據加密

數據安全隱患無處不在。一些機密數據庫、商業數據等必須防止它人非法訪問、修改、、拷貝。如何保證數據安全?數據加密是應用最廣、成本最低廉而相對最可靠的方法。數據加密是保護數據在存儲和傳遞過程中不被竊取或修改的有效手段。

數據加密系統包括對系統的不同部分要選擇何種加密算法、需要多高的安全級別、各算法之間如何協作等因素。在系統的不同部分要綜合考慮執行效率與安全性之間的平衡。因為一般來講安全性總是以犧牲系統效率為代價的。

如果要在Internet上的兩個客戶端傳遞安全數據,這就要求客戶端之間可以彼此判斷對方的身份,傳遞的數據必須加密,當數據在傳輸中被更改時可以被發覺。

3、事務管理和故障恢復

事務管理和故障恢復主要是對付系統內發生的自然因素故障,保證數據和事務的一致性和完整性。

故障恢復的主要措施是進行日志記錄和數據復制。在網絡數據庫系統中,分布事務首先要分解為多個子事務到各個站點上去執行,各個服務器之間還必須采取合理的算法進行分布式并發控制和提交,以保證事務的完整性。

事務運行的每一步結果都記錄在系統日志文件中,并且對重要數據進行復制,發生故障時根據日志文件利用數據副本準確地完成事務的恢復。

4、數據庫備份與恢復

計算機同其他設備一樣,都可能發生故障。計算機故障的原因多種多樣,包括磁盤故障、電源故障、軟件故障、災害故障以及人為破壞等。一旦發生這種情況,就可能造成數據庫的數據丟失。

因此數據庫系統必須采取必要的措施,以保證發生故障時,可以恢復數據庫。數據庫管理系統的備份和恢復機制就是保證在數據庫系統出故障時,能夠將數據庫系統還原到正常狀態。

加強數據備份非常重要,數據庫擁有很多關鍵的數據,這些數據一旦遭到破壞后果不堪設想,而這往往是入侵者真正關心的東西。不少管理員在這點上作得并不好,不是備份不完全,就是備份不及時。

數據備份需要仔細計劃,制定出一個策略測試后再去實施,備份計劃也需要不斷地調整。

主站蜘蛛池模板: 黄色小视频免费 | 91精品国产综合久久青草 | 免费看毛片的网站 | 久久精品国产99久久无毒不卡 | 精品国产96亚洲一区二区三区 | 秋霞午夜鲁丝片午夜精品久 | 奇米影音先锋 | 五月天激情综合 | 美女写真视频一二三区 | 国产成人精品日本亚洲11 | 青草草产国视频 | 激情五月综合网 | 欧美精品99久久久久久人 | 国产成人小视频在线观看 | 99视频在线 | 天天插狠狠干 | 日韩每日更新 | 欧美日韩视频 | 国产一级毛片在线 | 福利国产在线 | 国产精品天堂avav在线 | 视频国产在线 | 99视频精品全部免费免费观 | 亚洲欧美日韩综合久久久久 | 高清不卡免费一区二区三区 | 99精品久久久久久久免费看蜜月 | 99视频精品全部免费观看 | 国产加勒比 | 天堂视频在线观看免费完整版 | 四虎影视在线影院4hutv | 成人做羞羞事免费网站 | 婷婷四房综合激情五月性色 | www.米奇777.com | 婷婷在线五月 | 伊人天堂网 | 青草视频入口 在线观看 | 在线毛片免费观看 | 99福利在线 | 在线精品视频免费观看 | 男女在线免费视频 | 肉大捧一进一出视频免费播放 |