需要着重考虑的问题
- 高并发
- 商品数据规模,sku多,每个sku详情信息也很大
商品系统需要保存的数据
图中,左边部分都是商品系统需要保存的数据。 可以把商品系统需要存储的数据按照特点,分成商品基本信息、商品参数、图片视频和商品介绍几个部分来分别存储。
商品基本信息存储
特点:属性都是固定一样的
可以在数据库用一张表来存储。然后加个查询缓存,可以使用Cache Aside策略。读数据时,先从缓存读,然后读数据库;写数据时,先删除缓存,再更新数据库。
商品信息需要保存历史记录,订单中关联的商品数据是下单那一刻的。
商品参数
特点:结构化、不同类型商品不一样
可以采用文档存储的nosql数据库,比如:MongoDB,底层存储的数据是BSON结构,一种比JSON更紧凑的数据结构。
商品介绍
特点:占比大,数据多、静态化
事先生成好商品介绍页面,保存成一个静态html,访问时直接返回这个html。可以利用CDN加速,可以放在离用户最近的CDN服务器上。
图片视频
特点:占用存储空间比较大
可以保存在对象存储中,比如:Minio、云厂商提供的存储,是一个无限容量的大文件KV存储,存储单位是对象。
此文章为3月Day2学习笔记,内容来源于极客时间《后端存储实战》