inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

11-로그인 프로세스 이해

로그인 프로세스 설명 중 질문

해결된 질문

287

박호정

작성한 질문수 43

1

 해당 장을 설명해주실 때 철수가 1050번째, 영희가 2050번째라고 가정했을때, 수직 파티셔닝 된 데이터베이스 중 어디에 있는지는 미리 알 수 있는 방법이 있을까요?

javascript node.js express docker tdd rest-api nestjs

답변 1

0

노원두

안녕하세요! 호정님!

먼저, 질문하신 부분이 수직파티셔닝이 아닌 수평파티셔닝에 해당하는 것 같아서 다시 한 번 확인을 부탁드립니다!

수평파티셔닝(수평파티셔닝된 테이블을 서로다른 DB로 나누는 경우: 샤딩)된 여러개의 테이블을 찾는 방법으로 여러가지 방법이 있지만,

이해하기 쉽도록 핵심 매커니즘 위주로 설명을 드리자면 해시라는 기술을 기반으로하여 응용될 수 있어요!

 

해시란 다지다, 뭉그러뜨리다, 새로조합하다 등의 뜻으로 원본을 파괴하여 다른것으로 변형하는 의미를 가지고 있어요!

 

예를들어 볼까요?

데이터베이스가 10개 있다고 가정해 봅시다!(0번, 1번, ..., 9번)

이 때, 회원번호를 10으로 나눈 나머지(회원번호 % 10)를 해시값이라 칭하면 127번 유저는 해시값7(127 % 10)을 가지게 되겠죠?!

따라서, 7번 데이터베이스 저장하면 될 것 같네요!

이는 아주 단순한 예제에 불과하며, 숫자 뿐만 아닌 문자도 해시가 가능합니다!

이러한 원리를 기반으로 데이터베이스 샤딩을 공부하시면 많은 도움이 될 것 같네요!^^

1

박호정

아 수평파티셔닝에 대한 질문이었습니다~! 샤딩한 경우 해시 등의 기법으로 찾아내는 군요! 설명 감사합니다

그래프 ql 문서 사용할때 느낌표 남는거 어떻게 없애나요?

0

84

2

강의 전체 소스 코드를 받고싶습니다.

0

76

2

fontawesome 사용 문의

0

79

2

소스 코드 부탁드립니다~

0

85

2

깃 레포지터리 소스

0

85

2

커리큘럼12.css 정렬 에 나오는 과제 정답알고싶어요

0

73

2

10-01 Entity TypeOrmModule.forRoot 에 entities

0

88

3

강의 버전관련 문의입니다

0

103

2

Ubuntu 설치 관련

0

61

1

schema.gql 질문 드립니다.

0

51

1

서버 재실행시 Many to Many

0

102

3

input 관련 문의

0

90

2

Rest API 보다는 graphql이 주된 내용인데

0

131

2

강의 전체 소스코드 받을수있을까요?

0

156

1

도커볼륨 마운트 관련

0

127

2

findOne 타입스크립트오류

0

109

1

http => htrtps 호출 인증서 신뢰 오류

0

353

1

self-signed certificate in certificate chain 에러 발생

0

417

1

mongoose 설치 오류

0

142

1

특정 API, 특정 IP 허용 (단일경로에 CORS 활성화)

0

283

2

08-06

0

180

3

구조랑 패턴 관련해서 질문

0

125

2

mydocker

0

128

2

coolsms statuscode 2000 인데 전송안돼는 경우 확인.

0

156

1