728x90 반응형 전체 글72 HTTP & HTTPS HTTP와 HTTPS는 웹 애플리케이션에서 데이터를 주고받기 위한 애플리케이션 레이어 프로토콜HTTP는 비보안 프로토콜, HTTPS는 보안을 강화한 버전 HTTP 프로토콜 동작 원리HTTP?HTTP(HyperText Transfer Protocol)는 클라이언트와 서버간에 요청과 응답을 주고받기 위한 프로토콜텍스트, 이미지, 동영상 등의 리소스를 전달하기 위해 주로 사용됨동작 과정TCP 연결: 클라이언트(웹 브라우저)가 서버와 TCP 3-way handshake를 통해 연결을 설정HTTP 요청(Request): 클라이언트가 서버에 요청 메세지를 보냄GET /index.html HTTP/1.1Host: www.example.comUser-Agent: Mozilla/5.0HTTP 응답(Response): 서.. 2025. 1. 21. 스레드 동시성 문제 비관적 락 Pessimistic Lock조회 시점에 배타 락(Exclusive lock)을 획득하여 조회, 수정, 삭제가 불가능하게 하고 commit/rollback 시점에 반납하는 방식으로 작동기본적으로 트랜잭션 간의 충돌이 자주 발생할 수 있다고 가정하는 방식세 가지의 잠금 모드가 사용됨 (Shared Lock, Exclusive Lock, Update Lock)공유 락 Shared Lock: 읽기 작업을 위한 락. 여러 트랜잭션이 동시에 데이터를 읽을 수 있음배타적 락 Exclusive Lock: 쓰기 작업을 위한 락. 한 트랜잭션만 데이터 수정 가능사용자는 적용된 잠금에 따라 잠긴 레코드를 읽을 수 있음장점데이터 정합성을 보장할 수 있음충돌이 빈번하게 일어난다면 롤백 횟수를 줄일 수 있기 때문에 .. 2025. 1. 20. 프로세스와 스레드 프로세스(Process)메모리에 로드된 실행 중인 프로그램의 인스턴스운영체제로부터 독립적인 메모리 공간을 할당받으며 코드, 데이터, 스택, 힙 메모리를 포함각 프로세스는 서로 독립적이며 하나의 프로세스가 종료되어도 다른 프로세스에는 영향을 주지 않음스레드(Thread)프로세스 내에서 실제 작업을 수행하는 실행 단위프로세스 내의 다른 스레드와 메로리를 공유하며 스택과 PC(Program Counter)는 개병적으로 관리됨하나의 프로세스는 여러 개의 스레드를 가질 수 있으며 이를 멀티스레딩(Multi-threading) 이라고 함 프로세스스레드정의실행 중인 프로그램의 독립적인 인스턴스프로세스 내에서 실행되는 작업 단위메모리프로세스 간에는 메모리를 공유하지 않음동일 프로세스 내에서 메모리를 공유오버헤드프로세스.. 2025. 1. 19. Partitioning 테이블 또는 인덱스 데이터를 파티션 단위로 나누어 저장하는 것목적성능특정 DML과 Query의 성능을 향상시킨다.주로 대용량 Data WRITE 환경에서 효율적이다.특히, Full Scan에서 데이터 Access의 범위를 줄여 성능 향상을 가져온다.많은 INSERT가 있는 OLTP 시스템에서 INSERT 작업을 작은 단위인 partition들로 분산시켜 경합을 줄인다.가용성물리적인 파티셔닝으로 인해 전체 데이터의 훼손 가능성이 줄어들고 데이터 가용성이 향상된다.각 분할 영역(partition별로)을 독립적으로 백업하고 복구할 수 있다.table의 partition 단위로 Disk I/O을 분산하여 경합을 줄이기 때문에 UPDATE 성능을 향상시킨다.관리용이성큰 table들을 제거하여 관리를 쉽게 해준다... 2025. 1. 18. B+Tree, B-Tree B+Tree인덱스가 B+Tree로 되어있는 이유데이터가 리프노드에만 있다B-Tree와 다르게 Best, Worst가 없이 탐색의 시간복잡도는 무조건 O(log N)이다리프노드는 연결 리스트의 형태로 되어있어서 인접한 다음 노드에 바로 접근 가능하다. (B-Tree와 다르게 선형 탐색 가능)B-Tree비교구분B-treeB+tree데이터 저장리프 노드, 브랜치 노드 모두 데이터 저장 가능오직 리프 노드에만 데이터 저장 가능트리의 높이높음낮음(한 노드 당 key를 많이 담을 수 있음)풀 스캔 시, 검색 속도모든 노드 탐색리프 노드에서 선형 탐색 키 중복없음있음(리프 노드에 모든 데이터가 있기 때문)검색자주 access 되는 노드를 루트 노드 가까이 배치할 수 있고, 루트 노드에서 가까울 경우, 브랜치 노드에도.. 2025. 1. 17. Index Range Scan 범위가 결정된 인덱스를 순차적으로 읽는 방식스캔 과정인덱스 탐색: 인덱스 조건을 만족하는 값이 저장된 위치를 찾음인덱스 스캔: 시작 위치부터 범위에 해당하는 인덱스를 순차적으로 읽음랜덤 I/O: 인덱스와 PK를 이용해 테이블 레코드를 읽어옴그 외의 다른 스캔 종류인덱스 유니크 스캔 (Index Unique Scan)유일한 값 하나를 조회할 때 사용Primary Key 또는 Unique 제약 조건이 있는 컬럼에서 주로 사용됨인덱스 풀 스캔 (Index Full Scan)인덱스의 모든 레코드를 읽을 때 사용주로 ORDER BY 나 GROUP BY와 같은 정렬 작업에서 사용됨인덱스 스킵 스캔 (Index Skip Scan)다중 컬럼 인덱스에서 첫 번째 컬럼에 조건이 없더라도 두 번째 컬럼 이후의 조건을 이용해.. 2025. 1. 16. 이전 1 2 3 4 5 6 7 ··· 12 다음 728x90 반응형