天天看點

分布式系統distributed-system資料

分布式系統(Distributed System)資料

希望轉載的朋友,你可以不用聯系我.但是一定要保留原文連結,因為這個項目還在繼續也在不定期更新.希望看到文章的朋友能夠學到更多.
  • 《Reconfigurable Distributed Storage for Dynamic Networks》

介紹:這是一篇介紹在動态網絡裡面實作分布式系統重構的paper.論文的作者(導師)是MIT讀博的時候是做分布式系統的研究的,現在在NUS帶學生,不僅僅是分布式系統,還有無線網絡.如果感興趣可以去他的首頁了解.

  • 《Distributed porgramming liboratory》

介紹:分布式程式設計實驗室,他們發表的很多的paper,其中不僅僅是學術研究,還有一些工業界應用的論文.

  • 《MIT Theory of Distributed Systems》

介紹:麻省理工的分布式系統理論首頁,作者南希·林奇在2002年證明了CAP理論,并且著《分布式算法》一書.

  • 《Notes on Distributed Systems for Young Bloods》

介紹:分布式系統搭建初期的一些建議

  • 《Principles of Distributed Computing》

介紹:分布式計算原理課程

  • 《Google's Globally-Distributed Database》

介紹:Google全球分布式資料介紹,中文版

  • 《The Architecture Of Algolia’s Distributed Search Network》

介紹:Algolia的分布式搜尋網絡的體系架構介紹

  • 《Build up a High Availability Distributed Key-Value Store》

介紹:建構高可用分布式Key-Value存儲系統

  • 《Distributed Search Engine with Nanomsg and Bond》

介紹:Nanomsg和Bond的分布式搜尋引擎

  • 《Distributed Processing With MongoDB And Mongothon》

介紹:使用MongoDB和Mongothon進行分布式處理

  • 《Salt: Combining ACID and BASE in a Distributed Database》

介紹:分布式資料庫中把ACID與BASE結合使用.

  • 《Makes it easy to understand Paxos for Distributed Systems》

介紹:了解的Paxos的分布式系統,參考閱讀:關于Paxos的曆史

  • 《There is No Now Problems with simultaneity in distributed systems》

介紹:There is No Now Problems with simultaneity in distributed systems

  • 《Distributed Systems》

介紹:倫敦大學學院分布式系統課程課件.

  • 《Distributed systems for fun and profit》

介紹:分布式系統電子書籍.

  • 《Distributed Systems Spring 2015》

介紹:卡内基梅隆大學春季分布式課程首頁

  • 《Distributed Systems: Concepts and Design (5th Edition)》

介紹: 電子書,分布式系統概念與設計(第五版)

  • 《走向分布式》

介紹:這是一位台灣網友 ccshih 的文字,短短的篇幅介紹了分布式系統的若幹要點。pdf

  • 《Introduction to Distributed Systems Spring 2013》

介紹:清華大學分布式系統課程首頁,裡面的schedule欄目有很多寶貴的資源

  • 《Distributed systems》

介紹:免費的線上分布式系統書籍

  • 《Some good resources for learning about distributed computing》

介紹:Quora上面的一篇關于學習分布式計算的資源.

  • 《Spanner: Google’s Globally-Distributed Database》

介紹:這個是第一個全球意義上的分布式資料庫,也是Google的作品。其中介紹了很多一緻性方面的設計考慮,為了簡單的邏輯設計,還采用了原子鐘,同樣在分布式系統方面具有很強的借鑒意義.

  • 《The Chubby lock service for loosely-coupled distributed systems》

介紹:Google的統面向松散耦合的分布式系統的鎖服務,這篇論文詳細介紹了Google的分布式鎖實作機制Chubby。Chubby是一個基于檔案實作的分布式鎖,Google的Bigtable、Mapreduce和Spanner服務都是在這個基礎上建構的,是以Chubby實際上是Google分布式事務的基礎,具有非常高的參考價值。另外,著名的zookeeper就是基于Chubby的開源實作.推薦The google stack,Youtube:The Chubby lock service for loosely-coupled distributed systems

  • 《Sinfonia: a new paradigm for building scalable distributed systems》

介紹:這篇論文是SOSP2007的Best Paper,闡述了一種建構分布式檔案系統的範式方法,個人感覺非常有用。淘寶在建構TFS、OceanBase和Tair這些系統時都充分參考了這篇論文.

  • 《Data-Intensive Text Processing with MapReduce》

介紹:Ebook:Data-Intensive Text Processing with MapReduce.

  • 《Design and Implementation of a Query Processor for a Trusted Distributed Data Base Management System》

介紹:Design and Implementation of a Query Processor for a Trusted Distributed Data Base Management System.

  • 《Distributed Query Processing》

