2
在我的Ruby On Rails應用程序中,我必須存儲(相對)每個文檔大約300x300元素的大矩陣(浮點值,大多數不同)。在每次檢索文檔時,必須加載完整的矩陣以進行自定義計算。矩陣也經常更新(因此寫入性能和內存緩存也是一個問題)。在Rails應用程序中存儲大型矩陣
什麼是存儲這種矩陣的好方法(性能明智)?浮現在我的腦海一些替代方案:
- 一個表中的列
row
,column
和value
。但是,我猜想提取並存儲整個矩陣(大約90000個單元格)對於每個請求都不是個好主意(有些內存緩存會有所幫助)。 - 存儲在文本字段/列中序列化的矩陣。從性能的角度來看,你有什麼想法與1相比?
- 使用一些文檔數據庫(例如Mongo)並將整個矩陣存儲在文檔的一個字段中(不確定與2.相比效益在哪裏)。
怎麼樣有R或Matlab等掛鉤的矩陣工作,讓他們做的重荷? – fuzzyalej 2013-02-08 16:02:33
在這裏有點類似的問題的答案,儘管這不是稀疏的數據,所以不是所有的都是相關的:http://stackoverflow.com/a/2599384/178651 - 我認爲的訣竅是首先考慮存儲的方式/從數據庫中有效地檢索它,然後你可以確定在Rails中你需要做多少解析,比較等等。 – 2013-02-08 19:15:44
鑑於這是您需要的獨特場景,我建議您嘗試一些看起來最好的選項。我的第一個想法是將它存儲爲一個大塊(認爲CSV)(選項#2)。但是,我從來不需要存儲任何類似於需求的東西,因此很難預測。我不會僅僅爲此使用MongoDB。您的描述聽起來不像您需要數據庫的其他功能。 – WiredPrairie 2013-02-08 19:26:24