2017-06-19 32 views
0

我想評估一些分佈式存儲平臺和卡桑德拉是其中之一。 我們的要求是1MB和大小50MB,並根據之間的文件保存到Cassandra的文檔http://docs.datastax.com/en/cql/3.3/cql/cql_reference/blob_r.html卡桑德拉最大的現實blob大小

的 BLOB的最大理論容量爲2 GB。然而,對於斑點大小的實際限制小於012MB。

有沒有人有經驗將文件存儲在卡桑德拉作爲blob?運氣好嗎?更大的文件大小會對性能造成很大影響嗎?

任何其他建議也將不勝感激!

回答

0

卡桑德拉不是爲這些類型的工作而構建的。

在Cassandra中,單列值大小可以是:2 GB(建議1 MB)。所以,如果你想使用cassandra作爲對象存儲,將大對象拆分爲多個小對象,並使用對象id作爲分區鍵和存儲區id作爲集羣鍵存儲它們。

最好是使用分佈式對象存儲系統像OpenStack Object Storage ("Swift")

的OpenStack對象存儲項目,被稱爲斯威夫特,提供雲存儲軟件,這樣就可以存儲並用一個簡單的檢索大量數據API。它針對整個數據集進行了擴展,並針對持久性,可用性和併發性進行了優化。 Swift非常適合存儲無限制增長的非結構化數據。

+0

感謝Ashraful的建議,但我們並未計劃使用雲解決方案。我們需要更快的寫入並讀取相同的數據中心。 – gubble

+0

然後你可以使用cassandra的解決方案。在這裏,我將對象ID作爲分區鍵,因此單個對象的讀/寫速度會更快。 檢查分區鍵和集羣鍵密鑰之間的區別https://stackoverflow.com/a/24953331/2320144 –