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