[Network] 캡슐화와 역캡슐화, PDU, 네트워크 성능 지표
·
CS/Network
캡슐화와 역캡슐화데이터는 네트워크 참조 모델을 기반으로 송신 과정에서는 캡슐화, 수신 과정에서는 역캡슐화가 이루어짐캡슐화(encapsulation)데이터 송신 과정에서 각 계층을 거치며 데이터에 헤더 및 트레일러를 추가해 나가는 과정각 계층에서는 상위 계층으로부터 내려받은 데이터를 페이로드로 삼아, 프로토콜에 맞는 헤더 또는 트레일러를 추가해 하위 계층으로 전달데이터 링크 계층을 지날 때는 오류 감지를 위한 트레일러도 추가됨 역캡슐화(decapsulation)데이터 수신 과정에서 각 계층을 거치며 헤더 및 트레일러를 제거하여 데이터를 복원하는 과정물리 계층에서 받은 비트를 상위 계층으로 전달하면서 각 계층의 헤더를 제거하고, 최종적으로 응용 계층에서 데이터를 처리할 수 있도록 만듬PDU(protocol ..
[Network] 프로토콜, 네트워크 참조 모델
·
CS/Network
프로토콜노드 간에 정보를 올바르게 주고 받기 위한 규칙서로 다른 통신 장치들이 정보를 주고 받기 위해서는 동일한 프로토콜을 사용해야함프로토콜은 저마다 목적과 특징이 있음, 따라서 프로토콜의 패킷마다 헤더 내용도 다름실제로 TCP와 UDP의 프로토콜 헤더를 비교해보면, TCP는 신뢰성 높은 전송을 목적으로 하기에 헤더가 좀 더 복잡함  네트워크 참조 모델네트워크를 통해 정보를 주고 받을때는 정형화된 여러 단계를 거침, 해당 과정은 계층으로 표현됨네트워크 참조 모델: 통신이 일어나는 과정을 계층으로 나눈 구조 통신 과정을 계층으로 나누는 이유?네트워크 구성과 설계의 용이성: 계층마다 수행하는 역할이 정해져 있기 때문에, 계층 별로 목적에 맞게 프로토콜 및 네트워크 장비를 구성할 수 있음네트워크 문제 진단과 ..
[Network] 네트워크 구조 및 분류
·
CS/Network
네트워크와 인터넷네트워크: 여러 장치가 연결되어 정보를 주고 받을 수 있는 통신망인터넷: 여러 네트워크를 연결한 네트워크 네트워크의 기본 구조네트워크는 노드, 간선(링크), 메시지로 구성된 그래프 형태 호스트: 네트워크를 통해 흐르는 정보를 최초로 송신하거나, 최종적으로 수신하는 네트워크 가장자리에 위치한 노드 서버: 어떠한 서비스(파일, 웹페이지, 메일 등)를 제공하는 호스트 클라이언트: 서버에게 어떤 서비스를 요청하고 응답을 받는 호스트네트워크 장비: 호스트간 주고 받는 정보가 중간에 거치는 노드로, 정보가 원하는 수신지까지 안전하게 전달될 수 있도록 하는 역할을 함대표적으로 이더넷 허브, 스위치, 라우터, 공유기 등이 있음통신 매체: 호스트와 네트워크 장비를 연결하는 간선(링크)유선 매체: 노드를 ..
[Database] JOIN 알고리즘 종류
·
CS/Database
Nested Loop Join2개 이상의 테이블에서 하나의 테이블을 기준으로 다른 테이블의 Row를 순차적으로 탐색하여 원하는 결과를 조합하는 조인 방식조인할 데이터가 적은 경우에 주로 사용Outer 테이블 (Driving 테이블)Nested Loop Join에서 가장 먼저 스캔하는 테이블Outer 테이블의 스캔 건수가 적을수록 효율적Inner 테이블 (Drivien 테이블)Nested Loop Join에서 두 번째로 스캔하는 테이블Inner 테이블의 건수은 Outer 테이블의 건수가 많아야 효율적적절한 Outer 테이블 선정>어떤 테이블이 먼저 액세스 되는 지에 따라 속도의 차이가 크게 날 수 있음Outer 테이블의 row 수가 많다면, 그만큼 반복해서 Inner 테이블에 접근해야 하므로 성능은 안 좋..
[Database] 테이블 JOIN 종류
·
CS/Database
Inner Joinjoin column을 기준으로 두 테이블을 결합두 테이블의 join column에 공통으로 존재하는 값만 조회됨 CountryID와 ID에 공통으로 존재하는 값은 3join column의 값이 3인 Left Table의 데이터와 Right Table의 데이터를 하나의 row에 결합하여 하나의 테이블로 표현 Outer Joinleft outer joinjoin column을 기준으로 왼쪽 테이블에 오른쪽 테이블을 결합왼쪽 테이블의 데이터는 모두 조회됨, 오른쪽 테이블은 join column에 공통으로 존재하는 데이터만 조회됨join column의 값이 왼쪽 테이블에는 있지만, 오른쪽 테이블에 없는 경우 NULL으로 조회됨 Left Table에 CountryID가 1,3인 데이터가 존재하..
[Database] Index
·
CS/Database
IndexIndex란?Index는 DB 테이블에 대한 검색 성능의 속도를 높여주는 자료 구조특정 컬럼에 Index를 생성하면, 해당 컬럼의 데이터들을 정렬하여 별도의 메모리 공간에 데이터의 물리적 주소와 함께 저장Index를 생성한 컬럼에 WHERE 조건을 거는 경우, Full scan을 통해 데이터를 조회하지 않고 Index에 저장된 데이터의 물리적 주소로 통해 데이터를 조회하게 됨 → 적은 I/O 사용으로 검색 속도 향상 Index 사용 시 장점데이터가 정렬 되어있다는 점을 활용하여, 검색을 효율적으로 할 수 있음WHERE 절 수행 시, Index는 정렬되어 있는 상태임으로 조건에 맞는 데이터를 빠르게 찾아낼 수 있음ORDER BY 절 수행 시, Index에 데이터가 정렬되어 있기 때문에 추가적인 정..
[Database] 트랜잭션(transaction)
·
CS/Database
트랜잭션(transaction)트랜잭션이란 데이터베이스의 상태를 변화(SELECT, INSERT, UPDATE, DELETE 등과 같은 조작어)시키기 위해 수행하는 일련의 연산들의 집합으로 하나의 논리적 작업 단위    한 계좌에서 10만원을 다른 계좌로 10만원을 보내는 경우, (계좌에서 10만원 인출 -> 다른 계좌로 10만원을 입금)이 하나의 트랜잭션만약에 10만원 인출은 성공했지만, 입금하는 과정에서 실패한 경우 아무 것도 실행되지 않은 처음 상태로 되돌려져야 함트랜잭션(transaction)의 연산커밋(Commit): 트랜잭션의 모든 연산이 정상적으로 완료되면, 그 결과를 한꺼번에 데이터베이스에 반영롤백(Rollback): 트랜잭션을 수행하는 도중 일부 연산에 오류가 발생한 경우, 데이터베이스를..
[Database] 데이터 모델의 이해 (1)
·
CS/Database
모델링의 이해모델링의 정의▪ 현실세계를 추상화, 단순화, 명확화하기 위해 일정한 표기법에 의해 규칙을 가지고 표기하는 것 모델링의 특징▪ 모델링은 추상화, 단순화, 명확화 3가지 특징을 가짐 ▪ 추상화: 다양한 현상을 일정한 표기법에 의해 표현하는 것을 의미▪ 단순화: 복잡한 현실세계를 표기법이나 언어로 표현하여 쉽게 이해할 수 있도록 함▪ 명확화: 누구나 이해할 수 있도록 현상을 정확하게 기술하는 것을 의미모델링의 세 가지 관점 ▪ 업무의 내용과 정보시스템의 모습을 적절한 표기법으로 표현하는 것을 모델링이라고 한다면, 모델링은 데이터관점, 프로세스관점, 데이터와 프로세스의 상관관점으로 구분할 수 있음 ▪ 데이터관점: 업무가 어떤 데이터와 관련있고, 데이터 간 관계는 어떻게 되는지에 대해 모델링하는 방법..