온라인 스키마 변경 중에 어떤 일이 발생하나요?

Ryan Lecha -

ClustrixDB에서 온라인 스키마 변경하는 동안 다음과 같은 일들이 발생합니다.

  • Begin/Copy 단계: 원본 테이블의 복사가 시작됩니다. 이 사본은 작성된 그래도 alter를 적용합니다. 큐가 생성됩니다. 복사가 일어나는 동안 큐는 원본 테이블에 대한 모든 쓰기를 기록됩니다.
  • Replay 단계: 복사가 완료되었으므로 큐는 복사가 진행되는 동안 발생했던 모든 쓰기를 재생하기 시작합니다. 이 시간 동안 모든 새로운 쓰기는 여전히 이전 테이블 및 큐에 적용됩니다.
  • Flip 단계: replay가 종료되고 alter가 완료되었습니다. alter 전이나 도중에 발생했던 트랜잭션은 이전 테이블 및 큐(새 테이블에 즉시 재생됨)에 쓰고 새 트랜잭션에서 쓰기는 새 테이블과 이번 테이블 모두에 쓰여집니다.
  • Cleanup 단계: alter가 완료된 시간보다 오래된 트랜잭션이 없는 경우 이전 테이블 및 해당 큐가 정리되고 사용된 공간이 다시 확보됩니다.

큐는 새 테이블의 각 replica에 대해 생성됩니다. 그래서, alter를 실행한 테이블에 12개의 슬라이스가 있으면, 24개의 큐가 생성됩니다. 이러한 큐는 각각 자신이 위치한 디스크만큼 커질 수 있습니다. 이 작업에서 디스크가 가득 차면, alter가 실패하고 롤백 됩니다.

ClustrixDB에서 ALTER에 관한 더 자세한 정보는 문서: Online Schema Changes를 참고하십시오.

또 다른 질문이 있으십니까? 문의 등록

0 댓글

댓글을 남기려면 로그인하세요.
Zendesk 제공