롤백(rollback)은 데이터베이스에서 업데이트에 오류가 발생할 때 이전 상태로 되돌리는 것을 말한다. 데이터베이스는 업데이트 이전 저널 파일을 사용하여 원래의 정상적인 상태로 되돌린다. 이것은 오류 동작 이후에도 깨끗한 사본으로 복원시킬 수 있기 때문에 무결성을 위해 중요하다. 데이터베이스 서버의 충돌로부터 복원하는 데도 중요하다. 충돌이 일어날 때 특정 트랜잭션을 롤백시킴으로써 데이터베이스는 일관적인 상태로 되돌려진다.[1] 반대말은 커밋(commit)이다.
SQL에서의 롤백
- ROLLBACK : ROLLBACK은 작업 중 문제가 발생되어 트랜잭션의 처리과정에서 발생한 변경사항을 취소하는 명령어이다.
- 트랜잭션이 시작되기 이전의 상태로 되돌린다.
- 즉, 마지막 COMMIT을 완료한 시점으로 다시 돌아간다.
- COMMIT(커밋)하여 저장한 것만 복구한다.
[2]
[2]
- 위 그림에서 ROLLBACK 명령은 마지막으로 수행한 COMMIT 명령까지만 정상처리(1, 2)된 상태로 유지한다.
- 그 이후에 수행했던 모든 DML 명령어 작업(3, 4, 5)들을 취소시켜 이전 상태로 원상 복귀시킨다.
- 트랜잭션은 이렇듯 ALL-OR-Nothing 방식으로 DML 명령어들을 처리한다.
- ALL-OR-Nothing이란 '모든 것을 수행하든지 아무 것도 하지 말든지' 라는 의미이다.[2]
순차적 롤백
- 순차적 롤백(cascading rollback)은 데이터베이스 시스템에서 임의의 트랜잭션(T1)이 오류를 발생시킬 때, 롤백이 수행되어야 한다. T1의 동작에 의존하는 다른 트랜잭션도 T1의 오류 때문에 또한 롤백되어야 하며, 그리하여 순차적인 효과를 발생시킨다. 즉, 하나의 트랙잭션이 실패하는 것은 많은 실패를 유발한다. 실질적인 데이터베이스 복구 기술은 비순차적인 롤백을 보장한다. 그러므로 순차적인 롤백은 바람직한 결과는 아니다.[1]
각주
참고자료
같이 보기
이 롤백 문서는 데이터에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.
|
개발 : 프로그래밍, 소프트웨어, 데이터 □■⊕, 솔루션, 보안, 하드웨어, 컴퓨터, 사무자동화, 인터넷, 모바일, 사물인터넷, 게임, 메타버스, 디자인
|
|
데이터
|
ACID • CRUD • CSV • DAO • DB • DBMS • DB 명령어 • DCL • DDL • DML • DTO • ERD • ETL • JDBC • LOD • MDM • ODBC • RDBMS • RDF • SQL • 가상 데이터베이스 • 관계형 데이터베이스 • 그래프 • 기본키(PK) • 내부조인 • 널 • 노드 • 다이어그램 • 대리키 • 대체키 • 데이터 • 데이터댐 • 데이터마트 • 데이터 모델링 • 데이터뱅크 • 데이터베이스(DB) • 데이터베이스 언어 • 데이터 사이언스 • 데이터 사전 • 데이터 웨어하우스 • 데이터 정의어(DDL) • 데이터 제어어(DCL) • 데이터 조작어(DML) • 데이터 클러스터 • 데이터 토큰 (문자열) • 데이터 통합 • 덱 • 디비서버 • 라이트조인 • 락 • 레코드 • 레프트조인 • 로그 • 로그파일 • 로깅 • 롤백 • 리두로그 • 릴레이션 • 마스터데이터 • 마스터데이터관리(MDM) • 마이그레이션 • 메타데이터 • 배열 • 뷰 • 빅데이터 • 서브쿼리 • 수퍼키 • 순차리스트 • 스키마 • 스택 • 슬로우쿼리 • 엔티티 • 역정규화 • 연결리스트 • 외래키(FK) • 외부조인 • 인덱스 • 인덱싱 • 인젝션 • 자료구조 • 정규화 • 정보 • 조인 • 커밋 • 쿼리 • 큐 • 키 • 타깃 • 테이블 • 튜플 • 트랜잭션 • 트리 • 트리거 • 티비마이그레이터 • 풀조인 • 프로시저 • 필드 • 해시 • 해시맵 • 해시태그 • 해시테이블 • 해시함수 • 해싱 • 후보키
|
|
데이터베이스 관리 시스템 (DBMS)
|
관계형 데이터베이스 관리 시스템(RDBMS) • 노에스큐엘(NoSQL) • 데이터베이스 관리 시스템(DBMS) • 더비 • 디비투(DB2) • 레디스 • 마리아디비(MariaDB) • 마이에스큐엘(MySQL) • 몽고디비 • 빅테이블 • 사이베이스 • 선디비 • 알티베이스 • 액세스 • 에스큐엘(SQL) • 에스큐엘라이트(SQLite) • 에이치베이스 • 엠에스에스큐엘(MS-SQL) • 오라클(Oracle) • 인터베이스 • 인포믹스 • 카산드라 • 카우치디비 • 큐브리드 • 티베로 • 파이어버드 • 포스트그레스큐엘(PostgreSQL) • 하이퍼테이블
|
|
DB 명령어
|
alter • array • create • delete • drop • from • full join • grant • inner join • insert • join • left join • null • order by • outer join • rename • revoke • right join • select • truncate • update • where
|
|
시스템 연계
|
API • CGI • EAI • ESB • JPA • RSS • SOA • SOAP • SSL • SSO • web3.js • XML • 디비투디비(DB-to-DB) • 레스트풀(RESTful) • 상호운용성 • 시스템 인터페이스 • 신디케이션 API • 오픈 API • 웹 API • 웹개방성 • 윈도우 API • 자바 API • 크롤링 • 프라이빗 API
|
|
위키 : 자동차, 교통, 지역, 지도, 산업, 기업, 단체, 업무, 생활, 쇼핑, 블록체인, 암호화폐, 인공지능, 개발, 인물, 행사, 일반
|
|