본문 바로가기

TEAM STUDY/가상 면접 사례로 배우는 대규모 시스템 설계 기초

[스터디 기록 📋] #샤딩 #면접자세 #면접의도파악 #자동화 #로그,매트릭 그리고 자동화#데이터베이스 규모 확장 #수평적확장 #수직적확장#백만 사용자 그리고 그 이상#모든 프로그래머가 알아..

728x90
반응형

2022 02 09 - 오늘의 스터디 🙋‍♀️

 

#샤딩 #면접자세 #면접의도파악 #자동화 

#로그,매트릭 그리고 자동화

#데이터베이스 규모 확장 #수평적확장 #수직적확장

#백만 사용자 그리고 그 이상

#모든 프로그래머가 알아야 하는 응답지연 값

#가용성에 관계된 수치들

#트위터 QPS 와 저장소 요구량 추정  

 

 

혜지 🙂

저는 느낌 점은 이렇게 가까이 사실 면접 부분보다는

저는 앞에 있는 부분이 조금 저한테는 많이 와 닿았거든요.

저는 이제 실제로 검색 엔진에 샤드라는 개념이 있어서

근데 여기에도 샤드 부분에 중간에도 있지만 샤드로 한다고 해서 모든 게 다 완벽하지 않아서

실제로도 검색 엔진 엘라스틱에 자동 샤딩을 해 주는데도

그 자동 샤딩이 제대로 안 돼서 임의로 샤딩을 옮기는 경우가 있어요.

여기 쓰여있는 것처럼 재샤딩 이런 게 있어서 그거 보면 좀 그런 거 익숙한 개념이지만

다시 한 번 알게 되는 시간이었어요

 

 

주완 😕

케이스가 뭐

가 있어 ? 그러면 데이터가 차에 꽉 차서 ..

 

 

혜지 🙂

우리는 조인을 쓰지 말라고 하는데도 검색엔진 내부에 조인을 쓰는 데이터들이 간혹 있잖아

댓글 같은 거 근데 그렇게 되면은 샤딩을 하기 위해서

여기에도 나와 있지만 그 아이 키 값이 있잖아

그 키 값을 우리는 문서번호로 쓰는데 기사랑 댓글이 있으면은

기사랑 댓글은 같은 샤드에 있어야 돼

같은 샤드를 공유하는 같은 서버에 있어야 되는 거예요.

그리고 이렇게 그러니까 라우팅을 하는데 그 키로

나는 이 기사가 여기 있으니 댓글은 이 기사의 댓글은 여기로 무조건 와야 돼

그러면 이제 특정한 기사가 댓글이 엄청 많아

그러면은 그 서버에 언론 데이터만 만약에 몰려 있다고 하면은

그 서버에 있는 샤드들이 부하가 생기는 거지

그래서 그런 것 때문에 자동이 아니라 자동이 있는데도 불구하고 옮긴 적이 있어

그래서 그런 게 조금 안 좋았어서 이런 것도 생각이 났고

우리는 이제 모니터링을 설치만 해놓고 안 하는 것 같아서

여기 모니터링 써있는데 프로매테어스 ??? 그거를 도입을 하면

이런 자동화하는 데 도움이 된다고 해서 빨리 도입을 해야겠다.

이런 생각이 들었어요.

 

 

준언 😤

거기는 문서번호로 이렇게 나눠지는거에요 ?

 

 

혜지 🙂

문서 번호라는 개념도 쓰고 다른 아이디 값을 아까 여기에도 있었는데

문서 번호에 관련된 걸 해시를 따로 처리를 하는 거죠.

그 문서 번호는 키로 갖고 있는 거고 실제로 그 데이터가 들어있는 거를

이제 문서 번호의 어떤 특정 해시 값으로 갖고 있어요. 검색엔진

 

 

주완 😕

그럼 이런 밸런싱 같은 경우에는 우리는 기간으로 하잖아

 

 

혜지 🙂

그치 그게 되게 비합리적인 거지

 

주완 😕

그게 비합리적이야 ?

 

 

혜지 🙂

안 좋아 원래 다른 데는 우리는 이제 특정 기간을 월 월 월 이렇게 하는데

다른 데는 제일 많이 검색되는 건 일 뭐 시간 단위로 하고

제일 검색 잘 안 되는 애들은 월 연 뭐 이렇게 다 좀 다르게 하는데 그런 식으로 해야 되지

 

 

주완 😕

하긴 여러 샤드가 그게 사용이 안 돼

일 부분의 샤드만 계속 사용되니까 ?

굉장히 안 좋네 ..

그런데 왜 우리 자꾸 서버 올려달라는거야 ?

 

 

혜지 🙂

데이터가 계속 과거 데이터도 공급을 해야 된다 이러니까 그 데이터를 넣을 공간이 없는 거잖아

 

 

주완 😕

디스크만 꽂으면 되잖아.

 

 

혜지 🙂

디스크 디스크를 꽂는 거에도 한계가 있으니까

아까 했잖아 한 서버에 디스크를 계속 추가를 하면

