2014-04-14 59 views
1

我試圖決定在mongodb中存儲我的時間序列數據的最佳方法。在mongo之外,我將它們作爲numpy數組或大熊貓DataFrames使用。我見過很多人(比如在這個post)推薦酸洗和存儲二進制文件,但我的印象是,醃製永遠不應該用於長期存儲。這隻適用於可能將基礎代碼更改爲其類結構的數據結構嗎?換句話說,numpy數組可能穩定得如此之好,但熊貓數據框可能會變壞,因爲大熊貓仍在演變?在Mongodb中存儲Numpy或Pandas數據

UPDATE:

一個朋友向我指出這一點,這似乎是我想要的東西一個良好的開端:

http://docs.scipy.org/doc/numpy/reference/routines.io.html

numpy的有它自己的二進制文件格式,這應該是長期儲存穩定。一旦我得到它實際工作,我會回來併發布我的代碼。如果其他人已經完成了這項工作,我會很樂意接受你的答案。

+1

很難說沒有看到您的數據,但如果它只是一個簡單的時間序列,爲什麼不只是一個CSV文件? –

+0

我想盡量減少數據進出時的處理。如果我之前手頭有100,000個浮點數的數組,並且我想將它們作爲numpy數組後綴來處理,將它們轉換爲csv文件進行存儲似乎非常昂貴。 – TristanMatthews

+0

你得到了答案,但對於其他人:如果你想轉換成CSV將是緩慢而痛苦的,等到你試圖將其加載到MongoDB的 –

回答

1

我們已經建立了一個開源庫,用於存儲數字數據(熊貓,numpy的,等等)在MongoDB中:

https://github.com/manahl/arctic

最重要的是,它很容易使用,非常快,並支持數據版本控制,多個數據庫等等。