共计 2798 个字符,预计需要花费 7 分钟才能阅读完成。
摘要: 当电商平台对 AI 算法模型的需要越来越多,特色数据平台的对立建设是不少开发团队头疼的事件。因为只有通过对立的特色数据存储,能力扭转原有的“数据孤岛”,解决生产反复造轮子的困境。
本文分享自华为云社区《华为云企业级 Redis:助力 VMALL 打造先进特色平台》,作者:GaussDB 数据库。
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 解决方案
特色平台应用 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) 查问获得特色,将记录和特色拼接成训练样本,存储到文件中,供线下训练应用。
特色平台对 GaussDB(for Redis) 的外围诉求
联合上述业务场景,总结特色平台对 GaussDB(for Redis) 的外围诉求如下:
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 服务能力。
企业级 Redis 专场热卖中,不限新老用户,首月收费(链接):
https://console.huaweicloud.c…
点击关注,第一工夫理解华为云陈腐技术~