NoSql option for MMORPG

I was wondering what advantages the nosql option might have, instead of or in combination with rdbms for a typical MMORPG. In particular, I'm curious how data integrity is maintained in nosql.

I will give some examples in which I am a little confused as to how the server logic will work:

Scenario 1: Let player A and B of attacker C speak at the same time. Player player_stats.kill_count is updated depending on which player kills player C. Typically, this AttackPlayerRequest can be processed as follows:

Transaction Start {attacker.health = newAttackerHealth

defender.health = newDefenderHealth

if a defender. Health == 0 {attacker.stats.kills + = 1}}

Scenario 2: Player A sells an item to an NPC vendor and quickly tries to drop the same item from his inventory onto the ground. (Even if you UI forbade this, they can, of course, just put events on the wire).

This list, obviously, continues and affects almost every interaction of the player with the player-player. One of the latest information is that the server is pierced by the flow, since we do not want a particularly long request to block other players from being able to do simple things in the game.

I think my big question is here, I don’t understand something about nosql, in which is this trivial problem? If not, does that go beyond what nosql solutions are for the solution? In a typical MMO, where can you enter nosql options to improve server performance?

+5
4

, .

NoSQL

Farmville facebook NoSQL. , . , Farmville 3 . 1 -. 2 -. 3 . Facebook -, . . 1 2 3 , , , - .

NoSQL , - .

SQL

SQL Work, , NoSQL

10 , SQL Database + 1 Sub Master. 10 , , 1 , , 10 , .

Sub Master . - -, . Weed -, , , - .

, World of Warcraft, SQL, . , .

, , , .

+4

, MMO , . , . , , , .

, , .

+2

MMORPG, , , , . , , .

, HDD, RDBMS NoSQL, . , , , , , .. 10 000 , HHD, , . 2 , , - , . , , .

MMORPG, , (NoSQL, MySQL ..)

farmville neopets, , NoSQL MySQL .

+1

, nosql - , , . , H-base (hdfs), .

, "", , ( ). petascale , , "" . ( ), .

, , , , , node. Pig (http://pig.apache.org/) Hive (http://hive.apache.org/) hdfs, SQL- , mapreduce . , . , .

, , . , , , . , . ( , , ).

Hdfs datasets are mostly processed at a specific point in time, after which the results are published in one batch. For example, on a social networking site, you collect all connection data daily, search for all new connections between people, and when the operation is completed for all people in the data set, the results will be published in a typical 'X is now connected to Y' messages. This is not happening in real time.

0
source

All Articles