• Hail Guest!
    We're looking for Community Content Contribuitors to Stratics. If you would like to write articles, fan fiction, do guild or shard event recaps, it's simple. Find out how in this thread: Community Contributions
  • Greetings Guest, Having Login Issues? Check this thread!
  • Hail Guest!,
    Please take a moment to read this post reminding you all of the importance of Account Security.
  • Hail Guest!
    Please read the new announcement concerning the upcoming addition to Stratics. You can find the announcement Here!

울티마 온라인이 데이터베이스에 끼친 영향?

EM Hanarin

UO Event Moderator
UO Event Moderator
Stratics Veteran





스트래틱스에서 재미있는 글을 발견했는데, 이 내용이 좀 오래되긴 했지만 90년대 서버 관련 직군에서 지금처럼 서버를 나누는 그 기술을 "조각화 (Sharding)" 라는 말로 표현하는게 유행했고, 그 어원을 울티마 온라인의 "조각 (Shard)"에서 나왔지 않을까 하는 개인적인 독백이 담긴 내용이었습니다.



확인해보니 울티마 온라인 초창기의 1997년 ~ 1998년 리드 디자이너로 활약하던 사람이며, 이후 스타워즈 갤럭시스와 에버퀘스트 2 등 MMORPG 개발에 많은 참여를 하던 사람이었습니다.



사실 좀 전문적인 이야기는 제가 설명할 수 있는 성질의 것은 아니라 아마 아래에 전문적인 조각화라는 의미를 설명하는 부분은 저도 제가 무슨 말을 하는지 모르겠다 싶을 정도인데 굳이 한 이유는 하단에 울티마 온라인에 관련된 몇 가지 재미있는 사실이 언급되었기 때문입니다.



당시 울티마 온라인의 개발 방향과 그 줄거리가 어떻게 될 것인가에 대한 몇 가지 비화가 나오는데 이 점이 흥미로워서 많은 분들과 공유해보고자 번역해보았습니다.


"조각화 (Sharding)" 데이터베이스가 울티마 온라인에서 나왔다고?





라프 코스터에 의해 게시됨 (2009년 1월 08일)



참고: 조각화라는 말에 익숙하지 않은 분들에게 이 말은 데이터베이스의 확장성을 일컫는 말입니다. 하지만 이 단어에 주목해봅시다. "조각화"라니 참 이상한 말이지 않나요? 왜 데이터베이스를 말하는데 이런 단어를 사용했을까요?



그래서 전 이에 관해서 잠깐 찾아보기 시작했습니다. 이 조각화라는 말은 병렬 데이터베이스 집단을 구동하면서, 전체 데이터베이스를 하나로 구겨넣는 방식이 아닌 적절한 데이터베이스를 색인하는 걸 의미합니다.(주: 컴맹이라 어떤 식으로 표현해야 할지 모르겠네요)



내가 말할 수 있는 건, 구글에서 이 명칭이 나온 이유를 프렌드스터와 플릭커에서 일했던 한 사람으로부터 비롯된 것으로 보인다고 짧막하게 설명하고 있었습니다. 위키피디아에도 이에 관련된 정보가 잠시만 게시되었었는데, 관련 글에서 참고 주석에 이 명칭이 2006년에도 사용되었다는 언급이 있었습니다.



물론 플릭커는 네버엔딩이라는 MMO 게임에서 태어났습니다. 사실, 전 루디코프 (플릭커와 네버엔딩 게임의 제작사)의 사업 계획에서 언급되었고, 스튜어트 버터필드가 제게 자문역을 맡아달라고 했었지만, 당시에 저는 소니와 계약을 맺고 있었기 때문에 자문역을 맡을 수 없었습니다. *한숨* 어쨌거나, 이 "조각" 단어가 업계에서 사용되지 않았다면 전 아마 충격을 받았을 겁니다. 왜냐하면 MMO 게임에서 "조각"은 정말 독특한 역사와 의미를 갖고 있기 때문입니다.



이 조각은 게임 세계 간의 데이터베이스 분할을 의미합니다. 각각의 동일한 정적 구조 데이터베이스 소스를 구동하는 평행 세계 말입니다. 하지만 이들은 대개 "서버"라고 부릅니다. 메리디안 59에선 이걸 오늘날처럼 특정한 명칭으로 부르지 않고 숫자로 불렀습니다.







