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

  • 相关阅读:
    20111013 18:32 女友刁钻无聊问题之标准答案
    20111013 17:40 学ACM有什么用
    typedef用法(1)
    深入C++的new(20111115 15:08 )
    用四个0算二十四点
    20111010 20:14 HDU 4021 (15数码)
    pku3020 Antenna Placement (解法1)
    C++箴言:理解typename的两个含义
    20110907 00:16 ubuntu 如何修改当前用户名
    vc6.0中添加msdn 20111105 11:52
  • 原文地址:https://www.cnblogs.com/jiangz222/p/9651259.html
Copyright © 2011-2022 走看看