데이터베이스 회전
데이터베이스 회전에는 테이블 크기 증가를 관리하고 오래된 데이터를 보관하는 작업이 포함됩니다.
- 테이블 교대는 작은 테이블 세트 간에 교대하고 이전 테이블을 삭제하고 새 데이터에 다시 사용하는 방식으로 작동합니다.
- 테이블 확장은 주기적으로 새 테이블을 시작하고 이전 테이블을 시스템에서 쉽게 보관하고 제거할 수 있도록 하여 작동합니다.
- 테이블 분할은 문서 ID별로 기록을 단일 테이블로 그룹화할 수 있도록 하여 작동합니다.
테이블 교대 플러그인
- 데이터베이스 교대 플러그인 은 자동으로 포함된 테이블 없이 테이블 교대 및 확장을 활성화합니다(com.snc.db.rotation).
- 데이터베이스 교대 기본 테이블 플러그인 은 테이블 교대 및 확장을 특정 테이블(com.snc.db.rotation_default_tables)에 적용합니다.
| 기능 | 적용 대상 테이블 |
|---|---|
| 테이블 교대 | Syslog
|
| 테이블 확장 |
|
문자열로 변환된 참조 값
보관된 데이터는 다른 테이블에 대한 참조 필드가 없는 플랫 파일로 저장됩니다. 보관 프로세스는 다른 테이블에 대한 모든 참조를 문자열 값으로 변환합니다.
참조 필드의 경우 문자열은 호출자의 사용자 이름과 같은 표시 값을 사용합니다. 예를 들어, 인시던트의 호출자 참조 필드에는 ITIL 사용자 문자열이 표시됩니다. 참조가 문서 ID이고 보관 규칙에 관련 문서 ID를 보관하는 옵션이 포함된 경우 문자열은 관련 기록의 문서 ID입니다.
보관 기록은 참조된 값에 대한 향후 변경 사항을 수신하지 않는다는 점에 유의해야 합니다. 예를 들어, "John Smith"의 사용자 이름을 "John A Smith"로 변경하면 인시던트와 사용자 테이블 간의 참조로 인해 모든 활성 인시던트 기록에 호출자가 자동으로 "John A Smith"로 표시됩니다. 그러나 보관된 모든 인시던트 기록에는 보관 당시 있었던 사용자 이름이 표시됩니다. "John Smith"에 대한 모든 인시던트는 이 사용자를 계속 참조합니다. 마찬가지로 시스템에서 사용자를 삭제하면 현재 인시던트는 삭제된 사용자를 더 이상 호출자로 표시하지 않습니다. 그러나 사용자가 보관 시점에 존재했기 때문에 "John Smith"라는 문자열이 여전히 사용자로 표시되는 보관된 인시던트도 있을 수 있습니다.
테이블 회전 및 확장
시스템 정의 테이블 교대(System Definition Table Rotation) 모듈을 사용하면 새 테이블 교대, 새 테이블 확장, 새 테이블 샤드를 정의하거나 기존 테이블 교대를 수정할 수 있습니다.
- 이름: 테이블 이름에서 자동 작성됨
- 기간: 기능에 대한 전체 시간 매개변수
- 초기화됨: 기능을 활성(예) 또는 비활성(아니오)으로 설정합니다.
- 회전: 기간 내에 작성할 테이블의 수
- 유형: 확장(보관), 회전(삭제) 또는 분할(문서 ID) 기능을 나타냅니다.
새 교대를 정의하면 일정이 생성되고 새 데이터가 교대 그룹의 테이블 중 하나에 기록됩니다. 그룹에 원래 테이블과 여러 추가 테이블이 포함되어 있음을 알 수 있습니다. 교대를 삭제하면 추가 테이블과 모든 데이터가 삭제되므로 데이터가 필요한 경우 교대를 삭제해서는 안 됩니다.