999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

三層度量模型BerkeleyDB與SQLite系統評測研究

2015-03-07 05:40:14陳亞峰郭一帆
中國測試 2015年7期
關鍵詞:嵌入式數據庫質量

陳亞峰,郭一帆

(1.河南省輕工業學校,河南 鄭州 450000;2.河南建筑職業技術學院,河南 鄭州 450000)

三層度量模型BerkeleyDB與SQLite系統評測研究

陳亞峰1,郭一帆2

(1.河南省輕工業學校,河南 鄭州 450000;2.河南建筑職業技術學院,河南 鄭州 450000)

針對在嵌入式系統設計時難以抉擇采用何種數據庫的現狀,提出適用于嵌入式數據庫評測的三層質量特性度量模型及其指標體系。在分析嵌入式數據庫系統特點的基礎上,參考目標問題度量(goal-question-metric,GQM)范式,建立包含質量特性、質量子特性和子特性的度量元三層度量評測模型和指標體系。依據該模型分析闡述Berkeley DB和SQLite的系統性能,驗證該評測模型。通過仿真實驗,進一步驗證其有效性。結論表明能為開發者在實際應用中選擇何種嵌入式數據庫提供參考。

嵌入式數據庫;三層度量模型;Berkeley DB;SQLite;系統評測

0 引 言

隨著嵌入式系統的應用日益廣泛,僅適用于PC機、體積龐大、延時較長的數據庫技術已不能滿足嵌入式系統開發的需求[1]。不同的嵌入式數據庫在體系結構、計算能力、存儲方法等方面的性能千差萬別,在嵌入式系統設計時決定采用何種數據庫,需要設計者有一個切實的系統評測結果[2]。同時,合適的評測方案能提高測試效率,避免目標系統遇到的不能保證可靠性、實時性、并發性等瓶頸,此外完善的嵌入式數據庫的評測需要更多細致的工作。目前,國外通用的數據庫測試是事物處理性能委員會(TPC)組織[3]制定的測試標準和規范,對嵌入式數據庫則無對應的標準和規范。嵌入式實時測試領域中,比較有代表性的有CodeTest、LogiScope,專門針對嵌入式數據庫的測試工具較少。國內李慶誠和董潔等[4-5]針對嵌入式數據庫已展開相關研究,但未形成成熟的理論體系。

基于此,本文建立了基于三層質量度量模型的嵌入式數據庫評測比較模型和指標體系,并針對應用較為廣泛、技術較為穩定的Berkeley DB和SQLite進行了驗證。

1 嵌入式數據庫系統

嵌入式數據庫通常與嵌入式操作系統及其應用集成在一起,由程序直接調用相應的API就可實現對數據的存取。在特定的開發環境下,嵌入式數據庫系統具有如下特點:

1)體積適當。由于嵌入式系統自身的特點,對數據的存儲和程序的運行都具有較強的空間限制,所以嵌入式數據庫就必須占用盡量少的ROM、RAM和CPU等系統資源。因此,要求嵌入式數據庫具有微小內核,以便實現嵌入系統的功能。

2)系統的可靠性、可管理性和安全性是對所有數據庫普遍的要求,嵌入式數據庫系統也不例外。同時由于嵌入式系統自身的特點和嵌入式數據庫運行存在的要求,使得對嵌入式數據庫在此方面的要求更加苛刻。

3)可移植性。由于嵌入式系統的開發和應用平臺種類繁多,為了得到更加廣泛的應用,嵌入式數據庫應該具備較好的移植性和平臺無關性。

4)具備運行速度快、資源利用率高以及開發環境盡可能簡化等性能要求。

5)多任務、多數據類型的支持需求。嵌入式數據庫總是與操作系統集成應用,由于不需要獨立的數據庫引擎,使得嵌入式數據庫必須適應嵌入式操作系統的要求,必須支持多任務、多數據類型。

6)在功能上,嵌入式數據庫系統應該支持對記錄的插入、刪除、修改和查詢等操作,支持表的創建、刪除、排序、索引、歸并等操作。

7)基于對數據庫本身的要求,嵌入式數據庫還必須支持數據庫的備份和恢復以及維護等工作[6]。

2 三層質量框架度量模型

對于一個系統軟件的評測首先要制定具體的測試方案,該方案取決于所采用的評測度量模型[7]。在分析嵌入式數據庫系統特點的基礎上,參考目標問題度量(goal-question-metric,GQM)范式[8],構建了三層質量框架度量模型。

