分布式入门资源

2015-06-02 23:26:58 +08:00
 modkzs
RT,准备以后向分布式方向发展,不知道有什么相关的入门资源?网上推荐的MIT和CMU的课程大都没有视频,感觉课程笔记写的都比较简略
3274 次点击
所在节点    程序员
6 条回复
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
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
2015-06-03 09:58:33 +08:00
@puncsky 之前在网上寻找过关于入门的建议,一般分为2种,一种建议从hadoop,hbase这种已有框架入手开始学习;另一种是从TCP,UDP等基础开始。作为新手,从高层开始还是底层开始比较好呢?
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
2015-06-03 10:52:55 +08:00
找 sketch 也是一门学问,要看不同人用不同视角写的材料、video、slides 才能够得到你心目中的 sketch
modkzs
2015-06-03 12:45:09 +08:00
@puncsky 确实觉得寻找sketch是一个很难做好的事情。您有什么网站或者博客推荐么?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/195652

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX