【云栖号案例 | 互联网】高德地图:MaxCompute助力开发高效、弹性的高的应用

云栖号案例库:【点击查看更多上云案例】
不知道怎么上云?看云栖号案例库,了解不同行业不同发展阶段的上云方案,助力你上云决策!

公司简介

高德地图旗下的高德开放平台是国内技术领先的LBS服务提供商,拥有先进的数据融合技术和海量的数据处理能力。服务超过三十万款移动应用,日均处理定位请求及路径规划数百亿次。高德开放平台向广大开发者提供覆盖移动端和Web端的开发工具,开发者通过调用开发包或接口即可在应用或网页中实现地图显示、标注、位置检索等功能。使得LBS应用的开发过程更加容易。

高德正在进行的位置大数据探索与实践,高德地图开放平台通过其服务的三十万款应用,每日百亿级的位置请求和相关行为,对现实世界做了人群走向、区域热度、行为偏好等分析和洞察,试图通过数据画像还原一个在我们身边熟悉却又陌生的世界。

2014年高德的数据架构依赖Flume进行数据采集,依赖一个仅含几百台机器的hadoop集群和Hive等软件实现数据处理。2014年,高德的数据架构依赖Flume进行数据采集,依赖一个仅含几百台机器的hadoop集群和Hive等软件实现数据处理。2014年9月份高德内部提出“上云”,即将数据迁移阿里云,使非流程化的作业得到流程化的管理。与其他复杂的数据迁移工作相比,2014年高德实现了“一键”上云,将源数据的同步从Flume切换成TimeTunnel,后续再可配置化地切换数据。此外,迁移还伴随着代码修改,2014年高德“上云”仅修改了非常少的代码,比如修改老版本M2中的接口等。上方的数据存储层将数据介质替换成OTS等云端产品,以支持更加稳定的前台应用。高德将所有集群数据都迁移到“云上”仅花了两个月时间。

业务痛点

从2014年“上云”到如今2018年,高德经历了飞速的发展,同时也暴露出了一些问题。

  • 烟囱过多,影响效率:

烟囱过多是数据仓库中比较麻烦的问题,高德同样存在该问题。数据使用者可能需要花费一个月寻找数据所在部门、数据的相关产品负责人以及研发人员以索要数据。2017年高德盘点数据仓库时发现,高德内部存在二十个数据仓库项目,并且各个数据仓库间的数据冗余度高达百分之三十,严重影响了团队工作效率。此外,高德数据仓库还存在高时延缺点,核心数据无法保证每天“7点产出”。基于以上两个问题,高德发起了“魔方”项目,将二十个仓库合并成一个以实现全集团的数据治理。

  • 弹性:

2018年十一期间,高德的数据处理量随业务快速增长,数据计算任务的性能和平台的稳定性都受到了极大的考验。

解决方案

  • 效率提升:

应对这几个挑战的主体思路就是引入高效率的研发工具,在规范化的流程中实现协同开发,提高团队的工作效率。

为此,高德首先统一了工具平台,引入了MaxCompute,下图蓝色部分皆为MaxCompute 为我们带来的业务收益。在数百人的团队中统一规范无疑是困难的,而MaxCompute提供了代码编写规范、调度配置规范以及研发自测规范等规范化模块。其中,代码编写规范模块使用 SQL Scan 工具自动化地检查代码是否符合规范,调度配置规范模块提供了完善的用户手册及各种模板辅助开发人员完成配置。统一流程要求实现定制化地管理数据开发流程,包括研发测试、开发自测、调度测试、QA测试以及最后的上线部署等流程。此外,统一建模和语言、统一数据核定标准也非常重要。

【云栖号案例 | 互联网】高德地图:MaxCompute助力开发高效、弹性的高的应用

阿里云提供了一些优秀工具以构建规范化流程。

1.提供了数据血缘可视化工具,帮助数据开发团队及时地跟踪源数据、数据的上游和下游等信息。
2.提供了开发/测试流程并行的能力,以支持完善的协同开发和高效运转的工作。
3.提供了代码云端版本管理工具,允许实时查看代码变更、代码管理状态并支持回滚。
4.提供了一键数据探查工具,允许数据开发人员通过简单的配置探查海量数据的字段空值率,有效值率,表重复率等信息,极大地提高了数据开发人员的工作效率。

数据血缘可视化工具允许数据开发人员可视化地查看系统资源配置,下图展示了高德在2018年9月2日的系统实际使用计算水位,其中,蓝线是系统配额水位,黄线是系统的实际计算水位。

  • 阿里云提供的弹性计算能力允许在一定弹性数据量范围内保证系统资源的正常计算和输出。此外,阿里云还提供了稳定的计算环境,保证计算任务高效地运转,同时避免资源竞争问题。
  • 另外,为了更好地利用系统计算资源,高德团队提出了“提高蓝线、打散黄线”方案,申请扩大集群资源配额提升算力空间,通过调度错峰打散实际资源水位。

【云栖号案例 | 互联网】高德地图:MaxCompute助力开发高效、弹性的高的应用

上云价值

  • 在规范化的流程以及众多效率工具的帮助下,高德在规定时间内完成了“魔方”项目开发,得到了一致好评。高德最终统一了数据仓库,将内部所有百P级数据的月增速降低了40%,同时数据计算效率提升了30%。即使在2018年十一的流量轰炸时期,高德仍然实现了核心数据的“5点产出”目标(5点到7点需完成核心数据计算任务)。
  • 在扩容方面,MaxCompute为高德带来了一键资源扩容能力,使得集群扩容在小时级别的时间内完成。最后,高德还实现了计算优化,提供了人员在线值守等保障。上图同时展示了高德在2018年10月2日的系统计算水位,蓝线代表的“系统配额水位”远高于9月2日的,说明集群扩容工作已顺利完成。同时,黄色代表的“实际资源配额水位”已完全被蓝线cover,更好地保障了资源计算任务。此外,黄色高峰被明显打散,一些重要非核心数据被错峰调度到7点,说明计算资源的错峰调度工作也已顺利完成。阿里云提供的一键运维调度工具能够保证系统方便的进行调度错峰,节省人力。MaxCompute为高德带来的弹性能力使得高德于2018年10月2日实现了核心数据“3点产出”的骄人成果。

相关产品

  • 大数据计算服务 · MaxCompute
    MaxCompute(原ODPS)是一项大数据计算服务,它能提供快速、完全托管的PB级数据仓库解决方案,使您可以经济并高效的分析处理海量数据

更多关于阿里云MaxCompute的介绍,参见MaxCompute产品详情页。

MySQL 是全球最受欢迎的开源数据库之一,作为开源软件组合 LAMP(Linux + Apache + MySQL + Perl/PHP/Python)中的重要一环,广泛应用于各类应用场景。
更多关于云数据库RDS MySQL版的介绍,参见云数据库RDS MySQL版产品详情页。

  • 云数据库MongoDB版

云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。
更多关于云数据库MongoDB版的介绍,参见云数据库MongoDB版产品详情页。

【云栖号在线课堂】每天都有产品技术专家分享!
在线课堂地址:https://yqh.aliyun.com/zhibo

立即加入社群,与专家面对面,及时了解课程最新动态!
【云栖号在线课堂 社群】https://c.tb.cn/F3.Z8gvnK