介紹:分布式查詢入門.

  • 《Distributed Systems and the End of the API》

介紹:分布式系統和api總結.

  • 《Distributed Query Reading》

介紹:分布式系統閱讀論文,此外還推薦github上面的一個論文清單The Distributed Reader。

  • 《Replication, atomicity and order in distributed systems》

介紹:Replication, atomicity and order in distributed systems

  • 《MIT course:Distributed Systems》

介紹:2015年MIT分布式系統課程首頁,這次用Golang作為授課語言。6.824 Distributed Systems課程首頁

  • 《Distributed systems for fun and profit》

介紹:免費分布式系統電子書。

  • 《Ori:A Secure Distributed File System》

介紹:斯坦福開源的分布式檔案系統。

  • 《Availability in Globally Distributed Storage Systems》

介紹:Google論文:設計一個高可用的全球分布式存儲系統。

  • 《Calvin: Fast Distributed Transactions For Partitioned Database Systems》

介紹:對于分區資料庫的分布式事務處理。

  • 《Distributed Systems Building Block: Flake Ids》

介紹:Distributed Systems Building Block: Flake Ids.

  • 《Introduction to Distributed System Design》

介紹:Google Code University課程,如何設計一個分布式系統。

  • 《Sheepdog: Distributed Storage System for KVM》

介紹:KVM的分布式存儲系統.

  • 《Readings in Distributed Systems Systems》

介紹:分布式系統課程清單,包括資料庫、算法等.

  • 《Tera》

介紹:來自百度的分布式表格系統.

  • 《Distributed systems: for fun and profit》

介紹:分布式系統的線上電子書.

  • 《Distributed Systems Reading List》

介紹:分布式系統資料,此外還推薦Various articles about distributed systems.

  • 《Designs, Lessons and Advice from Building Large Distributed Systems》

介紹:Designs, Lessons and Advice from Building Large Distributed Systems.

  • 《Testing a Distributed System》

介紹:Testing a distributed system can be trying even under the best of circumstances.

  • 《The Google File System》

介紹: 基于普通伺服器建構超大規模檔案系統的典型案例,主要面向大檔案和批處理系統, 設計簡單而實用。 GFS是google的重要基礎設施, 大資料的基石, 也是Hadoop HDFS的參考對象。 主要技術特點包括: 假設硬體故障是常态(容錯能力強), 64MB大塊, 單Master設計,Lease/鍊式複制, 支援追加寫不支援随機寫.

  • 《Bigtable: A Distributed Storage System for Structured Data》

介紹:支援PB資料量級的多元非關系型大表, 在google内部應用廣泛,大資料的奠基作品之一 , Hbase就是參考BigTable設計。 Bigtable的主要技術特點包括: 基于GFS實作資料高可靠, 使用非原地更新技術(LSM樹)實作資料修改, 通過range分區并實作自動伸縮等.中文版

  • 《PacificA: Replication in Log-Based Distributed Storage Systems》

介紹:面向log-based存儲的強一緻的主從複制協定, 具有較強實用性。 這篇文章系統地講述了主從複制系統應該考慮的問題, 能加深對主從強一緻複制的了解程度。 技術特點: 支援強一緻主從複制協定, 允許多種存儲實作, 分布式的故障檢測/Lease/叢集成員管理方法.

  • 《Object Storage on CRAQ, High-throughput chain replication for read-mostly workloads》

介紹:分布式存儲論文:支援強一直的鍊式複制方法, 支援從多個副本讀取資料,實作code.

  • 《Finding a needle in Haystack: Facebook’s photo storage》

介紹:Facebook分布式Blob存儲,主要用于存儲圖檔. 主要技術特色:小檔案合并成大檔案,小檔案中繼資料放在記憶體是以讀寫隻需一次IO.

  • 《Windows Azure Storage: A Highly Available Cloud Storage Service with Strong Consistency》

介紹: 微軟的分布式存儲平台, 除了支援類S3對象存儲,還支援表格、隊列等資料模型. 主要技術特點:采用Stream/Partition兩層設計(類似BigTable);寫錯(寫滿)就封存Extent,使得副本位元組一緻, 簡化了選主和恢複操作; 将S3對象存儲、表格、隊列、塊裝置等融入到統一的底層存儲架構中.

  • 《Paxos Made Live – An Engineering Perspective》

介紹:從工程實作角度說明了Paxo在chubby系統的應用, 是了解Paxo協定及其應用場景的必備論文。 主要技術特點: paxo協定, replicated log, multi-paxo.參考閱讀:關于Paxos的曆史

  • 《Dynamo: Amazon’s Highly Available Key-Value Store》

