SSAFY-Seoul-20-Study / book-system-design-interview

1 stars 1 forks source link

[3주차]_5장~6장_안정해시설계_키값저장소설계_최세은 #16

Open ChoiSeEun opened 7 months ago

ChoiSeEun commented 7 months ago

5장. 안정 해시 설계

  1. p.81 해시 공간 원래 해시 공간에는 키만 배치되는 것이 아니라 서버까지 같이 배치되는건가요?
  2. p.81 균등 분포 해시 함수 서버와 키를 균등 분포 해시 함수를 사용해서 배치한다고 나와있는데, 균등 분포 해시 함수가 어떻게 구성되는지 부가적으로 설명을 듣고 싶습니다.
  3. p.85 가상노드 가상 노드가 키의 불균등 분포를 해결하는 방법으로 제시되어 있는데, 각 서버별로 몇 개의 가상 노드를 가져야 불균등이 해결될지는 어떻게 판단하나요?
  4. p.85 가상노드 가상 노드 방식에서도 파티션의 크기가 불균등한 문제는 해결할 수 없는건가요?
  5. p.87 가상노드 가상 노드 데이터에는 어떤 값이 포함되어서, 개수가 늘어나면 저장할 공간이 많이 필요해지나요?
  6. p.89 안정해시 교재에 언급된 안정해시를 적용한 예시 중 한 가지에 대해 자세히 알아보면 좋을 것 같습니다. 실제로 어떤 식으로 구현되는지 궁금합니다.

6장. 키-값 저장소 설계

  1. p.91 키-값 저장소 해시는 충돌이 발생할 수 있고, 충돌이 발생하면 유일성이 보장되지 않는데 이런 경우에도 키로 사용이 될 수 있나요? 아니면 충돌을 방지하기 위한 다른 제약이 존재하나요?
  2. p.93 CAP 정리 파티션이 일어날 수 있는 상황에는 어떠한 것들이 있나요?
  3. p.98 안정해시 안정 해시를 사용하여 데이터를 파티션하는 경우, 규모 확장 자동화를 어떻게 구현할 수 있나요?
  4. p.104 벡터 시계 백터 시계의 임계치를 설정하는 방법은 어떤 것들이 있나요?
  5. p.105 장애 감지 왜 한 대 서버가 장애를 보고하는 경우에는 장애처리하지 않나요?
  6. p.106 가십 프로토콜 특정 노드가 멤버십 목록을 보고 다른 서버의 박동 카운터를 확인하는 과정도 주기적으로 일어나나요? 아니면 박동 카운터 확인 > 박동 카운터 목록 보내기 순으로 이뤄지나요?
  7. p.107 느슨한 정족수 접근법 건강한 W개 혹은 R개의 서버가 없는 경우 해당 접근법을 사용할 수 없나요?
  8. p.107 임시 위탁 기법 임시적으로 처리할 서버는 어떻게 정해지며, 그에 따른 단서는 어떻게 저장되나요?
  9. p.112 SSTable SSTable의 대략적인 구조와 SSTable에 저장하는 이유가 궁금합니다.
  10. p.113 읽기 경로 디스크에서 읽어온 데이터를 메모리 캐시에 저장하지 않고 바로 클라이언트에 반환하나요?
  11. p.113 블룸필터 블룸 필터를 통해 어떻게 저장되어 있는 SSTable을 찾아낼 수 있는지 궁금합니다.
SunghoLee98 commented 7 months ago

5장

  1. 전체 해시공간을 서버들이 n빵해서 담당하는 겁니다~~
  2. p.84에 있는데 한참 찾았네요 ^^ 대충 엔트로피가 적당한, 한쪽에 몰리지않고 균등하게 해시해주는 알고리즘인듯?
  3. 좋은 질문이네요~~ 저도 궁금해요
  4. 이미 파티션의 크기는 일정한 것 아닌가요? 다만 한쪽에 키 배정이 몰릴 수 있으니, 가상 노드를 애초에 최대한 잘게 짜르면 그러한 문제를 거의 해소 할 수 있을겁니다(다만 가상 노드를 저장하는데 소요가 커질 겁니다)
  5. 이사람아 주소값이든, 저장할 키가 어느 노드에 배정을 해야하는지는 알아야 찾아갈 것 아니냐
  6. 좋은 질문이네요~~ 저도 궁금해요
KimJyun commented 7 months ago

DynamoDB

Dynamo: Amazon’s Highly Available Key-value Store 논문 정리

DynamoDB 논문을 정리해놓은 글이 있어 가져왔습니다.

위 내용을 정리하자면,

저희가 책에서 학습한 내용을 모두 사용하고 있다고 생각하시면 될 것 같습니다!

그리고, Dynamo는 균일한 부하 분산을 보장한다고 합니다. image

추가적으로, 장애 감지와 해결 방법, 성능 등 자세한 내용이 있으니 한 번 읽어보시는 것을 추천합니다!(맨 위 링크)

아래는, 안정 해시에 대한 논문인데, 자세한 안정 해시를 알고 싶다면 아래 논문을 참고해주세요!

안정 해시 논문: Consistent Hashing and Random Trees: Distributed Caching Protocols for Relieving Hot Spots on the World Wide Web