海量信息爆炸式增长和传播,那么如何安全存储大量的数据并实时把握信息,为用户作出数据保障和提供高效的检索服务?
海量原始数据来自于爬虫系统,爬虫需要采集各类网站进行抓取。这些原始网页数据的处理,成为结构化数据的舆情分析的依据。例如广告商会分析当下是否有热点话题,进行舆情影响力分析,转播路径分析,参与用户统计和画像,从而制定广告策略。比如天猫双十一或者亚亚马逊圣诞狂欢购物节,平台和商家都会提起进行数据分析和准备。
这一分析系统的过程和结果就会涉及到数据的存储。因为数据不是单一的,意味着数据机构必须支持交互分析。多类型数据需要存储系统具备快速检索、组合灵活的交互分析功能。在开源大数据解决方案中,Lambda架构恰好可以满足这些需求,下面我们来介绍下Lambda的架构。
Lambda架构:开源+批处理
基于开源的Lambda架构可以说是Hadoop,Spark体系下最火的大数据架构。在过去Lambda数据架构成为每一个公司大数据平台必备的架构,它解决了一个公司大数据批量离线处理和实时数据处理的需求。这套架构的最大优势就是在支持海量数据批量计算处理(也就是离线处理)同时也支持流式的实时处理(即热数据处理)。
系统的最上游是分布式的爬虫引擎,根据抓取任务抓取订阅的网页原文内容。爬虫会把抓取到的网页内容实列的数据根据前面描述的计算需求,会实时流入流计算引擎(例如Spark或者Flink),也会时写入Kafka队列,进入Kafka队持久化存储在Hbase,进行全量数据的存储。全量网页的存储可以满足网页爬取去重,批量离线计算的需求。
为了实现批计算和流计算,原始的网页需要分别存储在Kafka(开源流处理平台,高吞吐量的分布式发布订阅消息系统)和Hbase(分布式的、面向列的开源数据库)中,离线计算是消费hbase中的数据,流计算消费Kafka的数据,这样会带来存储资源的冗余,同时也导致需要维护两套计算逻辑,计算代码开发和维护成本也会上升。
我们知道,搜索系统的数据实时写入能力和数据可靠性不如数据库,业界通常是把数据库和搜索系统整合,整合下的系统兼备了数据库和搜索系统的优势,但是两个引擎之间数据的同步和跨系统查询对运维和开发带来很多额外的成本。
新的数据架构系统IPSE:首个完成存储到搜索的数据生命周期的系统
通过前面的分析,相信大家都会有一个疑问,有没有简化的的大数据架构/系统,在可以满足设备架构对计算需求的假设,又能减少存储计算以及模块的个数呢?
领英的Jay Kreps提出了Kappa架构(关于Lambda和Kappa的对比可以参考文末的文献,这里不展开详细对比)。简单说下,Kappa为了简化两份存储,取消了全量的数据存储库。这样设计的好处是解决了需要维护两份存储和两套计算逻辑的痛点,美中不足的地方是队列可以保留的历史数据毕竟有限,难以做到无时间限制的回溯。
分析到这里,我们沿着Kappa针对Lambda架构的改进思路,向前多思考一些:假如有一个存储引擎,既满足数据库可以高效的写入和随机查询,又能像队列服务,满足先进先出,是不是就可以把Lambda和Kappa架构优势结合在一起,打造一个新的新的架构系统呢?
基于分布式技术的IPSE使用的新架构在提升了以下几点:
•高吞吐量
•服务器成本
•数据检索效率
•存储与计算并重
•冗余检测与文件溯源
在支持流计算和批计算的同时,让计算逻辑可以复用,实现“一个系统两类需求”。 统一历史数据全量和在线实时增量数据的存储,实现“一份存储多类计算”。 存储既可以支持高吞吐的实时写入,也可以支持多字段组合搜索和全文检索,并使用区块链技术保证安全。
总结起来就是整套新架构的核心是解决存储的问题,以及如何灵活的对接计算,用户的数据存储和搜索成本大大降低。也就是以下架构:
图:IPSE使用的新兴数据架构系统由于依赖IPFS星际文件系统,数据分布式存储,数据不再是传统形态中的爬虫获取,而是用户激励,即在通证模型中用户生成内容,存储在分布式节点网络中,用户经过IPSE可以进行数据存储,并到加密分发到分布式文件存储系统。而IPSE搜索引擎在应用层不仅提供数据检索和取回的服务,还承担计算服务。数据流实时写入一个分布式的数据库,借助于数据库查询能力,全量数据可以轻松的对接批量计算系统进行离线处理。分布式数据库通过数据库日志接口,支持增量读取,实现对接流计算引擎进行实时计算。批计算和流计算的结果写回分布式数据库,分布式数据库提供丰富的查询语意,实现计算结果的交互式查询。
整套架构中,存储层面通过结合分布式数据系统取代传统大数据架构中的队列服务,计算系统选取天然支持超媒体文件存储和传输计算的IPFS+IPSE结合的方案。这样一来,我们既可以像Lambda进行无限制的历史数据回溯,又可以像Kappa架构一样一套逻辑,存储处理两类计算任务。
这一架构中数据库既作为数据表,又是队列通道可以实时增量数据消费。大大简化了架构的开发和使用成本。同时,由于使用了新的底层协议,数据的存储和检索过程变得高效和安全。
参考文献:
阿里云栖社区《海量数据下的舆情分析,该如何搭建?》
易观:Lambda架构分析
网友评论