감사와 이력 세트의 차이점
감사 [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일이 지난 이력 기록을 삭제합니다.
나중에 누군가 기록 정보가 다시 필요한 경우 시스템은 감사 소스 기록에서 이를 재생성할 수 있습니다.
시스템이 이력 세트 기록을 생성하면 컨텍스트 메뉴 선택 이력 은 감사 기록이 아니라 이력 세트를 사용합니다. 사용자의 관점에서는 동일한 사용자 인터페이스에서 동일한 기록 데이터를 사용할 수 있지만 정보가 저장되는 방식은 다릅니다.