yang kun. agenda 1. history of dss 2. definition & terminology 3. basic factors 4. dss common design...

33
Distributed Storage System Survey Yang Kun

Upload: wilfrid-strickland

Post on 25-Dec-2015

214 views

Category:

Documents


1 download

TRANSCRIPT

  • Slide 1
  • Yang Kun
  • Slide 2
  • Agenda 1. History of DSS 2. Definition & Terminology 3. Basic Factors 4. DSS Common Design 5. Basic Theories 6. Popular Algorithms 7. Replication Strategies 8. Implementations 9. Open Source & Business
  • Slide 3
  • History of DSS Network File System 1980s
  • Slide 4
  • History of DSS Storage Area Network SAN File System 1990s
  • Slide 5
  • History of DSS Object oriented parallel file system 2000s
  • Slide 6
  • History of DSS Cloud Storage
  • Slide 7
  • Definition & Terminology Transparency 1. network-transparency, user-mobility Performance Measurement 1. The amount of time needed to satisfy service requests. 2. The performance should be comparable to that of a conventional file system.
  • Slide 8
  • Definition & Terminology Fault Tolerance: 1. Communication faults, machine failures ( of type fail stop), storage device crashes, decays of storage media. Scalability: A scalable system should react more gracefully to increased load 1. The performance should degrade more moderately than that of a non-scalable system. 2. The resources should reach a saturated state later compared with a non-scalable system.
  • Slide 9
  • Definition & Terminology Consistency: Consistency requires that there must exist a total order on all operations such that each operation looks as if it were completed at a single instant. Availability: Every request received by a non-failing node in the system must result in a response. Reliability
  • Slide 10
  • Basic Factors Location Transparency User mobility Security Performance Scalability Availability Failure Tolerance
  • Slide 11
  • DSS Common Design Client: Reading Client: Writing
  • Slide 12
  • Basic Theories CAP Theory ACID vs. BASE Model Quorum NRW
  • Slide 13
  • CAP Theory
  • Slide 14
  • In a partition network(both in synchronous and partially synchronous), it is impossible for a web service to provide consistency, availability and partition-tolerance at the same time. Consistency Availability Partition-tolerance
  • Slide 15
  • CAP Theory CP: All data in only one node, and other node read/write from this node. CA: Database System AP: Make sure that returns the value every time. Cassandra = A + P + Eventually Consistency
  • Slide 16
  • ACID vs. BASE Model ACIDBASE AtomicBasically Available ConsistencyEventually consistent IsolationSoft state Durability
  • Slide 17
  • Quorum NRW N: Replica's mount, that is how many backup for each data object. R: The minimum mount of successful reading, that is the minimum mount for identifying a reading operation is successful. W: The minimum mount of successful writing, that is the minimum mount for identifying a writing operation is successful. The three factors decide the availability, consistency and fault-tolerance. And Strong consistency can be guaranteed only if W + R > N.
  • Slide 18
  • Popular Algorithms PAXOS Algorithms Roles: Proposer, Acceptor, Learner Phases: Accept, Learn #decree Quorum & Voters ABE 2aNo Yes- 5bNo Yes-No 14a-Yes-NoYes 27bYes- - 29b-YesNo -
  • Slide 19
  • PAXOS Phase 1. A proposer selects a proposal number n and sends a prepare request with number n to a majority of acceptors. If an acceptor receives a prepare request with number n greater than that of any prepare request to which it has already responded, then it responds to the request with a promise not to accept any more proposals numbered less than n and with the highest numbered proposal (if any) that it has accepted. Phase 1. A proposer selects a proposal number n and sends a prepare request with number n to a majority of acceptors. If an acceptor receives a prepare request with number n greater than that of any prepare request to which it has already responded, then it responds to the request with a promise not to accept any more proposals numbered less than n and with the highest numbered proposal (if any) that it has accepted.
  • Slide 20
  • PAXOS
  • Slide 21
  • Popular Algorithms Consistent Hashing
  • Slide 22
  • Popular Algorithms Mutual Algorithms 1. Lamport Algorithm (3*(n - 1)) 2. Improved Lamport Algorithm (3*(n - 1)) 3. RicartAgrawala algorithm (2*(n - 1)) 4. Maekawa Algorithm 5. Roucairol-Carvalho Algorithm
  • Slide 23
  • Popular Algorithms Election Algorithms 1. Chang-Roberts Algorithm ( n log n) 2. Garcia-Molina's bully Algorithm 3. Non-based on Comparison Algorithms
  • Slide 24
  • Popular Algorithms Bidding Algorithms Self Stabilization Algorithms
  • Slide 25
  • Replication Strategies Asynchronous Master/Slave Replication Log appends are acknowledged at the master in parallel with transmission to slaves. (Not support ACID) Synchronous Master/Slave Replication A master waits for changes to be mirrored to slaves before acknowledging them. (Need timely detection) Optimistic Replication Any member of a homogeneous replica group can accept mutations ( Order is not known, transaction is impossible )
  • Slide 26
  • Chain Replication
  • Slide 27
  • CRAQ Chain Replication with Apportioned Queries
  • Slide 28
  • Funnel Replication Topology Vector Clock Total Order Write Request (key, value, vector clock, originating head replica)
  • Slide 29
  • Atomic Commit Protocol Two-PC 1. Voting phase The coordinator requests all participating sites to prepare to commit. 2. Decision phase The coordinator either commits the transaction if all participants are prepared-to-commit (voted yes), or aborts the transaction if any participant has decided to abort (voted no).
  • Slide 30
  • Atomic Commit Protocol Presumed Abort Protocol It is designed to reduce the cost associated with aborting transactions. Presumed Commit Protocol It is designed to reduce the cost associated with committing transactions through interpret missing information about transactions as commit decisions. One-PC One-Phase Commit protocol consists of only a single phase which is the decision phase of 2PC. One-Two-PC
  • Slide 31
  • Implementations BigTable Windows Azure Storage Google MegaStore Chubby
  • Slide 32
  • Open Source & Business BusinessOpen Source Amazon Simple Storage ServiceMongoDB Windows Azure StorageMemcacheDB Google MegaStoreThruDB Google BigTableHbase Alibaba's Cloud StorageCassandra IBM XIVScalaris ChubbyZooKeeper
  • Slide 33
  • Thank you!!!