nosql 옵션이 일반적인 MMORPG 대신 rdbms와 함께 또는 어떤 MMORPG 옵션과 함께 제공되는지 궁금합니다. 특히, nosql에서 데이터 무결성을 유지하는 방법에 대해 궁금합니다.MMORPG를위한 NoSql 옵션
시나리오 1 :의 동시에 플레이어 A와 B 공격 플레이어 C를 가정 해 봅시다
는 내가 서버 논리가 작동 할 방법으로 가지 혼란 스러워요 몇 가지 예를들 수 있습니다.
이 거래 { attacker.health = newAttackerHealth
defender.health = newDefenderHealth
를 시작하십시오 player_stats.kill_count이 선수 C. 일반적으로 사망 중 플레이어 업데이트됩니다, 하나는 다음과 같은 방법으로이 AttackPlayerRequest을 처리 할 수경우 defender.Health == 0 { attacker.stats.kills + = 1}}
시나리오 2 : 플레이어 A SE 아이템을 NPC 벤더에 보내고 같은 아이템을 인벤토리에서지면으로 신속하게 떨어 뜨립니다. (UI가 이것을 허용하지 않는다고해도, 그들은 단지 이벤트를 유선에 넣을 수 있습니다.)
이 목록은 분명히 모든 플레이어와 플레이어의 플레이어와 세계의 상호 작용에 영향을줍니다. 정보의 마지막 부분은 다른 플레이어가 게임에서 간단한 일을 할 수 없도록 특별히 긴 요청을 보내지 않기를 바라는 것처럼 서버가 스레드라는 것입니다.
여기 내 큰 질문이있는 것 같아요.이게 사소한 문제가있는 nosql에 대한 오해입니다. 그렇지 않은 경우, nosql 옵션이 해결할 도메인의 범위를 벗어나는 것입니까? 일반적인 MMO에서 nosql 옵션을 사용하여 서버 성능을 향상시킬 수있는 곳은 어디입니까?
게임 개발과 관련된 질문이므로 http://gamedev.stackexchange.com/에서 더 나은 답변을 얻을 수 있습니다. – HoLyVieR
대부분의 NoSQL 시스템은 트랜잭션을 지원하지 않습니다. 당신이 그들을 필요로합니까? – TTT
데이터 무결성을위한 기능이있는 NoSQL 시스템이 있다고 나는 생각하지 않습니다. 이것은 응용 프로그램에서 수행해야하는 작업입니다. 물론 NoSQL 그룹은 매우 다양한 그룹이므로이 일반적인 규칙에 예외가있을 수 있습니다. – TTT