← 질문 목록
#338깊이 0

데이터가 한 대에 안 들어가면 어떻게 나누는가?

데이터베이스기초확장성

무엇을 기준으로 나눌지 정하고, 그 값을 보고 어느 조각으로 보낼지 정한다.

  1. 그다음은 라우터입니다. 사용자 1234의 주문을 달라

    라우터
  2. 그다음은 샤드 B입니다. 1234는 B가 맡는다

    샤드 B
  3. 그다음은 앱입니다. 그 사용자 것만 돌려준다

기준이 되는 값을 샤드 키라 부른다. 이것을 잘못 고르면 한쪽만 뜨거워진다. 가입일로 나누면 최근 가입자가 몰린 조각만 일한다.

조각을 걸치는 질의가 비싸다. 사용자로 나눴는데 상품별 집계를 물으면 모든 조각에 묻고 합쳐야 한다.

조각 사이의 트랜잭션도 어렵다. 한 조각 안이면 평소대로 되지만 둘을 걸치면 두 단계로 맞추거나 아예 안 걸치게 설계한다.

조각 수를 바꾸면 키를 다시 배치해야 한다. 나머지 연산으로 나눴다면 대수가 바뀔 때 키가 대거 옮겨 간다. 둘로 늘리면 절반쯤이고, 하나만 더 붙이면 그보다 훨씬 많다.

추천 꼬리질문

0/300

적은 내용은 AI 학습에 쓰일 수 있습니다. 이름이나 연락처는 넣지 말아 주세요.

관련 질문

데이터가 한 대에 안 들어가면 어떻게 나누는가?