글
로그 테이블 설계 원칙
IT/Programming/MSSQL
2015. 2. 25. 19:55
1년정도 지표처리 작업을 해오면서 느꼈던 나만의 로그 테이블 설계 원칙을 작성해본다.
1. LogDB에는 2차 가공 데이터는 없어야 한다.
-> DB에 박혀있는 값을 가공하여 DB에 INSERT 하는 것은 삼가야 한다.
-> 추가적인 가공이 필요한 데이터는 Tool 에서 진행하도록 한다.
2. 알아보기 쉽게. 간단하게 작성되어야 한다. 그렇지만 운영상에 필요한 정보는 반드시 존재하여야 한다.
-> 개발자가 LogDB를 SELECT 하는 것 만으로도 해당 로그가 어떠한 이유에서 발생한 것인지를 명확하게 알 수 있어야 한다.
-> 개발자가 생각하기에 비교적 필요없는 정보라고 할지라도, 운영상에 필요한 정보라면 반드시 남기도록 한다.
-> 특히나, 운영상에 필요한 정보가 Tool 에서 자주 요청되는 정보의 성격이라면 타협의 여지 없이 DB에 남겨야한다.
3. 공통 로그 포맷은 죄악이다.
-> 개발의 편의성을 위하여 모든 로그에 대해서 공통된 포맷을 사용하는 경우가 왕왕있다. 공통된 로그 포맷으로도 완벽히 제어할 수 있다면 문제는 없지만, 보통 그렇지 않다. 필요한 칼럼이 있으면 억지로 구겨넣지 말고 늘려야 한다.
4. 하나의 칼럼에는 하나의 정보만을 담는다.
-> 로그 시스템이 DW 이상급의 크기를 갖추지 않는다는 전제 하에, 하나의 칼럼에는 하나의 정보만을 담는 것이 좋다.
-> 개발자가 SELECT 하였을 때 WHERE 절로 바로 검색가능한 로그 포맷이어야 한다.
'IT/Programming > MSSQL' 카테고리의 다른 글
(MSSQL) BACKUP LOG cannot be performed because there is no current database backup (1) | 2016.04.27 |
---|---|
(MSSQL) 이번 주 월요일, 다음 주 월요일 구하기 (0) | 2016.01.18 |
(MSSQL) 모든 테이블 인덱스 재생성 쿼리 (0) | 2016.01.17 |
(MSSQL) 현재 데이터베이스에 사용자 그룹 또는 역할 이(가) 이미 있습니다 (1) | 2015.06.25 |
유용한 DMV (0) | 2015.05.12 |