一、 大数据运维数字化转型
小米业务架构主要分为三层。
第一层,IaaS层。包含IDC、公有云、网络等。
第二层,PaaS层。大数据作为PaaS层核心,向下对接基础资源,向上承接业务需求,帮助业务沉淀数据资产、提升数据效率。
第三层,SaaS层。包含手机、IOT、汽车等数百个核心业务。
小米大数据服务架构立足于X86和ECS之上,自下而上分为四个层级。
数据采集层:主要采用自研Talos实现。
数据存储层:包含各类自研及开源主体,如文件存储的HDFS、KV存储的Pegasus和Hbase、对象存储FDS等等。
数据计算层:使用YARN作为统一资源管理服务器,并基于YARN提供多种批处理和流处理引擎。此外OLAP引擎进一步满足数据检索和机器查询的需求。
数据平台层:又称数据工厂,提供一站式的数据开发和数据管理功能。
随着小米业务的不断发展,目前小米大数据服务涵盖国内外20多家的机房区域,达到了千家集群、数万节点的规模。数据总量接近EB存储,每日计算作业约30万。
小米的运维转型面临了诸多挑战。
第一,传统运维管理方式和服务快速发展之间的矛盾日益突增,具体表现在服务的质量、成本、效率各个方面。
第二,大数据服务场景多,差异化极大,运维复杂度持续增加。
第三,数据孤岛导致数据难以被高效利用,数据分析、决策、执行效率低。
第四,运营单核心发展导致标准化流程落地难,局部出现了“多人多面”的现象。
轻舟是小米大数据中长期规划战略的代称,其主线是通过建设全能的基线能力,打造极致的承运能力,以实现全生命周期的管理。
轻舟架构包含两层。
一是基线能力层,包含数据集市和发布中心两部分。
二是垂域能力层,完整覆盖服务生命周期,包括服务的创建、运营和消亡。
轻舟一体化数据集市主要用于解决实践中的数据孤岛问题,在数据源和数据使用方之间搭建数据集市。在数据集市上制定了数据管理规范,并对数据进行分层次处理,通过一条调度同时实现数据的存储和使用。
该方案具有以下两个优点:
第一,统一数据运维体系。解决数据孤岛问题的同时,降低了数据使用门槛。目前,该数据方案应用于所有的大数据运维服务中。
第二,数据场景闭环。历史数据方案以人为中心,最新的数据方案则是以数据场景为中心,降低了计算复杂度。
轻舟发布中心通过调度编排加低代码的模式,实现了工作流的灵活定义。依托于模板实现SOP固化和沉淀,完成去人工化。
如图所示,该方案针对各种执行底层以及自定义脚本进行统一池化管理,在各个面板上定义了多种区域,如循环区、单次执行区等等。
目前该方案已经推广到所有的大数据服务中,发布效率提升30%以上。
轻舟运营中心结合数据和AutoOps理念,重点解决了管理过程中经验化程度高的问题。目前已经覆盖了95%上的大数据服务,大幅降低管理成本。
该方案在一定程度上实现了对数据的进一步分析及全场景的容量检测。除此之外,该方案还配有巡检、配置等多个模块。
二、 大数据技术架构实践
小米核心数据链路以Talos为核心。原始数据通过Hive或其他形式统一进入到Talos中,后端转储模块实时处理Talos中的数据,并将数据接入到其他数据集中,以供进一步分析和使用。
目前,该数据方案已经广泛推广,小米业务中超过50%的数据都是通过该方案进行处理。
小米最新的数仓架构是由Iceberg、Spark、Flink构成的一套离线实时数仓。原始数据通过核心链路到达离线湖仓中,并在湖中不同数仓层级之间完成Flink或Spark建设。
同时,小米OLAP引擎提供直接查询核心数据功能。
目前,该数仓方案能够达到分钟级延迟。相比Kappa和Lamdba,架构复杂度明显下降,数据存储能力提升明显。
HDFS实践中一般使用机械盘、固态盘等存储方式进行数据耦合和数据区分。小米为了压缩数据成本,提升数据性价比,使用HDFS Tering网络数据分类架构来实现冷热数据分层。
如图,后台Mover程序读取冷数据,存储在阿里云OSS上,同时更新Mover云数据。
目前,该方案已经完整用于线上,冷数据量超过200P,冷数据成本降低80%。
为支撑小米IOT战略,满足业务海量数据检索的需求,小米研发了SDS。然而,该方案存在以下三个方面的问题。
第一,随着小米业务不断发展,数据规模持续扩张,内部架构问题逐渐暴露。
第二,数据链路较长,排查问题困难,开发维护成本高。
第三,SDS支持物联网持续数据的场景能力较差,开发功能不完善。
Lindorm兼容开源系统协议,满足架构需求。同时,Lindorm 过程存储以及 SLA协议可以彻底解决系统内历史回流问题。
Lindorm在小米内部测试结果出色,符合业务需求。
完成选型和测试后,以低成本实现SDS到Lindorm的转换需要以下三个步骤。
第一步,打通IDC数据链路,完成SDS 和Lindorm的双向流通。
第二步,保持SDS和Lindorm数据同步更新,提供了SDS定制Proxy以最小化运营成本。
第三步,将流量和SDS切换到Lindorm上。
目前,整套方案在持续的运营当中。
小米团队在过去参与了许多大数据事件,如云原生存储建设、跨机房改造等。