【问题标题】:Recommended Setup for BigData Application大数据应用的推荐设置
【发布时间】:2015-03-08 04:10:57
【问题描述】:

我目前正在从事一个需要支持的长期项目:

  • 通过 RESTful 服务进行大量快速读/写操作
  • 分析引擎不断读取和理解数据

分析引擎的性能不受来自 API 调用的读取/写入量的影响至关重要。

因此,我认为我可能必须使用“前端”数据库和某种“后端”数据仓库。我还需要 Elastic Search 或 Solr 之类的东西来索引存储在数据仓库中的数据。

问题:

  1. 这是推荐的设置吗?替代方案是什么?

如果是这样...

  1. 我正在考虑将 Hive 或 Pig 用于数据仓库,并将 Elastic Search 或 Solr 作为搜索引擎。哪种组合可以更好地协同工作?

最后……

  1. 我正在认真考虑将 Cassandra 作为“前端”数据库。 Cassandra 和 Hadoop 之间有什么关系,何时/为什么要将它们放在一起工作,而不是只有 Cassandra?

请注意,我的目的不是要开始讨论其中哪个更好,而是要了解如何才能更有效地使它们更好地工作。如果有任何不同,主要代码是用 Scala 和 Java 编写的。

非常感谢您的帮助。我基本上是边走边学,所有的 cmets 都会很有帮助。

谢谢。

【问题讨论】:

    标签: solr elasticsearch cassandra hive apache-pig


    【解决方案1】:

    首先让我们谈谈卡桑德拉

    这是一个具有最终一致性的 NoSQL 数据库,这对您来说基本上意味着 Cassandra 集群中的不同节点可能具有不同的数据“快照”,以防集群间通信/可用性问题。然而,数据最终将是一致的。

    由于您将其视为“前端”数据库,因此您需要了解如何对数据进行建模。 Cassandra 可以利用索引,但是您仍然需要预先定义访问模式。

    Cassandra 和 Hadoop 之间通常没有关系(除了两者都是用 Java 编写的),但是 Datastax 发行版(企业版)直接从 Cassandra 获得 Hadoop 支持。

    作为一般工作流程,您将从“小型”数据库中读取/写入最新数据(比如说 - 过去 24 小时)以获得足够的性能(Cassandra 对此提供了出色的支持),并且您可以移动任何早于 X(旧超过 24 小时)到“长期存储”,例如 Hadoop,您可以在其中运行各种 Map Reduce 等。

    关于文本搜索,它确实取决于您的需求 - 弹性搜索是 Solr 和反向的竞争。您可以在此处查看他们的比较http://solr-vs-elasticsearch.com/

    【讨论】:

    • 感谢您的回答。让我看看我是否明白这一点:Hadoop 可以在没有 Hive 或 Pig 的情况下作为一个很好的数据仓库解决方案工作?那么,它们的额外好处是什么?
    • Hive、Pig 是 Hadoop 之上的“更高级别”工具 - 是的,Hadoop 将在 w/o 的情况下工作 -> ps:如果您接受答案,请点击 ;)
    【解决方案2】:

    至于你的第三个问题,

    我觉得 Cassandra 更像是一个保存数据的数据库。

    Hadoop 负责提供一个计算模型,让您在 卡桑德拉。 所以将 Cassandra 与 Hadoop 结合起来非常有帮助。

    还有其他方式可以考虑,比如结合mongo和hadoop, 因为 mongo 在 hadoop 和它的数据之间支持 mongo-connector。

    另外如果你有一些搜索需求,也可以使用solr,直接从mongo生成索引。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-28
      • 2017-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多