美文网首页
分页 分片 分块的区别

分页 分片 分块的区别

作者: 蜗牛先森1230 | 来源:发表于2019-07-09 20:02 被阅读0次

分页

分页,是一种将所有数据分段展示给用户的技术.用户每次看到的不是全部数据,而是其中的一部分,如果在其中没有找到自习自己想要的内容,用户可以通过制定页码或是翻页的方式转换可见内容,直到找到自己想要的内容为止.其实这和我们阅读书籍很类似.

对于企业信息系统来说数据量不会限制在一个小范围内.如果不顾一切的Select * from某个表,再将返回的数据一古脑的扔给客户,即使客户能够忍受成千上万足够让人眼花缭乱的表格式数据,繁忙的网络,紧张的服务器也会提出它们无声的抗议,甚至有时会以彻底的罢工作为终结.

比较好的分页做法应该是每次翻页的时候只从数据库里检索页面大小的块区的数据。这样虽然每次翻页都需要查询数据库,但查询出的记录数很少,网络传输数据量不大,如果使用连接池更可以略过最耗时的建立数据库连接过程。而在数据库端有各种成熟的优化技术用于提高查询速度,比在应用服务器层做缓存有效多了。 

分片

分片是指将数据拆分,将其分散在不同的机器上的过程。将数据分散到不同的机器上,不需要功能强大的服务器就可以存储更多的数据和处理更大的负载。基本思想就是将集合切成小块,这些块分散到若干片里,每个片只负责总数据的一部分,最后通过一个均衡器来对各个分片进行均衡

一个好的片键对分片至关重要。片键必须是一个索引,数据根据这个片键进行拆分分散。

分片很好的解决了单台服务器磁盘空间、内存、cpu等硬件资源的限制问题,把数据水平拆分出去,降低单节点的访问压力。每个分片都是一个独立的数据库,所有的分片组合起来构成一个逻辑上的完整的数据库。因此,分片机制降低了每个分片的数据操作量及需要存储的数据量,达到多台服务器来应对不断增加的负载和数据的效果。

分块

分块要求把数据分为若干块,在每需要增加一个元素的时候,我们就需要首先根据索引,知道这个数据应该在哪一块,然后直接把这个数据加到相应的块里面。同时,分块查找需要一个索引表,用来限定每一块的范围

对于分块来说,可以根据数据量的大小及数据的区间来进行对分块的选择,尽量等分为固定的块。

我们一般会根据具体的业务量做分表。在做存储和查询的时候就可以按照时间去做一个表的分块,再查询详细的记录了。其实这里用到的就是分块的思想。

相关文章

  • 分页 分片 分块的区别

    分页 分片 分块

  • 分块上传预签名Demo

    分块上传预签名Demo 以下是分块上传的两个步骤 初始化分片上传 获取上传分片的预签名URL 使用该URL可以不带...

  • hadoop 分片与分块

    参考:http://blog.csdn.net/dr_guo/article/details/51150278 重...

  • Hadoop分块与分片介绍及分片和分块大小相同的原因

    概念介绍 分块 在HDFS系统中,为了便于文件的管理和备份,引入分块概念(block)。这里的块是HDFS存储系统...

  • 个人笔记

    深度分页 深度分页是有问题的,假设在一个有五个主分片的索引中,请求结果的第一页(每页10个),那么每个分页需要产生...

  • 并发容器-map

    map区别 ConcurrentHashMapConcurrentHashMap使用(Segment[分片])锁机...

  • xxl-job 分片策略

    策略一 结合分片总数和当前分片,分页加载处理想要表数据,如下所示: 以上代码中的缺点: 增加数据库访问量,执行效率...

  • tcp分片和ip分片的区别

    ip分片 我们在计算机网络上所看到的分片一般是指ip分片,ip分片是指在网络传输过程中若遇到链路MTU比自己报文小...

  • mybatis小知识-逻辑分页和物理分页

    Mybatis的分页操作可以分为物理分页和逻辑分页。他们之间有什么区别呢?在什么场景下使用什么样的分页呢? 1. ...

  • elasticsearch 学习笔记3

    1.分页 理解为什么深度分页是有问题的,我们可以假设在一个有 5 个主分片的索引中搜索。 当我们请求结果的第一页(...

网友评论

      本文标题:分页 分片 分块的区别

      本文链接:https://www.haomeiwen.com/subject/cywfkctx.html