본문 바로가기

EngleBee 프로젝트

[트러블슈팅] 수업 생성 로그 테이블 생성

728x90

선생님은 수업을 생성해서 학생과 1대1 화상채팅을 진행합니다.

admin 페이지에서 하루에 수업이 몇개 생성되었는지 확인하기 위한 그래프를 그리려고 합니다.

기존에 있던 Lecture 테이블에서 count하는게 나을지, 아니면 수업 생성 로그 테이블을 만들어서 거기서 정보를 가져오는게 나을지 알아보려고 합니다.

 

1. 기존 Lecture 테이블에서 수업 수를 계산하는 방법

  • 장점:
    • 간단한 구조: 추가 테이블을 만들 필요가 없어 데이터베이스 구조가 단순해집니다.
    • 관리 용이: 추가 테이블을 관리할 필요가 없어 유지보수가 더 쉬워집니다.
    • 실시간 데이터: 수업 수가 실시간으로 정확하게 반영됩니다.
  • 단점:
    • 성능 문제: 시간이 지남에 따라 Lecture 테이블의 데이터가 많아지면, 이를 직접 조회하여 수업 수를 계산하는 과정이 성능 저하를 일으킬 수 있습니다.
    • 확장성: 향후 로그 분석이나 추가적인 데이터를 추적하려는 경우에는 기존 테이블만으로는 충분하지 않을 수 있습니다.

 

2. 수업 생성 로그 테이블을 만드는 방법

  • 장점:
    • 향후 확장성: 수업 생성 로그 외에도 다양한 이벤트나 행동 기록을 추가할 수 있어 데이터 분석 및 로그 관리가 용이해집니다.
    • 성능: 수업 생성만을 추적하는 테이블이 따로 있어, 조회 성능이 기존 테이블을 사용하는 것보다 향상될 수 있습니다.
    • 추적 가능성: 수업 생성 시점에 대한 세부적인 로그를 남기므로, 향후 문제 발생 시 정확한 진단이 가능합니다.
  • 단점:
    • 복잡도 증가: 새로운 테이블을 생성하고 관리해야 하므로 시스템 복잡도가 증가합니다.
    • 데이터 일관성: 로그 테이블과 Lecture 테이블 간의 데이터 일관성을 유지하는 것이 중요하며, 잘못 관리되면 데이터 불일치 문제가 발생할 수 있습니다.

 

당장에 기능구현에는 기존 테이블을 활용하는게