介紹:Amazon設計的高可用的kv系統,主要技術特點:綜和運用一緻性哈希,vector clock,最終一緻性建構一個高可用的kv系統, 可應用于amazon購物車場景.新内容來自分布式存儲必讀論文

  • 《Efficient Replica Maintenance for Distributed Storage Systems》

介紹:分布式存儲系統中的副本存儲問題.

  • 《PADS: A Policy Architecture for Distributed Storage Systems》

介紹:分布式存儲系統架構.

  • 《The Chirp Distributed Filesystem》

介紹:開源分布式檔案系統Chirp,對于想深入研究的開發者可以閱讀文章的相關Papers.

  • 《Time, Clocks, and the Ordering of Events in a Distributed System》

介紹:經典論文分布式時鐘順序的實作原理.

  • 《Making reliable distributed systems in the presence of sodware errors》

介紹:面向軟體錯誤建構可靠的分布式系統,中文筆記.

  • 《MapReduce: Simplified Data Processing on Large Clusters》

介紹:MapReduce:超大叢集的簡單資料處理.

  • 《Distributed Computer Systems Engineering》

介紹:麻省理工的分布式計算課程首頁,裡面的ppt和閱讀清單很多幹貨.

  • 《The Styx Architecture for Distributed Systems》

介紹:分布式系統Styx的架構剖析.

  • 《What are some good resources for learning about distributed computing? Why?》

介紹:Quora上面的一個問答:有哪些關于分布式計算學習的好資源.

  • 《RebornDB: The Next Generation Distributed Key-Value Store》

介紹:下一代分布式k-v存儲資料庫.

  • 《Operating System Concepts Ninth Edition》

介紹:分布式系統歸根結底還是需要作業系統的知識,這是耶魯大學的作業系統概念書籍首頁,裡面有提供了第8版的線上電子版和最新的學習作業系統指南,學習分布式最好先學習作業系統.

  • 《The Log: What every software engineer should know about real-time data's unifying abstraction》

介紹:分布式系統Log剖析,非常的詳細與精彩. 中文翻譯 | 中文版筆記.

  • 《Operating Systems Study Guide》

介紹:分布式系統基礎之作業系統學習指南.

  • 《分布式系統領域經典論文翻譯集》

介紹:分布式系統領域經典論文翻譯集.

  • 《Maintaining performance in distributed systems》

介紹:分布式系統性能維護.

  • 《Computer Science from the Bottom Up》

介紹:計算機科學,自底向上,小到機器碼,大到作業系統内部體系架構,學習作業系統的另一個線上好材料.

  • 《Operating Systems: Three Easy Pieces》

介紹:<作業系統:三部曲>線上電子書,虛拟、并發、持續.

  • 《Database Systems: reading list》

介紹:資料庫系統經典論文閱讀列,此外推送github上面的db reading.

  • 《Unix System Administration》

介紹:Unix System Administration ebook.

  • 《The Amoeba Distributed Operating System》

介紹:分布式系統經典論文.

  • 《Principles of Computer Systems》

介紹:計算機系統概念,以分布式為主.此外推薦Introduction to Operating Systems筆記

  • 《Person page of EMİN GÜN SİRER》

介紹:推薦康奈爾大學的教授EMİN GÜN SİRER的首頁,他的研究項目有分布式,資料存儲。例如HyperDex資料庫就是他的其中一個項目之一.

  • 《Scalable, Secure, and Highly Available Distributed File Access》

介紹:來自卡内基梅隆如何建構可擴充的、安全、高可用性的分布式檔案系統,其他papers.

  • 《Distributed (Deep) Machine Learning Common》

介紹:分布式機器學習常用庫.

  • 《The Datacenter as a Computer》

介紹:介紹了如何建構倉儲式資料中心,尤其是對于現在的雲計算,分布式學習來說很有幫助.本書是Synthesis Lectures on Computer Architecture系列的書籍之一,這套叢書還有 《The Memory System》,《Automatic Parallelization》,《Computer Architecture Techniques for Power Efficiency》,《Performance Analysis and Tuning for General Purpose Graphics Processing Units》,《Introduction to Reconfigurable Supercomputing》,Memory Systems Cache, DRAM, Disk 等

  • 《helsinki:Distributed Systems Course slider》

介紹:來自芬蘭赫爾辛基的分布式系統課程課件:什麼是分布式,複制,一緻性,容錯,同步,通信.

  • 《TiDB is a distributed SQL database》

介紹:分布式資料庫TiDB,Golang開發.

  • 《S897: Large-Scale Systems》

介紹:課程資料:大規模系統.

  • 《Large-scale L-BFGS using MapReduce》

