티스토리 뷰





MMO 게임에서 과밀한 게임 인구를 어떻게 해결 했는가에 대한 CCP의 기술적 포스트모템 입니다. 'Single Shard'라는 말은 이 글에서 처음 보았는데 추측 하기론 단일의 DB로 구성된 상태라고 생각했습니다. (잘 아시는 분은 댓글로 이해 좀 증진 시켜주세요) 

교역의 허브가 되어버린 Yulai 지역에서 시작된 문제로 인해 1200명 가까운 플레이어의 로드를 어떻게 기술적으로 해결 해냈는가에 대한 이야기 입니다. 

  1. 우선 서버 OS를 가상메모리가 3GB까지 지원되는 64bit 변경했다. (32bit는 2GB)
  2. Stackless Python을 개발 초기 부터 사용했기 때문에 비동기식 프로그래밍과 멀티스레드 상황에서도 복잡한  locking 이나 synchronization 의 필요를 제거하고 프로그래머는 단순한 작업만 하면 됐다.
  3. DB 튜닝을 계속적으로 하고 정책화 하였다. 
  4. 미래를 위해 전체 데이터베이스를 모두 SSD로 옮겼다.      (0_0) 와우
 
그리고 결론 부분에 아주 마음에 와닿는 말이 있더군요. 

그러나 한계 상황으로 밀어넣는 것이 혁신의 원천이 되고, 전문가의 관점에서 즐겁고, 플레이어의 경험에 새로운 차원을 더해 줄 수 있는 발견에 이르도록 해 준다. “왜 싱글 샤드인가?”라는 질문에 대한 대답은 “모두에게 무언가 보답을 해 줄 수 있고, 도전적이기 때문이다.”라고 답할 수 있겠다.

그리고 이것이 게임에 관한 모든 것이다. 그렇지 않은가?

응. 끄덕 끄덕








저작자 표시 비영리
신고
댓글
  • 프로필사진 newpolaris 자세히는 저도 모르지만, 하나의 DB서버 위에서 돌아가는 것을 의미하는 것 같습니다.
    http://www.gamesetwatch.com/2009/05/opinion_designing_a_single_ser.php :
    We won’t be able to provide meaningful stories in MMOs until we can allow the players to affect the world they play in. Currently, this is impossible because of the nature of “shards”, “mirrored worlds”, or, as they are best known, “servers” (though this last term is somewhat inaccurate).

    http://en.wikipedia.org/wiki/Shard_(database_architecture) :
    Each partition forms part of a shard, which may in turn be located on a separate database server or physical location.
    2010.10.01 03:36 신고
  • 프로필사진 Favicon of http://chauchau0.tistory.com BlogIcon chauchau0 오홋! 감사합니다. ^^ 2010.10.01 10:27 신고
  • 프로필사진 Favicon of http://zerasionz.tistory.com BlogIcon zerasion 우리가 흔히 무슨무슨 서버라고 부르는 단위를 샤드라고 부르더라고요. 울온의 유산 같은 단어로 추정됩니다.
    https://mirror.enha.kr/wiki/%EC%83%A4%EB%93%9C

    라고 답글을 달려고 봤더니 무려 2010년 글이군요... 5년 전!
    2015.01.26 17:47 신고
  • 프로필사진 Favicon of http://chauchau0.tistory.com BlogIcon chauchau0 5년 전 글에 답글 남겨 주시는 깨알 같음 감사드립니다~ 2015.01.27 01:42 신고
댓글쓰기 폼