✅ 개념 전송계층의 비연결 지향적 프로토콜 비연결 지향적 ? : 데이터를 주고받을 때 연결 절차를 거치지 않고 발신자가 일방적으로 데이터를 발신하는 방식 연결 과정이 없기 때문에 TCP보다는 빠른 전송을 할 수 있지만 데이터 전달의 신뢰성은 떨어짐 ✅ 단점 데이터의 신뢰성이 없음 의미있는 서버를 구축하기 위해서는 일일이 패킷을 관리해주어야 함 발신자가 데이터 패킷을 순차적으로 보내더라도 이 패킷들은 서로 다른 통신 선로를 통해 전달 될 수 있음 먼저 보낸 패킷이 느린 선로를 통해 전송될 경우 나중에 보낸 패킷보다 늦게 도착할 수 있으며, 최악의 경우 잘못된 선로로 전송되어 유실될 수도 있음 이럴 경우 UDP는 TCP와 다르게 중간에 패킷이 유실되거나 변조가 되어도 재전송을 하지 않음 ✅ 특징 비연결형 서..
TCP/IP : 데이터가 의도된 목적지에 닿을 수 있도록 보장해주는 통신 규약 TCP : Transmission Control Protocol 많은 양의 데이터를 가져와서 패킷으로 컴파일한 다음 동료 TCP 계층에서 수신하도록 전송하여 패킷을 유용한 정보/데이터로 바꾸는 역할 전달받은 패킷을 재조립하고, 패킷에 손상이 있거나 손실된 패킷이 있다면 재전송을 요청하는 패킷을 전송하여 재전송 받음 IP : Internet Protocol 인터넷에서 컴퓨터의 위치를 찾아서 데이터를 전송하기 위해 지켜야 할 규약 데이터를 전송하기 위한 올바른 목적지를 찾는 패킷 GPS 역할 TCP/IP의 4계층 네트워크 액세스 계층 OSI 7계층의 물리계층과 데이터 링크 계층에 해당 TCP/IP 패킷을 네트워크 매체로 전달하는 ..
1. 정의 : 일련의 쿼리를 마치 하나의 함수처럼 실행하기 위한 쿼리의 집합 → 특정 로직의 쿼리를 함수로 만들어 놓은 것 ex. 페이징 쿼리와 같이 자주 사용되는 쿼리가 있다면, 함수로 한 번 만들어 놓고 사용하게 되면 성능 상으로나 코드 재사용성 등에 이점이 있을 것 2. 일반 쿼리문 vs. 저장 프로시저 일반 쿼리문 작동 방식 저장 프로시저 정의 단계 처음으로 저장 프로시저를 실행 이후의 저장 프로시저 실행 장점 SQL Server의 성능을 향상 시킬 수 있음 → 저장 프로시저를 처음에 실행하면 최적화, 컴파일 단계를 거쳐 그 결과가 캐시에 저장되게 되는데, 이후에 해당 SP를 실행하게 되면 캐시에 있는 것을 가져와 사용하므로 실행 속도가 빨라지게 됨 유지보수 및 재활용 측면에서 좋음 → 응용프로그..
Redis? Remote Dictionary Server : 메모리 기반의 key-value 구조 데이터 관리 시스템 비관계형 데이터베이스 String, Set, Sorted Set, Hash, List 데이터 형식 지원 ** 인메모리 데이터베이스가 빠른 이유 ? → 컴퓨터의 주 메모리에 데이터를 저장하는 방식으로, 기존의 보조기억장치를 사용하는 데이터베이스에 비해 빠름 → 중앙처리장치(CPU)는 주 메모리에 저장된 데이터에 직접 접근이 가능하고 그 때문에 훨씬 더 빠르게 주 메모리의 데이터를 읽고 쓸 수 있음. 2. 특징 영속성을 지원하는 인메모리데이터베이스 Single Threaded이기 때문에 한 번에 하나의 명령만 처리할 수 있음 (하지만 get, set 명령어의 경우 초당 10만개 이상 처리할 ..
정의 : 여러 트랜잭션이 동시에 처리될 때, 특정 트랜잭션이 다른 트랜잭션에서 변경하거나 조회하는 데이터를 볼 수 있게 허용할지 여부를 결정하는 것 SERIALIZABLE REPEATABLE READ READ COMMITTED READ UNCOMMITED→ 자동 커밋(Auto Commit)이 false인 상태에서만 발생 → 격리(고립) 수준이 높은 순서 트랜잭션 격리 수준에 따라 발생 할 수 있는 문제점 더티 리드(Dirty Read) : 특정 트랜잭션에 의해 데이터가 변경되었지만, 아직 커밋되지 않은 상황에서 다른 트랜잭션이 해당 변경 사항을 조회할 수 있는 문제를 말함 반복 불가능한 조회(Non-Repeatable Read) : 같은 트랜잭션 내에서 같은 데이터를 여러 번 조회했을 때 읽어온 데이터가..
정의 : 데이터베이스의 상태를 변화시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 수행되어야 할 일련의 연산들을 의미 데이터베이스의 상태를 변화시킨다는 것 ? → 질의어(SELECT, INSERT, DELETE, UPDATE)를 이용하여 데이터베이스를 접근 하는 것을 의미 트랜잭션의 특징 원자성 (Atomicity) : 트랜잭션이 데이터베이스에 모두 반영되던가, 아니면 전혀 반영되지 않아야 한다는 것 일관성 (Consistency) : 트랜잭션의 작업 처리 결과가 항상 일관성이 있어야 함 독립성 (Isolation) : 둘 이상의 트랜잭션이 동시에 실행되고 있을 경우, 어떤 하나의 트랜잭션이라도 다른 트랜잭션의 연산에 끼어들 수 없다는 것 지속성 (Durability) : 트랜잭션이..