원자성 (데이터베이스 시스템): 두 판 사이의 차이
내용 삭제됨 내용 추가됨
잔글 때 마다 → 때마다('마다'는 조사) |
잔글편집 요약 없음 |
||
9번째 줄:
전통적으로, 원자성은 트랜잭션이 시작되고 종료되었는지를 알려주는 메커니즘과 변경 전, 후 데이터의 복사본을 보존하는 것에 의해 실행된다. 몇몇 [[파일 시스템]]은 저널링(journaling)을 이용해 여러 본의 데이터 복사본의 저장을 회피하는 방법들을 개발해 왔다. 많은 데이터베이스는 원자성 실행을 돕기 위해 또한 커밋-롤백 메커니즘을 지원한다. 또, 변경을 트래킹할 수 있는 로깅/저널링 형태를 사용한다. 로그는 실제 변경이 성공적으로 이뤄질 때마다 동기화 된다. 시스템 충돌로부터 복구시, 저장되지 않은 내용은 무시된다. 병행제어 이슈, 원자성의 원칙 (즉, 완전한 성공 또는 완전한 실패) 에 따라 원자성은 다양하게 구현된다.
궁극적으로, 어떤
예를 들면, POSIX 호환 시스템은
하드웨어 레벨에서, test-and-set(TAS) 같은 원자적 운용과 원자적 증가/감소 기능이 필요하다. 이런 기능이 없거나 필요할 때, 모든 가능한 하드웨어나 소프트웨어의 인터럽트를 불가능하게 인터럽트 레벨을 증가시켜 원자적 동기화 구현에 사용될 수 있다. 이런 하위 레벨 동작은 때로는 [[기계어]]나 [[어셈블리어]]에 의해 수행된다.
|