乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

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

       飛魚^_^ 2010-11-24

      以下是對兩個(gè)嵌入式數(shù)據(jù)庫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為許多編程語言提供了實(shí)用的API接口,包括C、C++Java、:PerlTcl、PythonPHP等。適用平臺UNIXPOSIX systems、win32以及嵌入式操作系統(tǒng)WinCE、VxWorks等。

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

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

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

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

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

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

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

      系統(tǒng)大小

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

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

      優(yōu)勢

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

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

       

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

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

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多