Download presentation
Presentation is loading. Please wait.
1
“大云”大数据平台及应用 中国移动通信研究院 郭磊涛 2013年11月
2
除了像移动互联网服务商那样关注“结果”,电信运营商还需要关注“过程”!
电信运营商具有更多的数据 移动互联网 服务商 专业SNS 博客 消息 电商 视频 优惠券 图片 新闻 点评 微博 音乐 地图 问答 SNS 签到 论坛 电信运营商 2G、3G、4G、WIFI 基站侧/核心网侧有大量的信令日志数据,需要实时查询分析(网络质量优化,网络质量考核,LOG统计查询等) 除了像移动互联网服务商那样关注“结果”,电信运营商还需要关注“过程”!
3
典型的应用场景之一:大数据批处理系统 目标:针对海量结构化、非结构化数据的ETL操作。从各种数据源获取数据,并进行清洗、转换、去重、缺值补充等操作。通常采用MapReduce等并行计算技术。 技术要求举例: 针对海量数据实时离线批处理运 算(ETL),通常时间要求较为 宽松,如几个小时级别。 数据ETL运算种类多,灵活性强, 通常具有很强的定制化特征 数据通常需要导出到数据库、数 据仓库,提供报表能力 需要灵活的调度的系统,便于系 统需要和其他业务系统混合部署, 提高资源利用水平 辽宁 WAP日志的ETL处理. PV/UV等 例图:分时段汇总的业务场景
4
典型的应用场景之二:大数据查询系统 目标:针对海量结构化、半结构化数据的精确定位、区段扫描等条件查询操作,用于网络优化、帐详单查询、故障定位、搜索引擎等业务场景。 采集预处理 计算1 计算2 融合 处理 大数据库 原始 数据 消息 营业厅系统 营业厅1 营业厅2 营业厅3 营业厅4 技术要求举例: 针对海量数据实施交互式查询, 返回时间在1秒钟左右。 针对海量大数据规模实施查询, 数据规模可以达到100TB-10PB 规模。 数据插入通常采用批处理方式, 而查询通常带有条件,通常返回 结果数较少 系统具备较高的并发性,支持大 量用户同时查询,依然可以在给 定时间出口返回结果 数据具有很高的可靠性和可用性 要求 例图:帐详单查询系统
5
典型的应用场景之三:大数据挖掘系统 目标:针对海量结构化、非结构化数据的进行深度挖掘。通常需要根据业务需求设计模型、训练集并选择算法(分类、聚类、关联、非结构化)。通常会使用各种分布式数据挖掘工具和算法 技术要求举例: 针对海量数据实施全量数据挖掘, 规模达到10TB-PB规模。 处理时间没有严格要求,通常达 到几个小时,甚至更长时间 需要支持各种并行计算模式,如 MapReduce、BSP等 数据挖掘系统需要较好的用户界 面,用户通常具备业务知识,但 是未必具备开发经验 系统可以和其他系统混合部署 数据具有一定的可靠性和可用性 要求 基于web的业务处理流程。 首先选出2个特征人,然后根据不同的算法,对人群进行分类。 1. 把客户细分,分类;2.用户消费模型的构建;3.对新用户的套餐推荐 人群1 其它人群 例图:客户分类识别应用
6
中国移动“大云” 云计算平台 “大云”产品 PaaS 产品 IaaS 产品 商务智能平台 能力开放平台 数据仓库系统 HugeTable
经分KPI 集中运算 经分系统 ETL/DM 结算 系统 信令 系统 云计算 资源池系统 物联 网应用 IDC服务 … “大云”产品 PaaS 产品 系统监控和管理 CloudMaster CloudSecurity 平台安全管理 数据管理/分析类 实时交易类 IaaS 产品 商务智能平台 能力开放平台 计算/存储资源池 数据仓库系统 HugeTable 并行数据挖掘工具集 BC-PDM BC-Hadoop 数据存储和分析平台 K-V数据库 BC-kvDB 分布式SQL数据库 BC-RDB BC-BSP 数据并行框架 并行数据挖掘工具集 BC-PDM 并行数据 抽取转换 BC-ETL 搜索引擎 BC-SE K-V数据库 BC-kvDB 分布式SQL数据库 BC-RDB 文件中间件 BC-NAS 弹性计算 BC-EC 数据仓库系统 HugeTable 分布式内存引擎 BC-DME 消息队列 BC-Queue 对象存储 BC-oNest 弹性块存储 BC-Block store BC-BSP 数据并行框架 BC-Hadoop 数据存储和分析平台 其他平台中间件 IT基础资源
7
Hadoop数据存储与分析 BC-Hadoop:对开源Hadoop/HBase进行扩展和增强,为大云其他组件提供基本的存储计算能力。
基于Hadoop 1.0的NameNode/JobTracker HA,HBase Coprocessor优化,管理工具整合等 JobTracker (Virtual IP) JT-0001 JT-0002 JT-0003 Zookeeper RS级别结果汇聚 线程池管理
8
基于Ambari的Hadoop监控管理工具
Apache Ambari是对Hadoop进行部署、监控和管理的开源项目 Puppet部署hadoop服务 Ganglia 收集hadoop 服务数据与生成图表 Nagios监控集群服务状态并报警
9
基于Ambari的Hadoop监控管理工具
TODO: 启用MRv1 JT/HMaster HA 删除节点 节点异构配置(Ambari-3531)
10
数据仓库系统(HugeTable) 基于Hadoop的海量结构化数据存储系统,利用低成本硬件提供高性能的数据加载、索引查询和并行分析能力,对外提供易于应用集成的数据访问接口 大容量:支持PB级别的数据存储能力 低成本:基于PC架构,不需要外接集中存储设备 高性能:秒级别索引查询、数据并行扫描 可靠性:数据冗余备份永不丢失 可定制:根据应用需求选择索引类型及存储引擎 接口丰富:提供标准的JDBC/ODBC/ SQL接口;提串行Scan接口和分布式MapReduce接口 外围工具:支持数据、性能、故障、配置、日志管理功能;支持外部数据并行加载;支持数据快速备份、恢复 1. hugetable 的数据存储在hbase表中,直接 写hbase进行入库操作。 2. hugetable 可以借助 hive, impala,hbase支持各种SQL能力的查询 3. hugetable 提供标准SQL接口,并且对SQL进行转换,自适应下面的查询引擎。 4. metastore实质是hcatalog角色(说不定将来也会自己修改元数据结构)。用于存储元数据,进行DDL操作时更新元数据。 5. 在允许结果误差的情况下,Impala与 Hive支持HFile文件的读写,进行统计分析。 1. 单条查询等(少量数据),hugetable直接去访问 hbase API完成任务。 2. 简单SQL(中量数据,满足impala内存限制条件),hugetable直接 去访问 Impala完成即时查询。 3. 复杂SQL语句或者扫描大表全表(大规模数据, 聚合算法等占用空间超过了impala内存能力),转给Hive起MapReduce Job执行完成。 单条查询等(少量数据) 实时性要求高的分析查询SQL(数据量满足impala内存限制条件) 复杂SQL语句或者扫描大表全表(大规模数据聚合查询等占用空间超过了impala内存能力)
11
图计算平台(BC-BSP) http://www.github.com/cmri/
BC-BSP:针对社交网络分析、用户精准营销、搜索引擎PageRank计算等图计算领域的数据挖掘需求而研发的并行计算框架,针对迭代计算,计算效率优于MapReduce框架 总的来说,BSP的加载数据partion的过程比hama好。计算时间比hama差,通信时间比hama好。总体比hama好。 目前的BCBSP和Hama性能相当,而且在相同内存下能够处理更大数据量 load data 是从数据源读取数据(这里是hdfs),并通过partitioner重新在各个任务间划分,目的是为了能过在迭代计算过程中定位到目标数据所在的机器。在这部分的开销上,BCBSP明显少于Hama。 Hama的local compute和send msg为串行,即先运行local compute,将产生的消息暂存,待本地计算完毕,然后进入send msg阶段。其主要开销在发送消息,一个超步中,local compute只用很短时间完成。 BCBSP在本地计算的同时并行发送消息,一般local compute会先于send msg完成,因此BCBSP中还有一个send remaining阶段。从上面两个图对比可看出,BCBSP的本地计算占用比例很大原因有二: (1)local compute和send msg同时进行,争用资源,自然比只local compute要慢一些,; (2)系统设计、代码实现方面的因素
12
并行数据挖掘工具集(BC-PDM) 应用 主要特点
BC-PDM:支持SaaS模式的海量数据并行处理、分析与挖掘系统。适用于经营决策、用户行为分析、精准营销、网络优化、移动互联网等领域的智能数据分析与挖掘应用 任务 任务分解 … M 1 M 2 M i R 1 R j 子任务 block1 数据分割 block2 block3 R 2 BC-BSP HugeTable MapReduce 并行 数据挖掘 各种海量数据处理、挖掘应用 数据交换 数据探索 Web GUI/工作流引擎 SQL脚本 CLI命令行 应用 用户权限管理 主要特点 数据交换:支持与RDB直接交换数据、支持CSV格式数据 数据ETL:支持数据清洗、转换、集成等7大类45种ETL 数据探索:支持数据统计、变量分析、分布特征探索等 数据挖掘算法:支持分类、聚类、关联分析等3大类共15种算法 社交网络分析:支持网络特征分析、社团发现和演化、社团展示等 支持SaaS服务模式:Web浏览器使用,并可支持应用共享 支持丰富的用户UI: 支持Web图形化方式创建数据分析逻辑,支持SQL脚本方式,支持CLI命令行方式 支持二次开发:Java API、Web Service 广域网 底层基于大云:hadoop/hugetable 中间:基于mr和bsp的数据探索、挖掘、非结构化的社交网络分析和文本分析(网页内容的分析,网页分类,微博热词的发现) 并行 数据ETL 社交 网络分析 Page 12
13
通过Region数据的多副本,保证数据的高可靠
K-V数据库(BC-KVDB) BC-KVDB:根据订购关系存储、用户个人信息存储等应用需求和相关规范,增强系统操作维护功能、优化性能并提高系统可靠性。提供一个高并发、高可扩展的键值对存储系统。 实现用户认证和授权 实现多个主节点的互备 元数据与用户数据隔离存储 数据连续范围分区,类似HBase 支持Master无缝切换、解决Master单点故障 三大模块 元数据存储模块:系统各种基础元数据存放到zookeeper当中,实现数据的容错 Master日志管理模块:将Master日志的读、写操作转移到zookeeper Master集群管理模块:实现多Master选举算法,保证多master有序、快速的工作;实现多master 集群管理,服务接管等功能。 通过Region数据的多副本,保证数据的高可靠 不依赖DFS,数据直接读写本地多个磁盘 Query Cache & Block Cache
14
BC-RDB 是基于MySQL的分布式数据库,系统由多个安全组(safegroup)和一个分布式事务管理器组成。
SQL数据库(BC-RDB) BC-RDB 是基于MySQL的分布式数据库,系统由多个安全组(safegroup)和一个分布式事务管理器组成。 采用“两阶段提交协议即2PC”来实现分布式事务 Safegroup内部没有采用bin-log,有类似实现但是增加了一些字段如全局事务id。 DBXA接收到事务后,查询元数据得到需要处理的safegroup的节点组。之后,将事务转发给这些safegroup。如果所有sg都反馈ok,则向所有sg发送commit。否则rollback。 64个sg,是测试经验值 复制表的join支持,分区表需要预先知道joinkey,在数据分布时即实现按joinkey的分区。 1. 应用程序(RCluster)调用事务管理器中的提交方法(Dbxac)。 2. 事务管理器通知事务中涉及的每个资源管理器,准备提交事务(这是第一阶段的开始)。 3. 资源管理器预提交本机事务,包括写本地的redo和undo日志,但没有真正提交,保留事务所占有的资源和锁。 4. 事务管理器收集来自资源管理器的所有响应。 在第二阶段,事务管理器将事务的结果通知给每个资源管理器。 如果任一资源管理器做出否定响应,则事务管理器会向所有资源管理器发送回滚命令。 如果资源管理器都做出肯定响应,则事务管理器会指示所有的资源管理器提交事务。
15
“大云”应用案例之一:大数据ETL业务 现网3.2天,减少为0.8天节约近2.5天 现网90分钟 减少为10分钟 仅为1/10 滚详单类
流程 现网时间(min) 云ETL时间(min) 加速比例 时间减少绝对值(小时) 1 4650 1153 4.03 58.3 2 2700 1571 1.72 18.8 8 2100 1293 1.62 13.4 9 1800 1150 1.56 10.8 10 1500 1225 1.22 4.6 11 490 325 1.51 2.8 现网90分钟 减少为10分钟 仅为1/10 出月表类 经分:基于hadoop 2.0 滚详单(江西2013年6月份):现网是DB2。将当前的数据做汇总,再把从月初到当天的所有的数据做一次汇总,之后供明天用。 每月数据2-4TB。 出月表:每月的前3天将上周数据做汇总 现网时间(min) 云ETL时间(min) MR时间 云ETL脚本加速比例 时间减少绝对值(小时) 流程3 90 10 无 9.00 1.3 流程4 130 59 40 3.25 1.5 流程5 60 14 4.28 0.8 流程6 80 25 2.50 0.9 流程7 47 2.76 1.9
16
“大云”应用案例之二:大数据查询业务 帐详单系统存储数量急剧膨胀,传统架构难以满足当前业务运营要求,系统面临扩容难题
采集预处理 计算1 计算2 融合 处理 HugeTable表2 HugeTable表1 原始 数据 消息 营业厅系统 营业厅1 营业厅2 营业厅3 营业厅4 某地市应用,每个月帐详单总体数据量10TB 话单通过HTLoad工具批量加载 帐详单查询通过SQL或Native API接口进行 复杂分析则通过MR接口进行 HugeTable支持数据按照Join key预先进行数据划分,减少join过程中数据在节点间的拷贝 应用效果: 加载:支持数据并行加载,数据加载保证完整性和可靠性; 查询:在高并发条件下,数据查询性能一般可达到网络IO(对于千兆以太网单节点可达1GB)或磁盘IO瓶颈; 更新:可支持单条或批量数据增删改查操作,聚合更新带宽可达网络IO极限; 压缩:对数据内容进行高效压缩,节省磁盘、网络IO,节省存储空间
17
BC-PDM BC-BSP BC-RDB HugeTable BC-NoSQL Hadoop
小结 BC-PDM 挖掘 BC-BSP 图计算 BC-RDB DataBase HugeTable SQL工具 BC-NoSQL KeyValue Hadoop HDFS+MR
18
谢谢!
Similar presentations