본문 바로가기

CS

(4)
[Database] 클러스터 인덱스와 넌클러스터 인덱스 인덱스인덱스는 데이터 레코드를 빠르게 접근하기 위해서 쌍으로 구성되는 데이터 구조다. 형태로 자료구조로 묶어서 저장한다. 따라서, DB의 테이블에 데이터가 많을 때, 검색 속도를 향상시켜주기 위해 사용한다.하지만, 인덱스를 생성하면 무조건 데이터를 빠르게 검색할 수 있을까? 아니다. 인덱스를 무작정 생성한다고 좋은 방법은 아니다.인덱스를 생성하면 인덱스를 위한 디스크 공간이 필요하고, 인덱스를 가진 테이블에 DML(데이터 조작 명령어. 예) INSERT, DELETE, UPDATE) 작업을 할 경우 더 많은 비용과 시간이 필요하다. 때문에 인덱스를 생성 시 해당 테이블의 의도를 정확히 파악 후 상황에 맞게 Clustered Index와 Non Clustered Index를 구성해야 한다. 클러스터 인덱..
TCP와 UDP TCP, UDP는 왜 나오게 됐나? IP의 역할은 Host to Host(장치 to 장치)만을 지원. 장치에서 장치로 이동은 IP로 해결된다. 하지만 하나의 장치 안에 수많은 프로그램들이 통신을 할 경우 IP만으로 한계. -> 포트 번호가 나오게 됨. IP에서 오류가 발생한다면 ICMP에서 알려주지만, 알려주기만 할 뿐 대처를 못하기 때문에 IP보다 상위에서 처리를 해줘야 한다. -> 상위 프로토콜인 TCP와 UDP가 나오게 된다. 참고) ICMP: 인터넷 제어 메세지 프로토콜. 운영체제에서 오류 메세지를 전송받음. TCP, UDP가 어떻게 오류를 해결하는지? TCP: 데이터 분실, 중복, 순서 바뀜 등을 자동으로 보정해줘서 송수신 데이터의 정확한 전달하도록 해준다. UDP: IP가 제공하는 정도의 수준..
TCP(Transmission Control Protocol) TCP 연결 지향적 프로토콜로, 데이터의 신뢰성 보장. 데이터를 보낼 때 먼저 연결을 설정하고, 데이터 전송 후에는 연결 해제. 데이터 전송 과정에서 신뢰성 보장을 위해 오류 검출, 복구, 흐름 제어, 혼잡 제어 등 기능 수행. 데이터를 순차적으로 전송하며, 도착 순서를 보장. -> 이메일이나 파일 전송 등에 사용. TCP 헤더에는 송신자/수신자의 포트 번호, 순서 번호, 확인 응답 번호, 플래그 등의 정보 포함. 데이터 신뢰성 보장위해 상대적으로 오버헤드가 크고, 전송 속도가 느리다는 단점. TCP는 reliable network를 보장하는 프로토콜인데, 이것은 4가지 문제점 존재 손실: 패킷(packet)이 손실될 수 있는 문제 순서 바뀜: packet의 순서가 바뀌는 문제 Congestion: 네트..
OSI(Open System Interconnection) 7계층 1. Physical Layer 네트워크의 물리적 매체를 통해 데이터를 전송. 예) 전선, 케이블, 리피터, 허브 등 데이터를 전기적 신호로 변환해서 주고받는 기능을 제공하는 물리적 공간 2. Data Link Layer 물리 계층으로 보내지는 정보를 관리하여 안정적인 데이터 전송을 보장. 전송되는 데이터의 오류 검출, 흐름 제어, 에러 수정 등의 기능 담당. 프레임 단위로 데이터를 전송하고, MAC 주소를 사용하여 네트워크 장치를 식별. 3. Network Layer 데이터의 경로를 설정하고 목적지로 데이터를 전달. 라우터로 이동할 경로를 선택하여 IP 주소를 지정하고(호스트 식별), 해당 경로에 따라 패킷을 전달. 라우팅, 흐름 제어, 오류 제어, 세그먼테이션 등 수행 4. Transport Laye..