返回 登录
0

动辄数百TB级数据的分析平台 海量并发无压力

作者简介:孔淼,诸葛io创始人/CEO连续创业者,毕业于华中科技大学,前37degree CTO。曾带领团队打造过脉搏网、知客数据等知名大数据平台,并服务中国电信、奥美、九阳集团等企业。2014年底,开始打造诸葛io。本文源自诸葛io创始人&CEO孔淼在AWS技术峰会上的分享内容,从技术架构和底层平台方面讲解全量数据处理的分析平台如何实现。

责任编辑:孙浩峰  技术之路,一起进步,云计算、大数据、人工智能、运维、安全等方面的干货文章,欢迎投稿。投稿信箱:sunhf@csdn.net

海量数据并发「无压力」用户会话真实「不切割」

图片描述

-数据收集端

诸葛io的数据采集采用的是LVS+Nginx+Lua,而不是简单的Nginx,之所以这样设计是因为:

“多租户”平台要同时支持很多大型应用,例如“墨迹天气”,“Flipboard红板报”等大数据量的数据上传;

率先采用https协议的数据采集分析平台,所以比http高并发面临的挑战会更大;
保证高响应的速度;

此外,诸葛io的私有部署也同时支持该架构,保障用户数据上传的实时性,准确性。

-数据分析模型

诸葛io的数据分析模型更高级,我们的模型是“用户-触点(设备)-会话-事件”:

图片描述

a.会话是行业分析的标准,我们的模型基于实时还原用户会话场景,而不是通过“规则”来人为切割;

b.诸葛io对“用户”的判断一直以来都是行业比较领先的规则,传统的“用户”其实是“设备”,而我们能找到用户与设备的关系,透过设备来追踪背后真正的用户,包括不限于:

-用户注册前的匿名行为与注册后行为的关联
-单用户的多设备(跨平台)行为关联
-单设备多用户的行为还原

为了支持这样的数据模型,我们需要更复杂的服务端逻辑处理,Codis是领先的Redis分布式组件,让我们的实时匹配更可扩展,而SSDB是兼容Redis协议的硬盘存储,支持海量的关系存储。

-基础存储、索引、OLAP

诸葛io同时支持SaaS和私有化部署,所以有统一的ETL以及差异化的数据存储和查询引擎,基础存储基于S3和HDFS。Redshift是很多硅谷最顶尖的公司都使用的技术,包括Airbnb, Yelp, Pinterest等等,我们致力于给国内客户提高更高品质的云端分析能力,所以也采用了更好的基础设施。

站在AWS的肩膀上

图片描述

诸葛io依托AWS可灵活拓展的云计算平台,可降低持续成本,无需购买服务器等前期设备,快速实现数据应用,缩减基础设施成本及时间成本;企业搭建大数据平台的目的是应用而不是运维,所以诸葛io通过AWS平台降低企业运维成本;此外为了便于诸葛io在其他方面的探索,比如在AI方面进行探索,通过AWS平台提供的AMI可极大地降低研发成本。

总之,基于AWS平台弹性化的丰富功能,更人性化的设计方案,更高质量的全球服务,为诸葛io提供了优质的基础设施服务:

1、功能丰富

AWS的功能非常丰富,除了EC2作为基础机器之外,PaaS方面,我们使用了EMR/ S3/Redshift等组件,小的功能方面,还包括AMI镜像备份恢复,用户的IAM权限分配,Instance机器种类和外置磁盘EBS的选型,分布式S3的文件存储功能以及工作中产生的业务需求等。

2、弹性化

诸葛io在搭建基础设施之初,就以满足海量数据规模计算为目标,随着诸葛io每年企业客户呈指数级的增长,再次证明最初的坚持是正确的。

海量数据并发,当系统负载、QPS偏高时,常出现CPU利用率达到100%的情况,此时诸葛io即可通过调用AWS API接口来实现弹性扩容,包括主机的分配、流量的分配、IP的绑定、域名解析的配置以及存储服务等。

3、全球服务

能够在节约成本的前提下,非常方便的进行扩容和Hadoop/Spark数据计算,在全球部署自己的数据中心,帮助诸葛io为全球企业客户提供服务。

Amazon EMR

Amazon EMR是一种Web服务,它能让企业、研究人员、数据分析师和开发人员能够轻松、经济高效地处理海量数据。

大数据平台基于Hadoop,技术复杂度非常高,对诸葛io而言,底层的运维压力和成本压力非常大。因为动辄一个客户可能就是数百TB级的数据,我们必须选择非常灵活、低成本的方式来支撑业务,所以我们选择EMR。

此外,Hadoop有很多发行版,在选择不同的Hadoop版本时,EMR帮助诸葛io更快捷地筛选适合我们的发行版套餐,Hadoop在组件的更新和支持上非常迅速,帮助诸葛io及时跟进最新技术来调整方案。

基于Amazon EMR易操作,易于设置集群/Hadoop/节点、在重试失败任务等方面具有很高的可靠性、允许任何规模处理数据来灵活控制成本支出、通过自动配置Amazon EC2防火墙设置保证数据安全,灵活自定义群集,使用成本的优势,为诸葛io搭建一个强大的技术支持。

EMR & S3 有效结合

采用AWS的S3(数据采集平台)存储数据,可对分散的数据进行有效的集中管理,满足对不同框架的输入需求,甚至支持Redshift的直接查询,而且有高持久性。在诸葛io的实际运用中,通过将EMR与S3的有效结合,降低数据传输成本,增加数据存储能力扩展性,增强计算能力的扩展性,提高伸缩响应速度,摊薄存储与计算成本。

Redshift

Redshift:提供基于云的全托管的PB级高速数据仓库,用现有BI工具分析海量数据。
随着诸葛io的客户越来越多,Greenplum的方案已不再适合SaaS服务,因为它虽然查询性能很好,可一旦海量并发时便遇到性能瓶颈。

在研究国外架构时,Redshift是airbnb等很多知名公司的选择,所以,在尝试后我们发现Redshift的确是基于数据仓库优化,包括基于S3之后在海量数据加载和计算时有非常不错的表现,另外,考虑到业务方案和基础架构,诸葛io也选择了兼容性和适配性更好的Redshift。

此外,Redshift可以利用现在使用的SQL语法和BI工具,对Amazon S3中的EB级数据进行查询,二者范围内可进行无缝查询,具有极高的扩展性;通过AWS管理控制台或Amazon Redshift API使用任何系统快照或用户快照来恢复群集,系统元数据恢复后,群集就可供使用,并且可在用户数据在后台输出时开始运行查询,具有快速恢复能力;在未使用Redshift之前主要使用Greenplum作为数据仓库,二者都是基于postgresql,数据迁移到新数据仓库后对应用中查询改动量较小,平滑迁移,更易于迁移。

大数据的技术发展势不可挡,大数据技术的发展将会越来越多样化,企业必须跟上技术发展趋势并结合数据与价值输出。随着更为复杂的用户需求涌现,精细化数据分析将成为驱动企业业务增长的关键功能。

诸葛io围绕这些趋势所产生的问题,结合用户-触点(设备)-会话-事件模型,提供了一站式的数据分析解决方案,从数据接入到自助式的场景分析,最后再将底层进行清洗和整合过的数据,完整开放给企业,以便实现企业数据相关价值的挖掘。

以用户跟踪技术和简易集成开发的方法,帮助移动应用的运营者挖掘用户的真实行为与属性,帮助互联网产品更快、更简单的通过数据驱动产品分析从而实现业务增长,商业价值的提升。

评论