• 1. 淘宝数据开发平台 Cheetah泽远@数据平台与产品 Weibo.com/apeks
  • 2. 背景——进入数据的世界数据的价值?哪些人在使用数据?如何使用数据?数据平台架构——海量数据解决之道总体介绍技术架构产品架构数据开放平台——人人都是数据专家基础知识产品架构技术架构关键服务介绍——理论与实践元数据调度生命周期IDE监控告警数据集成总结——经验和教训展望——数据创造未来大纲
  • 3. 背景——进入数据的世界
  • 4. 数据能为你带来什么?
  • 5. 数据化运营…
  • 6. 行业分析…
  • 7. 追星…
  • 8. 挑选男友…
  • 9. 找回自信…
  • 10. 淘宝对外数据产品
  • 11. 淘宝对内数据产品
  • 12. 那么…. 谁在使用数据? 如何使用数据?
  • 13. 数据分析师ETL开发工程师模型架构师运营程序员数据化运营 商业决策 产品设计理解业务 文档化业务和需求 BI产品设计PD业务分析师/数据PD卖家买家数据产品PD店铺经营 购买决策 行业分析分析、挖掘用户需求 数据产品设计数据平台ETL作业设计, 实施,维护, 优化数据模型建模架构师技术框架设计 平台与工具的实现数据产品开发团队商业智能团队数据开发团队内部用户外部用户基础开发 & 开发架构……使用、建设建设如何使用数据——传统数据仓库模式
  • 14. 数据分析师ETL开发工程师模型架构师运营程序员数据化运营 商业决策 产品设计理解业务 文档化业务和需求 BI产品设计PD业务分析师/数据PD卖家买家数据产品PD店铺经营 购买决策 行业分析分析、挖掘用户需求 数据产品设计培训,咨询,解决方案架构师技术框架设计 平台与工具的实现数据产品开发团队商业智能团队数据开发团队内部用户外部用户基础开发 & 开发架构……使用、建设建设服务数据开放之路——人人都是数据专家数据开放平台ISV
  • 15. 访问数据的方式内部小二: 1 临时提取数据 http://wf.taobao.org/app/biservice/Default/ProcessView?ProcInstId=277884&requestId=69df081a-b070-44c3-84f2-23541ef0c885&redirect=true 2 淘数据 http://dw.taobao.ali.com/main/index.htm 3 Business Preview http://bp.dev.taobao.net:7001/app/ 数据产品: 数据产品——数据魔方 http://data.taobao.com/datacube.html 数据产品——量子统计 http://www.linezing.com/
  • 16. 数据平台——海量数据解决之道
  • 17. 每日新增数据20T 累积数据14P 1300+服务器的云计算平台 每天处理100,000+作业任务,包括100+新增作业任务 每天处理1P+数据,包括0.5%新增数据
  • 18. 数据的价值
  • 19. 数据平台与产品(七公)数据魔方团队(空无) 客户 量子统计团队(冰夷) 客户 基础开发团队(剑英) 合作伙伴 数据开发团队(云铮)架构组(泽远) 搜索业务线(明风) 客户 BI业务线(薛奎) 客户 一淘 客户 商城集市商业智能 (元甲) 合作伙伴报表展现 (芷若) 合作伙伴我们的团队在哪里?
  • 20. 数据开发平台——Cheetah Data IntegrationDB syncTT调度 系统安全 控制系统 审计系统自动化运维系统Hive运行时 监控 系统 实时分析系统可视化引擎数据 监控 和 管理 系统Hadoop Map ReduceHadoop HDFSDatax报表需求(淘数据)数据开发界面Hbase元数据中心 和 知识库…即席查询(adhoc)数据分析数据挖掘数据产品数据开发平台——产品架构数据挖掘集成环境数据质量监控系统成本分析和 计算优化系统报表生成器实时计算平台 (规划中)底层平台数据开发平台数据应用数据开发门户…
  • 21. Gateway ServersOracle 备库MySQL 备库日志系统 Log ServerHadoop开发平台Gateway ServersDBSync爬虫数据Map Reduce Java JobsStreaming JobsHive JobsTimeTunnelDataX数据流向主站服务(淘宝,B2B,广告,搜索,BOSS)HbaseHbaseMysqlOracleDataXMyfox LoaderLzLoaderOther System数据产品Adhoc报表(淘数据,Business Preview)回流主站应用流式计算平台其它数据开发平台——技术架构实时计算平台
  • 22. Hadoop MR Hadoop HDFS Hive HBase 底层平台
  • 23. Hadoop
  • 24. HDFS
  • 25. Map reduce
  • 26. HiveHive ServerCLIMetaStoreDriver (Compiler, Optimizer, Executor)Thrift ServerWeb InterfaceCommand Line InterfaceJDBCODBCMetaStore ClientDriver (Compiler, Optimizer, Executor)Command Line InterfaceMetaStore ClientDriver (Compiler, Optimizer, Executor)Thrift ServerMetaStore ClientJDBCmysqlMetaStoreMySQLHive体系结构
  • 27. HBase
  • 28. 数据开放平台——人人都是数据专家
  • 29. ADHOC 淘数据 IDE(Web/RCP) ADM自助取数 类Excel查询工具 数据项目/数据产品 产品体系支持
  • 30. 数据项目/数据产品
  • 31. 需求/现状架构实现测试/发布抽取清洗规格化提交规划与设计主线数据流主线数据仓库——主线
  • 32. 需求业务需求数据评估和数据源现状监控需求安全需求数据集成时效性需求归档需求用户界面架构开发工具批处理VS流式处理任务依赖调度自动化异常处理质量控制元数据安全性恢复与重启开发硬件软件编码文档质量检查测试/实施开发系统测试系统生产系统提交过程升级方案系统快照和回滚性能调优数据仓库——规划和实施主线
  • 33. 抽取读取元数据模型连接和访问数据下载式同步流式同步并发,时间窗口清洗强制列属性强制结构强制数据和数值规则强制复杂业务规则创建元数据持久化规格化业务标志规格化度量规格化国际化持久化提交加载平面型和雪花型纬度生成时间维加载退化维加载子维加载缓慢变化维规格化维和事实处理迟到维和迟到事实…数据仓库——数据流主线
  • 34.  聚合  通用表达式  过滤  关联  查找  规范化  分级  序列生成器  分类器  源阅读器 (适配器)  存储过程  更新  XML 输入和输出器  底层访问接口
  • 35. 数据字典, 知识库, 问答图形化辅助建模工具, 自动建模数据集成平台 (DataX,DBSync,TT3)IDE(web,RCP),代码优化器 支持HIVE,map-reduce,mahout 准入测试,持续集成, 性能测试任务调度 分析工具集 指标系统(Dashboard)监控告警,数据质量, 生命和周期数据集成平台,报表引擎, 可视化引擎需求分析运行时监控业务建模源数据导入部署管理生命周期工作流开发报表配置数据质量监控结果数据导出数据可视化配置测试运行优化计算成本元数据center权限控制审计日志搜索缓存…公共服务支撑子系统项目实施流程全流程产品覆盖
  • 36. Cheetah webappsCheetah RCPELT RCP (talend)E组件T组件HadoopHiveCheetah service元数据任务调度运行监控数据质量存储管理DataXDBSyncTTMRHive集成开发环境(DIP)底层接口服务元数据任务调度存储管理告警管理数据质量L组件DataXMyFox产品应用应用平台底层平台权限管理配置管理数据集成HoneyEye系统管理Cheetah 产品架构
  • 37. Web服务服务服务消息总线领域数据领域数据领域数据数据开发平台——技术架构同步方式-RPC异步方式-MQRCP外部应用基础服务流程服务技术服务
  • 38. 服务组件标准服务组件RPC接口RPC实现DeamonTools消息订阅消息发送数据开发平台——技术架构:标准服务组件数据库
  • 39. 调度服务调度服务接口调度(天网)前台天网(天网)后台天网数据库表现层业务逻辑层数据访问层ETL portal业务逻辑层数据访问层调度插件工作流调模块天网数据库其它插件…原来的架构新架构举例:如何改造老老服务
  • 40. 物理部署
  • 41. IDE
  • 42. IDE(Web)
  • 43. IDE ServerHive ServerHive 元数据库…Hadoop Cluster Web IDE 架构消息总线CLICLICLIIDE ServerIDE server cluster 元数据调度优化引擎生命周期…
  • 44. IDE 元数据mysql生产元数据mysql生产gateway集群…IDE server集群…调度后台单向同步Cheetah IDE 部署方式
  • 45. IDE(RCP)
  • 46. 编写SQL代码图形化数据流编辑数据流拆分语法分析去重和优化生成数据依赖关系生成调度任务生成监控告警生成生命周期管理字段归一化报表配置作业开发流程
  • 47. 数据集成
  • 48. 全量/非实时同步增量实时同步数据源Mysql备库oracle备库日志数据爬虫数据Hadoop集群DataXTimeTunnel 2Dbsync计算结果Mysqloracle全量/非实时同步DataXHDFS数据同步架构
  • 49. 低负载无负载天增量 数据同步实时同步实时同步实时同步实时同步实时同步合并增量到全量合并增量到全量高负载基于实时数据的计算开始基于天增量的计算任务开始基于全量的计算任务开始DBDB数据仓库数据仓库实时同步非实时同步时间轴DB数据同步到00点数据的两种同步方式
  • 50. TimeTunnel是一个实时数据传输平台,TimeTunnel的主要功能就是实时完成海量数据的交换,因此TimeTunnel的业务逻辑主 要也就有两个:一个是发布数据,将数据发送到TimeTunnel;一个是订阅数据,从TimeTunnel读取自己关心的数据。 TimeTunnel作为一个实时数据传输平台具有以下特点: 高效性:单点1k数据可以到4万TPS 高可靠性:M-S模式时保证数据不丢失 高可用性:单点故障不影响整个集群服务 顺序性:当没有故障发生时,保证所有传输都是顺序的,或者说一次连接内的传输是顺序的。 数据集成工具——TimeTunnel
  • 51. dbsync是一个用于同步服务库数据到HDFS的产品,通过分析数据库服务器的log文件来提取相应的数据库动作,进而达到数据库到HADOOP的数据同步,供相关部门提取增量数据。记录大小速度2K4M/s9K10M/sDbsync实时同步性能应用场景 数据量 800G 00:10分备库打开: 非实时同步完成时间0:55 实时同步完成时间0:25数据集成工具——DBSync
  • 52. 数据集成工具——DataXDataX是一个在异构的数据容器之间交换数据的工具。用于在任意的数据处理系统(RDBMS/NoSql/FS)之间交换数据。 Framework+plugin,Framework处理了高速数据交换的大部分问题,插件提供对数据处理系统的访问。 运行模式 :stand-alone / on hadoop Webui + cui 基于元数据的高效配置,例子: 表A sharding为32个库,1024张表,配置时间<1 min MySQLOracle/RACFSHDFSFTP/HTTP/Other数据输出方向Speed(M/s)mysqll->hdfs29.9oracleloader->hdfs31.9hdfs->oracle18.1DataX部分性能数据:
  • 53. 生命周期
  • 54. 功能性需求: 1 提供生命周期策略的设置界面,供用户操作。 2 与天网任务部署集成,在部署任务时自动定位新增数据,使开发人员可以在部署任务同时进行生命周期管理。 3 依据用户配置执行生命后期管理策略。 非功能性需求: 灵活:要求能低成本增加新的管理策略。 通用:针对抽象的文件系统,数据库表进行管理,接口隔离,不依赖/轻依赖特定平台实现。 可靠: 自动化:除了生命周期管理策略的配置外,其它地方无人工接入。 轻量:管理策略尽可能减少资源消耗。 低成本:尽可能复用已有模块,减少开发成本。 一期项目目标: 生命周期管理模块上线。 模块上线后一个月后,实现生命周期管理覆盖对tbdp上80%的数据。功能介绍
  • 55. 生命周期交互区(Very current)整合区(Current++)近线区(Less than current)归档区(Older)设置不同分区的原因交互区整合区近线区归档区访问频率高高-高--低访问方式随机随机-随机---顺序数据量小且稳定小且稳定小且稳定大并且持续增长存储成本高高-高--低时间推移
  • 56. 生命周期——关键概念生命周期对象( Object )动作( Action ):规则( Rule ):对象( Object ): Hive table HDFS中的目录 动作( Action ): 仅保留,不作操作 删除 合并/压缩 极限存储 HDFS Raid 移动到其它文件系统 其它操作(可增加) 动作可以级联 规则( Rule ): 指定管理对象,在指定时间后,执行指定操作策略。 每个管理对象可以配置多条管理规则。 保留删除合并压缩极限存储HDFS RAIDMove out…
  • 57. Web生命周期后台Hadoop调度服务配置管理 后台Action执行框架执行组件元数据分析模块生命周期前台生命周期数据库生命周期——结构Rule执行器HIVE调度元数据服务收集,捕获总线调用推送配置总线调用调度读取读写总线调用数据拥有者
  • 58. 生命周期——数据流图
  • 59. 元数据
  • 60. Data about data元数据业务元数据技术元数据过程元数据
  • 61. 元数据数据结构:数据集的名称、关系、字段、约束等; 数据部署:数据集的物理位置; 数据流:数据集之间的流程依赖关系(非参照依赖),包括数据集到另一个数据集的规则; 质量度量:数据集上可以计算的度量; 度量逻辑关系:数据集度量之间的逻辑运算关系; ETL过程:过程运行的顺序,并行、串行; 数据集快照:一个时间点上,数据在所有数据集上的分布情况; 星型模式元数据:事实表、维度、属性、层次等; 报表语义层:报表指标的规则、过滤条件物理名称和业务名称的对应; 数据访问日志:哪些数据何时被何人访问; 质量稽核日志:何时、何度量被稽核,其结果; 数据装载日志:哪些数据何时被何人装载;
  • 62. Hadoop MRJob/Task级别运行日志MR级别运行日志各个环节延迟系统吞吐Hadoop HDFS文件Meta目录Meta文件,目录统计信息权限属性访问记录HIVE表Schema分隔符,格式,压缩方式记录数权限信息工作流调度数据流定义,任务依赖节点级运行日志系统延迟调度开销Gateway集群负载,并发度任务优先级,基线代码库代码与用户的关联
  • 63. 其它服务生成捕获/解析/处理/归一化元数据应用归一化存储元数据系统架构Hadoop MRHadoop HDFSHIVE调度系统代码 J/HI/PY RACMySQLSphinxRedis需求系统收集器收集器收集器收集器解析器收集器…数据字典指标库知识库数据质量监控自动建模/模型优化SQL自动改写Metadata Service……生命周期血缘分析&影响分析SQL优化监控告警…
  • 64. 元数据应用——数据字典
  • 65. 系统优化宏观数据微观数据任务依赖关系/data pipeline天网调度效率Gateway并行度Jobtracker调度效率关键路径分析运行趋势分析系统关键路径点数据源监控末端监控比较重点节点运行时间等待时间同步时间算法优化集群计算效率系统吞吐瓶颈ETL元数据分析/血缘关系参数调优计算模型优化工具优化优先级事后评分元数据应用——运行分析系统
  • 66. 元数据应用——血缘分析&影响分析
  • 67. 调度
  • 68. 1.0 Crontab完全为了解决定时启动的问题应用自己解决依赖关系无均衡负载问题无优先级问题全人工运维2.O 调度系统(天网)基于工作流,自动管理以来关系资源分配,并行度控制容错机制:任务自动重跑、机器自动倒换自动负载平衡支持业务优先级大部分场景支持自动运维,小部分半自动运维独立的系统3.0 开发平台(Cheetah)结合IDE自动部署全自动运维自助监控,自助值班,100%监控覆盖开放式服务与系统其他部分集成,服务平台的一部分调度系统
  • 69. Standardized Gateway server cluster调度服务标准化配置统一包管理批量管理工具标准化运维fail overdynamic LB智能调度high-usagehigh-availableLower maintenance cost per machine benefit消息总线调度前台其它服务定义调度系统——系统架构
  • 70. Workflow/Data Pipelines 管理Flow ControlTime triggerData trigger业务运维智能重跑补历史数据查看日志/源代码日志/代码搜索业务分组智能调度异构系统支持优先级设置DLB/Failover自动重跑 资源管理监控/告警/分析 运行信息收集系统瓶颈分析关键路径分析调度系统——模块划分
  • 71. 1.0 Crontab + SQL全人工运维非实时任务覆盖率低单一层次有限环节监控2.O 基于消息的监控系统自助配置与调度完全解耦实时全覆盖三层立体监控全环节监控监控
  • 72. 监控
  • 73. 数据源监控末端监控acdbfe数据流1末端监控acdbfe数据流2末端监控acdbfe数据流3末端监控acdbfe数据流4末端监控acdbfe数据流5系统关键路径点监控关键路径分析监控
  • 74. 监控
  • 75. 监控
  • 76. 总结