zoukankan      html  css  js  c++  java
  • 一. 数据分片和路由 <<大数据日知录>> 读书笔记

    本章主要讲解大数据下如何做数据分片,所谓分片,即将大量数据分散在不同的节点,同时每个存储节点还要做副本备份。

    而一般的抽象分片方法是,

    • 先将数据映射到一个分片空间,这是多对一的关系,即一个数据分片区间可能有多条数据
    • 再将分片空间映射到物理node,这也是多对一的关系,即一个物理node对应多个分片空间

    具体到实现,通过hash进行分片是比较常见方式,而常见的hash方法是:

    • round robin,hash取模,即通过取模将数据分散到各个node,这种方法跳过了分片空间,数据直接映射到了物理node,简单,但是扩展差,如果要新增一个node,所有的数据都要重新计算映射
    • virtual buckets,虚拟桶,即将数据映射到bucket,bucket再映射到物理node,这和上面的抽象方法很吻合。当新增一个物理node,只要将影响到的bucket的映射更改到新的node
    • 一致性hash,一致性hash先把数据映射到一个圆上,然后将node也映射到圆上,每个node管理它和它之前node之间的数据。新增node时,只影响插入位置到最近的前个node之间的数据映射。删除node时,也只影响位置到最近的前个node之间的数据映射

    另外,具体的分片实现上,还有范围分片:

    总的来说,即将数据进行一个排序映射,排序后再进行范围划定,然后将某个范围映射到具体的node

  • 相关阅读:
    hdu 4963(中途相遇法)
    UVALive 6869(后缀数组)
    AC自动机小结
    poj 2409+2154+2888(Burnside定理)
    HUST 1569(Burnside定理+容斥+数位dp+矩阵快速幂)
    bunoj 34990(hash)
    CSU 1506(最小费用最大流)
    CF 514C(hash)
    lightoj 1297(三分)
    lightoj 1179(线段树)
  • 原文地址:https://www.cnblogs.com/jiangz222/p/9651259.html
Copyright © 2011-2022 走看看