Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Redis edu 5

2,805 views

Published on

  • Be the first to comment

Redis edu 5

  1. 1. REDIS charsyam@naver.com 데이터 분배 전략
  2. 2. 데이터 분배
  3. 3. Range
  4. 4. Range 1~백만: 1번 백만1~2백만: 2번
  5. 5. Range Range가 너무 크면 서버별 사용 리소스가 크게 차이날 수 있다.
  6. 6. Range 서버 추가 시에 Range 조 절이 없으면 데이터 이동 이 없다.
  7. 7. Range User #1 User #10 User #1000000 User #1000001 User #1000100 User #2000000 User #2000001 User #2000200 User #3000000 ServerUser #1000005 2
  8. 8. Modulo
  9. 9. Modulo Id % 서버대수 = k
  10. 10. Modulo 서버 대수에 따라서 데이 터 이동이 많아짐.
  11. 11. Modulo 가능하면 2배씩 증가하는 게 유리.
  12. 12. Modulo Logical Shard Physical Shard
  13. 13. Modulo User #1 User #4 User #7 User #2 User #5 User #8 User #3 User #6 User #9 ServerUser #1 1
  14. 14. Consistent Hash
  15. 15. 서버의 추가/제거 시에 1/n 정도의 데이터만 사라 진다. Consistent Hash
  16. 16. 다른 방식은 데이터의 서버 위치가 고정적이지만, CH 는 유동적 Consistent Hash
  17. 17. A Add A,B,C Server
  18. 18. A B Add A,B,C Server
  19. 19. A B C Add A,B,C Server
  20. 20. A B C 1 Add Item 1
  21. 21. A B C 1 2 Add Item 2
  22. 22. A B C 1 2 3 4 5 Add Item 3,4,5
  23. 23. A B C 2 3 4 5 Fail!! B Server
  24. 24. A B C 1 2 3 4 5 Add Item 1 Again -> Allocated C Server
  25. 25. A B C 1 2 3 4 5 1 Recover B Server -> Add Item 1
  26. 26. Indexed
  27. 27. Indexed 해당 데이터가 어디 존재하 는지 Index 서버가 따로 존 재
  28. 28. Indexed 해당 데이터가 어디 존재하 는지 Index 서버가 따로 존 재
  29. 29. Indexed Index 변경으로 데이터 이 동이 자유롭다.
  30. 30. Indexed Index 서버에 대한 관리가 추가로 필요.
  31. 31. Indexed User #1 User #2000 User #1000000 User #2 User #2001 User #10000 User #3 User #6 User #5000 ServerUser #5000 3 Index Server User 5000 is in 3
  32. 32. 그외 이슈들 캐시는 얼마나 둬야 할까? 또는 사이징? Multiget Hole 문제 로컬 캐쉬
  33. 33. 캐시 사이징 최근의 추세는 캐시빨… 데이터량, 처리 속도등을 고려해야 함 캐시 서버가 몇대까지 죽어도 괜찮을까? 장비가 많은것 보다는 좋은 장비에 여 러 개 띄우는게 더 유리…
  34. 34. 로컬 캐쉬 보통은 Remote Cache Network, Latency, 성능등의 이슈 적절한 로컬 캐쉬를 사용하면 유리 Expire Time을 짧게 가져감
  35. 35. Multiget Hole 친구의 정보를 가져올 때… 캐시 서버가 1대에서 3대로 늘면… 정말 캐시 서버의 부하는 1/3일까요? 내 친구 모두를 가져오면…
  36. 36. Thank you.

×