介紹:使用MapReduce進行大規模分布式叢集環境下并行L-BFGS.

  • 《Twitter是如何建構高性能分布式日志的》

介紹:Twitter是如何建構高性能分布式日志的.

  • 《Distributed Systems: When Limping Hardware Is Worse Than Dead Hardware》

介紹:在分布式系統中某個元件徹底死了影響很小,但半死不活(網絡/磁盤),對整個系統卻是毀滅性的.

  • 《Tera - 高性能、可伸縮的結構化資料庫》

介紹:來自百度的分布式資料庫.

  • 《SequoiaDB is a distributed document-oriented NoSQL Database》

介紹:SequoiaDB分布式文檔資料庫開源.

  • 《Readings in distributed systems》

介紹:這個網址裡收集了一堆各TOP大學分布式相關的課程.

  • 《Paxos vs Raft》

介紹:這個網站是Raft算法的作者為教授Paxos和Raft算法做的,其中有兩個視訊連結,分别講上述兩個算法.參考閱讀:關于Paxos的曆史

  • 《A Scalable Content-Addressable Network》

介紹:A Scalable Content-Addressable Network.

  • 《500 Lines or Less》

介紹:這個項目其實是一本書( The Architecture of Open Source Applications)的源代碼附錄,是一堆大牛合寫的.

  • 《MIT 6.824 Distributed System》

介紹:這隻是一個課程首頁,沒有上課的視訊,但是并不影響你跟着它上課:每一周讀兩篇課程指定的論文,讀完之後看lecture-notes裡對該論文内容的讨論,回答裡面的問題來加深了解,最後在課程lab裡把所看的論文實作。當你把這門課的作業刷完後,你會發現自己實作了一個分布式資料庫.

  • 《HDFS-alike in Go》

介紹:使用go開發的分布式檔案系統.

  • 《What are some good resources for learning about distributed computing? Why?》

介紹:Quora上關于學習分布式的資源問答.

  • 《SeaweedFS is a simple and highly scalable distributed file system》

介紹:SeaweedFS是使用go開發的分布式檔案系統項目,代碼簡單,邏輯清晰.

  • 《Codis - yet another fast distributed solution for Redis》

介紹:Codis 是一個分布式 Redis 解決方案, 對于上層的應用來說, 連接配接到 Codis Proxy 和連接配接原生的 Redis Server 沒有明顯的差別

  • 《Paper: Coordination Avoidance In Distributed Databases By Peter Bailis》

介紹:Coordination Avoidance In Distributed Databases.

  • 《從零開始寫分布式資料庫》

介紹:本文以TiDB 源碼為例.

  • 《what we talk about when we talk about distributed systems》

介紹:分布式系統概念梳理,為分布式系統涉及的主要概念進行了梳理.

  • 《Distributed locks with Redis》

介紹:使用Redis實作分布式鎖.

  • 《CS244b: Distributed Systems》

介紹: 斯坦福2014年秋季分布式課程.

  • 《RAMP Made Easy》

介紹: 分布式的“讀原子性”.

  • 《Strategies and Principles of Distributed Machine Learning on Big Data》

介紹: 大資料分布式機器學習的政策與原理.

  • 《Distributed Systems: What is the CAP theorem?》

介紹: 分布式CAP法則.

  • 《How should I start to learn distributed storage system as a beginner?》

介紹: 新手如何步入分布式存儲系統.

  • 《Cassandra - A Decentralized Structured Storage System》

介紹: 分布式存儲系統Cassandra剖析,推薦白皮書Introduction to Apache Cassandra.

  • 《What is the best resource to learn about distributed systems?》

介紹: 分布式系統學習資源.

  • 《What are some high performance TCP hacks?》

介紹: 一些高性能TCP黑客技巧.

  • 《Maintaining performance in distributed systems》

介紹:分布式系統性能提升.

  • 《A simple totally ordered broadcast protocol》

介紹:Benjamin Reed 和 Flavio P.Junqueira 所著論文,對Zab算法進行了介紹,zab算法是Zookeeper保持資料一緻性的核心,在國内有很多公司都使用zookeeper做為分布式的解決方案.推薦與此相關的一篇文章ZooKeeper’s atomic broadcast protocol: Theory and practice.

  • 《zFS - A Scalable Distributed File System Using Object Disk》

介紹:可擴充的分布式檔案系統ZFS,The Zettabyte File System,End-to-end Data Integrity for File Systems: A ZFS Case Study.

  • 《A Distributed Haskell for the Modern Web》

介紹:分布式Haskell在目前web中的應用.

  • 《Reasoning about Consistency Choices in Distributed Systems》

介紹:POPL2016的論文,關于分布式系統一緻性選擇的論述,POPL所接受的論文,github上已經有人整理.

  • 《Paxos Made Simple》

