에스티의 지불을 Vitess와 함께 확장하는 방법: 1... 노트

에스티의 지불을 Vitess와 함께 확장하는 방법: 1부 – 데이터 모델

2020년에 Etsy의 지불 데이터베이스는 확장성 문제를 겪어 Vitess가 관리하는 샤딩 환경으로 마이그레이션해야 했다.이 프로젝트는 4개의 데이터베이스에서 40억 행을 Vitess vindexes를 사용하여 샤딩하는 단일 샤딩 환경으로 이동하는 것을 포함했다.첫 번째 단계는 판매자 대장 인프라스트럭처를 마이그레이션하는 것이었다. 이는 샤딩에 적합한 이상적인 데이터 모델을 가지고 있었다.두 번째 단계는 주요 지불 데이터베이스의 부하를 줄이는 데 초점을 맞추었다. 이는 더 맞춤화된 접근 방식을 요구하는 복잡한 데이터 모델을 가지고 있었다.두 번째 단계에서 고려된 두 가지 옵션은 다음과 같다: 핵심 데이터 모델을 재구성하거나 기존 모델 내에서 샤딩기를 찾는 것이다.시간 제약과 신뢰성 유지의 중요성으로 인해 후자 옵션이 선택되었다.팀은 기존의 기본 및 외래 키를 샤딩기로 사용하여 첫 번째 단계보다 작업량을 줄였다.Vitess의 재샤딩 기능은 향후 샤드 설계에 대한 조정의 유연성을 제공한다.Vitess의 보조 인덱스는 비이상적인 데이터 모델의 제한을 완화하여 쿼리에서 샤딩기를 사용하지 않고도 샤드 대상 지정이 가능하다.이 마이그레이션은 확장성을 60% 개선하고 향후 성장에 대한 여유를 제공했다.