My Space

반응형

start day : 2021-10-22

 

 

콘텐츠 전송 네트워크(CDN)

정적 콘텐츠를 전송하는데 쓰이는, 지리적으로 분산된 서버의 네트워크.

이미지, 비디오, CSS, JavaScript 파일 등을 캐시하여, 이를 요청하는 클라이언트로 부터 가장

가까운 CDN 서버의 캐시를 불러온다.

해당 지역 CDN에 캐시가 없을 경우 메인 CDN서버에서 요청.

데이터베이스의 규모 확장

- 수직적 확장(scale up) : 기존서버에 CPU, RAM등을 증설하는 방법

  • 하드웨어에는 한계가 있으므로 무한 증설 불가능.
  • SPOF(Single Poing Of Failure)로 인한 위험성이 크다.(한대죽으면 끝)
  • 고성능 서버로 갈수록 가격이 올라 비용이 많이 든다.

- 수평적 확장(scale out) : 샤딩이라고도 부르며 여러대의 서버를 사용하는 것.

 

주데이터 베이스(master) : 입력, 수정, 삭제 처리

부데이터 베이스(slave) : 읽기 처리(읽기가 연산의 비중이 가장 높다)

 

분산 시스템 설계

분산 시스템 설계에는 CAP(데이터 일관성, 가용성, 파티션 감내) 정리를 이해하고 있어야 한다.

CAP는 일관성(Consistency), 가용성(Availability), 파티션 감내(Partition tolerance)의 3가지

요구사항을 동시에 만족하는 분산시스템을 설꼐하는 것이 불가능하다는 정리.

 

- 일관성(C) : 접속하는 모든 클라이언트는 어떤 노드에 접속했느냐에 관계없이 언제나 같은 데이터를 봐야 한다.

- 가용성(A) : 접속하는 모든 클라이언트는 일부 노드에 장애가 발생하더라도 항상 응답을 받을 수 있어야 한다.

- 파티션 감내(P) : 파티션은 두 노드 사이에 통신 장애가 발생하였음을 의미. 즉, 네트워크에 파티션이 생기더라도

시스템은 계속 동작하여야 한다. 

 

CAP는 3가지를 모두 만족시킬 수 없으므로 한가지를 포기하고 두가지를 취한다.

=> 데이터의 일관성과 가용성 사이에서 타협적 결정을 내려야 한다.

 

통상적으로 네트워크 장애는 피할 수 없는 일로 여겨지므로 분산 시스템은 반드시 파티션 문제를 감내할 수 있도록 설계되어야 한다.

즉, 실설계에 CA시스템은 존재하지 않는다.

 

검색어 자동완성 시스템

구글 검색시 몇 글자만 입력해도 해당 입력한 단어를 포함한 이후의 내용들이 자동완성 리스트로 나오게 된다.

이러한 검색어 자동완성의 자료구조는 트라이(trie) 구조를 대부분 사용한다.

 

트라이(trie) 자료구조

- 문자열들을 간략하게 저장할 수 있는 자료구조

- 트리 형태의 자료구조

- 루트 노드는 빈문자열을 나타낸다.

- 각 노드는 글자(character) 하나를 저장하며, 26개(해당 글자 다음에 등장할 수 있는 모든 글자의 개수)의 자식 노드를 가질 수 있다.

- 각트리 노드는 하나의 단어, 똔느 접두어 문자열(prefix string)을 나타낸다.

용어

- 고가용성(high availability)

  : 시스템이 오랜 시간 동안 지속적으로 중단 없이 운영될 수 있는 능력. 

- OSI(Open System Interconnection) : 네트워크 계층도 1~7계층까지 존재

  : 1계층-물리계층, 2계층-데이터링크, 3계층-네트워크, 4계층-전송, 5계층-세션, 6계층-표현, 7계층-애플리케이션

- 파티션

  : 두 노드 사이에 통신 장애가 발생하였음.

  : 주로 이미지, 비디오, 사운드 등과 같은 멀티미디어 객체

- BLOB(Binary Large Object storage) : 주로 이미지, 비디오, 사운드 등과 같은 멀티미디어 객체의 저장소

  : 이진 데이터를 하나의 개채로 보관하는 데이터베이스 관리 시스템

- ACID(Atomicity:원자성, Consistency:일관성, Isolation:독립성, Durability:지속성)

  : 관계형 데이터베이스 트랜잭션이 보장하는 것.  NoSQL은 지원X

- 아카이빙 저장소(COLD STORAGE)

  : 오랫동안 사용되지 않은 비활성 데이터를 저장하기 위한 컴퓨터 시스템

'Books' 카테고리의 다른 글

소프트웨어 장인  (0) 2022.05.01
지적 대화를 위한 넓고 얕은 지식  (0) 2022.02.13

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading