对分而治之思想的体会

前言

        分治、顾名思义,就是将一个整体拆分开成若干部分进行分别治理;

        为什么要将整体拆分成若干个部分?

                如:整体比较复杂、数据量过大、为操作提供便利等都可能是分治的原因

        提示:如无特殊说明以下“数据库”直接理解成mysql

哪些地方用到了分治思想

        1、分库分表

                分库:服务访问量大、并发高时,此时服务的响应压力一般都是直接给到了数据库,此时如果数据库的连接已经到了单库的上限了,此时排除其他优化方案如缓存、加读库 { 加读库只能解决读压力,写压力依然是单个主库或者其他优化方案已经做到了极致还是连接数不够,此时就应该考虑做分库以提高数据库的高并发响应能力,其实主要是提高写能力 { 如果主要是读的压力比较大做个读写分离就能缓解读压力没必要分库分库主要还是意在写并发上

                分表:在项目中部分业务表数据量比较大,如单表有几千万甚至上亿条数据时,即使表索引构建合理,缓存、各种查询优化都做到了极致,单表查询依然很慢&

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
数据进行处理拆分成若干个小任务,然后将这些小任务分发给不同的计算节点进行并行处理。在MapReduce的数据处理过程中,分为两个主要阶段:Map阶段和Reduce阶段。 首先,在Map阶段,数据被分成若干个小片段,并且在各个计算节点上进行处理。在这个阶段,每个计算节点都会对自己所负责的数据片段进行处理,生成一系列的<key, value>键值对。通过将数据拆分成小任务并行处理,可以大大提高处理速度和效率。 接着,在Reduce阶段,将所有Map节点生成的结果进行汇总和整合。在这个阶段,所有的<key, value>键值对会按照key值进行排序,并根据相同的key值将对应的value值进行合并。最终,生成最终的结果。 MapReduce 的分而治之思想,使得大规模数据的处理可以分解成若干个小任务,通过并行计算的方式进行处理,大大提高了数据处理的效率和性能。同时,由于数据处理被分散到多个计算节点上进行,并行计算的特点也使得系统具备高度的可扩展性,能够适应不同规模的数据处理需求。 总结来说,MapReduce 采用分而治之思想,将大规模数据处理任务拆分为多个小任务,并通过并行计算的方式进行处理,最终汇总生成结果。这种处理方式大大提高了数据处理的效率和性能,并且具备可扩展性,能够适应不同规模的数据处理需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值