分享

大数据基本算法与协议

 _bolo 2018-08-05

大数据基本算法与协议


抽样调查,分析数据

特点:

          大量、高速、多样、低价值密度、真实性


一、数据分片

1.哈希分片(哈希取模法)

优点:简单

缺点:缺乏灵活性


负载均衡(一致性哈希:HadoopNGINXMemerCache)


查找数据(二分法)

N31 ← N25 ← N20 ←N14 ←N8 ← N5 ←N0

循环12; 形成一个环状序列


使用虚拟节点目的:

1.解决机器节点映射位置的随机性导致的负载不均匀

2.让尽可能多的结点参与节点的新建

3.允许使用异质机器


虚拟桶(非一致性哈希:RedisRedbase

1、键值哈希

2、哈希到那台机器


2.范围分片

隐含条件:递增、有序、连续


a.键值(库少的情况)

Q1w条数据做分库?(键值【startend】)

1~1000

9000~10000


b.冗余处理(库多的情况)

二进制取膜算法


二、一致性协议(Paxos)

角色:倡议者(Proposer)、接受者(Acceptor)、学习者(Learner)

少数服从多数人的决议,新入的机器也需要遵循之前统一定下的规则。


Multi Paxos执行过程:

一次请求,多次计算,选出领导者


三、常见算法

Bloom Filter(布隆过滤器)

Q、检查一个数据是否在数据集中?

1、建立多个哈希,做标记1


SkipList

一个跳表分几个层,第一层包含所有个元素,


LSM(Log-structured Merge-tree)

缺点:查找文件数大


Merkle(区块链)


Cuckoo哈希

CukooHash(布谷鸟散列)是为了解决哈希冲突问题而提出,利用较少的计算换取较大的空间。


MySQLB-树)、MangoDB(B+树)


四、通信协议

Gossip 协议

“一传十,十传百”模式

交换信息方式

push模式

pull模式

分布是缓存

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多