快手大数据平台服务化实践
本文是围绕着快手的数据服务化中台进行介绍。第一部分是背景介绍,包括数据开发的痛点,第二部分是介绍大数据服务化平台,包括平台架构以及关键细节详解,第三部分是经验总结和未来思考。
背景
痛点一:开发数据服务门槛高
数据如何交付:业务通常期望使用数据接口方式来使用数据,而非数据表,这会更加灵活、解耦、高效。数据开发工程师因此需要建立对应的数据服务。 服务如何开发:数据服务有多种形式,通常要求开发工程师有微服务知识、服务发现注册、高并发等。 权限、可用性问题:开发完数据服务后,需要考虑权限问题,确保数据资源能被安全的访问;此外还需要考虑可用性问题,要以多种手段保障数据访问的稳定性。 运维问题:数据服务本身涉及多种运维问题,如扩容、迁移、下线、接口变更、服务报警等。
以上问题都需要数据开发工程师去解决。这要求数据开发不仅仅是开发出数据表,还需要将数据表包装成一个独立的、灵活的、高可用的、安全的数据服务。这对于数据开发工程师要求很高:除了具备基本的业务需求捕获、数据建模、SQL开发等能力外,还要具备开发高可用、高性能的数据服务能力(包括java开发、微服务等)。
痛点二:重复开发数据服务
基于上述痛点,我们开始建设统一的数据服务化平台。由此开启一个新模式去解决问题。
大数据服务化平台
系统架构
关键技术一:配置即开发
关键技术二:多模式服务形态
数据服务有多种服务形态,包括:
KV API:简单点查,可以支撑百万QPS、毫秒延迟。这类API是通过模板自动化创建出来,支持单查、批量查询等接口,返回的结果是 Protobuf (PB) 结构体,从而将结果自动做了 ORM,对于主调方更加友好。典型场景包括:根据IP查询geo位置信息、根据用户Id查询用户标签画像信息等。 SQL API:复杂灵活查询,底层基于 OLAP/OLTP 存储引擎。通过 Fluent API 接口,用户可自由组合搭配一种或若干种嵌套查询条件,可查询若干简单字段或者聚合字段,可分页或者全量取回数据。典型场景包括:用户圈选(组合若干用户标签筛选出一批用户)。 Union API:融合API,可自由组合多个原子API,组合方式包括串行和并行方式。调用方不再需要调用多个原子API,而是调用融合API,通过服务端代理访问多个子查询,可以极大降低访问延迟。
关键技术三:高效数据加速
前面提及的数据资产,通常是存在于低速的存储引擎中,无法支撑线上业务高访问流量。因此需要以系统化的方式进行数据加速。目前有两种加速方式:1)全量数据加速;2)多级缓存(部分数据加速)。
全量数据加速
从多个数据源摄入原始数据(如Kafka,MySQL、线上访问日志等),进行加工建模后,得到数据资产。数据资产经由独立的数据同步服务,同步至其他更高速的存储引擎,如 redis、hbase、druid等。数据同步支持一次性或者周期性(小时、天、周等)将数据从Hive同步至其他存储中,数据同步本身是基于分布式的调度系统,内核是基于 datax 进行数据同步。大数据服务化平台单日同步的数据量达到1200亿条,数据size达到20TB。
关键技术四:高可用保障
弹性服务框架 资源隔离 全链路监控
服务很难避免出现问题或者故障,一旦出现问题,及早发现及早介入是非常重要的。服务平台构建了全链路监控,包括:
数据同步:对数据资产同步至高速存储的过程进行监控,包括数据质量检测(过滤脏数据)、同步超时或者失败检测等。 服务稳定性:构建一个独立的哨兵服务,来监测每个API的运行指标(如延迟、可用性等),客观的评估健康度。 业务正确性:数据服务需要确保用户访问的数据内容和数据资产表内容是一致的,因此哨兵服务会从数据一致性层面去探查,确保每个API的数据一致性。
总结和展望
大数据服务化平台未来进一步发展方向主要包括:
贴近业务需求:数据服务平台本身是为业务服务,通过赋能业务而对企业带来价值,业务本身在不断发展,未来也会有更多的需求出现,因此数据服务平台本身会不断抽象和沉淀出公共数据服务能力。 深耕数据资产:数据资产是数据服务之根本,如果没有完善的数据资产建设,上面就很难构建出结构化的统一的数据服务,针对数据资产有较多内容,包括资产注册和审核、资产地图、资产标签、资产管理、资产开放和服务。
大数据服务平台的能力建设会朝着统一的 OneService 体系前进。主要包括三个方面:
支持丰富的数据源:包括大宽表、文本文件、机器学习模型(模型也是一种数据资产),来构建完善的数据服务。 支持多样取数方式:除了支持同步快速取数之外,还支持异步查询取数、推送结果、定时任务等多样化方式,以满足业务多种场景需求。 建设统一的API网关:集成权限管控、限流降级、流量管理等于一体,不仅平台创建的服务可以注册进API网关,用户自己开发的API也可注册进API网关,从而享受已有的基础网关能力,为业务提供数据服务能力。
<END>
大家都在看:
2、华为数字化转型实践(PPT)3、大数据时代的数据治理方案(PPT)
4、数据中台建设方案(PPT)
5、苏宁数据中台建设与技术实践(PPT)6、企业级数据治理解决方案(PPT)7、数据治理体系建设方案(PPT)8、阿里巴巴数据资产管理实践(PPT)
9、阿里巴巴数据中台实践分享(PPT)10、集团级财务数据中台建设方案(PPT)
数据学堂