배경
회사나 팀마다 로깅성 혹은 어떤 작업에 대한 변화 히스토리나 결과에 대해서 테이블 화 할 때
각자 정한 테이블명 규칙이 있거나
라이브러리 등 연동시 기본적으로 생성해주는 테이블명 등
혹은 개인적으로 어울린다고 생각하는 테이블 명이 있을 것 이라 생각한다.
나름의 기준으로 테이블 명 규칙을 적어보았다.
log, result, history
_log
- 정의 : 시스템 레벨의 정보 저장인 경우, 시간의 흐름에 따른 경우, 일정 시간 후에 삭제 가능 경우
- 예시
- request_response_log : 요청/응답 로그
- web_log : 웹 전반에서 발생하는 로그
- system_log : 시스템에서 발생하는 로그
- cron_log : 크론 등에서 발생하는 시스템 성 로그
_results
- 정의 : 작업(계산, 분석 등)에 대한 결과 / 외부 작업에 대한 처리 결과
- 예시
- payment_result : 외부 결제 서비스 처리 결과
- sms_send_results : 외부 SMS 서비스 처리 결과
- django_celery_task_results : 내부 Django Celery 처리 결과
- cron_results : 내부 크론 처리 결과
_history
- 정의 : 특정 객체에 대한 변화 추적
- 예시
- user_history : 유저라는 테이블의 데이터 변화 과정을 기록한다.
- product_status_history : 상품의 상태 변경에 대한 히스토리
'소프트웨어 개발자 > 좋은 API, DB 설계하기' 카테고리의 다른 글
[좋은 DB 설계하기] 설계시 고려하면 좋을 기본 개념들 (0) | 2024.08.15 |
---|---|
[좋은 DB 설계하기] 제한된 값을 설계 할 때 Enum vs 테이블 (0) | 2024.07.05 |
[좋은 API 설계하기] API 응답 시 모든 상태코드 200 고정 (0) | 2024.04.21 |
[좋은 API 설계하기] API 버전 정책 (feat. 토스페이먼츠) (0) | 2024.01.31 |
[좋은 API 설계하기] 조회 한 데이터 없음 - 상태코드 200? (0) | 2024.01.31 |