2011-12-23 64 views
4

我目前正在研究需要計算海量數據的數據管理系統:想想一個包含大約1.5億個單元格的Excel表單數據。尋找內存中可擴展的對象存儲庫,其中包含多達1.5億個小型對象.net

我們使用sql server數據庫來存儲數據,但由於許多原因,計算性能是次優的。在考慮替代方案時,我想嘗試一下內存中的對象結構。

以下是一些基本要求:

  1. 我們需要的是支持多用戶做出對我的Excel類比的同一個「表」的更新的結構。如果一個更新的性能足夠高,所有用戶的序列化的更新是可以接受的

  2. 我們絕對不能接受的數據丟失

  3. 我們需要的對象關鍵指標,同時也對部分密鑰的一些指標,所以在內存中的結構必須支持非唯一的密鑰,從而對部分密鑰有效的搜索返回的匹配記錄的集合

  4. 必須支持.NET

鑑於這些條件,有什麼建議嗎?

謝謝

末爾

+0

多大此細胞?讓他們記憶是否真的可行?當給予足夠的內存和適當的索引時,SQL服務器通常會做得很好。而沒有數據丟失的要求是另一個很好的理由,而不是保存在內存中。 – Groo 2011-12-23 14:59:48

+0

這些單元格中的每一個都包含(平均取決於密鑰大小)50個字節。所以,是的,我相信將所有數據保存在內存中是可行的。除了當前基於sql server的模型之外,我正在探索將此作爲替代方案來嘗試下一版本的應用程序,該模型也可以進行大量改進。 – 2011-12-23 15:03:39

回答

1

什麼有關的NoSQL數據庫,通過關係數據庫?像MongoDB或RavenDB?

Mongo是一個內存數據庫,我相信Raven可以配置爲運行內存。

還有各種各樣的NoSQL數據庫。有些應用適合「閱讀量大」的應用,有些則適合「重寫」應用。

如果您受益於預先計算常見搜索或計算,您可能還想查看CQRS

我認爲'沒有數據丟失'的要求是你最大的決定因素。

+0

你會建議我一個你有一些親身經歷的人嗎? – 2011-12-23 22:51:57

+0

我會研究mongo和CouchDB。感謝您的回答 – 2012-01-03 15:29:06

+0

我有過使用Mongo的經驗。這很好,但要記住它在32位上有嚴格的大小限制:http://www.mongodb.org/display/DOCS/FAQ#FAQ-Whatarethe32bitlimitations%3F – 2012-01-05 19:20:48

0

Raima Inc是另一個無SQL數據庫,它運行內存中,磁盤上或兩者的混合。

關於數據丟失,有擴展可用於提供鏡像和複製。

這裏是他們的數據庫的完整技術規格的鏈接:RDM Embedded 10.1 Architecture and Features

+1

如果你與這家公司有關聯,這樣說的。 – 2012-01-12 23:20:29

相關問題