가상면접사례로 배우는 대규모 시스템 설계 기초(5)

오늘 한 것

  1. 카카오 지원
  2. 월요일꺼 지원
  3. CJ역량검사

질문

  1. 시스템 설계 면접에서 설계안의 확실한 답이 존재한다. OX

    X, 기업의 상황이나 트래픽 상황 등 따질게 많다.

  2. 데이터 전송 시 압축을 거치면 그만큼 오버헤드가 발생하므로 가급적 원본 그대로 보내는게 좋다

    X, 압축하는게 더 빠르다. 데이터 비용이 더 크다.

  3. 샤딩과 다중화의 차이, 둘 다 DB를 부분으로 나눠서 쓴다는 점이 보이는데, 어떤 차이가 있나

    주부 다중화 는 읽기성능의 확장, read의 고가용성, 쓰기는 여전함.

  • 모든 다중화 DB가 동일한 데이터를 저장하는 것을 목표로 함. - 동기화 이슈 존재

    샤딩은 쓰기 성능 및 저장공간 자체를 수직적 확장


  1. 시스템 트래픽에서 쓰기가 아닌 읽기 위주일 때, 성능을 최적화 할 수 있는 전략이 어떤 게 있을까요?

    웹계층 : 로드밸런서를 가지고 웹서버 늘려서 요청 자체를 분산 주부 다중화 : 읽기 분산 slave DB에서의 인덱스 설계 최적화

  2. 캐시를 왜 사용하고, 캐시를 도임할 때 고려해야 될 점이 뭐가 있을까

    캐시는 데이터베이스보다 접근속도가 더 빠르고, 서버 부하를 줄일 수 있기 때문에 사용한다.

만료 시간(TTL) : 데이터가 최신으로 유지되기 위해 캐시할 대상 선별 : 자주 조회되지만 변경이 드문 데이터 일관성 유지: 데이터 저장소의 원본이 변경되었을 때 캐시의 사본도 함께 갱신되어야 데이터 불일치 문제가 해결 가능


CDN의 개념과 하는 역할? 정적 콘텐츠란 뭘까

NoSQL이 바람직한 선택일 경우는 ? 사용예시

관계형DB는 자료를 테이블, 열, 칼럼으로 구분한다. 여러 테이블에 있는 관계를 가지고 join하여 사용한다.

NoSQL은 비정형이라 관계형이 아닌 경우, RDB는 스키마 변경이 비쌈 Join보다 데이터 직렬화, 역직렬화 요구되는 경우 키-값 저장소의 경우 캐시 메모리 저장소라 응답시간이 짧음(Disk 안씀)

results matching ""

    No results matching ""