# 4. System Architecture

System Architecture 란?

### System Architecture 가 중요한 이유&#x20;

* Storage System 에서 작동해야하는 아키텍처는 설정이 복잡하다.
* 'Persistent Component' 를 위해서, 시스템은 아래 요소들을 필요로합니다.

  * Scalable
  * Load Balancing
  * membership
  * failure detection
  * failure recovery
  * replica synchronization
  * overload handling
  * state transfer
  * concurrency
  * job scheduling
  * request marshalling
  * request routing
  * system monitoring
  * alarming
  * configuration management

이 Paper 에서는 Dynamo에서 사용하는 **분산 시스템 기술**(core distributed systems technique) 에 집중하여 기술합니다.

분산 시스템 기술의 요소는 아래와 같습니다.

* Partitioning
* Replication
* Versioning
* Membership
* Failure handling
* Scaling

### Summary of techniques used in Dynamo

![ A summary of the list of techniques Dynamo uses and their respective advantages. ](https://1715430459-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LcsheX9TIMwoBSNygvE%2F-LdfL5niqXukzI_Vs8zr%2F-LdfMlMcQRorZSzPKXfw%2F%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202019-04-30%20%E1%84%8B%E1%85%A9%E1%84%8C%E1%85%A5%E1%86%AB%208.12.24.png?alt=media\&token=b8e6aecf-4508-475b-adfa-681881ffa67b)