"조각"은 매우 독특한 유래를 갖고 있습니다. 저희는 플레이어가 울티마 온라인 안에 선택 가능한 여러 세상이 존재한다면 그에 합당한 줄거리가 필요하다고 생각했습니다. 저는 즉시 초기 울티마 세계관에 관련된 수 많은 자료를 탐독했고, 타당한 줄거리를 생각해내려고 했습니다.



제가 생각해낸 줄거리는 이런 것이었죠: 사악한 마법사 몬데인이 수정 안에 소사리아의 정수를 가두어 조종하려고 했고, 울티마 1의 마지막에 이방인이 몬데인을 처치하고 수정을 파괴했을 때, 각 수정 조각들 안에는 소사리아가 투영되고 있었노라고 말이죠.



이 설정에서 조각은 정말이지 매우 신중하게 선택된 단어입니다. 왜냐하면 완전히 새로운 줄거리로 서버를 상징할 수정의 일부의 명칭이기 때문이죠. 예컨데 만약 몬데인이 소사리아를 어떤 기둥이나 그림에 가두려고 했다면, 아마 전 "파편" 혹은 "넝마"라고 지칭했을지도 모릅니다.



그렇지만 울티마 1에서 분명히 몬데인이 힘을 얻었던 근원이 수정임을 명시하고 있기 때문에 저흰 조각이라고 표현했습니다. 그 외에도 저희는 "다중우주"라는 명칭이나 당시 유행하던 좀 매니악한 개념들을 생각해본 적도 있지만 울티마스러운 느낌이 없었기 때문에..."조각"이 되었죠.



이제 그 시간대부터 각각의 평행 우주 속 소사리아들은 서로 나란히 발전해나가게 되는 것이죠. (울티마 온라인은 연대표 상에서 울티마 3과 울티마 4 사이에서 나아갈 예정이었습니다) 차이점이 있다면, 일부 조각의 소사리아에는 아바타가 존재하며 (시간의 군주가 보낸) 그리고 일부 조각의 소사리아엔 아바타가 없을 것이란 점이었습니다.



일부는 감시자 (Guardian)에게 사로잡혀있고, 그 감시자에게 사로잡힌 조각들에서 본질적인 사악한 존재, 그림자군주들이 만들어지는 그런 줄거리를 만들었었습니다. 사실 베타 테스트용 조각은 이 방향대로 흘러가게 할 예정이었습니다. 만일 그 내용을 찾아서 읽어보신다면, 여러분은 지금쯤 네 번째 그림자군주가 등장할 시기라는 걸 알 수 있을 겁니다.




본래 계획했던 울티마 온라인의 전체 지도, 코리 닥터로우 촬영. CC BY-SA​



(본래 두 번째 시대 확장팩에서의 지형은 울티마 3의 암브로시아가 될 계획이었으며, 그 북쪽에는 엑소더스가 등장할 예정이었습니다. 심지어 엑소더스가 있는 곳으로 들어갈 수 있는 회오리 아트까지 만들어놨었죠. 그렇지만 실제 게임엔 반영되지 않았습니다. 뭐 그건 그냥 뒷이야기지만요...)




(아...그리고 왜 울티마 온라인 인트로 영상에서 이방인의 가슴에 앵크가 있었을까요? 왜냐하면 울티마 9이 당시 이미 개발 중이었기 때문입니다. 그때 울티마 온라인 전용으로 새로운 모델을 만들 여력이 없었기 때문이죠. 그래서 울티마 9에서 사용했던 모델을 그대로 가져다 사용한 겁니다. 이로 인해 약간의 설정상 흠이 생겨버리긴 했죠.) - 주: 몬데인을 처치하고 훨씬 나중에 미덕 체제가 생겼기 때문에 앵크가 존재해선 안됐음.



어쨌거나, 저희는 병렬 서버들을 "조각"이라고 불렀고, 이 업계에서 전반적으로 사용하진 않지만 이따금씩 사용되는 용어가 되었습니다. 만약 여러분이 90년대즈음에 MMO쪽에 종사했던 사람들이 서버와 샤드를 혼용해서 쓰는걸 들으실 수 있을 겁니다. 병렬 서버 클러스터를 물리 서버라고 하지 않고 "샤드"라고 말하는 걸 말이죠.



그래서, 이 데이터베이스 용어가 제가 1996년도의 한 오후에 휘갈겨 쓴 이야기에서 나왔냐구요? 음...글쎄요, 확실친 않네요. 하지만 그게 아니라면 상당히 흥미로운 우연일거 같군요.



제가 아직도 관련 문서를 갖고 있나 모르겠군요...


Continue reading...
 
Top