감사와 이력 세트의 차이점
감사 [sys_audit], 기록 세트 [sys_history_set] 및 기록 [sys_history_line] 테이블은 동일한 데이터를 저장하지만 용도가 다르고 데이터를 관리하는 용도가 다릅니다.
감사 [sys_audit] 테이블
감사 [sys_audit] 테이블은 시스템이 모든 기록에 대한 이력 정보를 저장하는 곳입니다. 이러한 기록은 관리자가 감사된 기록의 기록을 항상 추적할 수 있도록 영구적으로 보관됩니다. 시간이 지남에 따라 감사 기록 수가 증가하면 감사 테이블에서 기록 정보를 직접 쿼리하는 것이 더 비효율적이 됩니다. 실제로 기록 정보를 보려는 더 작은 하위 집합 기록에 대해서만 쿼리를 실행하는 것이 훨씬 더 효율적입니다.
이력 세트 [sys_history_set] 테이블
이력 세트 [sys_history_set] 테이블은 감사된 테이블에서 기록 정보가 있는 특정 기록을 식별합니다. 기록 [sys_history_line] 테이블에는 발생한 필드 값에 대한 실제 변경 내용이 저장됩니다.
- 사용자가 기록을 생성하거나 이력을 요청할 때 시스템은 감사 테이블에서 필요에 따라 이력 세트 및 이력 기록을 자동으로 생성합니다.
- 기록 집합 및 기록 레코드에는 시스템의 모든 변경 내용에 대한 전체 기록이 포함되지 않고 사용자가 해당 정보를 만들거나 요청한 레코드에 대한 기록 정보의 최근 하위 집합만 포함됩니다.
- 감사 데이터 외에도 이력 세트에는 저널 필드 항목을 포함하여 레코드 삽입 중에 설정된 정보도 포함됩니다. 기록을 만들기 전에 생성하는 저널 필드 항목은 레코드 생성 시 생성된 저널 항목과 동일한 방식으로 처리됩니다. 이러한 저널 항목은 생성 시간이 동일하고 연결된 기록 자체와 데이터에 의해 생성된 이력 세트에 나타납니다.
시스템은 다음과 같은 방법으로 이력 세트와 이력 기록을 제한합니다.
- 테이블 클리너로 하여금 30일 동안 업데이트되지 않은 이력 세트 기록을 삭제하도록 합니다.
- 테이블 교대를 사용하여 7일마다 4개의 기록 테이블 간에 교대합니다. 시스템은 28일보다 오래된 이력 기록을 삭제합니다.
누군가 나중에 기록 정보를 다시 필요로 할 경우, 시스템은 감사 소스 기록에서 해당 정보를 다시 생성할 수 있습니다.
시스템에서 이력 세트 기록을 생성한 후 컨텍스트 메뉴 선택 이력 은 감사 기록이 아닌 이력 세트를 사용합니다. 사용자 관점에서는 동일한 이력 데이터를 동일한 사용자 인터페이스에서 사용할 수 있지만 정보가 저장되는 방식은 다릅니다.