답변 2
4
[변하지 않는 고정 데이터]는 데이터시트 (json/xml)로 관리하고
[유저마다 다른 데이터]는 데이터베이스(MySQL, MSSQL 등)에 저장합니다.
변하지 않는 데이터 함은 예를 들어 아이템의 고정 능력치를 예로 들 수 있겠네요.
롤에서 [무한의 대검]이라는 아이템의 옵션이
가격 3800, 공격력80, 치명타 25% 이라고 가정하면,
모든 [무한의 대검]은 다 동일한 옵션을 가질테니,
이를 일일히 따로 저장하기 보단 [무한의 대검]이라는 무기의 정보를 json으로 관리하게 됩니다.
예)
{
"itemTemplateId": "1",
"name": "무한의대검",
"attack": "80"
}
그러나 MMO에서 모든 유저가 다 동일한 아이템을 들고 있는건 아니겠죠.
그래서 유저마다 인벤토리에 어떤 아이템을 소지하고 있는지를
DB의 Item 테이블에서 따로 관리를 하게 됩니다.
ex) userDbId / itemDbId / itemTemplateId
물론 그렇다고 세부적인 공격력 등의 수치까지 저장할 필요는 없고,
DB에 있는 정보에 데이터시트 번호도 같이 기입해
세부 정보는 데이터시트를 참조하게끔 만들면 됩니다.
0