介紹:Paxos讓分布式更簡單.譯文.參考閱讀:關于Paxos的曆史,understanding Paxos part1,Understanding Paxos – Part 2.Quora: What is a simple explanation of the Paxos algorithm?,Tutorial Summary: Paxos Explained from Scratch,Paxos algorithm explained, part 1: The essentials,Paxos algorithm explained, part 2: Insights

  • 《Consensus Protocols: Paxos》

介紹:分布式系統一緻性協定:Paxos.參考閱讀:關于Paxos的曆史

  • 《Consensus on Transaction Commit》

介紹:事務送出的一緻性探讨.

  • 《The Part-Time Parliaments》

介紹:在《The Part-Time Parliament》中描述了基本協定的互動過程。在基本協定的基礎上完善各種問題得到了最終的議會協定。 為了讓人更容易了解《The Part-Time Parliament》中描述的Paxos算法,Lamport在2001發表了《Paxos Made Simple》,以更平直的口頭語言描述了Paxos,而沒有包含正式的證明和數學術語。《Paxos Made Simple》中,将算法的參與者更細緻的劃分成了幾個角色:Proposer、Acceptor、Learner。另外還有Leader和Client.參考閱讀:關于Paxos的曆史

  • 《Paxos Made Practical》

介紹:看這篇論文時可以先看看了解Paxos Made Practical.

  • 《PaxosLease: Diskless Paxos for Leases》

介紹:PaxosLease:實作租約的無盤Paxos算法,譯文.

  • 《Paxos Made Moderately Complex》

介紹:Paxos算法實作,譯文,同時推薦42 Paxos Made Moderately Complex.

  • 《Hadoop Reading List》

介紹:Hadoop學習清單.

  • 《Hadoop Reading List》

介紹:Hadoop學習清單.

  • 《2010 NoSQL Summer Reading List》

介紹:NoSQL知識清單,裡面不僅僅包含了資料庫閱讀清單還包含了分布式系統資料.

  • 《Raft: In search of an Understandable Consensus Algorithm》

介紹:aft 是一種用來管理日志複制的一緻性算法。它和 Paxos 的性能和功能是一樣的,但是它和 Paxos 的結構不一樣;這使得 Raft 更容易了解并且更易于建立實際的系統。中文版

  • 《Raft: Understandable Distributed Consensus》

介紹:Raft可視化圖幫助了解分布式一緻性

  • 《Etcd:Distributed reliable key-value store for the most critical data of a distributed system》

介紹:Etcd分布式Key-Value存儲引擎

  • 《Understanding Availability》

介紹:了解peer-to-peer系統中的可用性究竟是指什麼.同時推薦基于 Peer-to-Peer 的分布式存儲系統的設計

  • 《Process structuring, synchronization, and recovery using atomic actions》

介紹:經典論文

  • 《Programming Languages for Parallel Processing》

介紹:并行處理的程式設計語音

  • 《Analysis of Six Distributed File Systems》

介紹:此篇論文對HDFS,MooseFS,iRODS,Ceph,GlusterFS,Lustre六個存儲系統做了詳細分析.如果是自己研發對應的存儲系統推薦先閱讀此篇論文

  • 《A Survey of Distributed File Systems》

介紹:分布式檔案系統綜述

  • 《Concepts of Concurrent Programming》

介紹:并行程式設計的概念,同時推薦卡内基梅隆FTP

  • 《Concurrency Control Performance Modeling:Alternatives and Implications》

介紹:并發控制性能模組化:選擇與意義

  • 《Distributed Systems - Concepts and Design 5th Edition》

介紹:ebook分布式系統概念與設計

  • 《分布式系統設計的形式方法》

介紹:分布式系統設計的形式方法

  • 《互斥和選舉算法》

介紹:互斥和選舉算法

  • 《Actors:A model Of Concurrent Cornputation In Distributed Systems》

介紹:經典論文

  • 《Security Engineering: A Guide to Building Dependable Distributed Systems》

介紹:如何建構一個安全可靠的分布式系統,About the Author,Bibliography:文獻資料,章節通路把連結最後的01換成01-27即可

  • 《15-712 Advanced and Distributed Operating Systems》

介紹:卡内基梅隆大學的分布式系統博士生課程首頁,有很豐富的資料

  • 《Dapper, Google's Large-Scale Distributed Systems Tracing Infrastructure》

介紹:Dapper,大規模分布式系統的跟蹤系統,譯文,譯文對照

  • 《CS262a: Advanced Topics in Computer Systems》

