大规模web数据处理总结_大规模Web服务开发技术书评-查字典图书网
查字典图书网
当前位置: 查字典 > 图书网 > 互联网 > 大规模Web服务开发技术 > 大规模web数据处理总结
libisthanks 大规模Web服务开发技术 的书评 发表时间:2012-05-05 14:05:32

大规模web数据处理总结

       用了四五天时间看完了这本书的前2/3,因为后面几章主要讲解硬件和基础设施,本人不是特别感兴趣,就没读,总体来说感觉良好。分析了一下,之所以在这么短时间可以读完一本技术书,原因之一是此书集中分析一个问题(大规模数据处理问题),可以使读者思维集中;原因之二在于之前我对此书中的知识或多或少都有些了解,看起来还比较轻松;原因之三是本人对大规模web服务处理比较感兴趣。
       言归正传,简单的写下此书的读后感。上文有所提到,本人此前对此书中的大多数知识有过接触,但都是在不同场合,所以显得知识点很分散、不集中。而这本书刚好可以将这些知识点串起来,形成一个体系,这是我读本书的最大感触;另一方面,作者通过实际项目将大多数知识点都覆盖到了,虽然讲解不是特别深入但是毕竟可以作为参考资料,起到抛砖引玉的作用。现在我就讲自认为串起来的小体系给一个记录:
      大规模web服务开发主要从以下三个方面进行分析处理(软件方面):
      1. 缓存。缓存的使用在提升性能方面实在是太重要了,掌握缓存的使用也就特别必要。作者主要讲解了什么是操作系统缓存,以缓存为前提的IO负载降低策略,以及利用缓存的局部性原理进行的分布式。同时作者还讲解了如何使用linux自带的sar命令查看系统的CPU负载以及IO负载情况以及内存缓存使用情况。但是缺憾的是作者没有将其他一些中间件缓存机制引入到这部分,而是放到了书的最后,其中主要包括分布式缓存系统memcached以及HTTP缓存服务器nagix等。
      2. 以分布式为前提的RDBMS的使用。这部分需要掌握三点:
        (1)数据库索引。实现索引的数据结构B+数;复合索引;
        (2)数据库的同步与复制。
        (3)数据库的分割与横向扩展。
      3. 常用技巧、特定领域的数据结构,算法。
          常用技巧包括各种压缩算法(求差+可变字节码压缩算法)、在数据库无法处理大规模文本数据是所建立的特殊用途索引(lucene索引等)
          特定领域的数据结构算法,比如文本处理领域的trie数,以及模式匹配算法(KMP算法:单模式匹配算法;AC自动机:多模式匹配算法)、动态规划算法下的字符串编辑距离实现(用于字符串相似度计算)、贝叶斯分类器算法(用于自动分类)、去重算法(布隆过滤器);
          这些常用技巧和数据结构算法在一点程度上都可以极大地提高web处理性能。

展开全文


推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读