手记

【九月打卡】第12天 数据冗余 和范式说再见

课程名称Java架构师-十项全能

课程章节

数据冗余-和范式说再见

主讲老师

姚半仙

课程内容

尽信书不如无书

在互联网场景下往往用大宽表做冗余,不建议使用关联表,最多只允许做一次Join。

对于有复杂关联关系的数据:

  • 用图形数据库存储,解决join关联查询性能问题

  • 数据异构

  • 快照、冗余

数据异构冗余举例:

一条订单记录,会被异构到一个以订单ID维度做分库分表的查询库、以用户ID维度做分库分表的查询库、以订单时间维度做分库分表的查询库,为了满足前端复杂的查询,还需要把订单数据同步到搜索引擎中, 如Solr、opensearch、ES等。数据异构的其实已经有很成熟的结局方案了, 比如Canal,它可以从订单库中将数据同步给不同的存储介质。

传统场景方案:订单快照通常是订单的历史版本,中间再做一个关联表,关联到商品的历史版本记录中。

互联网场景方案:订单的快照信息,会做一个聚合,冗余大量数据,如营销计算、商品信息、用户信息,冗余到订单库里。业务第一,怎么快怎么来。

 

0人推荐
随时随地看视频
慕课网APP