2010-04-29 117 views
3

我喜歡SQLite的簡單性,但從設計上來說,它不支持併發訪問。我寫的應用程序並不需要太多,所以我想避免像MySQL這樣較重的解決方案,這些解決方案更難以部署(遠程客戶通常沒有計算機人員)。輕量級客戶端/服務器DB?

有人知道一個好的解決方案,將提供以下功能?

  • 客戶端可用於VB.Net應用
  • 服務器本身並不一定是一個.NET應用程序。實際上,我寧願使用裸機服務器,以使其即使在嵌入式Linux主機上運行的RAM/CPU也少於普通PC的
  • 易於安裝:客戶端部分應該靜態鏈接到客戶端應用程序內或可用作爲一個單一的DLL,並且服務器應該只是一個單一的EXE偵聽查詢,Fossil(http://www.fossil-scm.org
  • 客戶端可以通過廣播服務器拾取的數據來定位局域網上的服務器,因此用戶沒有記下IP地址,並將其粘貼到每一個客戶端
  • 開源,或中等價位的閉源
+0

Dupe? http://stackoverflow.com/questions/1023785/light-weight-sql-server-for-linux-windows – Joe 2010-04-29 11:21:02

+0

對,我應該更新的問題,而不是: - 在這一點上,似乎沒有人支持SQLite類客戶機/服務器解決方案。 – Gulbahar 2010-04-29 13:11:26

回答

0

有你考慮過SQL Server?它可以從Compact Edition(免費,基於文件),Express Edition(再次免費,但需要安裝),然後通過付費版本進行擴展,以便您的產品需要進一步擴展。

+0

有關SQL Server的有效觀點,但它不能在Linux上運行。 – ConcernedOfTunbridgeWells 2010-04-29 11:53:04

+1

@concernedOftunbridgeWells我從「客戶端可用於VB.Net」推斷平臺 – 2010-04-29 13:22:53

0

HSQLDB也非常輕量級,即將發佈的2.0版本支持MVCC形式的併發。它雖然基於Java,但有一個ODBC連接器可用。

+0

我寧願裸機解決方案,即。沒有像Java這樣的額外層,因爲目標是像SQLite一樣易於部署的解決方案。 – Gulbahar 2010-04-29 13:08:46

0

你也可以考慮德比......它的自由和開源。

+1

Derby也是基於Java的,這使得部署比MySQL更加痛苦。 – Gulbahar 2010-04-29 13:10:17

1

我會建議火鳥SQL http://www.firebirdsql.org

可以嵌入,可以作爲單獨的服務器運行。非常小的佔地面積和高性能。

+0

除非我誤解了,Firebird不是像SQLite這樣的單一EXE程序,並且需要像MySQL一樣的安裝程序。 – Gulbahar 2010-04-29 13:08:09

+0

火鳥可以基於文件,但我不會從** my **的經驗推薦它。 – 2010-04-29 13:24:10

+0

Firebird安裝非常簡單 - 只需複製文件並添加註冊表記錄即可。它可以從您的應用程序安裝程序完成。 – Fedor 2010-04-29 15:28:38