- 오디팅 구현 전략은 크게 리비전 전략과 오디트 필드 추가 전략 두 가지로 나뉜다. 🛠️
- 오디트 필드 추가 전략은 테이블에 '생성일시', '수정일시', '생성자', '수정자' 필드를 추가하여 최신 변경 이력을 관리하는 방식이다. 📝
- 오디트 필드 추가 전략은 구현이 쉽고 SI 프로젝트의 CRUD에 적합하지만, 중간 변경 이력을 알 수 없는 단점이 있다. ⏱️
- 리비전 전략은 데이터 변경 시마다 별도의 리비전 테이블에 이력을 저장하여 중간 변경 이력을 관리하는 방식이다. 📚
- 리비전 전략은 원본 테이블에 영향을 주지 않지만, DB 테이블 수가 증가할 수 있다. 📈
- 오디팅 구현 방식으로는 데이터베이스 트리거, CDC(Change Data Capture), 메시지 큐(Kafka, RabbitMQ) 등이 있다. 큐를 이용하면 비동기적으로 이력 데이터를 처리할 수 있다. ✉️
- 데이터베이스 트리거는 데이터 변경 시 자동으로 특정 동작을 수행하는 방식이다. ⚙️
- CDC는 데이터 변경을 실시간으로 캡처하여 데이터 동기화 및 분석에 활용할 수 있지만, 솔루션 비용이 많이 든다. 💸
- 메시지 큐는 비동기적으로 이력 데이터를 처리할 수 있다. 🚦