大数据数据库的技术对垒:MapReduce vs. MPP
--作者:李明(email: mli@pivotal.io)
这些年大数据概念已经成为IT界的热门,我们经常也会在新闻和报纸中看到。大数据概念中最为关键的技术就是数据库管理系统,伴随着hadoop和MapReduce技术的流行,大数据的数据库中Hive和Spark等新型数据库脱颖而出;而另一个技术流派是基于传统的并行数据库技术演化而来的大规模并行处理(MPP)数据库比如GreenPlum和HAWQ也在最近几年突飞猛进,这两种流派都有对应的比较知名的产品,他们都已得到了市场的认可。
然而对于一个不是搞大数据的门外汉,如何理解大数据概念,如何根据自身的需求来选择对应的数据库管理系统,就成了很多用户很关心的话题。本文将采用比较通俗易懂的介绍,让大家从本质上认识这些大数据库管理系统的技术实现和应用场景。
Map Reduce技术
大数据概念,顾名思义就是要解决数据量很大的情况下的数据库处理问题,所以在数据量增长很快的情况下,如何让处理的时间不能增长太多就成了关键。学习过算法的同学们很快能够举出例子,比如对半查找法,在一个已排序好的数据集中如何找到和指定数相等的位置?
- 最笨的方法是从头到尾查找一遍,这个时间复杂度跟数据量是1:1的关系;
- 比较好的方法是,讲这个数据分成几段&#