728x90 반응형 DB8 스레드 동시성 문제 비관적 락 Pessimistic Lock조회 시점에 배타 락(Exclusive lock)을 획득하여 조회, 수정, 삭제가 불가능하게 하고 commit/rollback 시점에 반납하는 방식으로 작동기본적으로 트랜잭션 간의 충돌이 자주 발생할 수 있다고 가정하는 방식세 가지의 잠금 모드가 사용됨 (Shared Lock, Exclusive Lock, Update Lock)공유 락 Shared Lock: 읽기 작업을 위한 락. 여러 트랜잭션이 동시에 데이터를 읽을 수 있음배타적 락 Exclusive Lock: 쓰기 작업을 위한 락. 한 트랜잭션만 데이터 수정 가능사용자는 적용된 잠금에 따라 잠긴 레코드를 읽을 수 있음장점데이터 정합성을 보장할 수 있음충돌이 빈번하게 일어난다면 롤백 횟수를 줄일 수 있기 때문에 .. 2025. 1. 20. 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. 이전 1 2 3 다음 728x90 반응형