美文网首页
monolake 的GeekBand C++开发学习笔记(十四)

monolake 的GeekBand C++开发学习笔记(十四)

作者: monolake | 来源:发表于2016-08-15 21:42 被阅读0次

    前记:本周进入系统设计与实践的最后一周,讲解的是海量数据的分析与处理。

    海量数据的问题

    1,数据量过大,数据中什么情况都可能存在。
    2,软硬件要求高,系统资源占用率高。
    3,要求很高的处理方法和技巧。

    海量数据的“大”

    所谓海量数据处理,无非就是基于海量数据上的存储、处理、操作。何谓海量,就是数据量太大,所以导致要么是无法在较短时间内迅速解决,要么是数据太大,导致无法一次性装入内存。
    此种情况下,针对时间,我们可以采用巧妙的算法搭配合适的数据结构,如 Bloom filter/Hash/bit-map/堆/数据库或倒排索引/trie树 ,针对空间,无非就一个办法:大而化小, 分而治之(hash映射) ,规模太大嘛就把规模大化为规模小的,各个击破。一般方法如下:
    1,分而治之/hash映射 + hash统计 + 堆/快速/归并排序;
    2,双层桶划分
    3,Bloom filter/Bitmap;
    4,Trie树/数据库/倒排索引;
    5,外排序;
    6,分布式处理之Hadoop/Mapreduce。

    相关文章

      网友评论

          本文标题:monolake 的GeekBand C++开发学习笔记(十四)

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