그것도 결국에는 그 서버가 날아갔을 때 문제가 생기는 것도 있는 거고

 

 

주완 😕

아 ..

 

 

준언 😤

수직적 확장 해야겠네

 

 

주완 😕

왜냐하면 하둡 같은 경우에는 보면 하나의 서버에다가

하드를 보통 막 거의 2테라바이트 짜리 하드를 16개씩 꽂아

근데 놀이 하다 보면은 대부분 한 서버당 2테라 밖에 안 되잖아

근데 그게 너무 낭비 아닌가 근데 그런데도 cpu는 로드가 놀잖아 그래서 차라리 하드를 늘리는 게 낫지 않냐

 

 

혜지 🙂
그래서 검색엔진 서버가 놀고 있는 게 있으니까

그거를 이제 도커를 만약에 쓰면은 엘라스틱 용으로는 이 부분만 쓰고

나머지 가용 안 쓰고 있는 부분은 그렇게 하자

데이터가 지금 되고 있는 것들을 이제 날릴 가능성이 있으니까

마음대로 쉽게 못하는 거지 그래서 테스트만 하고 실제로는 못하고 있지 그래서

 

 

주완 😕

왜냐하면 그게 엘라스틱 서치 볼륨이 계속 있는데 그 볼륨을 그럼 어디서 그거를 관리를

 

 

혜지 🙂

볼륨 관리를 그냥 안 한다 그냥 데이터만 삭제하고 관리를 안 하는 거지

 

 

주완 😕

나중에 이야기하자 ..

 

 

혜지 🙂

죄송해요. 알아서 하겠습니다.

 

 

주완 😕

미안합니다 시간 뺏었지 ..

 

 

효정 🤗

일단 책에 들어서 한번 정리하는 것도 좋긴 했는데 방금 혜가 실무에서 이렇게 뭔가 했던 경험들도 한번 들어보는 것도 되게 좋았고요

그다음에 면접 ... 이것도 도움이 됐으면 좋겠네요. 네

 

 

주완 😕

아니 면접관으로 들어갈 수도 있잖아요 ㅎㅎㅎ

 

 

정민 🤣

네 저도 이게 언젠가 어떤 용도로 쓸지는 모르겠지만

업무에 관한 내용이 있어서 재밌었고 그리고 샤드나 샤드인 같은 경우는

저희는 실무에서 사용한 적이 없어가지고 이 개념 자체를 ..

근데 어찌 됐건 두 분은 미안하다고 하셨지만 어찌 됐건 이런 실무을 접함으로써

저도 좋았고 어찌 됐건 책으로 지금 이걸로도 접해서 좋았고

네 그리고 그 외에는 면접 관련된 내용이 주였어가지고 그 외에는 네 느낀 점은 없습니다

 

 

준언 😤

저도 샤들 이런 거에 대해서 잘 몰라서 물어봤는데 우리 회사에서도 실무에 쓰고 있는 거 보니까

저도 알아야 될 것 같고 그리고 면접에 대해서도 많이 알게 돼서 ㅎㅎ

 

 

주완 😕

나는 물론 여기 앞에서 나온 내용들도 되게 좋기는 했는데

이런 마지막에 보면 이제 설계를 어떻게 해야 되나

30 페이지에 이제 웹 계층 무상 퇴계층 이런 부분들이 보면은

어떻게 보면 매뉴얼적으로 이런 게 나와 있으니까

이런 거를 알려주는 사람이 없으면 솔직히 이런 매뉴얼 가장 좋잖아요.

그래서 이 부분 되게 나중에 한번 혹시나 내가 웹 설계한다고 하면 여기 한번 볼 것 같고

그리고 응답 지원값 쪽에 보면 응답 지원값 34 페이지 보면

이게 항상 메모리를 산정하는 게 좋다라고는 알고 있고

네트워크를 안 통하는 게 좋다라고 알고 있는데

그게 도대체 얼마나 차이가 나느냐 라는 거를

좀 수치상으로 이거를 볼 수 있는 게 되게 좋았어요.

그래서 프로그래밍 할 때 좀 더 도움이 될 것 같아요.

면접은 뭐 나중에 볼 때 다시 한 번 봐야겠다.

꼭 봐야겠다라는 생각이 들었어요

왜 내가 면접 볼 수도 있잖아.

 

 

수빈 🙄

제가 선배님한테 면접 보러 갈 수도 있고

 

 

주완 😕

그런 일이 있을 수도 있지

 

 

수빈 🙄

저는 이거 앞에서 솔직히 업무랑 업무랑 연관이 안 돼서 잘 와닿지가 않았는데

혜지 선배랑 주완 선배 말하는 거 보고 저럴 때 쓰는 거구나 싶었고

뒤에 면접 같은 경우에는 뭔가 입장 바꿔서

제가 개발할 때 어떤 식으로 접근해야 될지 생각할 수 있었던 것 같아요.

끝입니다

 

 

주완 😕

근데 이거 외국인이 쓴 거잖아 그런데 면접 내용 보면서 우리나라 면접이랑 다르지가 않네 ㅎㅎ


 


 

728x90
반응형