Be Prepared for the Ups and Downs of the Game Lifecycle
The market for gaming is growing but so is the competition. A game needs to engage your players and create an environment that encourages them to continue playing and come back for more. This requires millisecond response time and keeping all the moving parts of the gaming experience — from weapons to leaderboards — performing at their best. But once a game reaches the end of its lifecycle, you need to be able to scale down its infrastructure to reduce costs and remain profitable. Yet you need to be prepared to scale back up when your next game becomes hot.
The Gaming Business and its Customers are Demanding
Gaming is where you find the high-energy, highly demanding customer. Their games must be running fast, smooth, and glitch-free or else they go elsewhere. To handle the high demands of your customers, your gaming infrastructure and servers must be robust and well-provisioned.
However, that is not where you should be focusing your energies. Your priorities need to be on the creative process, customer acquisition, profitability and coming up with the next great game. This is a lot for any gaming business to juggle.
The Competing Demands of the Gaming Business
- Maintain year-over-year revenue growth
- Compete with increasing global competition
- Don't add to the rising cost and complexity of development, production, and marketing
- Battle the attrition rates of consumers and employees who have more options
Gaming Database Requirements
A gaming database serves many masters. It needs to handle users, e-commerce shopping carts, quotas, leaderboards and game tools like weapons or race car features. For multi-player games this becomes more complex, and for businesses with multiple games that need to share this data, even more complex. The speed of ingestion and the quickness of queries in the database directly affects the user's experience of responsiveness in the game.
Many games use an RDBMS, like MySQL. It stores game world state and essential persistence data. Large, persistent-world, massively multiplayer games, have a hugely complicated set of interrelated tables holding player progression and inventory. A gaming database must:
- Handle the peaks and valleys of the game lifecycle to meet high demand while keeping costs down when low
- High concurrency and transactionality and lower latency
- Minimal administration so you don't need a large DBAs team
- Synchronicity of transactions with speed
The Gaming Database Solution
The gaming database pretty much needs to do everything. It needs to be able to easily add new users and items (weapons, features, etc.) to the system. The latter is typically a very complex update across multiple tables in real-time that needs to happen without glitches.
Multiple, high-contention tables need to reside completely in memory to increase ingest rate and customer satisfaction to the latency-loathing gaming community.
The right database for gaming supports:
- Elastic Scale – flex-out, flex-in as demand requires
- High-speed – millisecond response time
- Fault tolerance – resiliency regardless of number nodes
- Unrestricted scalability – linearly scale reads and writes
- In-memory tables – for high concurrency, volume transactions, and low latency
- ACID compliance – for transactional synchronization
ClustrixDB Meets the Needs of a Gaming Database
ClustrixDB is the only drop-in MySQL replacement that scales both reads and writes. It has a “shared-nothing architecture” that permits ClustrixDB's performance to scale in a near-linear fashion from three nodes to fifty or more, while posing as a single database to the application. Each additional node in a ClustrixDB cluster adds more capacity and performance. And when the game comes to the end of its lifecycle, it scales in with a click of a button. ClustrixDB is so easy to manage, many companies have selected ClustrixDB instead of building out a large database development and administration team.
ClustrixDB puts your technical resources towards development, not database administration. ClustrixDB manages itself, automatically distributing tables and indexes across nodes. Each SQL query is pre-parsed, and compiled query fragments are automatically distributed to the right cluster node. Storage hotspots are automatically handled by reslicing and redistributing data.
ClustrixDB 8.0 tripled the performance for in-memory bulk data ingest, streaming application in-memory processing, and high-volume aggregate processing. ClustrixDB can store data in memory or on disk without separate coding needs, easily deploys in any cloud and scales across additional nodes with one click. It supports full containerization for easier installation and deployment.
Even though ClustrixDB is distributed, your game still gets the advantages of SQL syntax with those of a RDBMS such as foreign keys and triggers to assure data integrity — without developer intervention. CustrixDB guarantees transactionality, ensuring resources are not over-allocated between competing customers. As an ACID compliant database, ClustrixDB provides easy and consistent backups.
The goal of every game is to generate a lot of users and keep them engaged. The more users, the more transactions. With ClustrixDB's ability to scale writes, you can get 10x the maximum performance of Aurora (or MySQL) without read slaves, sharding, or modifying your app. ClustrixDB regularly delivers well over a million TPS — that's the kind of performance every game database needs.