介紹:伯克利大學計算機系統進階課程,内容有深度,涵蓋分布式,資料庫等内容

  • 《Egnyte Architecture: Lessons Learned In Building And Scaling A Multi Petabyte Distributed System》

介紹:PB級分布式系統建構/擴充經驗

  • 《CS162: Operating Systems and Systems Programming》

介紹:伯克利大學計算機系統課程:作業系統與系統程式設計

  • 《MDCC: Multi-Data Center Consistency》

介紹:MDCC主要解決跨資料中心的一緻性問題中間件,一種新的協定

  • 《Research at Google:Distributed Systems and Parallel Computing》

介紹:google公開對外發表的分布式系統與并行計算論文

  • 《HDFS Architecture Guide》

介紹:分布式檔案系統HDFS架構

  • 《ActorDB distributed SQL database》

介紹:分布式 Key/Value資料庫

  • 《An efficient data location protocol for self-organizing storage clusters》

介紹:是著名的Ceph的負載平衡政策,文中提出的幾種政策都值得嘗試,比較贊的一點是可以對照代碼體會和實踐,如果你還需要了解可以看看Ceph:一個 Linux PB 級分布式檔案系統,除此以外,論文的引用部分也挺值得閱讀的,同時推薦Ceph: A Scalable, High-Performance Distributed File System

  • 《A Self-Organizing Storage Cluster for Parallel Data-Intensive Applications》

介紹:Surrento的冷熱平衡政策就采用了延遲寫技術

  • 《HBA: Distributed Metadata Management for Large Cluster-Based Storage Systems》

介紹:對于分布式存儲系統的中繼資料管理.

  • 《Server-Side I/O Coordination for Parallel File Systems》

介紹:伺服器端的I/O協調并行檔案系統處理,網絡,檔案存儲等都會涉及到IO操作.不過裡面涉及到很多技巧性的思路在實踐時需要斟酌

  • 《Distributed File Systems: Concepts and Examples》

介紹:分布式檔案系統概念與應用

  • 《CSE 221: Graduate Operating Systems》

介紹:加利福尼亞大學的研究所學生作業系統課程首頁,論文很值得閱讀

  • 《S4: Distributed Stream Computing Platform》

介紹:Yahoo出品的流式計算系統,目前最流行的兩大流式計算系統之一(另一個是storm),Yahoo的主要廣告計算平台

  • 《Pregel: a system for large-scale graph processing》

介紹:Google的大規模圖計算系統,相當長一段時間是Google PageRank的主要計算系統,對開源的影響也很大(包括GraphLab和GraphChi)

  • 《GraphLab: A New Framework for Parallel Machine Learning》

介紹:CMU基于圖計算的分布式機器學習架構,目前已經成立了專門的商業公司,在分布式機器學習上很有兩把刷子,其單機版的GraphChi在百萬次元的矩陣分解都隻需要2~3分鐘;

  • 《F1: A Distributed SQL Database That Scales》

介紹:這篇論文是Google 2013年發表的,介紹了F1的架構思路,13年時就開始支撐Google的AdWords業務,另外兩篇介紹文章F1 - The Fault-Tolerant Distributed RDBMS Supporting Google's Ad Business .Google NewSQL之F1

  • 《Cockroach DB:A Scalable, Survivable, Strongly-Consistent SQL Database》

介紹:CockroachDB :一個可伸縮的、跨地域複制的,且支援事務的資料存儲,InfoQ介紹,Design and Architecture of CockroachDb

  • 《Multi-Paxos: An Implementation and Evaluation》

介紹:Multi-Paxos實作與總結,此外推薦Paxos/Multi-paxos Algorithm,Multi-Paxos Example,位址:ftp://ftp.cs.washington.edu/tr/2009/09/UW-CSE-09-09-02.PDF

  • 《Zab: High-performance broadcast for primary-backup systems》

介紹:一緻性協定zab分析

  • 《A Distributed Hash Table》

介紹:分布式雜湊演算法論文,擴充閱讀Introduction to Distributed Hash Tables,Distributed Hash Tables

  • 《Comparing the performance of distributed hash tables under churn》

介紹:分布式hash表性能的Churn問題

  • 《Brewer’s Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web》

介紹:分布式系統的CAP問題,推薦Perspectives on the CAP Theorem.對CAP理論的解析文章,PODC ppt,A plain english introduction to CAP Theorem,IEEE Computer issue on the CAP Theorem

  • 《F2FS: A New File System for Flash Storage》

介紹:閃存存儲檔案系統F2FS

  • 《Better I/O Through Byte-Addressable, Persistent Memory》

介紹:微軟發表的關于i/o通路優化論文

  • 《tmpfs: A Virtual Memory File System》

介紹:虛拟記憶體檔案系統tmpfs

  • 《BTRFS: The Linux B-tree Filesystem》

