1.MPP数据库: MPP数据库专注于在一个集群上并行执行SQL查询分析。更加封闭,但很多MPP数据库使用HDFS存储系统,计算则不采用MAPREDUCE,比如: HAWQ. 当查询失败时,MPP数据库会终止整个查询,重新提交。分布式数据的处理原理,MPP采用的是方法2.
2. HADOOP: 可以运行任意程序的通用计算系统。因为文件系统存储的是二进制字节,存储的数据格式也更多样化。综合,存储的数据格式更多样,计算的编程语言更多样。生态更加丰富。当查询失败时,MAPREDUCE会尝试重新查询。分布式数据的处理原理,MAPREDUCE采用的是方法3,但前提是必须是处理排序号的数据。
存储:HDFS
计算:MAPREDUCE
分布式数据的处理原理有三种:
1. 最笨的方法是从头到尾查找一遍,这个时间复杂度跟数据量是1:1的关系;
2. 比较好的方法是,讲这个数据分成几段,每段由单独的计算机去算,这样效率能提高n倍(n为分为的段数),时间复杂度跟数据量是1:n的关系;
3. 而对半查找法则是根据已知数据集是排好序的,所以我们只要在数据集的中间位置比较一下,就能知道我们要找的数据是在前半段还是后半段,然后选取有效的半段递归下去,直到有效半段只含一个数值就找到值相等的位置了,这个时间复杂度是1:2^m(m为递归循环的次数)