Cassandra(BI数据库的数据复制)

时间:2013-04-29 17:34:01

标签: database hadoop cassandra elasticsearch

我们有多个数据库,我们查询并生成报告。由于我们必须创建复杂的查询并进行大量的连接等,如果我们使用Cassandra或Hadoop或Elasticsearch来加载数据(每日作业以加载数据或增量更新)并查询此数据库以执行所有任务,这是一个好主意吗? / p>

哪个首选Cassandra或Hadoop或Elasticsearch或MongoDB?

我们还希望在统一数据库上构建用于报告和分析的Web UI。

2 个答案:

答案 0 :(得分:0)

我不推荐MongoDB。在大数据分析方面,它是一个低点,它的Map-Reduce实现很差,Map-Reduce很慢而且是单线程的。 Cassandra + Hadoop或HDFS + Hadoop是您的选择。在Hadoop的情况下,您不受存储类型的限制,您可以在HDFS中刷新(或最初存储)您的数据并使用MapReduce进行迭代。

如果你需要耐用性看看Cassandra。首先,Cassandra非常容易维护并且非常可靠。我相信Cassandra是世界上最可靠的noSQL数据库。它绝对是水平可扩展的,没有名称节点,没有主/从,所有节点都是权利。

使用Elasticsearch,您只能进行搜索。如果您有大量数据并且需要分析,那么您应该关注Hadoop和MapReduce。

使用Hadoop,您可以开始使用Hive或Pig - 我见过的最强大的map-reduce抽象。使用Hadoop,您甚至可以开始考虑迁移到Spark / Shark。

答案 1 :(得分:-1)

如果你的选择仅限于那三个,那么Cassandra将是最好的,因为在MapReduce程序中编写连接需要花费很多精力来完成MapReduce程序的多次连接才能正确连接。如果您的选项是开放的,Apache Hive可以用于非交互式或报告应用程序,因为它支持大量的SQL函数,例如连接,分组依据,顺序等.Apache Hive再次支持SQL查询,并且不会与传统的SQL有很大的不同。

您还可以考虑使用Apache Drill,Hortonworks Stinger和Cloudera Impala进行交互式报告应用。