Dropbox와 같은 시스템은 파일을 어떻게 저장할까?
CAP 이론
분산 시스템의 주요한 3가지 요소에 대한 설명
- Consistency(일관성)
- 데이터는 항상 일관성을 유지해야 한다.
- 모든 관찰자는 같은 시간에 같은 데이터를 봐야한다.
- Availability (가용성)
- 모든 요청은 성공/실패 상관없이 항상 응답을 받아야 한다.
- 죽으면 안된다.
- Partition Tolerance (장애대응)
- 네트워크 장애와 같은 상황에서도 시스템은 서비스를 할 수 있어야 한다.
분산 스토리지의 종류
- HDFS, NoSQL(Cassandra, MongoDB, ..)
- OwFS (네이버 자체 개발)
- 네이버는 어떻게 수천 테라바이트의 데이터를 저장할까?
- Openstack Swift (Object Storage)
- Ceph (https://ceph.com)
Openstack Swift 특징
- 모든 서버가 HTTP를 제공한다 그리고 서버/클라이언트 통신간에 REST API를 제공한다.
- 모든 데이터는 URL로 표현할 수 있다.
- /accoutn/container/object
- 예: /User_nxz/testcontainer/test.txt
- REST API 예)
- Request : PUT /User_nxz/testcontainer/test.txt
- Response : 201 Created
관련 문서
Plugin Backlinks: 아무 것도 없습니다.