1. OMS

  • 정우현 학우님 : 데이터베이스 설계를 고치는 법
    • 다음 주자: [] 학우님

1.1. 내용

1.1.1. 데이터베이스 설계란?

  • 어떤 데이터를 어떤 형식으로 저장할지, 데이터 사이의 관계를 어떻게 표현할지 설계하는 것

1.1.2. 설계를 잘해야하는 이유

  • 되돌이키기 어려움
  • 원하는 데이터를 빠르게 찾기 위해

1.1.3. 데이터베이스 설계를 고치는 법

  • 배포전
    • 수정하는게 당연
    • DDL, Migration 파일 기록
    • 어떻게 설계를 변경했는지 기록 (코드 or GitHub commit)

  • 배포 직후, 재배포 및 수정가능시기
    • 해당 기능을 숨길 수 있으면 잠시 서비스를 숨겨두고 수정

  • 상용화된지 오래됨 (무중단)
    • 수정하는데 며칠, 몇주가 걸릴 수도 있음
    • copy본에 기존, 새로운 데이터 옮겨줌
    • 수정과 삭제에 대한 로그를 읽어서 copy에 적용
    • 복사, 수정, 삭제 실시간으로 구현
    • rename, 서비스가 바라보는 테이블 이동

1.1.4. 결론

  • 한 번 설계를 잘못하면 고치기 어려움
  • 고칠 수 있을 때 빠르게 고치자

2. Q&A

Q. 숨길 수 있는 단계에서 왜 상용화 도중에 수정하는 방법을 안쓰나요?
A. 많은 사람이 쓰고 있는 기능일 경우 숨길 수 없음

Q. 새로운 column 추가가 어렵나요?
A. MySql 기준으로 새로운 column 추가 기능을 지원함

Q. migration 고려해주나요?
A. 고려해줘서 설계해야함

3. 스터디 진행상황 보고

4. 참여자

5. 댓글


Retrieved from http://wiki.zeropage.org/wiki.php/정모/2022.06.08
last modified 2022-06-26 06:33:48