发光的二次元——克拉克拉上云实践

作者:田亮 深圳市有信网络 大数据团队负责人

克拉克拉(KilaKila)是国内专注二次元、主打年轻用户的娱乐互动内容社区软件。KilaKila 推出互动语音直播、短视频配音、对话小说等功能,满足当下年轻用户个性化、碎片化的文娱需求。随着业务规模增长,海量数据存储与计算的瓶颈也日益突出,由于单台服务器的处理能力有限,海量数据的分析需要分布式计算模型。分布式的计算模型对数据分析人员要求较高且不易维护:数据分析人员不仅需要了解业务需求,同时还需要熟悉底层分布式计算模型。MaxCompute提供完善的数据导入方案以及多种经典的分布式计算模型,可快速解决克拉克拉所面临的海量数据的计算问题,有效降低企业成本并保障数据安全。对于使用方的我们不必关心分布式计算和维护细节便可轻松完成大数据分析,最终我们采用阿里云MaxCompute方案进行数据上云。

一、数据上云

克拉克拉(KilaKila)数据源主要分为两部分:1.结构化业务数据表(MySQL);2.非结构化用户行为日志

 结构化业务库上云主要使用阿里云datax、DTS两种工具。
发光的二次元——克拉克拉上云实践

▲图一:datax数据同步

datax原理是将MySQL数据完全透明化同步至MaxCompute数据表中,是表对表的映射。

发光的二次元——克拉克拉上云实践

▲图二:DTS数据同步

DTS主要以MySQL binlog方式来进行数据同步,该同步的优势在于不会影响线上生产环境MySQL库I/O压力,与此同时对于删除操作也会进行实时同步。

 用户行为日志上云,该日志主要使用阿里云日志服务(Log Service)组件。该组件除了满足将海量日志存储在MaxCompute数据仓库中外,也解决了实时业务计算需求,如storm集群。

发光的二次元——克拉克拉上云实践

▲图三:Log Service工作流
发光的二次元——克拉克拉上云实践

▲图四:日志服务各Topic日志源
发光的二次元——克拉克拉上云实践

▲图五:克拉克拉用户行为日志片段

二、数据计算

为满足各类批处理计算业务需求,基于MaxCompute建立了小时维度、天维度、月维度等不同维度的工作流以及业务流程。在数据开发阶段我们使用MaxCompute的Web datawork进行任务开发、任务运维、任务监控等。

发光的二次元——克拉克拉上云实践

▲图六:datawork SQL开发
在datawork中可以创建SQL脚本,通过编写SQL语言满足我们的临时查询需求。

发光的二次元——克拉克拉上云实践

▲datawork工作流

在datawork中可以根据业务场景配置工作流,解决生产环节中所面临的定时计算任务等诉求。

发光的二次元——克拉克拉上云实践

图七:datawork运维中心
运维中心可实时监控任务的状态,对应不同的任务状态进行不同情况的报警;
综上所诉,得益于datawork强大的数据开发多样性和丰富的内置函数,我们可以针对不同业务场景进行快速的项目开发和上线。

三、克拉克拉业务应用场景

克拉克拉(KilaKila)在实际生产环境中,主要有以下四个数据业务应用场景。如下:

  1. 报表系统
    发光的二次元——克拉克拉上云实践

▲图八:克拉克拉BI报表系统架构

基于MaxCompute与quickBI组合快速构建了业务报表系统。该系统通过datawork部署系列报表计算任务,最终的计算结果可存储MaxCompute表中以及MySQL表中。quickBI通过数据源关联即可实现前端趋势图灵活展示。

发光的二次元——克拉克拉上云实践

图八:克拉克拉BI报表系统

  1. 克拉克拉(KilaKila)榜单业务

发光的二次元——克拉克拉上云实践

图九:克拉克拉榜单业务计算场景

通过MaxCompute满足了克拉克拉主播排行榜、热门榜单等排序业务。

  1. 对外开放接口平台(Restful API )
    为了满足第三方通过API接口获取克拉克拉数据仓库中的用户标签数据,基于MaxCompute Lightning架构搭建开放接口服务,通过该服务的网关鉴权机制保证了授权访问和防DDOS攻击。

发光的二次元——克拉克拉上云实践

图九:克拉克拉开放接口结构

4.算法业务
阿里云机器学习平台是构建在阿里云MaxCompute(原ODPS)计算平台之上,集数据处理、建模、离线预测、在线预测为一体的机器学习平台。克拉克拉(KilaKila)预测算法业务、推荐业务等相关项目均建立在机器学习平台基础上,项目上线快且效果符合预期。

发光的二次元——克拉克拉上云实践

▲图九:克拉克拉短视频推荐业务
发光的二次元——克拉克拉上云实践

图十:克拉克拉渠道ROI预测业务
通过阿里云所提供大数据解决方案,除了解决了克拉克拉所遇到的大数据挑战,也极大的缩短了克拉克拉(Kilakila)诸多数据项目从想法到落地的研发周期。

上一篇:使用AirFlow调度MaxCompute


下一篇:Linux安装软件包的三种方法,rpm包介绍,rpm工具用法,yum工具用法,yum搭建本地仓库