海量数据处理概述
海量数据的特点
(1)巨大的数据量
(2)数据集特点
--超过80%的数据是非结构化的
--数据量在持续增加
--数据需要长时间存储,非热点数据也会被随机访问
(3)传统技术无法胜任大数据集的分析,管理和挖掘
--传统欢喜数据库以及一些桌面BI软件处理的结构化数据在GB级别,无法从更大的数据中发现有意义的信息
--需要处理的目标数据量一直在增长,传统技术无法适应这种扩展性
海量数据处理系统的需求
(1)需要增量式,几乎无限的扩展性
(2)要求系统总是在线运行
(3)需要灵活可动态改变的数据模型
经验教训
(1)数据需要被切分和复试
(2)不要使用分布式事务处理
由于关系数据库的理论局限性,需要新的架构
软件体系架构上的局限
(1)CAP定理-3选2
一致性consistency
可用性availability
容忍网络分离partition-tolerance
(2)RDBMS专注于实现一致性而忽视其他
网络分段隔离(network partitions)在大型系统中不可避免
系统扩展时性能和可靠性下降
(3)scale up
并行数据库的扩展性
--经验:当集群节点数每增加4——16台,每个节点的效率下降一半,无法扩展超过40个节点