Safety vs Throughput
제약 조건은 쓰기 비용을 만들지만, 깨진 데이터의 복구 비용을 줄인다
데이터 변경마다 검사와 인덱스 유지가 필요합니다. 대신 잘못된 데이터가 저장된 뒤 전파되는 더 큰 비용을 막습니다.
얻는 것
데이터 품질
신뢰성
여러 애플리케이션 경로에 같은 규칙을 적용합니다.
오류 조기 발견
잘못된 값이 저장되기 전에 오류로 드러납니다.
운영 비용 감소
고아 참조와 중복 값을 나중에 정리하는 일을 줄입니다.
드는 비용
쓰기 경로 부담
추가 검사
CHECK, NOT NULL, FK 조회가 실행됩니다.
인덱스 유지
PRIMARY KEY와 UNIQUE는 인덱스 갱신 비용을 만듭니다.
대량 적재 지연
많은 행을 넣을 때 제약 검사 시간이 커질 수 있습니다.
기본값
제약을 유지한다
온라인 서비스에서는 처리량보다 정확성이 더 중요한 경우가 많습니다.
대량 적재
통제된 구간에서만 완화한다
비활성화했다면 적재 후 재검증하고 다시 활성화해야 합니다.
튜닝
인덱스와 배치 크기를 조정한다
제약을 없애기보다 FK와 조회 패턴을 인덱스로 받칩니다.