2009-06-30 65 views
4

我想創建在C#中,我想用嵌入式數據庫一樣 (sqlite的,Berkeley DB的)桌面應用程序,所以,我怎麼能啓動基準爲這些數據庫?的SQLite,Berkeley DB的標杆

+0

這裏帶有一些信息的鏈接: [http://www.perlmonks.org/?node_id=152749](http://www.perlmonks.org/?node_id=152749) – 2009-08-01 06:47:43

+0

該研究是7歲和一個非常糟糕的基準啓動。這只是一個很好的例子,如何不做基準。 – Lucky 2009-08-13 08:23:27

回答

3

之前想的標杆,你需要比較數據庫的功能。

SQLite和BDB在它們所支持的功能完全不同,如果數據是複雜的,我會建議SQLite的關係數據更容易查詢(如果這是你的數據是如何佈局)

2

我同意與奧薩馬,你應該比較你的第一次後的功能。

不過,我不同意,「複雜」的數據應自動驅動你對sqlite的。雖然我沒有看到任何基準(也沒有關心寫任何基準),但我有一個直覺反應(無論這是否值得),BerkeleyDB幾乎每次都會表現超越。

這就是說。我不認爲這就是我用來做出我自己的決定。它可以追溯到這些功能。如果我只想要一個簡單的數據存儲,那麼我可能會選擇sqlite,因爲它會更容易。同樣,如果我希望能夠在任何領域任意查詢我的數據,或者有一天可以將其存儲在「企業」SQL數據庫中,我可能會使用sqlite,因爲未來的遷移將更容易。然而,如果我打算超越一個簡單的數據存儲,並且關注交易安全性,高併發性,高可用性,有很多讀者和作者等我有一套相當明確的「查詢」 ,那麼我可能想要BDB。

請注意,我的數據的「複雜性」並沒有真正進入這些方程。原因很簡單。 BDB可以將我的對象保持爲原生序列化格式。任何味道SQL自帶著名的阻抗失配,國際海事組織,我應用複雜。

如果您正在認真考慮BDB,我需要警告您,您應該決定將使用的前端作爲BDB提供的不同類型商店的存儲類型。

5

近日,甲骨文增加對BDB的B樹存儲頂部的sqlite3的接口,所以你應該能夠寫出你對sqlite3的代碼,然後在BDB插頭。捕獲的是許可證。 BDB迫使你付錢或去開源; sqlite讓你做你想做的任何事情。