-
스키마 버전은 데이터 모양이 바뀌는 시간을 기록하는 방법입니다AI Agent 2026. 8. 5. 17:00728x90반응형

스키마 버전은 과거 데이터와 새 코드를 동시에 다루기 위한 약속입니다. 코드는 오늘 바꿀 수 있습니다.
데이터는 어제 만든 것도, 작년에 만든 것도 남아 있습니다.
그래서 필드 이름을 바꾸거나 구조를 나누면 새 코드가 과거 데이터를 읽어야 하는 순간이 옵니다.
스키마 버전은 그 시간을 버티기 위한 표시입니다.버전은 파일 이름이 아니라 해석 규칙입니다
version: 2라고 적는 것만으로는 부족합니다.
v1은 어떤 필드를 가지고, v2는 무엇이 추가됐고, v1을 v2처럼 읽을 때 어떤 기본값을 줄지 정해야 합니다.
버전은 숫자가 아니라 파서와 마이그레이션 규칙까지 포함한 계약입니다.읽기 호환성을 먼저 확보합니다
안전한 순서는 보통 읽기부터입니다.
새 코드가 v1과 v2를 모두 읽을 수 있게 만든 뒤, 쓰기를 v2로 바꾸고, 마지막에 오래된 데이터를 천천히 옮깁니다.
한 번에 전부 바꾸려 하면 배포 중간에 어떤 서버는 예전 모양을 쓰고 어떤 서버는 새 모양을 읽는 시간이 생깁니다.언제 버릴지도 버전 설계입니다
하위 호환 코드는 영원히 둘 수 없습니다.
어느 시점에 v1 데이터를 모두 마이그레이션했는지 확인하고, 더 이상 v1이 들어오지 않는다는 지표를 본 뒤, 파서를 지워야 합니다.
스키마 버전 관리는 추가보다 삭제 계획이 더 중요합니다.마지막으로 확인할 것은 하나입니다.
이 개념을 외웠는지가 아니라, 실패했을 때 어떤 상태가 남는지 설명할 수 있는지입니다.728x90반응형'AI Agent' 카테고리의 다른 글
트랜잭션 경계는 같이 성공하거나 같이 실패해야 하는 범위입니다 (0) 2026.08.05 캐시 무효화는 빠른 값을 저장하는 문제가 아니라 낡은 값을 버리는 문제입니다 (1) 2026.08.05 프롬프트는 규칙이 아니고, exit 1이 규칙이었다 (0) 2026.08.05 백프레셔는 빠른 생산자에게 천천히 보내라고 말하는 구조입니다 (0) 2026.08.04 레이스 컨디션은 코드 순서가 아니라 실행 순서가 바뀌는 버그입니다 (0) 2026.08.04