天天看點

分布式系統資料

轉載來源 : https://www.cnblogs.com/zengkefu/p/5768874.html

分布式系統(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課程首頁

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

《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》 等

《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開發的分布式檔案系統.

介紹: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黑客技巧.

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

《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的曆史

《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學習清單.

《2010 NoSQL Summer Reading List》

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

《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

繼續閱讀