摘要:当电商平台对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.com/nosql/?region=cn-north-4&promotionId=P2109280321005721G5P1YZ0VUN22R&promotionPlanId=PDP2109280321005041XSEIKF05B9C4C&buyTime=1&dbType=redis&flavorId=large.4#/instance/create

点击关注,第一时间了解华为云新鲜技术~

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

  1. 华为云企业级Redis评测第二期:大Key操作的影响

    点击蓝字 关注我们 在前一篇文章<华为云企业级Redis评测第一期:稳定性与扩容表现> 中,我们使用多线程压测工具memtier_benchmark对华为GaussDB(for Redis ...

  2. 华为云企业级Redis:集群搭载多DB,多租隔离更降本

    本文分享自华为云社区<华为云企业级Redis揭秘第17期:集群搭载多DB,多租隔离更降本>,作者:GaussDB 数据库 . 背景:GaussDB(for Redis)是华为云数据库团队推 ...

  3. 华为云企业级Redis讲解第16期:超越开源Redis的ACID“真“事务

    摘要: 开源Redis只支持伪事务,应用场景受限.高斯Redis发布企业级事务特性,支持完备ACID,为交易.库存等上层业务带来全新可能. 本文分享自华为云社区<华为云企业级Redis揭秘第16 ...

  4. 华为云企业级Redis评测第一期:稳定性与扩容表现

    GaussDB(for Redis) 是华为云推出的企业级Redis,采用计算存储分离架构,兼容Redis生态的云原生NoSQL数据库,基于共享存储池的多副本强一致机制,支持持久化存储,保证数据的安全 ...

  5. 做普惠AI实干家,华为云“Cloud+X”助力杭州打造数字经济第一城

    [摘要] 以行践言,为政企客户提供用得起.用得好.用得放心的人工智能 自古钱塘繁华--这里有如诗如画的西湖盛景,有许仙白蛇的动人之恋,还有苏东坡等迁客骚人的千古佳句.老话说:上有天堂,下有苏杭.但杭州 ...

  6. 华为云开发者联盟助力培养数字化人才,加速应用构建质效提升

    摘要:大会第三天依旧热闹非凡,精彩活动纷至沓来.众人瞩目的专题论坛如期举行,专家们围绕技术开发.行业实践最新趋势,分享宝贵经验和深刻见解. 本文分享自华为云社区<华为云开发者联盟助力培养数字化人 ...

  7. 揭秘丨7分钟看懂华为云鲲鹏Redis背后的自研技术

    2019年5月,华为云发布全球首个基于自研ARM架构的分布式缓存鲲鹏Redis,搭载华为LibOS+华为编译器+安全容器引擎三项黑科技,在保证Redis强劲高性能外,还降低客户30%的使用成本,真正实 ...

  8. 华为云HMS Core 助力鸿蒙开发

    前言 今天看了一期 华为云 HMS Core 助力鸿蒙开发的视频.内容干货满满.下面就视频的内容做一下学习记录. 名词说明 文中涉及到的相关名词 鸿蒙OS == HarmonyOS HarmonyOS ...

  9. 华为云桌面,助力企业数字化转型

    华为云桌面,助力企业数字化转型 中国云桌面市场快速崛起,其中华为云桌面在中国桌面云市场中高居第一.其实不仅是今年,在过去的7年间华为云桌面一直都是国内桌面云市场当之无愧的老大.很多人都认为这背后必然会 ...

最新文章

  1. 洛谷 P1217 [USACO1.5]回文质数 Prime Palindrome
  2. pandas 索引选取和过滤(四)
  3. 网站页首可关闭广告条
  4. JavaScript定义类的几种方式
  5. Spring mvc 拦截器 配置心得
  6. 20130401学习笔记
  7. Deeping Learning学习与感悟——《深度学习工程师》_5
  8. 离散数学及其应用 前言
  9. idea 修改工作空间
  10. 超好用的卸载软件 —— Geek
  11. Visual Paradigm 下载安装及使用
  12. 服务器如何隐藏真实IP地址?服务器隐藏真实IP的方法
  13. 精通 Grails: 用 JSON 和 Ajax 实现异步 Grails
  14. ActionListener的用法
  15. 计算机浮点数的格式,单精度与双精度的区别
  16. 在国内市场,外汇到底能不能做?外汇合法吗?
  17. 微信、支付宝付款码规则
  18. 鸣人和佐助 计蒜客--1214 广搜 三维数组
  19. codon也将py程序加速了90倍了,C/C++调用codon
  20. 联想R720 bios版本回退

热门文章

  1. 详解 | Spring Boot 最核心的 3 个注解详解
  2. Bootstrap3 静态模态对话框
  3. 南京林业大学计算机专业分数线,2021南京林业大学录取分数线_历年各专业分数线(2017-2020),各省投档线_一品高考网...
  4. mysql 存储过程 转义_mysql存储过程中的 sql语句符号问题
  5. jq往字符串中插入_jq: dom-插入
  6. ViewBag ViewData
  7. Oracle or Question Solve(二)
  8. C++ 空间配置器(allocator)
  9. 数据结构--hashtable(散列表)
  10. java常见面试题——java常见笔试题