写点什么

华为云企业级 Redis:助力 VMALL 打造先进特征平台

发布于: 10 小时前

1、客户介绍

华为商城(VMALL)是华为公司旗下的自营电子商务平台,以最终用户为主要对象,提供华为手机、无线上网设备、平板电脑、配件等系列终端产品和服务,是以营造用户的移动信息生活为服务宗旨的互联网商务平台。

云数据库 GaussDB(for Redis)作为华为云旗下企业级 Redis,致力于为客户提供稳定可靠、超高并发,且能够极速弹性扩容的 KV 存储服务。GaussDB(for Redis)在 VMALL 特征工程平台建设中,起到了关键作用。

2、业务痛点

VMALL 使用了大量的 AI 和大数据技术,用来支撑智能推荐,精准营销,智能搜索,选品投放等业务的高效开展。



随着业务的快速发展,系统对 AI 算法模型的需求日益增多。当前的 AI 开发流程中,“模型训练”和“模型部署”阶段都已经有成熟的平台支撑,唯独“特征数据准备”阶段缺乏通用平台,




导致了“线上推理和线下训练的特征数据不一致”,“各算法模型独立开发,特征生产重复造轮子”,“特征工程投入时间多(占据算法开发耗时的 60%-70%)”3 个关键问题,严重影响了研发效率,阻碍业务发展。为解决此问题,VMALL 大数据团队开始着手建设统一的特征平台。特征平台的核心部件是特征存储数据库,只有通过统一的特征数据存储,才能改变原有的“数据孤岛”窘境,彻底解决“不一致”,“难共享”,“效率低”3 大问题。但也正是由于特征数据库需要承担打通线上/线下多个场景,对接批式/流式多种数据源,满足训练/推理多样消费需求,对特征数据库的选型提出了非常高的要求:需要找到一款数据存储服务,既能提供低成本的海量数据存储并方便扩容,又能保证数据的绝对可靠和服务的高可用;既要满足低时延的线上推理,又要满足高吞吐的线下训练;既能提供简洁的 KV 接口供下游轻松消费,又要兼容主流的批式/流式处理引擎(Spark/Flink 等)供上游快速接入。

经过深入调研,VMALL 大数据团队最终选择了 GaussDB(for Redis)作为特征数据库,下面就让我们详细看看 GaussDB(for Redis)是如何满足上述苛刻要求的。




3、解决方案

1.    特征平台使用 GaussDB(for Redis)的主要流程

1)特征生产(抽取、处理、存储)




  • 离线特征(静态特征):定时调度 Spark 作业,从各种数据仓库、数据湖中提取数据,进行特征工程处理后,存入 GaussDB(for Redis) 。

  • 实时特征(动态特征):Flink 消费 Kafka,或流式存储中的数据,持续更新到 GaussDB(for Redis)中。

2)特征消费




  • 线上推理:模型已经部署到生产,开始承接业务,需要低时延,高并发的消费数据,从 GaussDB(for Redis)中读取数据。

  • 线下训练:GaussDB(for Redis)存有最新的特征数据,OBS 中存有全量的特征数据。

  1. 对于使用静态特征的较为简单的模型,可以直接从 OBS 中获取特征使用。

  2. 对于使用实时特征的场景(如实时推荐系统),由 Flink 从 Kafka 中实时取得用户请求记录,并从 GaussDB(for Redis) 查询取得特征,将记录和特征拼接成训练样本,存储到文件中,供线下训练使用。

2.  特征平台对 GaussDB(for Redis)的核心诉求

结合上述业务场景,总结特征平台对 GaussDB(for Redis)的核心诉求如下:

3. GaussDB(for Redis)满足特征平台诉求的关键方案

1)业务接口

GaussDB(for Redis)兼容社区 Redis5.0 接口,支持和 Spark/Flink Connector 的对接,很好的满足了业务的使用需求

2)稳定性

GaussDB(for Redis)采用自研内核,解决了社区 Redis 的 fork,oom 等老大难问题,具备了企业级应用的稳定性

3)可靠性

  • 数据零丢失:逐条命令实时落盘,底层三副本冗余存储,无数据丢失风险

  • 数据强一致:基于 GaussDB 公共的共享存储部件 DFV,实现三副本强一致,多点访问无脏读风险

4)成本

GaussDB(for Redis)实现数据的自动冷热分离,采用内存+SSD 的混合存储方案,大幅降低了客户的使用成本。按照 VMALL 的特征体量测算,亿级用户,每个用户的特征数量是数 K-数 10K,GaussDB(for Redis)一年的费用仅 3W 出头,如果选用社区 Redis,费用在 20W+

5)性能

GaussDB(for Redis)采用多线程架构,并且所有节点可以同时支持写入,因此可以较好满足批量灌库的高吞吐写需求。读方面,基于冷热分离方案,热数据常驻内存提供稳定低时延;冷数据读涉及 IO 交换,存在一定长尾,但可满足 VMALL 业务要求(目前 VMALL 线上 GaussDB(for Redis)实例读时延平均 0.16ms,P99 0.4ms,P9999 1.5ms)

6)可扩展性

基于计算存储分离架构,底层数据可被任一节点访问,扩容过程不发生数据拷贝搬迁,因此速度极快;计算节点扩容分钟级完成,存储扩容秒级完成,RTO < 10 秒

综上,与社区 Redis 相比,GaussDB(for Redis)提供了更稳定的使用体验,更可靠的数据存储,更低廉的使用成本和更便捷的扩展能力,是更适合像 VMALL 特征平台这样大规模电商大数据应用的企业级 Redis 服务。因此,VMALL 特征平台最终选择 GaussDB(for Redis)作为特征数据的存储服务。

4、上线后效果

目前 VMALL 已完成一期的特征数据迁移,包括“特征生产”业务中的“Spark 离线特征生产”,以及“特征消费”业务中的“线下训练 Flink 特征查询”,已迁移到 GaussDB(for Redis)。

当前 GaussDB(for Redis)运行平稳,业务高峰时段时延稳定,能够满足 VMALL 当前业务要求。其中,读平均时延 0.2ms(p99<0.4ms),写入平均时延 0.6ms(P99<2ms)。

VMALL 当前已启动二期的特征数据迁移,计划完成包括“Flink 在线特征生成”,“线上推理”等核心业务的接入。

5、 总结

本文介绍了华为商城(VMALL)在建设特征平台过程中,对特征数据存储服务的选型和应用。由此可见,华为云 GaussDB(for Redis)服务在成本,可靠性,可扩展性等方面具有优势,可作为特征数据存储的理想方案,提供企业级的稳定可靠的 Redis 服务能力。

6、附录

GaussDB(for Redis)产品主页:

https://www.huaweicloud.com/product/gaussdbforredis.html

更多技术文章,请关注 GaussDB(for Redis)官方博客:

https://bbs.huaweicloud.com/community/usersnew/id_1614151726110813


发布于: 10 小时前阅读数: 4
用户头像

提供华为云数据库最新鲜热门技术干货 2021.06.24 加入

汇聚华为云数据库社区热门技术干货,跟踪最新数据库新闻动态,提供问题交流平台,互动共同成长! 传送门:https://developer.huaweicloud.com/techfield/db.html

评论

发布
暂无评论
华为云企业级Redis:助力VMALL打造先进特征平台