基于腾讯云数据库构建商品加工引擎,管理近10亿商品数据

来源: 云巴巴 2022-03-03 09:45:49

     商品加工引擎是腾讯基于云原生打造的高可用、可扩展、灵活配置的商品处理引擎,融合商品接入、商品加工、商品存储、商品分发、链路监控、商品对账等核心能力,支持近十亿的商品管理和加工,以及腾讯多个核心应用场景。

 

     商品加工引擎提供不同类型的商品录入、商品统一加工、商品信息分发等能力。存储商品数据接近十亿,支持商品加工能力包括:淫秽、色情、迷信、暴力、涉政等内容机器或人工审核,图片转链、视频转链、统一商品理解类目品牌词生成、统一商品标签生成、商品卖点信息生成等等。

 

 

系统架构

 

 

支持商品统一接入、商品基于自建的组件市场进行商品加工、基于流程编排模块可以定制化配置加工组件、统一存储的商品数据通过商品分发模块进行统一分发。

 

 

技术挑战

 

1. 商品存储的挑战

 

    单sku 300+字段,近十亿的商品,支持查询QPS 4万+,商品更新TPS 1万+,日4亿+次商品数据实时分发,有较明显的高峰低峰期。如何既满足高性能,又满足可扩展性?这里面涉及到:

a.表结构设计,需要平衡各行业的字段扩展需求以及商品数据分发组装带来的耗时及性能问题。

b.存储设计,如此高并发和大数据量的需求背景下,持久化数据库选型显得尤为重要。

 

所选数据库要同时满足:可扩展性、稳定性、事务性、支持频繁增加字段的运维场景、数据订阅组件支持(保证分发和存储完全解耦)、尽量低的存储成本。

 

2. 业务支持的挑战

 

不同类型、不同应用渠道的商品加工特性各异,如何做到跟上业务诉求快速迭代,且做到懂业务的人可以自己去管控整个加工流程,而不是技术人员自己写在代码黑盒里。例如:新闻资讯类行业审核需要涉及到包含淫秽、色情、迷信、暴力、政治审核等审核条目,但其他行业不需要政审等等。

 

3.高优加工通路支持的挑战

 

全数据通路,商品加工因受限于底层的图片识别等能力限制,存在扩展的边际成本。所以怎样能够确保高优通路商品得到优先处理,任务优先级管理是在架构层面临的另一挑战。

 

 

技术架构

 

技术架构上将整体数据处理管道抽象成数据接入层、存储&数据加工层、流水解析层、数据分发层,各层之间通过消息中间件进行解耦,并起到各层间流量反压缓冲的作用。技术选型上选择腾讯云原生数据库TDSQL-C和中间件,且保证全链路数据的顺序性和at Least Once的消息处理语义。

 

 

 

 

商品表结构设计

 

 

商品表目前拆分为:商品信息表、销售信息表、优惠券信息表,以最宽粒度拆表是因为商品中台在进行数据分发时,需要各表信息join组装分发,当表的粒度过细,会严重影响数据组装效率,直接导致分发吞吐量的降低以及数据库压力的倍增,不符合可扩展性设计。

 

主键及分片策略:分片策略采用商品HashId分片,HashId生成算法如下:


 

public static Long genHashId(Long catalogId, String... outerIds) { Preconditions.checkNotNull(catalogId); Preconditions.checkNotNull(outerIds); Hasher hasher = Hashing.murmur3_128().newHasher(); hasher.putLong(catalogId); for (String outerId : outerIds) { hasher.putString(outerId, Charsets.UTF_8); } return ~(1l << 63) & hasher.hash().asLong();    }

 

现最大商品库7千万+商品无Hash冲突,且最大限度保证数据均匀。现在四个分片数据分布如下:

 

主键采用业务主键catalogId+hashId,没有用系统主键主要考虑每次落库动作前均会先查询做数据对比,然后落库,采用业务主键可以避免回表查询,大大提高缓存命中率及查询效率。目前TDSQL-C缓存命中率99.91%,大部分查询耗时小于5ms。

 

商品信息表字段按照信息领域拆分,每个信息领域以blob存储protobuf压缩后的对象信息。可以达到领域内信息字段的快速变更,并节省磁盘空间。在数据读取以及网络传输过程中,最大限度节省带宽。关于protobuf优缺点这里不做赘述,大家可以查询相关资料详细了解。

 

 

持久化存储设计

 

持久化存储设计主要采用TDSQL(InnoDB引擎)存储热数据,Hbase存储冷数据的架构设计,冷热数据的区分是商品是否进行逻辑删除。这里冷数据单独存储原因是要减少存储成本。TDSQL为了提高数据访问效率,高性能版本默认均为SSD硬盘,比普通的机械硬盘存储要高很多。HBase存储我们默认开启了SNAPPY压缩算法,所以从磁盘空间占用量和存储成本上均有大幅降低。

 

那为什么不直接用Hbase存储?

 

1.入库数据后,经常会判断数据数量是否准确,我们对商品库级别的count查询是强需求,这点Hbase支持不了。

2.TDSQL作为腾讯云产品,产品易用性及监控配置上更完善。

3.商品变更的数据流订阅,Hbase暂未发现较优雅的方案。

 

 

商品加工编排设计

 

