본문 바로가기
반응형

CS 지식85

[분산시스템] 장애허용성과 TMR, 프로세스 그룹의 개념 설명 (Fault Tolerance, Process Group) Issue of Fault ToleranceFault Tolerance는 distributed system(분산 시스템)의 핵심 특성 중 하나로, single-machine system(단일 시스템)과의 중요한 차별점을 이룬다.특히, 분산 시스템에서는 partial failure(부분 실패)의 개념이 존재하며, 이는 시스템의 일부만 고장나는 상황을 의미한다.따라서 분산 시스템 설계의 중요한 목표 중 하나는, 시스템이 이러한 부분 실패로부터 자동으로 회복할 수 있도록 구성하는 것이다.이러한 회복 과정은 전체 성능에 심각한 영향을 주지 않아야 한다.Stability Quality of Software SystemsAvailabilityAvailability는 시스템이 즉시 사용 가능한 상태에 있는 특성을 의.. 2025. 4. 12.
[데이터베이스] 정규화(Normalization)와 함수 종속성, BCNF분해, 3NF분해, 종속성 규칙과 공리 정규화(Normalization)란?정규화는 데이터베이스 설계 시 데이터의 중복을 최소화하고, 데이터의 무결성을 유지하기 위해 테이블을 구조적으로 분해하는 과정이다. 정규화를 통해 데이터 저장 공간의 낭비를 줄이고, 삽입/삭제/갱신 이상(Anomaly)을 방지할 수 있다.정규화의 목적중복 데이터 제거데이터 무결성 유지삽입/삭제/갱신 이상(Anomalies) 방지테이블 간의 명확한 관계 설정정규화 과정 (Normal Forms)정규화는 여러 단계로 구성되며, 각 단계는 이전 단계보다 더 높은 수준의 정규성을 보장한다:제1정규형(1NF): 모든 속성 값이 원자값(Atomic Value)으로 되어 있어야 함제2정규형(2NF): 1NF를 만족하고, 부분 함수 종속 제거제3정규형(3NF): 2NF를 만족하고, 이.. 2025. 4. 10.
[네트워크] 비디오 스트리밍 원리와 DASH, P2P, CDN 소개 Peer-to-Peer (P2P) 네트워크P2P 네트워크에서는 중앙 서버 없이 각 피어가 직접 서로 통신한다. 피어는 다른 피어에게 서비스를 제공하고, 그 대가로 서비스를 받는다("give and take"). 피어 간 서비스는 주로 파일 공유나 스트리밍 형태로 이루어지며, 대표적 서비스는 BitTorrent, KanKan 등이 있다.P2P의 특징과 장점확장성(Scalability)새로운 피어의 참여로 인해 서비스 용량과 수요가 동시에 증가한다.피어는 간헐적으로(intermittently) 네트워크에 접속하며, 위치 및 IP가 변할 수 있다. P2P 아키텍처항상 켜져 있는 서버가 없음 (no always-on server)임의의 종단 시스템(end system)끼리 직접 통신함각 peer는 다른 peer.. 2025. 4. 10.
[데이터베이스] 모델링, 관계집합, E-R 다이어그램(ERD) 데이터베이스 모델링 (Modeling)데이터베이스는 다음과 같이 모델링할 수 있다:엔티티들의 집합(Collection)엔티티들 간의 관계(relationship)엔티티(Entity)엔티티는 존재하며 다른 객체들과 구별 가능한 객체를 의미한다.예시: 특정 학생 (예: Williams)속성(Attribute)엔티티는 여러 개의 속성(특징) 을 가진다.예시: 학생은 이름(name), 전화번호(phone number) 등의 속성을 가짐엔티티 집합(Entity Set) = relation같은 유형(Type)의 엔티티들이 모인 집합이며, 동일한 속성을 공유한다.예시: 모든 학생들의 집합, 모든 학과들의 집합 등 Entity Sets instructor and studentinstructor = entity set .. 2025. 4. 4.
[네트워크] DNS(Domain Name System)와 메세지 포맷, 보안 DNS (Domain Name System)1. DNS란?DNS는 사람이 기억하기 쉬운 도메인 이름(예: www.google.com)을컴퓨터가 통신에 사용하는 IP 주소(예: 142.250.206.132)로 변환해주는 분산형 데이터베이스 시스템이다.이 기능은 웹 브라우징, 이메일, 스트리밍 등 거의 모든 인터넷 서비스의 기초가 되며,인터넷의 핵심 기능 중 하나(core Internet function)로 간주된다.DNS는 애플리케이션 계층의 프로토콜이며, 네트워크의 Edge에서 동작한다DNS는 애플리케이션 계층의 프로토콜이다.호스트(클라이언트)와 DNS 서버가 통신하여 이름을 IP 주소로 변환한다.DNS는 네트워크의 가장자리(edge) 에서 수행되는 복잡한 기능 중 하나이며, 클라이언트 가까운 위치(사용.. 2025. 4. 4.
[네트워크] 이메일 시스템과 프로토콜(SMTP, IMAP, POP, HTTP) 1. 이메일 시스템이메일 시스템은 크게 세 가지 요소로 구성된다:User Agent (UA): 이메일을 작성하고 읽는 클라이언트 프로그램 (예: Outlook, Gmail 등)Mail Server: 사용자 메일박스를 관리하고 메시지를 저장SMTP(Simple Mail Transfer Protocol): 메일 서버 간 메시지를 전송하는 프로토콜메일 서버는 다음 두 가지 주요 구조를 가진다:Mailbox: 사용자의 수신 메시지를 저장하는 공간Message Queue: 전송 대기 중인 아웃고잉 메시지를 임시 저장하는 큐 즉, 메일 서버는 수신된 메시지를 저장하고, 발신 메시지를 다른 메일 서버로 전송하는 두 가지 역할을 동시에 수행한다.이메일의 전송 과정은 다음과 같다:사용자는 User Agent를 통해 이메.. 2025. 4. 4.
[네트워크] 웹 캐시와 HTTP framing Web Cache1. Web Cache (웹 캐시)1.1 정의Web Cache는 클라이언트의 요청을 원 서버(origin server)로 보내지 않고도 응답할 수 있도록 하는 중간 서버이다.일반적으로 Proxy Server(프록시 서버) 라고도 불리며, 대신 요청을 처리해주는 대리인(Agent) 역할을 한다.1.2 동작 원리사용자는 브라우저 설정을 통해 Web Cache를 사용하도록 구성한다.브라우저는 모든 HTTP 요청을 Web Cache로 보낸다.Web Cache의 처리:요청한 객체가 캐시에 있다면, Web Cache는 그 객체를 클라이언트에 직접 전달한다.캐시에 없다면, Web Cache는 원 서버에 요청을 보내고, 응답 받은 객체를 자신의 캐시에 저장한 후, 클라이언트에 전달한다.2. Web Ca.. 2025. 4. 4.