배치의 설정을 한 표에 담고 있었는데 언제 어떤 설정으로 돌았는지를 알 방법이 없었다. 설정을 바꾸면 그 자리를 덮어쓰므로 이전 값이 남지 않았다.
Table of contents
Open Table of contents
한 표에 담긴 두 가지
이 표는 지금 설정이 무엇인지를 담는 동시에 마지막 실행 결과도 담고 있었다. 두 가지가 한 행에 섞여 있으니 어느 쪽을 갱신해도 다른 쪽이 함께 낡는다.
문제가 났을 때 그때 어떤 설정으로 돌았는지를 묻게 되는데 그 답이 어디에도 없었다. 지금 설정을 보고 짐작하는 수밖에 없었고 그 사이에 설정이 바뀌었으면 틀린다.
성격이 다른 두 기록
정리해 보니 설정과 실행 기록은 바뀌는 빈도부터 달랐다. 설정은 몇 달에 한 번 바뀌고 실행 기록은 하루에도 여러 번 쌓인다.
남겨야 할 것도 달라서 설정은 누가 왜 바꿨는지가 중요하고 실행은 언제 얼마나 걸려서 무엇을 처리했는지가 중요하다. 성격이 다른 것을 한 표에 두면 어느 쪽에도 안 맞는 구조가 된다.
실행할 때 그때 설정을 남긴다
그래서 지금 설정과 설정이 바뀐 이력과 실행 기록을 각각 다른 표로 나눴다. 그리고 실행 기록에 그때 쓰인 설정 값을 함께 남기게 했다.
이렇게 하면 나중에 설정이 바뀌어도 그 실행이 어떤 값으로 돌았는지가 그대로 남는다. 실행 기록만 열어도 그 회차의 조건이 나오므로 다른 표를 안 봐도 된다.
나뉜 표와 갈린 조회
표가 나뉘고 나니 조회도 자연스럽게 갈렸는데 지금 어떻게 돌고 있는지를 보는 조회와 무엇이 언제 바뀌었는지를 보는 조회가 서로 다른 곳을 본다. 전에는 같은 표를 조건만 달리해서 조회하고 있었다.
화면에서도 두 가지를 나누어 보여 주게 바꿨다. 한 화면에 섞어 놓으면 지금 상태를 보러 온 사람이 이력까지 훑게 된다.
보존 기간과 원인 추적
보존 기간도 다르게 뒀는데 실행 기록은 양이 많아서 일정 기간이 지나면 정리하고 설정 이력은 양이 적어서 계속 남긴다. 한 표일 때는 어느 한쪽에 맞출 수밖에 없었다.
나눈 뒤에 실제로 도움이 된 것은 실행 기록이 쌓이면서 처리 시간의 흐름이 보인 것이었다. 그리고 어느 날부터 결과가 달라진 원인을 설정 이력에서 그 날짜의 변경으로 바로 찾았다.
정리
- 설정과 실행 기록은 성격이 다르다
- 바뀌는 빈도도 남길 것도 다르다
- 한 표에 두면 마지막 것만 남는다
- 지금 설정과 바뀐 이력과 실행 기록을 나눈다
- 실행할 때 그때 설정을 같이 남긴다
- 표가 나뉘면 조회도 갈린다
- 보존 기간을 다르게 둔다
- 설정 이력이 결과가 달라진 원인을 알려 준다