COMMIT (SQL)
1. 개요
COMMIT (SQL)은 SQL에서 RDBMS 내 데이터베이스 트랜잭션을 종료하고, 변경 사항을 다른 사용자가 볼 수 있도록 만드는 명령어이다. 일반적으로 `BEGIN WORK` 구문으로 시작하여 `COMMIT` 구문으로 종료되며, `ROLLBACK` 구문을 사용하여 이전 상태로 되돌릴 수도 있다. COMMIT은 SAVEPOINT와 함께 사용될 수도 있으며, 트랜잭션의 임시 변경 사항을 취소하는 롤백과 반대되는 개념이다.
| 용어 | 커밋 (Commit) |
|---|---|
| 설명 | 트랜잭션의 모든 변경 사항을 데이터베이스에 영구적으로 적용하는 프로세스이다. |
| 반대 기능 | 롤백 |
| 구문 (Transact-SQL) | COMMIT [TRANSACTION | WORK] [transaction_name] |
|---|---|
| 구문 (Oracle SQL) | COMMIT [WORK] [COMMENT 'text'] [FORCE integer]; |
| 설명 | 현재 트랜잭션의 모든 변경 사항을 저장한다. 트랜잭션은 데이터의 일관성을 보장하기 위해 사용된다. 커밋은 트랜잭션의 끝을 표시하고, 변경 사항을 데이터베이스에 영구적으로 저장한다. |
-
트랜잭션 처리 -
2단계 커밋 프로토콜
2단계 커밋 프로토콜은 분산 컴퓨팅 환경에서 트랜잭션의 원자성을 보장하는 분산 알고리즘으로, 조정자와 참가자로 구성되어 모든 참가자가 트랜잭션을 완료하거나 아무도 완료하지 못하도록 하며, 커밋 요청 및 커밋 단계를 거쳐 모든 참가자의 동의를 얻어야 커밋된다. -
트랜잭션 처리 -
온라인 트랜잭션 처리
온라인 트랜잭션 처리(OLTP)는 실시간 데이터베이스 트랜잭션 처리 방식으로, 가용성, 속도, 동시성, 내구성을 목표로 은행, 항공사, 전자 상거래 등에서 활용된다. -
데이터베이스 관리 시스템 -
트랜잭션 처리
트랜잭션 처리는 데이터베이스 시스템에서 데이터의 일관성과 무결성을 보장하기 위한 기술이며, ACID 속성을 통해 데이터 정확성을 유지하고 롤백, 데드락 처리 등의 기술을 활용한다. -
데이터베이스 관리 시스템 -
저장 프로시저
저장 프로시저는 데이터베이스 관리 시스템에서 SQL 문들을 미리 컴파일하여 저장하고, 모듈화, 보안성, 성능 향상, 유지보수 용이성과 같은 특징을 가지며, 데이터베이스 시스템마다 구현 방식과 지원하는 언어가 다를 수 있는 코드 묶음이다. -
데이터 관리 -
데이터 센터
-
데이터 관리 -
정보 아키텍처
정보 아키텍처는 정보 시스템 및 정보 기술 분야에서 공유 정보 환경의 구조적 설계를 의미하며, 웹사이트, 소프트웨어 등의 구성과 레이블링을 포함하여 검색 용이성과 사용성을 지원하고, 도서관정보학에 기원을 두고 있다.
2. SQL COMMIT 명령어
SQL에서 `COMMIT`은 RDBMS 내 데이터베이스 트랜잭션을 종료하고 모든 변경 사항을 다른 사용자가 볼 수 있게 한다. 일반적인 형식은 `BEGIN WORK`로 시작하여 `COMMIT`으로 끝난다. `ROLLBACK`은 `BEGIN WORK`로 시작된 모든 작업을 이전으로 되돌리며, `COMMIT`은 SAVEPOINT를 사용할 수 있다.
커밋의 반대는 트랜잭션의 임시 변경을 포기하는 롤백이다.
2.1. 트랜잭션
트랜잭션은 데이터베이스에서 일련의 작업을 묶어 하나의 논리적인 단위로 처리하는 것이다. `BEGIN WORK` 구문으로 시작하여 `COMMIT` 또는 `ROLLBACK` 구문으로 종료된다.
SQL에서 `COMMIT`은 RDBMS 내에 있는 데이터베이스 트랜잭션을 종결시키고, 모든 변화를 다른 사용자들이 볼 수 있게 만들어 준다. 일반적인 형식은 `BEGIN WORK` 구문으로 시작하여 `COMMIT` 구문이 나오는 것이다. `ROLLBACK` 구문으로 시작될 수도 있는데, 이것은 `BEGIN WORK`로 시작된 모든 작업을 그 이전으로 되돌린다. `COMMIT` 구문은 또한 현존하는 SAVEPOINT가 사용될 수 있다.
트랜잭션 측면에서 커밋의 반대는 트랜잭션의 임시적인 변화를 포기하는 것(롤백)이다.
2.2. COMMIT의 역할
SQL에서 `COMMIT`은 RDBMS 내에 있는 데이터베이스 트랜잭션을 종료시키고, 모든 변화를 다른 사용자들이 볼 수 있게 만들어 준다. 일반적인 형식은 `BEGIN WORK` 구문으로 시작하여 `COMMIT` 구문이 나오는 것이다. `ROLLBACK` 구문으로 시작될 수도 있는데, 이것은 `BEGIN WORK`로 시작된 모든 작업을 그 이전으로 되돌린다. `COMMIT` 구문은 또한 현존하는 SAVEPOINT가 사용될 수 있을 것이다.
트랜잭션 측면에서 커밋의 반대는 트랜잭션의 임시적인 변화를 포기하는 것(롤백)이다.