V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
modkzs
V2EX  ›  程序员

分布式入门资源

  •  
  •   modkzs · 2015-06-02 23:26:58 +08:00 · 3279 次点击
    这是一个创建于 3456 天前的主题,其中的信息可能已经有所发展或是发生改变。
    RT,准备以后向分布式方向发展,不知道有什么相关的入门资源?网上推荐的MIT和CMU的课程大都没有视频,感觉课程笔记写的都比较简略
    6 条回复    2015-06-03 12:45:09 +08:00
    puncsky
        1
    puncsky  
       2015-06-03 04:29:31 +08:00
    AMPLab 新出的 Spark 教程 https://www.edx.org/course/introduction-big-data-apache-spark-uc-berkeleyx-cs100-1x 不知道怎么样,但是是官方新出的,昨天才开课,还有certificate可以拿

    The Practice of Cloud System Administration, Designing and Operating Large Distributed Systems

    大数据日知录 虽然都是翻译货,但是可以作为 roadmap

    Cloud Design Patterns by MSDN

    另外,要勤快地看各种 engineering blog, slides on SlideShare, technical talks, papers(谷歌四大,Amazon Dynamo, 各种主流 NoSQL 的paper, etc)。大概的做法是,看到一个流行的 app,比如 Pinterest, 搜与之相关的资料:Pinterest Architecture, Scale Pinterest

    把 InfoQ 设为首页

    关键还是要多问自己问题,比如:手机CPU/memory/storage这么小,视频是怎么 stream 的?然后就搜到了 Http Live Streaming。Facebook 的关系这么多是怎么做 cache 为读做优化的?然后就搜到了 TAO。relational DB 数据太大一台machine放不下怎么办?就搜到了 DB Proxy, Sharding vs. Clustering...
    puncsky
        2
    puncsky  
       2015-06-03 04:44:40 +08:00
    微观角度往上上来讲,就是关注 Concurrency, communication, data structures for big data, storage indexing and layout, etc.

    建议从 Java Concurrency 开始看,因为它的抽象层级恰到好处,资料很多适合搜索自学。

    Storage 从小处看起,比如 Storage-based KV store 看 Bitcask, LevelDB,tree-based vs hash-based indexing

    Communication 比较 TCP, UDP, HTTP, RESTful, RPC(Protobuf/Thrift/Avro),选择他们某一个有哪些 Tradeoff

    组织到一起东西就复杂了,什么是CAP,BASE,如何取舍,有哪些一致性协议,找数据路由怎么做。。。

    我觉得大数据分布式系统计算问题的本质就是,机器 CPU/Memory/Storage/network bandwidth 有限,而且不靠谱,在数据量太大不得不分开算,还要防止机器和人为的错误的情况下,如何计算的问题。
    modkzs
        3
    modkzs  
    OP
       2015-06-03 09:58:33 +08:00
    @puncsky 之前在网上寻找过关于入门的建议,一般分为2种,一种建议从hadoop,hbase这种已有框架入手开始学习;另一种是从TCP,UDP等基础开始。作为新手,从高层开始还是底层开始比较好呢?
    puncsky
        4
    puncsky  
       2015-06-03 10:51:12 +08:00
    @modkzs 该学的都得学,不分上层或者下层。。。最重要的是,先找 sketch,然后再逐步填充细节,循环深入,每一次重复都有新的体会。所谓 sketch 就是找这一层问题抽象的重点,比如 Hadoop, HBase 新手入门 不是去配机器,而是去了解 Hadoop 的重点在于 master/slave + mapreduce ,HBase 的重点在于 LSM Tree + Column family data model
    puncsky
        5
    puncsky  
       2015-06-03 10:52:55 +08:00
    找 sketch 也是一门学问,要看不同人用不同视角写的材料、video、slides 才能够得到你心目中的 sketch
    modkzs
        6
    modkzs  
    OP
       2015-06-03 12:45:09 +08:00
    @puncsky 确实觉得寻找sketch是一个很难做好的事情。您有什么网站或者博客推荐么?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5568 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 08:57 · PVG 16:57 · LAX 00:57 · JFK 03:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.