跑題
據(jù)說(shuō)Oracle Berkeley DB"很好",就去試用一下,但是,它,很不給我面子,在put了半天之后,我想get一下寫(xiě)入的東西,運(yùn)行正常,但沒(méi)有結(jié)果返回,看了幾遍幫助,copy文檔的代碼,也是這個(gè)結(jié)果,就很是郁悶了。沒(méi)有太多的時(shí)間去追究問(wèn)題,還好世上還有一些“美好”的東西。sqlite,也是嵌入數(shù)據(jù)庫(kù),據(jù)說(shuō)它快但是比Oracle Berkeley DB“遜色”,但Oracle Berkeley DB 11g的sql引擎是用sqlite的,最重要的它還是免費(fèi)的。
有興趣了解的朋友可以去這里看一下。
http://www.bdbchina.com/2010/03/oracle-berkeley-db-%E6%94%AF%E6%8C%81sql%E5%95%A6%EF%BC%81/BDB中國(guó)研發(fā)團(tuán)隊(duì)的博客,講了一些與sqlite的關(guān)系。這里摘錄一下:
“Oracle Berkeley DB引入了SQLite的SQL層:包括用戶接口(sqlite3(), ODBC, JDBC等)和SQL語(yǔ)言處理層(Tokenizer、Parser及Generator),而底層引擎(虛擬機(jī))則使用了BDB的存儲(chǔ)引擎。從而,將原來(lái)SQLite基于數(shù)據(jù)庫(kù)級(jí)別的并發(fā)提升一個(gè)級(jí)別 - 至BDB的基于頁(yè)(Page)級(jí)別的并發(fā),并可以利用BDB的更好的內(nèi)存管理、數(shù)據(jù)和事務(wù)恢復(fù)功能、更多的擴(kuò)展(如Berkeley DB的db_hotbackup、db_stat、db_archive等一系列命令行工具)。”
“
Berkeley DB SQL和SQLite使用上的區(qū)別
a) 對(duì)于用戶和開(kāi)發(fā)人員來(lái)說(shuō),這兩個(gè)產(chǎn)品是沒(méi)有區(qū)別的。它們?cè)赟QL語(yǔ)法、API、命令行交互、PRAGAMAs 等方面都是一致的。我認(rèn)為,用戶可以體驗(yàn)的顯著區(qū)別有可能是性能和并發(fā)了 - 由于SQLite提供的是數(shù)據(jù)庫(kù)級(jí)別的鎖,而B(niǎo)erkeley DB SQL是頁(yè)(Page)級(jí)別的鎖,因此后者在絕大多數(shù)測(cè)試中都會(huì)快很多 (如Insert, Update, Delete, 并發(fā)操作等)。但是,由于DBSQL提供的細(xì)粒度鎖的機(jī)制,它又會(huì)帶來(lái)一些額外的開(kāi)銷(xiāo),一些極端的測(cè)試用例下會(huì)比SQLite慢上少許(但不明顯)。并且對(duì)于這些極端測(cè)試的案例,我們一直在進(jìn)行性能優(yōu)化。
b) 對(duì)于已有的SQLite應(yīng)用程序和工具而言,由于這兩者在調(diào)用接口都是一致的,因而都可以無(wú)縫支持。
c) 對(duì)于DBA人員來(lái)說(shuō),除了可以繼續(xù)使用SQLite原來(lái)的管理工具,您還可以使用BDB提供的db_hotbackup、db_stat、db_archive等一系列命令行工具來(lái)備份,監(jiān)控,升級(jí)等。另外,您還可以聯(lián)系Oracle尋求支持。
總體而言,我們有充分理由相信Oracle Berkeley DB SQL將會(huì)比SQLite更快,更穩(wěn)定。同時(shí),我們也將會(huì)提供更好的支持服務(wù)。
”
正題
使用http://sqlitewrapper.kompex-online.com/ Kompex SQLite Wrapper 呵呵,超好用
完了