zoukankan      html  css  js  c++  java
  • 探讨大数据量处理<续篇>

    接上面说用到NOSQL,但这个概念太笼统,hadoop做法: (在我看来1-3点算是NOSQL产品处理的了)

    1,首先一般是用MAP/VALUE进行分布式存储

    保证可靠性:

    分布式缓存,一般比如N个分布式节点,存储时同时放进M个中,你查询数据只要从N-M个中读到没此数据即为无(Quorum NRW),当然还可以进行日志记录法:

    记录每次的日志操作,当机器宕机可以从日志中恢复内存中的数据,redis就有这种模式做法

    2,然后对相同的操作进行合并 ,即MAP/reduce 操作(MapReduce)

    如何reduce操作:可以通过bloom-filter 算法①初刷, 进行找出相同的对象操作,然后对它进行reduce

    3,然后进行文件存储(文件系统)

    4,进行运算(拆逻辑层)

    5,入库(持久化存储层)

    上面每一点都可以去研究,做起来都不简单;

    如淘宝对应的

     1,2 Tair; 3 TFS;4HSF;5 TDDL;

     -----------------------------------------------------------------------------------------------------------------------------------------------

    ① bloom-filter 算法简单来说就是把一系列对象进行HASH值存储,然后定义一个足够大的BIT数组把对应位数的值设置为1,然后比较对象是否存在时可以从BIT数组中查找,当找到对应值有一个为0证明改对象肯定不存在;此算法好处是高效,空间最大利用率,但不能保证找出全是1的为存在对象,只能找出有一个为0的对象肯定不存在;

    WEB大数据量处理的目标思路:

    我认为就是用低成本的硬件做分布式,实现大数据量处理的高性能(即保证数据的可用性,只需要最终一致性),可扩展性的处理;

    补充上面的

    其实上面说的的数据库还可以很多方面的优化, 比如80/20的原则,比如树节点存储,比如其它数据库优化

    说白了, 大数据处理就是一个字  ‘’ 

    另:这篇文章我也是尝试研究,有偏差请指出,共同学习,文章慢慢补充中

  • 相关阅读:
    Script to Create Benchmark Procs
    自定义数据类型修改
    需求管理工具试用 – CaliberRM
    标识值重复的原因示例
    Vmware vFabric Suite开始支持自动化部署与PostgreSQL
    在ubuntu上安装Oracle Java SDK
    详解数据中心基础设施的模块化建设
    Xcode 4 无证书真机调试 环境配置
    Calculate_and_Insert_Event_Intervals_in_SQL2005_Profiler
    浏览器工作原理
  • 原文地址:https://www.cnblogs.com/springsource/p/2425444.html
Copyright © 2011-2022 走看看