在大数据处理当中,核心指导思想始终是分布式,基于分布式思想,我们有了Hadoop等开源技术框架,能够以更低的成本完成企业大数据系统平台搭建,支持业务进展。今天大数据和分布式入门,我们主要来聊聊主流的大数据分布式缓存组件。
分布式缓存服务
大数据处理平台主要由上层的分布式计算组件和底层的分布式存储系统两层构成。存储层的热门产品主要有HDFS、Ceph及OpenStack Swift等,计算层的热门产品主要有MapReduce和Spark等。
以Hadoop生态为例,存储组件为HDFS,计算组件是MapReduce或Spark。
基于Hadoop生态的大数据平台,大致工作流程为:
HDFS存储海量的数据信息,计算组件启动job作业从HDFS中下载数据后进行数据计算与分析;
如果job2需要job1运算后的数据,需要job1将中间结果写入HDFS的block中,此时会产生硬盘甚至跨网络的读写;
同时HDFS默认的三副本策略需要将数据链式推送到三个存储节点,从而进一步造成性能的损失。
若将计算节点一侧的DRAM/SSD设备作为底层存储系统的读写缓存,一方面DRAM/SSD设备的读写性能要远远高于机械硬盘,另一方面缓存层与计算节点的网络距离更加接近,所以可以减轻底层存储系统对于上层计算应用的性能制约,从而大幅提高大数据处理的性能。
基于以上原因,分布式缓存系统的存在,有着必须存在的价值和意义。
分布式缓存组件
目前成熟的开源分布式缓存系统主要有Memcached、Redis及Alluxio等。
Memcached,通过一致性哈希算法完成数据定位,但Memcached并不是严格意义上的分布式。一方面没有完善的容错机制;另一方面Memcached没有持久化机制,故存在断电丢失数据的风险。
相比之下,Redis有着比较完善的分布式机制,支持数据备份,即master-slave主从模式的数据备份,当服务器断电重启后可以通过RDB机制或AOF机制进行数据重放而恢复数据。
Alluxio是基于内存的分布式文件系统。相较于Memcached和Redis,Alluxio提供文件接口,存储并维护文件元数据。
关于大数据和分布式入门,主流分布式缓存组件,以上就为大家做了一个简单的介绍了。在企业级大数据系统平台当中,缓存服务是非常重要的一块,尤其对于开发者而言,需要对这方面有清晰的规划和解决方案。