每日一博 | MongoDB 在评论中台的实践
本文主要讲述 vivo 评论中台在数据库设计上的技术探索和实践。 一、业务背景 随着公司业务发展和用户规模的增多,很多项目都在打造自己的评论功能,而评论的业务形态基本类似。当时各项目都是各自设计实现,存在较多重复的工作量;并且不同业务之间数据存在孤岛,很难产生联系。因此我们决定打造一款公司级的评论业务中台,为各业务方提供评论业务的快速接入能力。在经过对各大主流 APP 评论业务的竞品分析,我们发现大部分评论的业务形态都具备评论、回复、二次回复、点赞等功能。 具体如下图所示: 涉及到的核心业务概念有: 【主题 topic】评论的主题,商城的商品、应用商店的APP、社区的帖子 【评论 comment】用户针对于主题发表的内容 【回复 reply】用户针对于某条评论发表的内容,包括一级回复和二级回复 二、数据库存储的选择 团队在数据库选型设计时,对比了多种主流的数据库,最终在 MySQL 和 MongoDB 两种存储之进行抉择。 由于评论业务的特殊性,它需要如下能力: 【字段扩展】业务方不同评论模型存储的字段有一定差异,需要支持动态的自动扩展。 【海量数据】作为公司中台服务,数据量随着业务方...