2010-08-27 32 views
2

我需要一種方法來存儲大量不同大小的XML數據在一個簡單的鍵/值存儲。 到目前爲止,我已經嘗試了兩種簡單的方法,:最簡單的鍵值存儲爲xml數據與.NET的最佳性能

  1. RAM:存儲所有信息到ConcurrentDictionary實例
    • 問題:有限的資源,在項目啓動,與RAM 8GBs一臺服務器!
    • 注意:如果我們獲得功能更強大的服務器,Windows AppFabric可能會成爲未來的解決方案。
  2. 硬盤:存儲在硬盤上的它自己的文件的每一個值,用按鍵映射路徑
    • 問題:延遲
    • 問題:如何存在很大差異。可以使用SSD做的這裏最樂觀的情景是?

是否有可能提供中間道路,同時利用HDD提供了非常快速的讀訪問時間準備使用的數據庫解決方案?

寫訪問權僅用於維護,因此任何專門針對只讀場景的延遲最小的解決方案最適合。數據服務器應該使用WCF進行通信。

回答

2

如果你在.Net中,你可能想看看memcached。它允許您從內存緩存開始,並根據需要移動到冗餘存儲。這完全取決於您的數據要求以及您閱讀和書寫商店的頻率。

對於一個數據庫,MSSQL提供了XML類型的存儲,所以你可以在其中創建一個簡單的XML表格,但它並不便宜,你確實提到你想要一個NoSQL實現。請注意,如果您需要搜索或排序XML,您可能會發現XPath和索引可用作獎金...

0

GetCache.net是僅在內存中運行的分佈式鍵/值存儲。它具有可擴展性並支持數據複製和數據到期。客戶端庫基於WCF。 它可從Nuget