트랜잭션 6

트랜잭션(Transaction): 데이터 무결성과 일관성을 유지하는 핵심 개념

🔹 트랜잭션(Transaction)이란?1. 트랜잭션의 정의트랜잭션(Transaction)이란 데이터베이스에서 하나 이상의 SQL 작업을 묶어서 실행하는 단위로, 데이터의 무결성을 보장하는 중요한 개념입니다.즉, 트랜잭션은 일련의 SQL 작업을 하나의 논리적 작업 단위로 처리하며, 모든 작업이 성공해야 트랜잭션이 완료(Commit)되고, 하나라도 실패하면 이전 상태로 되돌려야(Rollback) 합니다. ✅ 트랜잭션의 주요 목적: 데이터 일관성(Consistency) 유지 데이터 무결성(Integrity) 보장 시스템 장애 발생 시 데이터 복구 가능 여러 사용자가 동시에 데이터에 접근할 때 동시성 제어(Concurrency Control) 지원 📌 트랜잭션은 은행 계좌 이체, 전자상거래 주문..

관계형 데이터베이스(RDB): 구조화된 데이터를 효율적으로 관리하는 핵심 기술

🔹 관계형 데이터베이스(RDB)란?1. 관계형 데이터베이스의 정의관계형 데이터베이스(Relational Database, RDB)는 데이터를 테이블(Table) 형태로 저장하고, 각 테이블 간의 관계를 정의하여 효율적으로 데이터를 관리하는 데이터베이스 시스템입니다.RDB는 SQL(Structured Query Language)을 사용하여 데이터를 저장, 조회, 수정 및 삭제할 수 있으며, 데이터 무결성과 일관성을 유지하는 강력한 트랜잭션 기능을 제공합니다. ✅ 관계형 데이터베이스의 주요 특징: 데이터를 행(Row)과 열(Column)로 구성된 테이블(Table) 형식으로 저장 각 테이블 간 관계(Relation)를 정의하여 데이터 중복을 최소화 SQL을 사용하여 데이터를 효율적으로 조작하고 관리..

OLTP(온라인 트랜잭션 처리): 실시간 데이터베이스 처리의 핵심 기술

🔹 OLTP(Online Transaction Processing)란?1. OLTP의 정의OLTP(Online Transaction Processing, 온라인 트랜잭션 처리)는 실시간으로 다수의 사용자가 데이터베이스에서 트랜잭션을 수행할 수 있도록 설계된 시스템입니다.✅ OLTP의 주요 특징: 빠른 응답 속도 (밀리초 단위의 빠른 처리) 다중 사용자 지원 (수천~수백만 명의 사용자 동시 처리) 짧고 빈번한 트랜잭션 실행 ACID(Atomicity, Consistency, Isolation, Durability) 보장 데이터 정합성 및 무결성 유지 📌 OLTP는 온라인 쇼핑몰, 은행 시스템, 예약 시스템 등 실시간 처리가 필요한 환경에서 필수적 🔹 OLTP vs OLAP(Online A..

데드락(Deadlock): SQL에서 교착 상태를 방지하는 최적의 해결책

🔹 데드락(Deadlock)이란?1. 데드락(Deadlock)의 정의데드락(Deadlock)은 두 개 이상의 트랜잭션이 서로 상대방의 리소스(예: 데이터 행, 테이블 락)를 기다리며 영원히 진행되지 않는 상태를 의미합니다. ✅ 데드락이 발생하는 주요 원인: 트랜잭션 간 자원(락, Lock) 경쟁 락 순서가 꼬여 발생하는 상호 대기 상황 긴 트랜잭션 실행으로 인해 락 점유 시간 증가 동시성 처리를 고려하지 않은 쿼리 설계 📌 데드락이 발생하면 해당 트랜잭션은 무한 대기 상태에 빠지며, 데이터베이스 성능이 저하됨 🔹 데드락의 동작 방식✅ 1. 데드락 발생 예제✔️ Step 1: 두 개의 트랜잭션이 실행됨 -- 트랜잭션 1: A → B 순서로 락 획득BEGIN TRANSACTION;UPDA..

커밋(COMMIT): 데이터 무결성을 보장하는 트랜잭션 확정 기술

🔹 커밋(COMMIT)이란?1. 커밋(COMMIT)의 정의커밋(COMMIT)은 데이터베이스 트랜잭션(Transaction)에서 수행된 모든 변경 사항을 영구적으로 저장하는 명령어입니다.즉, 트랜잭션이 정상적으로 완료되었을 때, 변경된 데이터를 데이터베이스에 반영하여 확정하는 역할을 합니다.✅ 커밋의 주요 목적:데이터 무결성(Integrity) 유지트랜잭션 성공 시 변경 사항을 영구 저장다중 사용자 환경에서 동시성을 보장데이터 복구를 위한 일관된 저장 상태 제공📌 커밋을 수행하면 변경된 데이터는 영구적으로 저장되며, 이후 ROLLBACK으로 되돌릴 수 없음🔹 커밋의 동작 방식✅ 1. 커밋의 기본 동작 원리트랜잭션 시작 (BEGIN TRANSACTION)SQL 실행 (INSERT, UPDATE, DEL..

롤백(Rollback): 데이터 무결성을 유지하는 핵심 트랜잭션 제어 기술

🔹 롤백(Rollback)이란?1. 롤백(Rollback)의 정의롤백(Rollback)은 데이터베이스 트랜잭션에서 오류가 발생했을 때, 변경된 데이터를 이전 상태로 되돌리는 기능입니다.즉, 트랜잭션이 정상적으로 완료되지 않으면 해당 트랜잭션에서 실행된 모든 SQL 작업을 취소하고, 데이터베이스를 변경 전 상태로 복구합니다. ✅ 롤백의 주요 목적: 데이터 무결성(Integrity) 유지 오류 발생 시 안전한 데이터 복구 잘못된 데이터 입력 방지 동시성 제어 및 충돌 방지 📌 롤백은 은행 거래, 전자상거래 주문 처리, 예약 시스템 등 데이터 신뢰성이 중요한 시스템에서 필수적인 기능 🔹 롤백의 동작 방식롤백은 트랜잭션이 시작된 이후 변경된 데이터를 COMMIT 전까지 되돌리는 역할을 합니다...