table lock 없이 alter table을 할 수 있을까?
소프트웨어 개발자가 개발 초기부터 완벽한 데이터 모델링을 설계하기는 불가능합니다. 그래서 서비스를 운영하면서 스키마를 수정하는 일은 흔하게 발생합니다. 이 때 서비스의 가용성을 포기하게 된다면 고객에게 불편함을 초래하게 됩니다. 흔히 컬럼을 추가하거나 변경하는 DDL을 서비스의 가용성을 확보하면서 진행하는 방법이 있을까요? 그 방법을 마틴 파울러의 글과 Online DDL을 중심으로 알아보았습니다.