db5 격리 수준 동시성 제어 격리 수준 (락, MVCC, 동시성)같은 데이터를 여러 트랜잭션이 동시에 읽고 쓰면 결과가 어긋날 수 있다. 이 문제를 다루는 영역이 동시성 제어(Concurrency Control)이며, ANSI SQL은 네 가지 격리 수준(Isolation Level)을 표준화해 어떤 종류의 이상 현상을 허용할지 골라 쓸 수 있게 했다. 본 글은 동시성 이상 현상 3종·ANSI 격리 수준 4단계·락 기반 vs MVCC 기반 동시성 제어를 세심하게 정리한다(출처: 위키백과 — Isolation (database systems)). 제가 학교 캡스톤에서 쿠폰 사용 처리를 기본 격리 수준(MySQL의 REPEATABLE READ)으로 두었다가 같은 쿠폰이 두 번 사용된 데이터가 끼어 있던 사고를 겪고 나서야 "기본 격리 .. 2026. 5. 15. DB - 트랜잭션 ACID 트랜잭션 (ACID, 커밋, 로그)데이터베이스가 "신뢰할 수 있는 저장소"인 이유는 트랜잭션(Transaction)과 ACID 속성이 받쳐 주기 때문이다. 송금 한 번이 중간에 끊겨도 돈이 사라지지 않고, 동시에 1만 명이 같은 좌석을 예약해도 한 사람만 성공한다. 이 모든 보장의 토대가 트랜잭션 메커니즘이다. 본 글은 트랜잭션의 정의·ACID 4대 속성·트랜잭션 상태 다이어그램·WAL(Write-Ahead Logging) 기반 복구 메커니즘을 세심하게 정리한다(출처: 위키백과 — ACID). 제가 학교 캡스톤에서 결제 처리 코드를 트랜잭션 없이 UPDATE balance ... ; INSERT INTO ledger ... 두 줄로 짰다가 한 줄만 성공한 상태에서 서버가 죽어 잔액과 장부가 어긋나는 사고.. 2026. 5. 15. DB - 인덱스 쿼리 최적화 인덱스 (B-Tree, 쿼리, 옵티마이저)데이터베이스의 응답 시간은 거의 항상 인덱스(Index) 설계가 좌우한다. 같은 쿼리도 인덱스가 있을 때와 없을 때 1000배 이상 차이가 나고, 같은 인덱스도 컬럼 순서·타입에 따라 사용되거나 무시된다. 본 글은 인덱스의 핵심 자료구조(B-Tree·B+Tree·Hash·Bitmap), 쿼리 옵티마이저의 동작 원리, 그리고 EXPLAIN으로 실행 계획을 분석해 인덱스를 진단하는 실전 절차를 세심하게 정리한다(출처: 위키백과 — Database index). 제가 학교 캡스톤에서 사용자 검색 화면이 30초 걸리던 쿼리에 복합 인덱스 하나를 추가하자 30ms로 떨어진 모습을 본 후로는 "DB 튜닝의 90%는 인덱스 설계와 EXPLAIN 읽기"라는 사실을 손끝으로 받아.. 2026. 5. 15. DB - ERD 키 설계 심화 ERD 설계 (정규화, 외래키, 무결성)데이터베이스의 모든 사고는 첫 단추인 ERD 설계에서 시작된다. 키를 잘못 잡으면 정규화가 깨지고, 외래 키 관계가 흩어지면 무결성이 무너지며, 결국 운영 단계에서 끝없는 데이터 정합성 문제로 이어진다. 이 글은 정보처리기사 필기에서 다룬 "DB 설계 3단계"의 다음 단계로, ERD 설계의 실전 기술 — 키의 종류, 관계의 모델링, 식별 관계 vs 비식별 관계, 무결성 제약, 그리고 정규화 심화까지 — 를 세심하게 정리한다(출처: 위키백과 — Entity-Relationship Model). 제가 학교 캡스톤에서 사용자 ID를 char(20)로 잡고 외래 키를 7개 테이블에 박았다가 한 달 뒤 ID 정책이 바뀌어 7개 테이블을 한꺼번에 마이그레이션하는 사고를 겪고 .. 2026. 5. 15. 정보처리기사 필기 - 데이터베이스 구축 기초 데이터베이스 설계 (3단계, 스키마, 독립성)데이터베이스를 처음부터 구축한다는 것은 단순히 테이블 몇 개를 생성하는 작업이 아니다. 비즈니스 요구사항을 추출해 그것을 추상적인 모델로 그려내고, 다시 관계형 모델로 변환한 뒤, 마지막으로 실제 저장 구조까지 결정하는 일련의 체계적 절차를 거쳐야 한다. 이 과정의 표준 절차가 바로 데이터베이스 설계의 3단계이며, 그 결과물인 데이터베이스의 논리적·물리적 구조를 표현하는 도구가 ANSI/SPARC가 1975년에 제정한 3계층 스키마이다(출처: 위키백과 ANSI-SPARC). 두 개념은 데이터베이스 분야의 가장 기초적이면서도 가장 자주 출제되는 핵심 주제로, 정보처리기사 시험에서도 매회 빠지지 않고 등장한다. 제가 학교 데이터베이스 수업에서 처음 이 두 개념을 .. 2026. 5. 2. 이전 1 다음