什么是Oracle RDBMS中的Mapreduce等效功能?

yat*_*gan 0 oracle rdbms mapreduce

Oracle RDBMS中是否有可用的功能/功能,它等同于MapReduce使用并行处理来处理大型数据集?

APC*_*APC 5

Oracle发表了一篇关于使用PL/SQL实现MapReduce算法的白皮书.在这里找到它.

虽然白皮书中的代码有效,但潜在的前提却无法经受审查.MapReduce通过应用大规模并行操作的强力来对数据进行排序,过滤和转换.但是由于Oracle的许可策略,几乎没有人能够负担得起足够的CPU来使MapReduce在数据库上有价值.

幸运的是,Oracle的内置功能,我们用那些令人费解的许可证费用付出的代价,足以使MapReduce无关紧要.最好学习如何正确使用SQL,尤其是分析函数和(在12c中)MATCH_RECOGNIZE.哦,还有正确的数据建模.


"当我读到NoSQL数据库时,特别是MongoDB MapReduce与RDBMS相比被认为是一种能力差异."

警告:未来的意见

这是一种能力差异,就像带有钉腿的海盗有能力消除环状甜甜圈中的孔一样.

本质上,MapReduce是一个将存储在一个未分化质量中的数据转换为适合特定任务的特定形状的过程.Google设计了MapReduce算法来处理网页的screeds以提取所有不同的单词并总计每个单词的出现次数.这就是为什么字数统计演示是MapReduce相当于"Hello World"的原因.

像MongoDB这样的商店将数据保存在无模式格式即文档中.这对于持久化和检索整个文档非常有用,但对查询文档的某些部分或连接多个文档却不太好.这就是为什么他们需要MapReduce的这种功能.商店里面没有任何情报.

Oracle不需要MapReduce,因为它有不同的范例.它将数据保存在模式中,模式将智能和结构应用于数据,并具有针对连接数据结构而优化的查询引擎.

这两种方法都有其好处和成本.RDBMS以前期设计的价格提供数据完整性和查询速度,并要求负载符合固定结构."无模式"数据存储使得更容易保持任意结构化文档,但读取任务会在预处理这些文档时产生费用,从而生成所需的数据子集.