2015-11-19 107 views
1

在我的lambda架構中,我在討論是否使用HDFS或Cassandra來存儲我的不可變數據。我需要Cassandra來處理在線請求等,因此它是技術棧的強制性部分。現在,如果我不需要,我不想將新工具(HDFS)引入到堆棧中。所以我的問題是,如果我不使用HDFS並使用Cassandra來託管我的不可變數據,我將會丟失什麼。HDFS或Cassandra?

編輯:

我明白HDFS是一種分佈式文件系統,Cassandra是的NoSQL數據庫。儘管如此,兩者都支持數據複製,都支持高吞吐量寫入。另外Cassandra支持低潛在數據檢索。所以我說得對,HDFS不會給我提供太多的幫助嗎?

+1

HDFS是一個分佈式文件系統,而不是數據庫。我認爲要問的「正確」問題是「_HBase_ vs Cassandra?」,而不是「HDFS vs Cassandra?」。 –

+0

@MattBall我意識到這一點。看到我的編輯 –

+0

對不起,我沒有看到編輯...? –

回答

0

據我所知您正試圖闡明您的Lambda架構的服務層。 如果確實如此,您希望將批處理視圖和實時視圖存儲到數據庫中。 而據我所知,你的批處理層沒有Hadoop集羣。 您的批處理視圖尚未在HDFS中完成。 此時您的架構不在HDFS中。 HBase是一個構建在Hadoop文件系統之上的分佈式列式數據庫。它是一個開源項目,可以橫向擴展。 如果您不想要hadoop羣集,請省略HBase。 Cassandra分佈式NoSQL數據庫(面向列),它在Hadoop集羣和HDFS之外工作。 如果我理解你的架構和你的需求,我認爲卡桑德拉最適合你。

此外,您可以從此鏈接獲得有關Lambda架構的快速信息; http://artofbigdata.blogspot.com.tr/2016/01/lambda-architecture.html

0

HDFS支持不同的文件格式存儲。例如,序列文件,Avro和Parquet等。因此,您可以選擇適合您的應用程序需求的文件格式。

另請注意,您可以使用類似SQL的查詢高效地讀取數據。

因此,不同的數據模型可以在HDFS上通過Cassandra獲得以承載數據。