zoukankan      html  css  js  c++  java
  • 大数据日知录【第三章:常用数据结构与算法】笔记

    Bloom Filter  查询一个数据是否存在于一个集合里面,节约空间的同时却又一定的误判率,也无法删除一个元素,于是计数的Bloom Filter便出现了,可以当成一个缓冲将其放入内存,比如如果查询发现查不到,那就是真不存在,如果存在了,那么可以在磁盘上确认一下。

    SkipList 替代平衡树的一种数据接口,某写节点上有指针分别指向后面的节点,这个指针的数据量就是层数,查找的时候就是一层层的查找。

    LSM树将大量的随机写操作转换成批量的序列写操作,核心思想是有一个内存表去维护插入的数据的顺序,然后顺序写,另外有一个本地文件作为log,防止内存数据丢失

    Merkle 可以通过一步步hash得到树的根节点,然后可以在O(log(n))复杂度下,快速定位少量变化的内容。

    Snappy 一种高效的压缩算法 通过当前活动窗口中的元素和向前缓冲区中元素相同的位置和个数,进行数据压缩。压缩和解压的原理本质是通过增加CPU的计算时间换取较小的存储空间。

    Cuckoo 哈希方法的一种,主要目的是为了解决Hash冲突时导致的查询的时间复杂度远大于O(1),通过两个Hash算法,得到两个Hash值,若某一个Hash值对应的桶没有该数据则存储,如果两个桶都有则替换掉原有位置的数据,如果产生无限循环,到达一定的循环次数后增加存储空间。

    SILT和Cuckoo的核心思想一样,所不同的是不在是key 而是HASH(key)做主键,

  • 相关阅读:
    [原创]利用Browser协议探测内网主机操作系统版本(无需端口无视防火墙)
    [EXP]Microsoft Windows 10 (Build 17134)
    [EXP]Microsoft Windows
    [EXP]Apache Spark
    [EXP]Adobe ColdFusion 2018
    [EXP]ThinkPHP 5.0.23/5.1.31
    [EXP]Cisco RV110W
    [EXP]Huawei Router HG532e
    [EXP]Microsoft Windows CONTACT
    [EXP]Microsoft Windows 10
  • 原文地址:https://www.cnblogs.com/sunshisonghit/p/5978705.html
Copyright © 2011-2022 走看看