Search
Duplicate
📒

아키텍쳐 & 대규모 시스템 설계] 05-3. CAP 정리, 비정형 데이터 스토리지

상태
완료
수업
아키텍쳐 & 대규모 시스템 설계
주제
CS
연관 노트
3 more properties
참고

Brewer의 CAP 정리(Theorem) 중요성

NOTE
분산 소프트웨어에서 다음 3개의 조건을 모두 만족하는 시스템은 존재하지 않음을 증명한 이론
왜 해당 DB를 도입했는가에 대해서 CAP를 근거로 면접관한테 대답하자.
ex) 네트워크 문제로 복제본3이 통신이 안될때 무엇을 중요시하는가?
Network로 연결된 분산 데이터베이스 시스템은 3가지 특성 중 2가지 특성만 충족할 수 있다.
사실 이론적인 한계로 P에 대한 명확한 정의가 부족해 PACELC 이론이 나옴
Consistency(일관성)
모든 노드는 동일한 데이터를 동시에 본다.
추가 읽기를 허용하기 전에 여러 노드를 업데이트하여 일관성을 확보한다.
Availability(가용성)
모든 요청은 성공이나 실패에 대한 응답을 받아야 한다.
가용성은 서로 다른 서버에 데이터를 복제함으로써 달성된다.
Partiion tolerance(분할 내성)
메시지 손실 또는 부분 장애에도 불구하고 시스템은 동작해야 한다.
전체 네트워크 내의 장애수와 상관없이 계속해서 지속가능하다.
노드와 네트워크 조합에 걸쳐 데이터가 충분히 복제되어 간혈적인 가동 중단을 통해 시스템을 유지할 수 있다.

일관성(Consistency) vs 가용성(Avaiilability)

NOTE
CP (Consistency & Partition tolerance ) - 일관성과 분할내성 조합
가용성을 포기한 경우( 상품개수 처럼 조회가 틀리면 안되는 경우! )
AP (Avaiilability & Partition tolerance) - 가용성과 분할 내성 조합
일관성을 포기한 경우 (SNS에서 좋아요개수 차이난다고 에러내면 안된다.)

비정형 데이터 스토리지

NOTE
비정형 데이터는 특정 구조, 스키마, 모델을 가지지 않는 구조를 말한다!
비정형 데이터 (오디오, 비디오, 이미지, 문서)를 저장하는 공간
Blob(Binary Large Object) 형식으로 DB에 저장간으
대부분의 DB에서는 blobs을 허용하지만 최적화되지 않고, 크기제한이 있음
데이터 업로드, 백업&아카이빙, 웹 호스팅, 데이터포인트(분석, 머신러닝)
데이터세트가 매우 클 수 있다.
각 객체의 크기가 크므로 DB에 저장하기 힘듬..

DFS(분산 파일 시스템)

NOTE
네트워크로 연결된 여러 서버 중 하나의 공유된 스토리지에서 비정형 데이터를 액세스 하도록 지원한다.
여러 서버에서 하나의 파일 시스템에 접근해서 사용한다.
보조 스토리지 미디어에 데이터를 영구적으로 저장한다.
사용자와 애플리케이션 간에 정보를 쉽고 효율적이며 안전한 방식으로 공유한다.

오브젝트 저장 시스템

NOTE
파일이 아닌 오브젝트를 관리하도록 지원한다!
각 오브젝트는 Bucket에 저장된다.
오브젝트는 다양한 정보를 가지고 있다.
오브젝트 저장 시스템은 버저닝이 가능하다.
이러한 데이터는 API 또는 http/https를 통해 즉시 엑세스할 수 있다.