簡體   English   中英

SQLite或SQL Server Compact for .NET項目

[英]SQLite or SQL Server Compact for .NET project

我需要一個簡單的嵌入式數據庫,用於相對較小的數據庫大小(<100MB,但大多數情況下<20MB),平均最多1-2個並發用戶/連接。 它必須能夠通過登錄來保護/加密它的數據。

哪個數據庫最適合這份工作?

SQLite的

優點
- 支持內存數據庫
- 很好的表現
- 真正的XCopy安裝(或真正的嵌入)
- 開源和平台無關
- 有C#移植 - > http://code.google.com/p/csharp-sqlite/

缺點
- C API(低效率)
- SQL支持不佳
- 大數據集可能非常復雜
- 不直接支持數據加密(可用擴展)

SQL CE

優點
- 良好的查詢分析器(普通查詢可以與SQL Server共享)
- 豐富的信息,良好的文檔(短學習時間)
- 支持OLE DB(C / C ++)和ADO.NET
- 本地支持數據加密
- 支持SQL復制(非常酷的功能)

缺點
- 沒有XCopy安裝(可能會干擾另一個安裝)
- 嗯......這就是全部?

對於你的場景,肯定是SQL CE,不是嗎?

SQLite中的加密不是免費的。

但它非常容易嵌入其非侵入性足跡和簡單的文件復制安裝。

.NET的SQLite提供程序是健壯的(至少在單用戶模式下 - 我從未使用SQLite創建多並發編寫器應用程序,可能永遠不會,因為SQLite使用文件鎖定方案而不是記錄鎖定方案和我的所有應用程序往往只有一個用戶或多個用戶。所以你必須花時間處理並發問題。

此外,SQLite具有相當好的SQL支持,它可以很好地處理大型數據集。

因此,您需要為每個要求分配優先級權重。 易於安裝有多重要? 並發有多重要? 加密有多重要?

他們應該同樣處理好這份工作。

如果您熟悉SQL Server開發,SQL Server Compact Edition可能會給您帶來最少的麻煩。 提供者,查詢和連接字符串將是熟悉的。

他們都是偉大的IMO。 但是,只要有可能,我會嘗試在.NET中工作時堅持使用MS。 這假設預算已經到位了......但是因為你正在查看SQL Server CE和Sqlite,所以它們都是免費的。 兩者都支持EF,但我認為Sql Server CE在大多數領域都會有更好的支持。

另外,您是否考慮過在db4o中尋找嵌入式解決方案? 相當不錯的NoSQL解決方案......它也是免費的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM