`
gaojingsong
  • 浏览: 1182082 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

【Mycat 发展遇到的瓶颈问题】

阅读更多

这两个问题不但是目前Mycat遇到的问题,也是分布式其他系统遇到的问题,解决方案只能寻求折中,要么时间换空间,要么空间换时间。

1、多重聚合问题

比如我有一个日志表:部门 、用户、模块、访问时间..........,现在有一个如下的需求:实时统计哪个部门哪个用户,在某一个时刻,访问哪个系统模块最多。

 

           select  

                  部门 、用户、访问时间、模块、 count(*) as cn

           from 某个表

           group by 部门 、用户、访问时间、模块

           order by cn  desc

 

遇到海量数据的时候,mycat直接歇菜了

 

 

2、深度分页问题

 

在集群系统中深度分页

为了理解为什么深度分页是有问题的,让我们假设在一个有5个主分片的索引中搜索。当我们请求结果的第一页(结果1到10)时,每个分片产生自己最顶端10个结果然后返回它们给请求节点(requesting node),它再排序这所有的50个结果以选出顶端的10个结果。

现在假设我们请求第1000页——结果10001到10010。工作方式都相同,不同的是每个分片都必须产生顶端的10010个结果。然后请求节点排序这50050个结果并丢弃50040个!

 

你可以看到在分布式系统中,排序结果的花费随着分页的深入而成倍增长。这也是为什么网络搜索引擎中任何语句不能返回多于1000个结果的原因。

为什么请求第1000页——结果10001到10010需要返回10010个结果?

因为根据不同的维度统计,你的每一条数据在整个系统中的排序位置不清楚,所以需要汇聚每个机器10010的结果,来做最后的排序。

 



 

 

 



 

 



 


 
 

 

  • 大小: 160.1 KB
  • 大小: 193.7 KB
  • 大小: 161 KB
  • 大小: 142.6 KB
0
2
分享到:
评论
1 楼 whlt20090509 2016-11-22  
看懂了你说的什么是深度分页,以及1个人承受10块和10个人分担一万的道理。
但是没听懂你的解决方案,可否具体说说

相关推荐

    mycat生产使用遇到的8大问题汇总

    然而,在实际生产环境中,Mycat的使用往往会遇到一些常见问题。以下是对这些问题的详细解析,旨在帮助读者避免在技术选型和应用过程中陷入困境。 1. **数据不一致问题** Mycat在实现分库分表的过程中,可能由于...

    mycat从入门到精通

    - **核心价值**:Mycat旨在解决单体数据库在大规模数据处理时遇到的瓶颈问题,通过数据分片、读写分离等技术手段提高数据库系统的整体性能。 - **应用场景**:广泛应用于政府项目、电信项目、电商项目、O2O项目、...

    mycat基本工具书

    这种方式主要用于处理单表数据量过大导致的性能瓶颈问题。 ##### 1.2 垂直切分 垂直切分通过将不同业务模块的数据分别存储在不同的数据库中来实现,这种方式可以有效地降低单个数据库的负载,同时也便于不同业务...

    【27】基于MyCat的MySQL高可用读写分离集群实战课程下载【No215】基于MyCat的MySQL高可用读写分离集群实战课程下载 .txt

    在实际项目中部署基于MyCat的MySQL高可用读写分离集群时,可能会遇到以下常见问题: 1. **数据不一致**:当主从库之间存在延迟时,可能会导致短暂的数据不一致现象。解决方法是优化MySQL的复制延迟,并采用合适的...

    Mycat在线视频培训(概述).pptx

    Mycat最初源于阿里巴巴的Cobar项目,由于在实际项目中遇到的问题,进行了改进和优化,形成了独立的Mycat开源项目。 Mycat的发展历程始于2013年,当Cobar在某些大型项目中暴露出问题时,Mycat应运而生。随后,Mycat...

    MySql 中间件 Mycat 1.6.5 - release- unix.tar 程序

    面对海量数据,传统的单库单表模式会遇到性能瓶颈。Mycat通过水平分割(分库)和垂直分割(分表)的方式,将数据分散到多个数据库和表中,有效解决了大数据存储的问题。它支持多种分片策略,如哈希分片、范围分片等...

    数据库中间件对MyCAT的增强与改进.pptx

    1. **系统性解决复杂查询**:MyCAT在处理复杂查询时,如涉及单表的聚合函数、矢量函数运算、多表JOIN、UNION和SUBQUERY等组合时,可能会遇到性能瓶颈。DBLE通过关系代数查询树的方法,解析SQL并构建查询树,将可以...

    NewSQL以及基于mysql分库分表的中间件的分析-DB-Analyse.zip

    在许多业务场景中,MySQL作为广泛应用的关系型数据库,其性能在面对海量数据时可能会遇到瓶颈。为了解决这个问题,开发者通常会采用分库分表策略,即将一个大表分成多个小表,分布在不同的数据库实例上。这种技术...

    国产数据库技术架构算法的方法论HotDBP.pptx

    传统的集中式数据库在面对高并发、大数据量时可能会遇到性能瓶颈,而分布式事务数据库通过分库分表、数据分片等手段,实现了水平扩展,提升了吞吐量和并发处理能力。例如,TDDL(淘宝分布式数据库中间件)和MyCAT...

Global site tag (gtag.js) - Google Analytics