三層質量框架度量模型是將評測指標框架分為要評測的質量特性、質量子特性和子特性的度量元,然后根據評測需要構建度量模型的方法,其結構如圖1所示。

圖1 三層質量框架度量模型的結構圖

首先確定的第1層是被評測系統的質量特性(quality character,QC),每一個質量特性代表了被評測對象質量的一個方面,根據GJB 2434——1995《軍用軟件測試與評估通用要求》的規定,一般包括功能性、可靠性、易用性、效率、可維護性和可移植性6個方面。

其次確定第2層,即各質量特性細化后的子特性。例如,根據GJB 2434——1995的規定,一般功能性的子特性包括合適性、準確性、互用性、依從性和安全性5個方面??煽啃缘淖犹匦园ǔ墒煨浴⑷蒎e性和易恢復性等方面。與確定質量特性框架指標的原則一樣,該層可根據系統的特點和評測的目的選擇其中若干個指標進行評測即可。

再次確定指標框架的第3層,即被評測系統要測試的子特性的度量元(measurement flement,ME)以便進行定量測評。度量元可用文字表述來表明子特性的滿足程度,或用分級表述來表明子特性的等級,也可用屬性表述來表明子特性是否滿足等。根據這些要素對系統進行打分評定,綜合各要素的評分就可以得到相應的子特性值和特性值。

最后,給要評測的質量特性(質量子特性)規定一個衡量標準,即定義質量需求。同時定義評價等級和綜合評測準則和方法。

3 嵌入式數據庫系統評測框架體系

嵌入式數據庫除了具有傳統數據庫的一般特性外,還具備不同的應用特性和設計特性。在衡量其優劣時還必須考慮嵌入式特性,因此在設計嵌入式數據庫評測時,質量特性包括應用特性、嵌入式特性和設計特性3個方面。

3.1 應用特性

應用特性包括支持語言接口、適用系統、適用場合、成本高低和易用性5個子特性,其度量元分別為支持的語言及其數量,支持平臺系統及其數量,適合微、小、中、大型系統中的類型,是否開源或免費,難、中、易程度等。

支持語言接口:不僅要有應用于嵌入式場合的C/C++接口,同時為便于嵌入式數據庫產品的標準化,也要有SQL語言。

適用系統:要適應嵌入式系統廣闊的應用空間,嵌入式數據庫應支持多平臺。

適用場合:嵌入式數據庫需要根據不同場合選型。成本高低:低成本是嵌入式數據庫必須考慮的。易用性:一種軟件是否易用、友好是衡量該軟件質量的一個重要體現及推廣階段重點考慮的因素。

3.2 嵌入式特性

嵌入式特性包括精簡性、移植性、擴展性、管理性、高效和開發難易6個子特性,其度量元分別為占用空間大小(KB),支持平臺及數量,是否支持擴展,是否需要管理,基本操作效率,最大數據量,并發訪問量,開發難、中、易程度等。

精簡性:目標代碼在達到一定嵌入式性能指標下,應盡可能降低其尺寸,以減少對有限內存資源的占用量。

移植性:嵌入式領域中,種類繁多,必須做到接口盡量簡單,便于系統的移植。

擴展性:為驗證軟件與其所在環境的依賴程度,需要對嵌入式數據庫進行可擴展性評測。

可管理性:通常不需要人工參與,因此嵌入式數據庫需要實現零管理。

高效性:通常從數據處理能力和并發控制能力兩個方面衡量。

3.3 設計特性

設計特性包括體系結構、數據類型、存儲方式、存儲模式、DB模式、SQL支持、開發語言、可靠性8個子特性,其度量元分別為是否簡潔清晰,支持的數據類型,支持的存儲方式,支持的存儲模式,是否為DB模式,是否支持SQL,開發的語言種類,錯誤處理、加密強弱等。

體系結構:一般為系統屬性,體現其設計思想。

數據類型:決定了數據被訪問和操作的方式。

存儲方式:整個實時數據庫系統的高性能就是以內存數據庫作為底層支持的,所以存儲方式是衡量因素。

存儲模式:索引結構重點解決時空開銷,合適的存儲模式可以有效使用有限資源來加快執行速度。

DB模式:將數據庫服務器作為函數的形式,能解決進程間通信帶來的系統開銷,剔除不定性從而提高運行效率。

SQL支持:考察其對SQL語言的支持程度以及對開放數據庫互連(open database connectivity,ODBC)的支持程度。

可靠性:錯誤處理能力以及加密強弱。

4 Berkeley DB和SQLite系統性能評測

