我是靠谱客的博主 自觉猫咪,最近开发中收集的这篇文章主要介绍第7章 分布式架构设计 【跨库关联查询的解决方案】,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

6、跨库关联查询的解决方案?

答:

         (1)大变小

不要一次性返回所有结果,采用分页方式一次返回有限小的数据,然后对关联的数据进行补填,完善相关信息后,返回数据给前端。

         (2)数据补填

数据需要返回关联信息时,可通过调用关联数据的微服务接口进行数据补填(待关联数据量要小)。

         (3)借助缓存

在调用关联数据的微服务接口时,在微服务中增加缓存的设计,补填的时候先查询缓存数据,再读数据库。

         (4)一次性调用

在补填数据时,如果逐条数据的补填,会产生多次微服务接口调用;可设计将多条记录的关联ID进行一次性远程调用,一次性查询,一次性补填。

(5)数据冗余

如果数据库采用3NF的设计思路,在进行数据查询时,会涉及到数据关系查询的问题;这时,在设计时,可适当的包含部分冗余数据,将需要用到的另一张表中部分关联查询内容包含到待查询表中,通过数据冗余设计,解决数据跨库查询的问题。

(6)使用宽表

如果查询的过滤条件很多,每次用到的查询条件都不同,查询应该针对查询库进行;同时,为了提高查询库的查询性能,需要在同步到查询库时提前完成join操作,之后将数据直接制作成单表进行分布式存储,这种设计叫“宽表”。在这样的宽表中进行单表查询,可以实现海量数据的秒级查询。

最后

以上就是自觉猫咪为你收集整理的第7章 分布式架构设计 【跨库关联查询的解决方案】的全部内容,希望文章能够帮你解决第7章 分布式架构设计 【跨库关联查询的解决方案】所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(34)

评论列表共有 0 条评论

立即
投稿
返回
顶部