-
카테고리
-
세부 분야
백엔드
-
해결 여부
해결됨
로그인 프로세스 설명 중 질문
23.10.04 20:35 작성 조회수 163
1
해당 장을 설명해주실 때 철수가 1050번째, 영희가 2050번째라고 가정했을때, 수직 파티셔닝 된 데이터베이스 중 어디에 있는지는 미리 알 수 있는 방법이 있을까요?
답변을 작성해보세요.
0
노원두
지식공유자2023.10.06
안녕하세요! 호정님!
먼저, 질문하신 부분이 수직파티셔닝이 아닌 수평파티셔닝에 해당하는 것 같아서 다시 한 번 확인을 부탁드립니다!
수평파티셔닝(수평파티셔닝된 테이블을 서로다른 DB로 나누는 경우: 샤딩)된 여러개의 테이블을 찾는 방법으로 여러가지 방법이 있지만,
이해하기 쉽도록 핵심 매커니즘 위주로 설명을 드리자면 해시라는 기술을 기반으로하여 응용될 수 있어요!
해시란 다지다, 뭉그러뜨리다, 새로조합하다 등의 뜻으로 원본을 파괴하여 다른것으로 변형하는 의미를 가지고 있어요!
예를들어 볼까요?
데이터베이스가 10개 있다고 가정해 봅시다!(0번, 1번, ..., 9번)
이 때, 회원번호를 10으로 나눈 나머지(회원번호 % 10)를 해시값이라 칭하면 127번 유저는 해시값7(127 % 10)을 가지게 되겠죠?!
따라서, 7번 데이터베이스 저장하면 될 것 같네요!
이는 아주 단순한 예제에 불과하며, 숫자 뿐만 아닌 문자도 해시가 가능합니다!
이러한 원리를 기반으로 데이터베이스 샤딩을 공부하시면 많은 도움이 될 것 같네요!^^
답변 1