商品加工的编排,主要针对加工组件市场里面的组件进行加工编排。抽象出商品加工组件市场的概念,主要目的是避免功能的重复建设,提高代码复用性,并有效提高新系统的交付速度。商品加工事件编排架构设计如下:

 

 

  • 优先级队列层:此层抽象出三个优先级不同的topic用于分发商品加工事件,提升不同渠道数据处理效率,避免资源抢占。

  • 事件处理层:此层消费商品加工事件,对事件解析去重,通过不同优先级队列事件感知控制消费吞吐量,处理不同客户任务优先级。此层会基于不同应用场景和商品所属行业,去选择对应的DAG进行触发商品加工流程。由于下游编排管理层在过高请求压力下会存在服务过载情况,所以此处设置异常熔断控制,以及异常恢复策略。

  • 编排管理层:编排管理层,依赖腾讯云ASW调度平台进行流程配置和管理。ASW在编排配置方面支持较全,循环、并行、选择等条目支持很友好。(目前ASW支持腾讯云API 3.0上超过99%的接口,能做到像胶水一样粘合各种服务,支持高并发场景。)

  • 请求转发层:编排管理是对请求转发层的编排,此层使用Serverless云函数进行部署。各请求转发节点可以实现同步请求转发或异步请求转发。实现对不同商品处理场景的有效支撑。

  • 服务提供层:服务提供层提供对请求转发层的请求处理,此层会对来自上层的请求进行多线程处理,提高数据处理速度。并负责对下游的请求流量管控,避免流量过大压垮下游的服务。

  • 通用能力层:公司各个服务平台提供的通用能力,例如:文本审核、图片识别审核、商品理解统一类目、商品打标等。

更多产品了解

欢迎扫码加入云巴巴企业数字化交流服务群

产品交流、问题咨询、专业测评

都在这里!

 

评论列表

为你推荐

数据库有问必答|DMS 如何快速分析数据以便更好地进行业务分析和

数据库有问必答|DMS 如何快速分析数据以便更好地进行业务分析和

DMS推出的数据分析功能,结合了DTS的同步链路和AnalyticDB MySQL高性能的数据库分析引擎(简称ADB MySQL版),实现一键化创建实时同步的数据仓库。

2021-12-02 16:13:26

2021腾讯云618活动中,云数据库有着怎样的优惠?

2021腾讯云618活动中,云数据库有着怎样的优惠?

2021腾讯云618活动已火热开启,关于云服务器、云数据库等热门产品的优惠活动攻略你了解多少呢?

2022-11-24 14:04:52

在腾讯云618活动中云数据库Redis低至456元/年!

在腾讯云618活动中云数据库Redis低至456元/年!

今年腾讯云618,超值好物尽在腾讯云618主会场!意想不到的优惠活动等着你!

2022-11-24 13:57:28

我们应该要如何去定义数据库呢?

我们应该要如何去定义数据库呢?

数据库,即存储电子文件,用户可以对文件中的数据进行新建,截取,更新,删除等操作。简而言之,可以看作是电子文件柜。 “数据库”线一起存储在一定的方式,多个用户可以共享,用尽可能小的冗余时,应用程序数据集相互独立的,一个企业数据库由多个表空间构成。 数据库

2022-11-22 10:54:09

你选对适合自己的云数据库RDS了吗?

你选对适合自己的云数据库RDS了吗?

信服云托管云RDS简化数据库运维,专注业务创新,帮助您的数字化更简单、更安全!

2021-12-10 11:49:22

深入解读腾讯云数据库自研内核

深入解读腾讯云数据库自研内核

TXSQL 是腾讯云数据库团队自研 MySQL 内核分支,100%兼容原生 MySQL 版本,针对企业级的重要场景自研众多核心特性,如企业级透明数据加密、审计、线程池、热点更新保护、SQL 限流、快速加列等功能

2022-02-24 10:24:34

严选云产品

京东言犀多模态数字人平台 京东言犀多模态数字人平台,数字人7*24小时直播,智能写稿实时互动,低成本助力商家GMV转化。支持智能推荐商品、支持口播&文本实时智能回复弹幕等智能互动。提供一键获取商品信息、 利益点自动输出直播脚本、 多场景直播间模板、特效等丰富功能。
腾讯云T-Sec DDoS防护 腾讯云DDos安全防护是腾讯云天御系列云安全产品,搭载了最先进的云安全技术,在2021腾讯云618全民上云狂欢季,云巴巴携手腾讯云推出多项限时特惠福利活动,所有云产品全场8折,更有各种腾讯云618代金券拿到手软,快来进入618主会场领取福利吧!
杉岩数据海量对象存储MOS 杉岩MOS海量对象存储是面向企业级海量非结构化数据的全分布式存储产品,通过存储系统软件将通用硬件的本地存储资源组织起来,为企业数据中心提供云存储服务。能够帮助用户简化应用流程,提升业务效率,为人工智能机器学习场景应用带来极大便利。
世禾NFT国内数字藏品交易平台 世禾艺术专注NFT数字藏品领域,务实为本,以公为先,以致力弘扬和推广优秀民族文化为几任。公司业务内容涵盖设计创作、产品铸造、研发发售、市场推广等业务板块。产品内容涵盖文旅、艺体、公益、百货等多渠道领域,为相关单位企业予以充足赋能。
帆软医药行业数字化解决方案 帆软医药行业数字化解决方案,全面预算能够细化企业战略规划和年度经营计划,有利于监控战略规划与年度经营计划的顺利执行,明确了工作方向,对市场可能出现的变化做好准备。通过全面预算可以加强对费用支出的控制,有效降低企业的运营成本。
腾讯云大禹DDoS防护解决方案 DDoS防护(Anti-DDoS)具有全面、高效、专业的DDoS防护能力,为企业组织提供DDoS高防包、DDoS高防IP等多种DDoS解决方案,应对DDoS攻击问题。通过充足、优质的DDoS防护资源,结合持续进化的“自研+AI智能识别”清洗算法,保障用户业务的稳定、安全运行。防护场景覆盖游戏、互联网、视频、金融、政府等行业。

甄选10000+数字化产品 为您免费使用

申请试用