2011-04-07 108 views
0

我需要一個可擴展NoSql溶液來存儲數據作爲陣列用於許多領域&時間戳,其中,所述密鑰是fieldtimestamp的組合。NoSQL解決方案存儲陣列?

數據將被存儲在以下方案:

KEY - > 「FIELD_NAME.YYYYMMDD.HHMMSS」

VALUE - > [V1,V2,V3,V4,V5 ,V6(v1..v6只是floats

例如,假設:

FIELD_NAME =「TO MATO」

TIME_STAMP = 「20060316.184356」

VALUES = [72.34,-22.83,-0.938,0.265,-2047.23]

我需要能夠檢索VALUE(整個陣列)給出FIELD_NAME & TIME_STAMP的組合。

查詢VALUES [ 「TOMATO.20060316.184356」]將返回向量[72.34,-22.83,-0.938,0.265,-2047.23]。數組的讀取應該儘可能快。

然而,我還需要一種方法來在數組內存儲(就地)標量值。假設我想在時間戳2006/03/16.18:43:56上將TOMATO的第一個元素指定爲500.867。在這種情況下,我需要有一個快速的機制,這樣做的 - 是這樣的:

VALUES [ 「TOMATO.20060316.184356」] [0] = 500.867(這將更新磁盤)

任何想法NoSql解決方案最適合這個(大加,如果它有python接口)?我正在尋找一個快速而強大的解決方案。我的數據需求將增長到20 [TB]左右。

+2

的可能重複的[溶液的NoSql存儲20 \ [TB \]數據,作爲矢量/陣列的?](http://stackoverflow.com/questions/5560394/nosql-solution-to-store-20tb-of -data-as-vector-array) – 2011-04-07 00:52:13

回答

0

您的數據是高度結構化和規則的;你看到在NoSQL vs更傳統的數據庫中有哪些好處?

我認爲MySQL Cluster(http://dev.mysql.com/downloads/cluster/)聽起來是爲您的問題量身打造的。

編輯:

@ user540009:我同意有單臺機器上的嚴重減速或超過半TB的的MySQL鏡像情況下,沒有人願意要處理手動分片; MySQL集羣是爲了解決這個問題,我已經讀的(雖然沒有親自與扮演)實現高達110兆兆字節。

+0

有與MySQL結垢嚴重的問題,當你得到這樣的尺寸(幾十[TB的]);與NoSql,我可以水平擴展。 – user3262424 2011-04-07 04:02:06

3

聽起來像MongoDB將是一個很好的選擇。 PyMongo是api。

+0

謝謝。你覺得它比'cassandra'更適合嗎? – user3262424 2011-04-07 00:55:00

+0

@ user540009我確實,是的。但我有偏見。 :) – Alex 2011-04-07 00:56:15

+0

這是爲什麼(偏見...)? – user3262424 2011-04-07 00:57:29