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