分库分表以后的多维度查询问题

简介: 分库分表以后的多维度查询问题

公众号merlinsea


多维度查询问题介绍


   在进行分库分表的时候应该有碰到一个问题,一个数据需要根据两种维度进行查询,但是我们在进行分库分表是只能根据一种维度进行。比如:用户购买了商品产生了订单,当用户非常多的时候,我们会选择订单【根据下单用户的ID进行分库分表】。但是这里面存在一个问题就是作为卖家要如何查询我卖出的所有订单呢?因为订单是根据用户id规则进行分库分表的,卖家订单查询接口物理上是无法一次查询出当前的订单的,因为客户的数据分别分布在不同的订单库或者订单表中的,有可能商家自己所有客户的订单列表,需要跨非常多的表,这个样性能是非常低效的。


解决方案


   方案1:建立两个维度的订单数据库买方库和卖方库,买方数据库中的表基于用户id进行分片,卖方数据库中的表基于商家id进行分片。两个数据可以通过datax数据同步框架将买方库的数据根据商家id同步到卖方库中。通过DataX实现数据同步不是实时的,DataX是基于定时任务完成数据同步的,如果将时间间隔设置的比较小,会存在一定的cpu性能浪费。

640.jpg

方案2:将数据基于用户id分片的数据进行汇总,然后存储在NoSql数据库中,比如elasticSearch,这样在商家进行查询的时候直接走 ElasticSearch即可。

640.jpg



相关文章
|
3月前
|
存储 中间件 数据库连接
|
1月前
|
存储 监控 Java
千万级数据索引优化策略与实践
【10月更文挑战第10天】在处理千万级数据时,索引是数据库性能优化的关键。以下是根据您的要求,对如何使用索引进行快速查找、如何在实际工作中平衡这些问题,以及聚集索引、覆盖索引和索引下推的详细解读,并附上Java代码示例。
29 0
|
3月前
|
关系型数据库 MySQL 分布式数据库
PolarDB 并行查询问题之大数据量的实时分析查询挑战如何解决
PolarDB 并行查询问题之大数据量的实时分析查询挑战如何解决
35 2
|
4月前
分库分表中间表优化
【7月更文挑战第21天】
34 2
|
3月前
|
分布式计算 数据库 Spark
实时数仓 Hologres产品使用合集之如何优化增加索引和主键
实时数仓Hologres是阿里云推出的一款高性能、实时分析的数据库服务,专为大数据分析和复杂查询场景设计。使用Hologres,企业能够打破传统数据仓库的延迟瓶颈,实现数据到决策的无缝衔接,加速业务创新和响应速度。以下是Hologres产品的一些典型使用场景合集。
|
4月前
|
缓存 关系型数据库 MySQL
云原生数据仓库使用问题之如何查询表内数据分布的情况
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
|
5月前
|
存储 SQL BI
深入解析实时数仓Doris:Rollup上卷表与查询
深入解析实时数仓Doris:Rollup上卷表与查询
|
SQL 小程序 分布式数据库
百亿级数据 分库分表 后怎么分页查询?
百亿级数据 分库分表 后怎么分页查询?
百亿级数据 分库分表 后怎么分页查询?
|
存储 消息中间件 SQL
一种处理亿级聚合数据的方法
在电商平台的架构体系中,商品数据是系统正常运转的基石,随着平台的发展,商品数据很容易突破亿级。在电商运营方面,平台通常需要举行各种大促,使用各种营销工具吸引消费者,因此需要对商品进行招商、选品、投放。
一种处理亿级聚合数据的方法
|
存储 NoSQL 索引
TableStore:用户画像数据的存储和查询利器
TableStore是阿里云自研的在线数据平台,提供高可靠的存储,实时和丰富的查询功能,适用于结构化、半结构化的海量数据存储以及各种查询、分析。 用户画像数据是一种数据规模较大、数据结构复杂、查询种类多的数据,是公司差异化运营的基础,是打造“千人千面”、智能化的核心数据,帮产品找到最佳目标客户,对各种产品而言是一种很有价值的数据。
8391 0