技术类干货 — 移动大数据平台架构实践

95009407376237527

近日,TalkingData研发副总裁 – 阎志涛出席2015 ArchSummit全球架构师峰会深圳站,其演讲主题为《移动大数据平台实践》。

移动互联网大数据特点:

  • 移动互联网大数据的4V
  1. Volume

    随时随地都在产生数据,数据量更大

  2. Variety

    随时随地联网的特性,使得移动互联网的数据更具有多样性。在移动 侧可以有更为精准的位置数据,各种传感器数据。

  3. Velocity

    对速度处理的要求性更高,很多的业务场景需要更实时的数据处理才能使得数据产生价值。

  4. Value

    更多高价值的数据产生

  • 万物皆可联网,数据方便人的生活–IOT逐渐成为现实,万物都在贡献数据–各种智能硬件逐渐普及
  1. IOT逐渐成为现实,万物都在贡献数据
  2. 各种智能硬件逐渐普及

幻灯片7

数据相关产品:

  • 2011年– App Analytics
  • 2012年– AdTracking
  • 2013年– Game Analytics
  • 2014年– Data Center, Mobile DMP, MobileInsight
  • 2015年– DataSync……

早期的架构:

QQ截图20150721181255

 

QQ截图20150721181355

面临的挑战:

  • 研发团队完全按照业务线组织,多个竖井
  • 很多能力没有服务化,重复建设

QQ截图20150721181531

面临的挑战:

  • 整个架构为统计分析业务而生
  • 未来更多的数据业务

    –纯粹竖井模式很难支持新业务的开展

  • 更多的数据价值探索的需求

    –纯粹竖井模式很难深入了解技术

  • 更多的数据(Bigger than Bigger)

    –纯粹竖井模式不利于资源的合理利用

  • 没有统一的数据视图

架构升级- TD移动大数据管理平台(π系统)

  • 整合多产品线的基础服务

    –统一存储

    –统一计算

    –统一数据总线

    –统一数据挖掘

    –统一视觉呈现

    –统一数据收集

    –统一SDK

    –统一监控和管理

  • 更好的水平扩展能力
  • 提供更灵活高效的技术支撑

    –产品能迭代速度更快

    –研究成果加速流动

π系统架构:

QQ截图20150721181926

统一SDK:

  • 新的统一的数据收取框架
  • 业务层和基础层分离
  • 非阻塞模式
  • 处理各种异常
  • 高效存储格式

统一数据收集系统:

  • 利用C++,Node.js,基于lmdb的内存队列
  • 支持分布式部署
  • 数据收集系统支持存储转发
  • 分布式收集节点和中心节点数据传输高压缩比

QQ截图20150721182135

统一数据总线:

  • 基于Kafka的数据总线
  • 规范不同业务线的topic命名规则
  • 统一的管理

统一存储:

  • 统一的分布式存储(HDFS):
  1. 数据域管理,多业务系统可以共享存储资源
  2. 数据文件按照时间进行切片
  3. 数据文件时效管理,中间数据可以自动删除
  4. 数据自动归档
  5. Parquet列式存储格式,方便数据计算
  6. 计划支持数据EC(ErasureCoding)
  7. 分布式缓存Tachyon
  • NoSQL数据库
  1. 开发Bitmap存储,bitmap基本运算下沉到存储层,底层基于RocksDB
  2. MongoDB3.0(WiredTiger引擎),基于SSD
  3. Redis
  • 关系型存储
  1. MySQLCluster(MariaDB,TokuDB)
  2. WebScaleSQL
  • 元数据管理
  1. 基于Hcatalog进行二次开发
  2. 支持不同数据源
  3. 支持json,protobuffer等数据格式
  4. 支持版本
  • 统一的计算框架和接口
  1. 基于Yarn进行计算资源调度(调研Mesos)
  2. 基于Spark的并行计算框架
  3. 基于预先生成Bitmap的OLAP解决方案
  4. 利用SparkStreaming进行流式计算
  5. 自行开发的任务调度系统
  6. 统一的计算查询接口

统一的数据挖掘:

  • 数据挖掘服务化
  1. 基于统一计算框架
  2. 针对Spark,自行实现了LR,DT等数据挖掘算法库
  3. 将数据挖掘服务化,变成统一计算的一种能力

统一的视觉呈现:

  • 视觉呈现组件化
  • 支持各种自定义报表
  • 支持各种数据可视化效果

统一监控:

  • 基于Zabbix开发
  • 支持CPU、内存、硬盘、网络以及进程运行状态等等的监控
  • 支持短信、邮件、微信报警

 

看上去很美好,但是,罗马不是一天建成的!!

  • 上线统一Collector后,出现雪崩
  1. 接收请求的Collector机器只有两个
  2. Nginxupstream 配置fall=1
  • 统一Kafka数据总先后,数据压力大后,各业务系统相互影响
  1. 对Kafka了解不足
  2. 对压力预估不足
  • Spark新版本对Yarn-alpha不再支持
  1. 新版本Spark不能使用

带来的好处:

  • 更方便的增加新的数据业务
  • 术业有专攻,工程师可以更深入的了解技术
  • 资源可以更合理的进行配备

更多干货分享请关注TalkingData研发副总裁 – 阎志涛公共账号【老阎杂货铺】

发表评论

电子邮件地址不会被公开。 必填项已用*标注