介紹:Linux B-tree檔案系統.

  • 《Akamai technical publication》

介紹:Akamai是全球最大的雲計算機平台之一,承載了全球15-30%網絡流量,如果你是做CDN或者是雲服務,這個裡面的論文會給你很有幫助.例如這幾天看facebook開源的osquery。找到通過db的方式運維,找到Keeping Track of 70,000+ Servers: The Akamai Query System這篇論文,先看論文領會思想,然後再使用工具osquery實踐

  • 《BASE: An Acid Alternative》

介紹:來自eBay 的解決方案,譯文Base: 一種Acid的替代方案,應用案例參考保證分布式系統資料一緻性的6種方案

  • 《A Note on Distributed Computing》

介紹:Jim Waldo和Sam Kendall等人共同撰寫了一篇非常有名的論文“分布式計算備忘錄”,這篇論文在Reddit上被人推薦為“每個程式員都應當至少讀上兩篇”的論文。在這篇論文中,作者表示“忽略本地計算與分布式計算之間的差別是一種危險的思想”,特别指出了Emerald、Argus、DCOM以及CORBA的設計問題。作者将這些設計問題歸納為“三個錯誤的原則”: “對于某個應用來說,無論它的部署環境如何,總有一種單一的、自然的面向對象設計可以符合其需求。” “故障與性能問題與某個應用的元件實作直接相關,在最初的設計中無需考慮這些問題。” “對象的接口與使用對象的上下文無關”.

  • 《Distributed Systems Papers》

介紹:分布式系統領域經典論文清單.

  • 《Consistent Hashing and Random Trees: Distributed Caching Protocols for Relieving Hot Spots on the World Wide Web》

介紹:Consistent Hashing算法描述.

  • 《SIGMOD 2016: Accepted Research Papers》

介紹:SIGMOD是世界上最有名的資料庫會議之一,最具有權威性,收錄論文稽核非常嚴格.2016年的SIGMOD 會議照常進行,上面收錄了今年SIGMOD收錄的論文,把題目輸入google中加上pdf就能找到,很多論文值得閱讀,SIGMOD 2015

  • 《Notes on CPSC 465/565: Theory of Distributed Systems》

介紹:耶魯大學的分布式系統理論課程筆記

  • 《Distributed Operating System Doc PDF》

介紹:分布式系統文檔資源(可下載下傳)

  • 《Anatomy of a database system》

介紹:資料庫系統剖析,這本書是由伯克利大學的Joseph M. Hellerstein和M. Stonebraker合著的一篇論文.對資料庫剖析很有深度.除此以外還有一篇文章Architecture of a Database System。資料庫系統架構,廈門大學的資料庫實驗室教授林子雨組織過翻譯

  • 《A Relational Model of Data for Large Shared Data Banks》

介紹:資料庫關系模型論文

  • 《RUC Innovative data systems reaserch lab recommand papers》

介紹:中國人民大學資料研究實驗室推薦的資料庫領域論文

  • 《A Scalable Distributed Information Management System》

介紹:建構可擴充的分布式資訊管理系統

  • 《Distributed Systems in Haskell》

介紹:Haskell中的分布式系統開發

  • 《Large-scale cluster management at Google with Borg》

介紹:Google使用Borg進行大規模叢集的管理,伯克利大學ppt介紹,中文版

  • 《Lock Free Programming Practice》

介紹:并發程式設計(Concurrency Programming)資料,主要涵蓋lock free資料結構實作、記憶體回收方法、memory model等備份連結 密碼: xc5j

  • 《Distributed Algorithms Lecture Notes for 6.852》

介紹:Nancy Lynch's的分布式算法研究所學生課程講義

  • 《Distributed Algorithms for Topic Models》

介紹:分布式算法主題模型.

  • 《RecSys - ACM Recommender Systems》

介紹:世界上非常有名的推薦系統會議,我比較推薦接收的PAPER

  • 《All Things Distributed》

介紹:推薦一個部落格,部落客是Amazon CTO Werner Vogels,這是一個關注分布式領域的部落格.大部分博文是關于在工業界應用.

  • 《programming, database, distributed system resource list》

介紹:這個Git是由阿裡(alibaba)的技術專家何登成維護,主要是分布式資料庫.

  • 《Making reliable distributed systems in the presence of sodware errors》

介紹:Erlang的作者Joe Armstrong撰寫的論文,面對軟體錯誤建構可靠的分布式系統.中文譯版

  • 《CS 525: Advanced Distributed Systems[Spring 2016]》

介紹:伊利諾伊大學的Advanced Distributed Systems 裡把各個方向重要papers(updated Spring 2015)列舉出來,可以參考一下

  • 《Distributed Algorithms》