4.1 Berkeley DB系統性能分析

Berkeley DB是一個適合嵌入式應用領域的數據庫[9],在從嵌入式系統到大型系統的多種場合均有很好的適用性,能夠運行在Unix、Linux、Win32、WinCE、VxWorks、PIOSIX system等操作系統。Berkeley DB以源代碼的形式開源發放,大部分均可以免費從www.sleepycat.com網站上下載,并可以自由應用于其他開放源代碼的項目中。它為數據訪問和管理提供了簡單的函數調用,支持的API語言有C、C++、Java和Dbm/Ndbm等,支持的腳本語言有Perl、Tel和PHP等。但是,從易用性的角度來講,Berkeley DB的設計較為復雜。

BerkeleyDB本身很精簡(文本空間少于300 KB),它支持高并發度,工作容量可為上萬個用戶同時提供服務,單文件的容量也達到了256TB,它采用內進程執行模型,調用API函數簡單,管理幾乎零開銷。傳統的數據庫一般作為獨立服務器工作,而Berkeley DB是軟件開發庫,開發者將它嵌入到應用程序中,應用程序本身就是一個服務器。因為只是利用嵌入式數據庫開發來實現定制的數據庫邏輯,避免了與應用服務器進程間的通信開銷,所以Berkeley DB具有較高運行效率。Berkeley DB可以運行于幾乎所有的Unix和Linux系統及其變種系統、Windows操作系統以及多種嵌入式實時操作系統之上,在32位和64位系統上均可以運行,具備很強的移植性,已經被許多高端的因特網服務器、臺式機、掌上電腦、機頂盒、網絡交換機以及其他一些應用領域所采用。在用Berkeley DB開發時,要求開發者具有一定的專業水準。

Berkeley DB由5個子系統構成,包括數據存?。╝ccess methods)管理子系統、內存池(memory pool)管理子系統、事務(transaction)管理子系統、鎖(locking)子系統和日志(logging)管理子系統,其體系結構如圖2所示。

圖2 Berkeley DB體系結構

Berkeley DB不是關系型數據庫,不能應用標準的SQL語句對數據庫操作,而是需要調用專用的API。這些API提供了查詢、插入、刪除等功能。在大多數場合只需按照統一的接口標準進行調用就可以完成基本操作。Berkeley DB提供的開發語言接口主要是C和Java兩種語言。Berkeley DB提供了專門的函數來捕獲錯誤代碼并將之轉變成具體的錯誤描述。當有錯誤發生時,首先由函數db-strerror返回指向錯誤消息的指針,該函數對于系統錯誤和Berkeley DB自身的錯誤都可以處理;然后再由Db-err或Db-errx來格式化輸出錯誤信息。整體而言,Berkeley DB的加密功能也是比較強的。

4.2 SQLite系統的性能分析

SQLite嵌入式數據庫也提供了源代碼,可以從www.sqlite.org網站上完全免費下載,要在眾多的硬件平臺進行移植[10],可以根據不同平臺對源碼進行交叉編碼來實現。SQLite高速、有效、可升級,可以運行于ARM/Linux到SPARC/Solaris等多種中小型系統硬件平臺上。SQLite嵌入式數據庫與POSIX和Win32系統兼容,支持語言較多,如C、Tel等。

SQLite嵌入式數據庫體積足夠小,總共不到3萬行C代碼和占用不大于250KB的空間容量,支持大至2TB數據庫。它支持ACID事務、零配置、數據庫文件,可以在不同字節順序的機器間自由共享。它的速度較快、移植性強、開發環境簡單,但由于自身設計需求,其擴展性較弱,不支持XML;其并發性也不夠高,僅僅對單用戶寫操作具備并發性。

SQLite有著優雅、標準化的設計,其邏輯架構采用流式設計,體系結構模塊簡潔、關系清晰,主要分為頂層、SQL編譯和底層3大模塊,細分為8個子模塊,SQLite體系結構如圖3所示。

由圖可以看到,SQLite的8個子模塊分別為接口、標記處理器、分析器、分析器生成器、虛擬機、B-樹驅動、頁面高速緩存和操作系統接口。SQLite體系結構的核心是虛擬數據庫引擎(virtual database engine,VDBE),它完成與數據操作相關的全部任務,并且是客戶和存儲之間信息交換的中間單元。

圖3 SQLite體系結構

