我目前有五个表经常接收复制数据。 PL / SQL用于根据复杂的业务逻辑转换,清理和聚合此数据。然后将结果放在三个报告表中。
我有兴趣使用MongoDB而不是关系数据库。为此,必须将所有PL / SQL业务逻辑翻译成另一种语言,例如Java。
然而,有人向我建议Hadoop将是一个比MongoDB更好的选择。我现在正在学习Hadoop和Mapreduce,但我感觉Hadoop用于分析数据(从数据中获取统计值,即客户行为之间的相关性),而不是基于业务逻辑转换数据。
为了用Hadoop替换原有系统,我假设所有PL / SQL业务逻辑都必须转换为mapreduce函数。这个假设是不正确的吗?
无论我的个人情况如何,是否存在Hadoop(和mapreduce)无法处理的业务逻辑,PL / SQL或Java可以吗?
答案 0 :(得分:1)
首先,MongoDB是NoSql数据库的类型,Hadoop是一种并行处理框架。 如果你真的有tera / peta字节的数据,那么使用并行处理框架是合理的。 并查阅您的数据,可以使用Nosql数据库+并行处理框架。
此外,我建议您研究一下它可能会对您有所帮助。
答案 1 :(得分:0)
我可以确认您可以使用MongoDB + Hadoop。您所要做的就是,将所有包中的整个转换逻辑放在一边,然后识别输入,输出和流(依赖关系),然后转换为map reduce。主要任务是从转换逻辑中识别关键,值,规则。我希望你也可以用猪。使用Sqoop进行提取。