Font Size: a A A

Cassandra Data Management For MMO Games And The Implementation Of Integrated Website

Posted on:2015-12-22Degree:MasterType:Thesis
Country:ChinaCandidate:Abdullah Alqwbani M H SFull Text:PDF
GTID:2298330434454001Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
With the popularity and success of massively multi-player online games (MMOGs), the game’s industry has grown to entertain tens of millions of players daily. This huge number of players made MMOGs these years a big business which increased to billions of dollars revenue each year worldwide. But with this number of players and the complex architecture of MMOGs make them hard to maintain, resulting in considerable costs and development risks. For normal operation, MMOGs have to access huge amounts of diverse data, which need high performance, fault tolerance and scalability. With increasing numbers of players, managing growing volumes of data in a relational database becomes a big challenge, which cannot be overcome by simply adding new servers.The thesis proposed using NoSQL and SQL databases to completely meet the requirement of MMO games and overcome the current challenges. For this purpose, we classified MMO Games data into two main categories:The first is game data which contain three types of data:Game world data, state data and log data. In this category of data we summarized some big challenges and gave our approaches to solve these issues as follow:Performance:game state data is modified constantly by huge number of concurrent players, which brings a large amount of data throughput to game servers and thousands of concurrent database connection operations. These changes must be executed in real-time and persisted on disk efficiently. It becomes a challenge to the database performance. Thesis approach by using column family based data model, every row in a super column family in Cassandra consists of a row key and a dynamical set of super columns, each of which maintains a different number of columns. In this way, we can manage the data of one player in a single row, and partition data based on row key across multiple nodes in the cluster. Hence, there is no more join operation during reading data, and the read performance can be increased.Availability:MMO Game application should be able to respond to each user request within a certain period of time. The system also needs to have the ability to tolerate data loss. Thesis Approach by using a quorum based data replication mechanism. In this way, Cassandra ensures availability and fault tolerance to make MMO games data stay available for both users and developer with any huge amount of data.Scalability:typically, MMO Games start with a small or medium number of users, and if the game is successful and especially in advertisements periods, the number can grow extremely fast and can’t scale out in certain point. Thesis approach in our proposed system we used horizontal scalable method by adding nodes without reconfiguration or downtime required of existing nodes.Data consistency:In collaborative game players interact with each other. Changes of state data must be synchronously propagated to the relevant players within an accepted period of time. For this purpose we need a continuous consistency model in MMOGs.Thesis approach:We used Read Repair and Timestamps to guarantee data consistency; it means that all replicas must be compared in so to return the up-to-date data to users. And for strong consistency we also built a new data layer that can specifically handle account and state data consistency.The second type of data is Account data:This data is usually only used when players log in or log out of a game or for accounting purposes. In this part of data we implemented our website using RDBMS (MYSQL), because the data is not huge amount and does not need a real time analysis and need to be more secured. In this part of thesis we implement full functional MMO Games website with two new functions:New advertisement methods (friend’s invitations) and Payment methods (cards payment).From these two main categories we found that some data still need to be interacting with Cassandra nodes and different game data types and consistency issue can’t be handled by using MYSQL and Cassandra, for this reason we introduced our solution by three steps:The first step is by analyzing game data requirements and classifying these data according to these requirements. Our analysis lead to five main requirements, we grouped game data into groups and gave priority for each requirement to each data. We classified priority level to3levels and pointed the priority level to each type of data. The second step we chose the suitable data management tool which is Cassandra in our case and showed that Cassandra can handle most of the game data requirements. For the consistency issue that Cassandra can’t handle, we have proposed a new extra data layer based on timestamp solution for MMOG, which is designed based on the features of Cassandra. Cassandra records timestamps in each column, and utilizes it as version identification (ID). Therefore, we record the timestamps from a global server in both server side and in Cassandra. When we read state data from the Cassandra, the timestamps recorded on the server side will be sent with the read request. In this way, we can find out the most recent data easily. This layers has contain data access server and data access, mainly to handle consistency issue on state data and account data that can be used in Cassandra nodes. The third step was by giving a methodology of acquiring data from game backend and repeating the actions with different number of nodes in Cassandra and showed how we can test and evaluate these data from Cassandra monitoring tools.By implementing this website and using Cassandra data management for games database system, we show the applicability of our approach as well as the relative performance benefits of designing new games or website using our architecture.
Keywords/Search Tags:MMO Games, Electronic websites, Data consistency, Cassandra, NoSQL
PDF Full Text Request
Related items