作為基于關系數據庫模式的SQLite,支持絕大多數標準的SQL92語句[11]。在很大程度上實現了ANSI SQL92標準,特別是支持視圖、觸發器、事務,支持嵌套SQL。在操作語句上更類似關系型數據庫的產品,非常方便。此外,SQLite也有API的概念,而且極易于使用。與Berkeley DB提供的存儲模式不同,SQLite只提供BTree存儲數據的模式,存儲方式也只能是ASCII碼,即對二進制數據不能直接保存,必須進行轉化為ASCII碼后才能保存。

SQLite支持C語言開發,其數據類型屬于無數據類型。雖然在生成表結構的時候,要生成每個域的數據類型,但是SQLite并不做任何檢查,開發人員要靠自己的程序來控制輸入和讀出數據類型。SQLite的錯誤處理是非常粗略的,其加密功能也相對較弱。

表1 Berkeley DB與SQLite的評測比較

4.3 Berkeley DB與SQLite的評測比較

依據評測模型及其框架體系和前面的分析,對Berkeley DB與SQLite系統性能進行了評測,其結果如表1所示。可知二者在應用特性、嵌入式特性和設計特性各自具有不同的特點,在不同的應用場合有不同的應用價值。在具體設計嵌入式系統時,可以根據實際需要選擇合適的數據庫。

4.4 仿真實驗

為進一步驗證該評測模型,進行了仿真實驗。實驗環境:平臺為Linux PC機,處理器3.0 GHz,內存容量2.0GHz,分別調用數據庫提供的不同API函數。首先進行打開(Open)、增加(Add)、更新(Update)、刪除(Remove)、關閉(Close)等操作,然后進行查詢(Getonly)操作。測試的次數為5次,操作完成的單位為ms。測試結果如表2、表3和表4所示。

表2 Berkeley DB的測試結果

表3 SQLite的測試結果

表4 Berkeley DB與SQLite的測試結果對比

可知,二者各操作完成的時間相差很大,原因是體系結構、存儲模式等方面的差異。比如Berkeley DB體系結構為包含式架構由5個子系統組成,同時存儲時需要調用專用的API導致完成時間較長,而SQLite為流式架構由3大模塊組成,所以打開和關閉數據庫、更新和查詢記錄時Berkeley DB明顯慢于SQLite;由于Berkeley DB的存儲方式為原樣存儲,而SQLite還需要轉換格式,增加記錄時SQLite速度卻低于Berkeley DB。

5 結束語

從目前廣泛應用的Berkeley DB和SQLite兩個嵌入式數據庫入手,利用構建的三層度量模型對二者的系統性能進行闡述和分析,并在此基礎上進行評測比較和仿真實驗,為開發者在實際應用中選擇何種嵌入式數據庫提供重要的參考。本研究的創新主要在于:1)對Berkeley DB和SQLite兩個開源嵌入式數據庫系統性能的分析闡述全面詳盡;2)建立了基于三層質量度量模型的嵌入式數據庫評測模型和指標體系;3)基于三層質量度量模型對Berkeley DB和SQLite系統性能評測比較和仿真實驗,驗證了該模型的有效性,同時為開發者在實際應用中選擇何種嵌入式數據庫提供重要的參考。

[1]李明月.基于嵌入式數據庫的分布式應用與實現[D].長春:吉林大學,2011.

[2]張欽伍.實施系統級軟件確認評測的構想[J].計算機工程與科學,2000,22(5):100-103.

[3]TPC-B measures throughput in terms of how many transactions per second a system can perform[EB/OL]. http://www.tpc.org/tpcb/default.asp,2009.

[4]李慶誠,盧濤,劉嘉欣.嵌入式數據庫評測框架構建研究[J].計算機工程與設計,2008,29(1):123-125.

[5]董潔,賀紅衛,耿鴻月,等.嵌入式數據庫測試技術的研究[J].計算機工程與設計,2010,31(12):2733-2735.

[6]黃布毅,張曉華.基于ARM-Linux的SQLite嵌入式數據庫技術[J].單片機與嵌入式系統應用,2005(4):21-24.

[7]金澈清,錢衛寧,周敏奇,等.數據管理系統評測基準:從傳統數據庫到新興大數據[J].計算機學報,2014(11):78-79.

[8]Olsson T,Runeson P.V-GQM:a feedback approach to validation of a GQM study[C]∥Proc of the 7th International Software Matric Symposium,Washtington,2001:236-245.

[9]萬瑪寧,關永,韓相軍.嵌入式數據庫典型技術SQLite與Berkeley DB的研究[J].微計算機信息,2006,22(2):91-93.

