
小小的手机屏幕,正承载越来越多的功能。随着中国互联网用户增长来到天花板,各领域APP也开始了“内卷”。如何在最短时间内给用户提供“符合心意”的新闻、商品、视频或服务,成为取悦用户、留住用户的关键。
伴随人工智能、大数据等技术的蓬勃发展,推荐系统从来没像现在这样,深刻的影响着我们的生活。
推荐系统其实就是信息处理的系统,通常分为:召回、排序、重排序这三个环节。助力企业、应用预测用户对某个“对象”(可以是信息、也可以是商品)喜不喜欢,喜欢到什么程度(非常喜欢、一般喜欢,还是不喜欢)。举些我们熟悉的例子,上网购物时,天猫、京东商城会为你推荐你想要的商品;想了解资讯,头条、知乎会为你准备感兴趣的新闻和知识;想消遣放松,抖音、快手会为你奉上让你欲罢不能的短视频。
大数据时代带来了数据量暴增,给推荐系统带来信息过载问题。早些年,由于用户画像数据适合KV形式表达,因此电商企业往往选择Redis。近两年,包括华为商城等越来越多电商APP开始选择华为云GaussDB(for Redis),这是为什么呢?
01
数据库是底层逻辑?
数据、存储是推荐系统的底层逻辑,能够决定引擎“走多远”,而服务层和应用层则是上层建筑,对用户体验起到重要作用。以电商企业为例,由于用户画像数据适合KV形式表达,早些时候很多平台选择Redis。
我们知道,移动互联网时代用户每时每刻都在产生巨量的数据,而消费领域的蓬勃,也使各领域商品SKU呈裂变增长趋势。简单地说,数据类型不断增多,数据处理并发度和速度不断提升。
因此,数据规模、高并发、实时推荐等这几点,就是所有基于大数据做推荐服务或产品的企业都会遇到的共同问题。诞生时间10年之久的开源Redis,在新的场景下,问题开始逐渐显现。
1. 数据量指数增长问题;IDC中国数据显示,2018年中国大数据产生量为7.6ZB,其预测,2025年中国大数据产生量有望增长至48.6ZB,2018年至2025年的年复合增长率将达到30.35%。从宏观视角回归,细分到电商平台,由于用户使用时长的增加,图片、短视频及视频内容的增多,以及交互数据的暴涨,大大小小的平台都面临着数据量指数增长的问题。
推荐系统其实希望既能使用KV数据库,又能放心将数据长久保存。但开源Redis的能力更侧重于数据的缓存加速,而不是数据存储。而且开源Redis毕竟是纯内存设计,即使有AOF持久化,但通常也只能秒级落盘,数据的保存并不可靠。一方面丢数据是常见现象,这导致无法独立搞定核心数据存储场景,另一方面内存成本高,导致后期扩容极其昂贵,降成本需求愈发明显。
2.数据稀疏性问题;现在待处理的推荐系统规模越来越大,用户和商品(也包括其他物品,譬如音乐、网页、文献……)数目动辄百千万计,两个用户之间选择的重叠非常少,数据非常稀疏。
开源Redis抗写能力并不强,这是由于集群中有一半节点是备节点,它们只能处理读请求。当大批量写入到来时,主节点容易出问题,引发连锁反应。且缓存雪崩严重影响MySQL也是常见问题。
3.需要快速及时响应用户请求(运算);随着购物、新闻、短视频等消费用户碎片化时间的应用层出不穷,推荐系统更倚重实时推荐策略。比如说,我打开一个电商APP,如果10秒钟内没发现自己喜欢的商品,很大几率会退出应用,这就要求各平台推荐系统需要具备及时响应用户请求的能力。
开源Redis使用内存存储介质,能够在计算和缓存场景提供超高并发和超低延迟,但是将 Redis作为存储数据库则面临着高成本和低可靠性的缺点。
而且,开源Redis自身fork问题导致容量利用率低,硬件资源有很大的浪费。理论上,架构设计并不是说越复杂越好。平台希望有一种既能兼顾特征数据KV类型、成本友好、性能又有保障的可靠数据存储引擎,这就是我们接下来要讲的内容。
02
GaussDB(for Redis)带来三大支撑点
2019 年,华为首次发布了 GaussDB AI-Native 技术,并持续将AI技术融入数据库内核、核心算法和数据结构,实现数据库自动优化和调优等功能。华为云GaussDB(for Redis)基于AI及大数据技术,能够解决智能推荐、精准营销等业务中的痛点问题。
与开源Redis不同,GaussDB(for Redis)基于存算分离架构,为推荐系统这一类大数据场景带来关键的技术价值:
1. 核心数据可靠存储;数据命令级落盘,在底层存储池中三副本冗余存储,真正做到了0丢失。GaussDB(for Redis )采用多个节点同时工作的负载均衡方案,没有开源 Redis 中的主节点概念,因此灾备切换时任选某一节点宕机,即可模拟灾备切换的场景。
GaussDB(for Redis)在切换过程中服务会瞬间迁移至备节点,而且切换过程中性能下降也不明显,整体只需要1s就可以恢复正常。而对比开源版Redis在切换时则会出现服务完全中断的情况,平均需要5s才能恢复。
2. 降本增效;GaussDB(for Redis)基于华为高性能分布式共享存储池,完美避开开源Redis的主从堆积、主从不一致、fork抖动、内存利用率只有50%、大key阻塞、gossip 集群管理等诸多问题,购买的容量全部可用,并且单位数据的使用成本只有开源版本的一半。
据华为商城负责人透露,GaussDB(for Redis) 支持自动冷热分离,采用内存 +SSD 的混合存储方案,大幅降低了使用成本,费用相比社区版 Redis 减少了 5.6 倍;基于冷热分离方案,华为商城线上 GaussDB(for Redis)实例读时延平均低至 0.16ms,系统运行平稳,业务高峰时段时延稳定。
3. 抗写能力强; GaussDB(for Redis)采用多线程设计+全部节点可写,抗写能力足够强大,从容应对Spark灌库压力和实时更新。与内存相比,磁盘无论在稳定性还是可维护性上都有非常强大的优势,从本质上讲 GaussDB(for Redis)实际上都得益于其磁盘作为数据的存储设备,内存的优势是速度快。
众所周知,电商行业是一个24小时不打烊的行业,这就要求整体数据迁移需要非常稳定。梦饷集团IT组代表许锋涛、王成国表示,“保证平滑高效安全的数据迁移是极具挑战的,我们通过优化目标端数据库的参数等方式,最终保证所有数据库的全量迁移时间控制在12小时以内。水平伸缩的弹性架构有力支撑了梦饷集团快速发展,为更好的服务消费用户和品牌商家打下了良好基础。”
毫无疑问,存算分离的分布式架构是大势所趋。越来越多的企业将核心业务上云,满足了企业在产品架构、成本、容量、安全性、可靠性、故障恢复、运维等方面的需要。包括梦饷集团在内,越来越多的电商及互联网企业开始选择云数据库。
03
大数据时代,赋能千行百业
据Gartner预测,未来五年数据库将以每年16%的增速持续增长,2024年市场规模突破1000亿美金。在中国,根据IDC最新报告,关系型数据库未来5年整体市场年复合增长率高达29.5%,云是数据库未来部署的主要形态。
上文只是以电商平台为案例重点讲述,其实华为云数据库产品包括GaussDB(for Mongo)、GaussDB(for Influx)、GaussDB(for Cassandra)、GaussDB(for Redis)等。不同的产品主打不同的行业,如今华为云数据库已成功赋能电商、社交、游戏、金融、保险、物流、零售、政府等多行业。
早在2019年,工商银行与华为就启动华为云GaussDB分布式数据库业务试点,先后联创上线了生物特征识别与中间业务系统。2020年,进一步完成了声誉风险系统、商密公文系统及贵金属交易等系统的迁移和上线。
目前,华为云GaussDB已经在4家国有大行和多家股份制银行商用,并通过联创攻克关键核心技术。
随着市场环境对国产数据库的需求愈发强烈,创新型业务的孵化越来越多,越来越多政企告别传统数据库,选择具备按需付费、按需扩展、高可用性以及存储整合等优势的云数据库。
作为人才密集型领域与数字新基建的核心关键基础软件,云数据库对从业人员和基础硬件设备要求很高,华为在战略上投入了大量的人力和物力资源。GaussDB目前在全球布局了7大区域研究所,拥有100+国际顶尖专家,1000+数据库专业人才,有着强大的专家团和研发团队做支撑。
越来越多政企选择GaussDB,看重的不仅是产品,也是其背后华为作为全球领先的信息与通信技术(ICT)解决方案供应商的深厚积淀。随着全球数据量的节节暴涨,推荐系统需要选择更适合自己的数据库,这为GaussDB打开了无限想象空间。
END
GaussDB(for Redis)新用户包年18元秒杀,不限新老用户享4折,点击阅读原文,即可享受相关优惠。





