mysql分表去重统计_MySQL分库分表总结

更新时间:2023-07-06 11:56:07 阅读: 评论:0

mysql分表去重统计_MySQL分库分表总结
sooner or later最近研究分布式数据库架构,发现排序、分组及分页让着实⼈有点头疼。现把问题及解决思路整理如下。
⼀、 多分⽚(⽔平切分)返回结果合并(排序)
1、Select + None Aggregate Function的有序记录合并排序
解决思路:对各分⽚返回的有序记录,进⾏排序去重合并。此处主要是编写排序去重合
并算法。
2、Select + None Aggregate Function的⽆序记录合并
韩文翻译解决思路:对各分⽚返回的⽆序记录,进⾏去重合并。
优点:实现⽐较简单。
缺点:数据量越⼤,字段越多,去重处理就会越耗时。
3、Select + Aggregate Function的记录合并(排序)
Oracle常⽤聚合函数:Count、Max、Min、Avg、Sum。
AF:Max、Min
设计英语思路:通过算法对各分⽚返回结果再求max、min值。
AF:Avg、Sum、Count
在一起together思路:分⽚间⽆重复记录或字段时,通过算法对各分⽚返回结果再求avg、sum、count值。分⽚间有重复记录或字段时,先对各分⽚记录去重合并,再通过算法求avg、sum、count值。
⽐如:
lect count(*) from ur
lect count(deptno) from ur;
lect count(distinct deptno) from ur;
⼆、多分⽚(⽔平切分)返回结果分页
解决思路:合并各分⽚返回结果,逻辑分页。
mosa优点:  实现简单。
缺点:  数据量越⼤,缓存压⼒就越⼤。
分⽚数据量越⼤,查询也会越慢。
三、多分⽚(⽔平切分)查询有分组语法的合并
1、Group By Having + None Aggregate Function时
Select + None Aggregate Function
⽐如:lect job ur group by job;
日语可恶思路:直接去重(排序)合并。
Select + Aggregate Function
⽐如:lect max(sal),job ur group by job;
思路:同Select + Aggregate Function的记录合并(排序)。
2、Group By Having + Aggregate Function时
coke怎么读
解决思路:去掉having AF条件查询各分⽚,然后把数据放到⼀张表⾥。再⽤group by having 聚合函数查询。
四、分布式数据库架构--排序分组分页参考解决⽅案
解决⽅案1:Hadoop + Hive。province是什么意思
思路:使⽤Hadoop HDFS来存储数据,通过Hdoop MapReduce完成数据计算,通过Hive HQL语⾔使⽤部分与RDBBS⼀样的表格查询特性和分布式存储计算特性。
优点: 可以解决问题
具有并发处理能⼒
可以离线处理
缺点:  实时性不能保证economical
⽹络延迟会增加
异常捕获难度增加
Web应⽤起来⽐较复杂
解决⽅案2:总库集中查询。
elles优点: 可以解决问题
实现简单
缺点: 总库数据不能太⼤
并发压⼒⼤
五、⼩结
对 于分布式数据库架构来说,排序、分页、分组⼀直就是⼀个⽐较复杂的问题。避免此问题需要好好地设计分库、分表策略。同时根据特定的场景来解决问题。也可以 充分利⽤海量数据存储(Hadoop-HDFS|Hive|HB)、搜索引擎(Lucene|Solr)及分布式计算(MapReduce)等技术来 解决问题。 别外,也可以⽤NoSQL技术替代关系性数据库来解决问题,⽐如MogonDB\redis。

本文发布于:2023-07-06 11:56:07,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/90/168854.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:排序   合并   数据库   查询
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图