[10]郝瑞.基于虛擬可信平臺的軟件可信性研究[D].太原:太原理工大學,2013.

[11]康小芳.SQLite第三版總覽[EB/OL].http:∥www.sqlite.org/ appfileformat.html.

Research of the evaluation of Berkeley DB and SQLite system based on the three-layer measurement model

CHEN Yafeng1,GUO Yifan2
(1.He’nan Light Industry School,Zhengzhou 450000,China;2.He’nan Technical College of Construction,Zhengzhou 450000,China)

In view of the design of embedded system is hard to decide which database was choosen,three layers of quality measurement model and its index system are proposed,which is suitable for embedded database evaluation.Based on the analysis of embedded database system character and GQM(goal-question-metric)method,one three layer quality measurement model and index system are established,which contains quality characteristics,quality characteristics and the characteristics of measurement.Based on the analysis of the performance of the system of the Berkeley DB and SQLite,that evaluation method is appropriate.The validity is further verified by simulation experiments.Results show that can provide important reference when the developer chooses what kind of embedded database in practice.

embedded database;three layer measurement model;Berkeley DB;SQLite;system evaluation

A

:1674-5124(2015)07-0099-05

10.11857/j.issn.1674-5124.2015.07.023

2014-10-10;

:2014-12-18

河南省信息技術教育研究重點項目(ITE12051)作者簡介:陳亞峰(1982-),男,河南項城市人,講師,碩士,主要從事嵌入式系統研究。

猜你喜歡
嵌入式數據庫質量
“質量”知識鞏固
質量守恒定律考什么
做夢導致睡眠質量差嗎
搭建基于Qt的嵌入式開發平臺
數據庫
財經(2017年2期)2017-03-10 14:35:35
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
質量投訴超六成
汽車觀察(2016年3期)2016-02-28 13:16:26
數據庫
財經(2016年6期)2016-02-24 07:41:51
主站蜘蛛池模板: 99久久精品国产自免费| 日韩二区三区| 第九色区aⅴ天堂久久香| 99视频免费观看| 午夜天堂视频| 国产精品性| 免费观看男人免费桶女人视频| 国产一线在线| 日韩在线播放中文字幕| 一级毛片在线免费视频| 欧美亚洲综合免费精品高清在线观看| 区国产精品搜索视频| 在线人成精品免费视频| 四虎影视国产精品| 免费无码又爽又黄又刺激网站 | 免费观看精品视频999| 91福利在线看| 91丝袜乱伦| 中文字幕在线欧美| 青青草原国产一区二区| 91在线播放国产| 亚洲日本www| 无码免费视频| yy6080理论大片一级久久| 2021国产精品自产拍在线观看| 亚洲综合九九| 亚洲欧洲日韩国产综合在线二区| 不卡网亚洲无码| yjizz视频最新网站在线| 特级aaaaaaaaa毛片免费视频 | 成人福利在线免费观看| 伊人久久婷婷五月综合97色| 成人午夜视频网站| 精品福利一区二区免费视频| 久久精品人人做人人| 极品国产在线| 99在线视频精品| аv天堂最新中文在线| 看国产一级毛片| 中文字幕亚洲精品2页| 国产素人在线| 婷婷亚洲最大| 国产情精品嫩草影院88av| 成人伊人色一区二区三区| 国产91在线免费视频| 伊人久热这里只有精品视频99| 91久久国产综合精品女同我| 国产激情国语对白普通话| 国产屁屁影院| 国产成人毛片| 伊人无码视屏| 中美日韩在线网免费毛片视频| 在线看片中文字幕| 高清久久精品亚洲日韩Av| 国产精品分类视频分类一区| 久久久久88色偷偷| 毛片a级毛片免费观看免下载| 亚洲AⅤ无码日韩AV无码网站| 午夜a视频| 亚洲成人网在线观看| 国产视频欧美| 国产福利一区在线| 制服丝袜亚洲| 国产欧美精品午夜在线播放| 福利小视频在线播放| 国产一级视频久久| 日韩无码视频播放| 免费人成黄页在线观看国产| 精品视频一区二区观看| 亚洲日韩精品综合在线一区二区| 欧美三级不卡在线观看视频| 亚洲区欧美区| 亚洲精品福利网站| 日本成人精品视频| 日韩专区欧美| 中文字幕波多野不卡一区| 综合五月天网| 国产亚洲男人的天堂在线观看| 香蕉视频在线观看www| 一本无码在线观看| 亚洲高清在线天堂精品| 噜噜噜久久|