피드로 돌아가기
Fast-Track CBT: A Clean, Zero-Stress Online Testing Platform
Dev.toDev.to
Backend

Multi-tenancy 기반 데이터 격리와 Cascade Delete를 통한 CBT 플랫폼 최적화

Fast-Track CBT: A Clean, Zero-Stress Online Testing Platform

Joseph2026년 5월 26일4intermediate

Context

초기 설계 시 Subject 삭제 후 잔존하는 Orphaned Data 발생 및 데이터 정합성 결여 문제 직면. 관리자별 데이터 격리 부족과 수동적인 문제 입력 방식에 따른 운영 효율성 저하가 주요 병목 지점으로 작용.

Technical Solution

  • Admin ID 기반의 쿼리 필터링을 적용한 Multi-tenant Architecture 설계를 통한 사용자 간 데이터 완전 격리
  • Mongoose 기반의 Cascade Delete 로직을 구현하여 Subject 삭제 시 연관 Question 및 Result를 자동 제거하는 무결성 보장 구조 설계
  • "No Subject = No Question" 제약 조건을 DB 레벨에서 강제하여 부모 컨테이너 없는 데이터 생성 원천 차단
  • React State와 연동된 Auto-submit 타이머 구현으로 시간 만료 즉시 데이터 유실 없는 서버 전송 프로세스 구축
  • Batch-add 시스템 도입을 통해 페이지 리로드 없는 연속 입력 인터페이스로 데이터 삽입 지연 시간 최소화

1. Multi-tenant 앱 설계 시 API 레벨에서 Request User ID를 통한 데이터 필터링 강제 여부 검토

2. RDBMS 외 MongoDB 사용 시 Orphaned Data 방지를 위한 Application 레벨의 Cascade Delete 로직 구현

3. 대량 데이터 입력 UI 설계 시 State 기반의 Batch 처리 방식을 통한 UX 및 네트워크 비용 최적화

4. 시간 제한 기반 서비스에서 Client-side Timer와 Server-side Submission 간의 동기화 전략 수립

원문 읽기