我在考慮使用/實施某種形式的嵌入式鍵值(或文件)店爲我的Windows桌面應用程序。我希望能夠存儲各種類型的數據(GPS軌道將是一個例子),當然也能夠查詢這些數據。數據量可能不會全部同時加載到內存中。嵌入式非關係型(NoSQL的)數據存儲
我考慮使用SQLite作爲一個鍵值存儲的存儲引擎,像y-serial東西,但.NET編寫。我還閱讀了關於FriendFeed's usage of MySQL to store schema-less data,這是一個很好的指示如何使用RDBMS的非關係數據。由於其簡單性,可移植性和庫大小,sqlite似乎是一個不錯的選擇。
我的問題是,是否有一個嵌入式非關係存儲任何其他的選擇嗎?它不需要分發,也不需要支持事務,但它必須能夠從.NET訪問,並且它應該有一個小的下載大小。
更新:我發現了一篇名爲SQLite as a Key-Value Database的文章,它將sqlite與Berkeley DB進行了比較,Berkeley DB是嵌入式鍵值存儲庫。
但他想要一個無模式存儲.... – 2010-01-17 15:46:37
阿斯特是正確的:我想避免關係模型。我希望能夠存儲幾乎任何類型的數據,而無需首先爲其準備數據庫模式。另外,如果數據結構稍後改變,那麼擁有嚴格的關係模型可能會產生問題 - 我需要爲存儲中的現有數據編寫SQL更改腳本。 – 2010-01-17 16:03:44
我知道他在找什麼,但像NHibernate這樣的工具在模式生成中幾乎完全隱藏了關係方面。您不需要定義任何模式,只需要爲您定義類的映射(這對Fluent NHibernate來說非常簡單),當您的類更改時,您需要在任何持久性策略中進行某種更新。 – 2010-01-17 16:25:53