介紹:這是一本分布式算法電子書,作者是Jukka Suomela.講述了多個計算模型,一緻性,唯一标示,并發等.

  • 《TinyLFU: A Highly Efficient Cache Admission Policy》

介紹:當時是在閱讀如何設計一個緩存系統時看到的,然後通過Google找到了這一篇關于緩存政策的論文,它是LFU的改良版,中文介紹.如果有興趣可以看看Golang實作版。結合起來可能會幫助你了解

  • 《6.S897: Large-Scale Systems》

介紹:斯坦福大學給研究所學生開的分布式系統課程。教師是 spark 作者 matei. 能把這些内容真正了解透,分布式系統的功力就很強了。

  • 《學習分布式系統需要怎樣的知識?》

介紹:[怎麼學系列]學習分布式系統需要怎樣的知識?

  • 《Distributed systems theory for the distributed systems engineer》

介紹:分布式系統工程師的分布式系統理論

  • 《A Distributed Systems Reading List》

介紹:分布式系統論文閱讀清單,此外推薦威斯康星大學麥迪遜分校計算機系分布式系統學習推薦閱讀清單

  • 《Distributed Systems Reading Group》

介紹:麻省理工大學分布式系統小組,他們會把平時閱讀到的優秀論文分享出來。雖然有些論文本頁已經收錄,但是裡面的安排表schedule還是挺贊的

  • 《Scalable Software Architecture》

介紹:分布式系統、可擴充性與系統設計相關報告、論文與網絡資源彙總.

  • 《MapReduce&Hadoop resource》

介紹:MapReduce&Hadoop相關論文,涉及分布式系統設計,性能分析,實踐,優化等多個方面

  • 《Distributed Systems: Principles and Paradigms(second edtion)》

介紹:分布式系統原理與範型第二版,課後解答

  • 《Distributed Systems Seminar's reading list for Spring 2017》

介紹:分布式系統研讨會論文閱讀清單

  • 《A Critique of the CAP Theorem》

介紹:這是一篇評論CAP定理的論文,學習CAP很有幫助,推薦閱讀評論文章"A Critique of the CAP Theorem"

  • 《Evolving Distributed Systems》

介紹:推薦文章《不斷演進的分布式系統》.

  • 《Ask HN: Recommendations for a book on Distributed Systems?》

介紹:HN上面關于分布式系統相關領域學習的書籍推薦.

  • 《SeaweedFS:A simple and highly scalable distributed file system》

介紹:Golang開源項目,分布式檔案存儲系統SeaweedFS

  • 《The Design and Implementation of a Log-Structured File System》

介紹:論文推薦:設計并實作一個日志結構的檔案系統.

  • 《DATABASE SYSTEMS》

介紹:資料庫系統的設計與實作,卡内基梅隆大學在2016年春季資料庫課程以本書作為教材,并且向外界開放了Schedule.引用一段亞馬遜上面的購書評論:

這本書主要集中在基本的資料庫實作方面。看起來很理論,但實際上作者提到的點都有實際的考慮。這一點在寫完相關代碼後重新閱讀感觸尤深。但如果不經過自己的思考和實踐,這本書實際上讀起來仍是“看起來就是那麼回事”的感覺。

不得不說,這本書其實應該是所有進行資料庫應用開發的人必讀的一本書。大部分資料庫裡面的概念,書本都有從實際的需求中引導出,一目了然。大部分的教材,在提到資料庫的各種概念時,往往是有定義而無解釋為何有這種定義。
           
  • 《Don't settle for eventual consistency》

介紹:原文主要講述了CAP理論中C在實踐中的重要性。做分布式系統的都知道CAP隻能三選其二。而且目前很多基礎設定服務(雲存儲,雲資料)都無法保證100%可用,那麼就是間接的丢掉了A,推薦閱讀以下文末推薦的You Can’t Sacrifice Partition Tolerance,分區容錯也很重要

  • 《Verdi:Formally Verifying Distributed Systems》

介紹:Verdi是一套正規驗證分布式系統,開源的項目中有對raft協定實作。Verdi是通過TLA+ 和Coq 等形式方法對系統進行驗證

  • 《What are the knowledge required to learn distributed system》

介紹:學習分布式系統需要怎樣的知識?

  • 《TAO: Facebook’s Distributed Data Store for the Social Graph》

介紹:Facebook設計的分布式資料 圖資料庫

  • 《Resources for Getting Started with Distributed Systems》

介紹:分布式系統初學者資源

轉自 https://github.com/ty4z2008/Qix/blob/master/ds.md#分布式系統distributed-system資料

繼續閱讀