투플-버전

Tuple-versioning

Tuple-versioning(point-in-time이라고도 함)은 관계 데이터베이스 관리 시스템에서 관계의 과거 상태를 저장하기 위해 사용되는 메커니즘이다.일반적으로 현재 상태만 캡처된다.

튜플-버전 기법을 사용하면 일반적으로 두 개의 시간 값이 각 튜플과 함께 저장되는데, 시작 시간과 종료 시간이다.이 두 값은 튜플에 있는 나머지 값의 유효성을 나타낸다.

일반적으로 튜플-버전 기법을 사용할 경우 현재 튜플은 유효한 시작 시간이지만 종료 시간에 대한 null 값을 갖는다.따라서 null 종료 시간을 쿼리하여 모든 튜플에 대한 현재 값을 얻는 것이 쉽고 효율적이다.

시작 시간이 지정된 시간보다 짧고 종료 시간이 보다 큰 튜플을 검색하는 단일 질의(null end time이 지정된 시간보다 큰 값으로 처리되는 경우)는 결과적으로 지정된 시간에 유효한 튜플을 제공한다.

예를 들어, 한 개인의 직업이 엔지니어에서 매니저로 변경되는 경우 직원 에는 두 개의 튜플이 있는데, 하나는 직업의 가치 엔지니어, 다른 하나는 직업의 가치 관리자일 것이다.엔지니어 튜플의 종료 시간은 관리자 튜플의 시작 시간과 같을 것이다.

로그 트리거로 알려진 패턴은 테이블에 대한 기록 정보를 데이터베이스에 자동으로 저장하기 위해 이 기술을 사용한다.

참고 항목

참조