2013-04-29 129 views
0

我們有多個查詢和生成報告的數據庫。由於我們必須創建複雜的查詢並進行大量的連接等,如果我們使用Cassandra或Hadoop或Elasticsearch加載數據(日常作業加載數據或增量更新)並查詢此數據庫以查看所有任務,這是一個好主意。Cassandra(BI數據庫數據複製)

哪個會是Cassandra或Hadoop或Elasticsearch或MongoDB的首選?

我們還希望在統一數據庫上構建用於報告和分析的Web UI。

回答

0

我不能推薦MongoDB。對於大數據分析來說,這是一個不好的地方,它的Map-Reduce實現很差,Map-Reduce速度慢,而且是單線程的。 Cassandra + Hadoop或HDFS + Hadoop是您的選擇。對於Hadoop,您不受存儲類型的限制,您可以在HDFS中刷新(或初始存儲)您的數據,並使用MapReduce對其進行迭代。

如果你需要在卡桑德拉耐久性看看。首先,Cassandra維護非常容易,非常可靠。我相信Cassandra是世界上最可靠的noSQL db。它絕對是可水平縮放的,沒有名稱節點,沒有主/從,所有節點都具有權限。

有了Elasticsearch,你只能做搜索。如果您有大量數據並且需要分析,則應該考慮Hadoop和MapReduce。

使用Hadoop,您可以開始使用Hive或Pig--我見過的最強大的地圖縮減抽象。藉助Hadoop,您甚至可以開始考慮遷移到Spark/Shark。

+0

感謝您的回覆。 – user993995 2013-04-30 19:45:24

+0

我正在尋找卡桑德拉 - 主要是因爲它易於安裝和維護,並且不需要添加太多組件。我們還希望分析cassandra可以幫助Map/Reduce嗎? – user993995 2013-04-30 19:48:26

+0

當然可以。將Cassandra想象成一對平坦的表格,比如帶有數據的HDFS文件。您可以使用Hadoop來迭代Cassandra的列族(它具有Cassandra的InputFormat)。您也可以使用Hadoop寫信給Cassandra。 – odiszapc 2013-05-01 09:53:08

-1

如果您的選擇限於這三個,Cassandra將會是最好的選擇,因爲在MapReduce程序中的書寫連接需要使用多個MapReduce程序和鏈接以便正確連接一個MapReduce程序。如果您的選項是開放的,Apache Hive可以用於非交互式或報告應用程序,因爲它支持相當多的SQL函數,例如連接,分組,按順序等。Apache Hive再次支持SQL查詢,並且不會有太多不同於傳統的SQL。

您還可以考慮使用Apache Drill,Hortonworks Stinger和Cloudera Impala進行交互式報告應用程序。