日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

兩種嵌入式常用數(shù)據(jù)庫(kù)比較 - 嵌入式相關(guān) - 無(wú)為

 飛魚^_^ 2010-11-24

以下是對(duì)兩個(gè)嵌入式數(shù)據(jù)庫(kù)Berkeley DBSQLite的部分比較:

名稱/內(nèi)容

Berkeley DB

SQLite

Licence

Versions 2.0 and higher of Berkeley DB are available under a dual license. Versions earlier than 2.0 are available under a BSD-like license that has an unusual additional clause similar to the GNU GPL version 2's Section 3.From Wiki

Dual License

The Berkeley DB products are available under a dual license model, which offers

great advantages for customers. An open source license permits customers to use

Berkeley DB at no charge under the condition that if a customer uses Berkeley DB

in an application they distribute to a third party, the complete source code for the

application must be available. A commercial software license is also available and

permits the customer to distribute their application without releasing their source

code.From OTN

Anyone is free to copy, modify, publish, use, compile, sell, or distribute the original SQLite code, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means.From sqlite.org

API

Berkeley DB為許多編程語(yǔ)言提供了實(shí)用的API接口,包括C、C++Java、:PerlTcl、PythonPHP等。適用平臺(tái)UNIXPOSIX systems、win32以及嵌入式操作系統(tǒng)WinCE、VxWorks等。

SQLite本身提供CTcl的接口,世界各地的程序員還提供了各種語(yǔ)言的SQLite的接口封裝, Python、C++Java、.Net等幾乎所有流行的語(yǔ)言基本都有。sQLite提供一個(gè)抽象的操作系統(tǒng)接口層,來(lái)保證其在POSIX Win32系統(tǒng)之間的兼容性。

數(shù)據(jù)存儲(chǔ)

Berkeley DB對(duì)任何存入的數(shù)據(jù)都是按原樣直接存儲(chǔ)到數(shù)據(jù)文件中,無(wú)論是二進(jìn)制數(shù)據(jù)還是A S C I IUnicode等編碼。Berkeley DB提供了四種存儲(chǔ)數(shù)據(jù)的模式:BtreeHash、QueueRecno

SQLite只提供Btree存儲(chǔ)數(shù)據(jù)的模式。對(duì)二進(jìn)制數(shù)據(jù),SQLite不能直接保存,但可以先將二進(jìn)制的數(shù)據(jù)轉(zhuǎn)換成ASCII編碼,然后再保存。

標(biāo)準(zhǔn)SQL

Berkeley DB不是關(guān)系型的數(shù)據(jù)庫(kù),不能應(yīng)用標(biāo)準(zhǔn)的SQL語(yǔ)句對(duì)數(shù)據(jù)庫(kù)操作,對(duì)它的操作要調(diào)用專用的API實(shí)現(xiàn)。

SQLite支持大部分的ANSI SQL92標(biāo)準(zhǔn),特別是支持視圖、觸發(fā)器、事務(wù),支持嵌套SQL。通過(guò)SQL編譯器來(lái)實(shí)現(xiàn)SQL語(yǔ)言對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作。

系統(tǒng)大小

Berkeley DB的源代碼有CJava兩種,函數(shù)庫(kù)本身雖然只有300KB左右,能管理256TB的數(shù)據(jù)。

SQLite的源代碼是C,其源代碼完全開(kāi)放。全部源碼大致3萬(wàn)行c代碼,250KB左右,支持?jǐn)?shù)據(jù)庫(kù)大小至2TB。

優(yōu)勢(shì)

首先,由于其應(yīng)用程序和數(shù)據(jù)庫(kù)管理系統(tǒng)運(yùn)行在相同的進(jìn)程空間當(dāng)中,進(jìn)行數(shù)據(jù)操作時(shí)可以避免繁瑣的進(jìn)程間通信,因此耗費(fèi)在通信上的開(kāi)銷自然也就降低到了極低程度。其次,Berkeley DB使用簡(jiǎn)單的函數(shù)調(diào)用接口來(lái)完成所有的數(shù)據(jù)庫(kù)操作,而不是在數(shù)據(jù)庫(kù)系統(tǒng)中經(jīng)常用到的SQL語(yǔ)言,避免了對(duì)結(jié)構(gòu)化查詢語(yǔ)言進(jìn)行解析和處理所需的開(kāi)銷。

SQLite有以下特性:支持ACID事務(wù);零配置;儲(chǔ)存在單一磁盤文件中的一個(gè)完整的數(shù)據(jù)庫(kù);數(shù)據(jù)庫(kù)文件可以在不同字節(jié)順序的機(jī)器間自由共享;比目前流行的大多數(shù)數(shù)據(jù)庫(kù)對(duì)數(shù)據(jù)的操作要快;提供了對(duì)事務(wù)功能和并發(fā)處理的支持;獨(dú)立,沒(méi)有額外依賴。

 

 項(xiàng)目需求不同,選擇也不一樣,具體情況具體分析就是了。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多