1

我目前有五个表经常接收复制数据。PL/SQL 用于根据复杂的业务逻辑对这些数据进行转换、清理和聚合。然后将结果放在三个报告表中。

我有兴趣为此使用 MongoDB 而不是关系数据库。为此,必须将所有 PL/SQL 业务逻辑翻译成另一种语言,例如 Java。

但是,有人建议我 Hadoop 将是比 MongoDB 更好的替代品。我现在正在学习 Hadoop 和 Mapreduce,但我感觉 Hadoop 用于分析数据(从数据中获取统计值,即客户行为之间的相关性),而不是用于基于业务逻辑转换数据。

为了用 Hadoop 替换原样系统,我假设所有 PL/SQL 业务逻辑都必须转换为 mapreduce 函数。这个假设不正确吗?

不管我的个人情况如何,是否有任何业务逻辑是 Hadoop(和 mapreduce)无法处理的,而 PL/SQL 或 Java 可以?

4

2 回答 2

1

首先,MongoDB 是一种 NoSql 数据库,而 Hadoop 是一种并行处理框架。如果你真的有 tera/peta 字节的数据,那么使用并行处理框架是合理的。并查阅您的数据,是否可以使用 Nosql 数据库 + 并行处理框架。

  1. 您可以将 PL/SQL 业务逻辑转换为 mapreduce 函数
  2. 如果索引,集中处理,Hadoop可以处理任何业务逻辑丢失。(对于非事务性系统)

另外,我建议您研究一下蜂巢,它可能会对您有所帮助。

于 2013-10-18T20:49:15.923 回答
0

我可以确认您可以使用 MongoDB+Hadoop。您所要做的就是将所有包中的整个转换逻辑放在一边,然后识别输入、输出和流(依赖项),然后转换为 map reduce。主要任务是从转换逻辑中识别键、值和规则。我希望你也可以使用猪。使用 Sqoop 进行提取。

于 2015-04-30T07:01:04.620 回答