Events Add an event Speakers Talks Collections
 
Request Q&A
Request Q&A
Video
Cloud native databases and storage for games
Available
In cart
Free
Free
Free
Free
Free
Free
Free
Free
Free
Free
Free
Free
Add to favorites
569
I like 0
I dislike 0
Available
In cart
Free
Free
Free
Free
Free
Free
Free
Free
Free
Free
Free
Free
  • Description
  • Transcript
  • Discussion

About the talk

Today's most compelling video game experiences incorporate engaging progression and persistent world effects to keep players coming back for more. And supporting a game with millions of global players, requires a database solution that is flexible enough to scale fast, but without the complication and overhead of sharding. In this session, you will learn how Google Cloud’s Cloud Spanner and Open Saves allow you to reach a global player base with database and storage solutions that power the world’s largest games.

About speakers

Mike Nadal
Customer Engineer at Google Cloud for Games
Emma Haruka Iwao
Developer Advocate at Google Cloud for Games

I love keeping up with technology advancements, video games and their mechanics, new discoveries in the realm of physics, and learning programming languages. I like to laugh, have a passion for learning, and I'm looking for an environment that is on the same page.

View the profile

A software engineer in Seattle. Focused on large scale computing on Google Cloud Platform. Also, I am an MMORPG/city building gamer, a PC DIY/hardware enthusiast, an author, and a railway/aviation fan.

View the profile
Share

Hi, everyone has been walking today. We're going to talk about cloud-native databases and storage for game development. In particular will cover Cloud spanner in our latest open source project open safes. 40th started. Let's do a quick round of introductions. My name is Mike. All and I'm gaming data architect here at Google Cloud. We're going to start off with a dive into Cloud. Spanner are fully managed database service that combines the benefits of a relational database structure with non-relational horizontal scale in touch on some of

the basics of how it can help with building the next generation of video games. First, let's start with an understanding of the current game industry, whether you're building AAA games or the next Viral mobile game. The player base has come to expect a certain level of quality and feature sets in the games that they could be the size and detail of the world are playing in or the Innovative gameplay, but the point is complexity in game design is increasing exponentially in with that increasing complexity goes, the need for databases, that can be flexible enough and reliable enough to meet

those demands later. On top of that, the need for those players experiences to feel quick and snappy with low latency and have a consistent experience across different platforms. And regions game developers are facing Now, if we'd have a little bit deeper and take a look at these problems from more operational perspective. We usually see three main challenges when it comes to launching and running games. The first and hardest to predict is the system failure, due to the success of the game developers dream is essentially

launching their game and seeing it become an overnight success, but the nightmare takes it. In one players that are eager to try your game or something to use or can't connect to the servers at all. Difficult the solution. Here's to charge your databases to meet the demand, but charting interviews has its own complexities. What you gain in performance or steal, you pay for InDesign complexity and database management, much hard to account for these types of hidden costs and things like design complexity. Essentially get worked into developer salary. It's rather than having an

explicit bill at the end of the month, for database usage. Especially when you're trying to get a new game off the ground, creating a reliable and transparent relationship with your players really paid dividends down the road and it all starts with being able to rely on the technology that you're using. Those that mind. We had a product in Cloud spinner that can help with all those issues. It's our enterprise-grade globally distributed. And perhaps, most importantly, strongly consistent manage database. This type of Versatility means you can use fainter as your primary back in database

for things like game, State, inventory, data, or even playoff indication. He's are all use cases typically covered by relational databases. But as we already know stealing, those databases up and down can prove to be quite challenging. Spinner being a fully managed database means adding notes to your innocence is, as simple as clicking in the u. I t o in the scaling happens in place, so, you don't even have to worry about things like downtown. Reducing the need to Monitor and react to scale can reduce the operational overhead and didn't cost that. We discussed earlier, which in a lie to

reallocate, your team's resources to thinking about in developing new features for the game while worrying about keeping the actual game running. Because spinner is purpose-built for transactional, consistency. It's great for capturing play, your actions as they happen. No matter how complex that scenario best part is that you can completely eliminate the complexities of charting and said, what's pan? Or does that automatically? Divides your data into a bar called splits, which can live on different servers in. The cool thing about this. Is that even though your data is spread across

multiple servers, spanner still operates as one database, so you can simultaneously skill and avoid issues like hotspotting. Now, that we know a bit more about spanner is a product. How do we know when spinner is the right database to fit you or use case? I'm a strong proponent of the idea that the tools you use, dictate the way you choose to solve a problem. So when I solve a math problem, for instance, I can probably get away with using pen and paper for basic arithmetic. If I have sold something like 2439 * 41, I can get it done with pen and paper but it's a daunting task.

I have a calculator handy though. It's not even a second. Thought I just plug in the numbers and it Go. And I'm now thinking less about how much I don't want to write out multiples and more about what are the new more difficult problems. I can tackle with the calculator. In the same way, spinner is a good fit for any of these for needs earlier. We mentioned spanner as a good fit, for inventory data management. I like to imagine a scenario where a player in Japan trade items with a player in the states right now. You probably have to do something like have that Player sign out of their

home region. Sign into the region that they want to make the trade it in. And then have that for your sign out. Go back to their home region and then you would have to account for that trade in both places. You could also get this done using a geographically short a database for that requires you to instantiate transaction logs to avoid issues. Like I'm duplication which impacts not only database performance, but also have your player experience. Besides the scenarios have web developers to either avoid things, like trading completely, or painstakingly attempts to implement them. Spinner Harbor

solves this problem by providing something that we call serializability. Which means that all transactions appear as if they executed in a Serial order, even if some of the reads rights or other operations actually occurred in parallel. Using serialized transactions allows you to create what we call external consistency, which means that transactions commit in an order that is based on their commit time stamps in these commit timestamps for flight real-time so you can compare them to the time you see on your watch this happens. No matter. How many knows you add to an instance to meet

scaling tube. Is now all the logic that you had to put into place in order to provide cross Regional trading it. Something that's just purpose built into the operational patterns of spanner. It's a calculator. That's handling the mundane, so you can get to the excitement. Another good example is using spanner for Allstate in charge of things like characters on it. Better is, especially handy. If you want to standardize on a single type of database at your studio or even at the publisher level to handle this type of operation. Now, you're probably thinking that off databases don't need

the scalability of spanners since their function is fairly straightforward. You wouldn't use a calculator to do 1 + 1, right? However this use case as less about scaling and more about taking advantage of the transactional guarantees in high data, availability that spinner, can provide spinner can operate at up to five nines and availability. And data replication is transparent synchronous, and built in, which makes it a good choice for the critical of Education. Pass required, when players sign in With our newest offering you can actually spend up smaller instances, a spanner, at just a

tenth of the class. So you don't feel like you're overpaying for solving simpler. Use cases like the off when we just discuss one last thing. I'll mention here, you can actually use our local spanner emulator and test out how it feel to use spanner to solve a lot of these cases for free. You talk about scaling pretty extensively, one quick to scale up or down and you're done. Now. Let's chat about minimizing down time. And before modern-day games, are constantly evolving adding a new game mode or new weapon types or different players abilities, which is great for

players, but this usually translates into updating the database schema, which means downtown with spinner. You can actually make schema updates with no down time. You can do things like create and drop tables, adulterer or drop columns. All with. Again, zero down to Eustis. Is by maintaining the older schema versions to support reads while the schema update is processed. Other operational concerns like patches and security updates are also handled automatically. So it's just one lesson. Are you where you need to bring your database down

to improve your game? We also touched briefly on reliability. Let's talk a bit more about the different configurations. Spanner can actually operate in either Regional or multi-regional, configurations and Regional configurations. Spanner has three rewrite replicas each in their own availability Zone. Containing a full copy of your data. This configuration offers four nines availability multi-regional configuration has to rewrite regions Each of which contains to rewrite replicas offering five nines availability. This setup allows, you

came to survive, even a regional outage ensuring business continuity and Disaster. Recovery are all taken care of. Whether you're picking Regional or multi-regional can really depend on things like what are your cost constraints? What are the latency requirements? And are there any Regional data governance needs that you need to keep in mind. Of course, none of this would be possible without Google clouds. Very own, Google Fiber Optic Network. This is the backbone of multiple Google Cloud products and is part of the secret sauce that goes into creating such unique and Powerful database is

like, Spader as it's not working fuse for undersea. Cables are added in more regions. Pop-up, you can expect to see improvements in things like latency and reliability in Spanish. Traffic. We should talk about how Niantic is a fantastic example of taking. All the benefits of cloud spinner that we mentioned and using them to run multiple components of their hit game. Pokemon go, original David, a solution was actually host. In Cloud datastore are managed nosql database. For the scale airplane, to operate at a disorder is going to be a great solution. But as game launched an evolved,

they found that they were going to not only need more scale. But we're features like external consistency. Over ventral consistency, being able to perform sequel operations, like joining an aggravating once they successfully migrated. They found a home in class manner, which saw operational cost reductions of 50%. Allowing them to reinvest this cost savings and other game features, like accounting and friends list not to mention that on average. They measure 25% better latency. Talk at our next convention on how to migrate into spanner from an existing database in the decision-making

process that goes on behind the scenes. I definitely recommend getting out of wash Now, as much as I'd love to convince you that spanner can solve each and every database problem that you could possibly have is a game developer. It's simply not the case in this next section and will talk to you about open saves and how can fill in the other gaps for any other database needs that you may have taken away in them? Thank you, Mike. Transponder for database, but you also need a storage solution to develop games and the writing to use open saves today.

Also saves is a papa's field single interface for game development and we design it with three principles in mind. The falsies Simplicity, we provide a unified. Where do you find your PC? And the point for our operations? And the only need to import the JPC. Papa file to Jane bindings for various foreign languages such as a C+, plus Roscoe. And Java is speed it up for placements, based on size access frequency and user provider performance gains. The song is

called litty. It runs on Google Chrome engine and the car run and scale from zero to hundreds of Us hours in just minutes. We developed open safes in partnership with 2K, and we measure about, open saves is easy on the robots for real game applications. This is the architecture of open saves. You have the program in the blue box in the middle and the game. Sorry is on the left the game service can access open saves either directly or through a broker load balancer. Location deployments.

Open safe to use drop me, which store has a high speed of cash to store on the return frequently accessed data as a place to store stock show data and metadata, unstructured data. Here means anything that's index of insatiable such as Boolean, integer, and a swing values. It is easy to store anything. Speak of them few kilobytes. We designed open safes with accessibility mine as well, and you can be a virus applications using the same API. Instruction metadata and basic arithmetic operations API. You can also

you can of metadata to latest search your data. You can also use open saves. Do you store even bigger. Rosenthal's API to let the clan resume a Frozen dolls in time. We offer user Define keys and tag support. So you can use the same keys that you used it without you in your game. They have it. We have a dedicated guide to use crops Fallout 4 game development, and it covers girls topics from schema design to Performance optimizations solution. So, we have a

hybrid, plus, 3 as a place for development and discussion. We also welcome feedback and excellent contributions there. If you want to try these Solutions, be sure to check these things out, and if you have any questions or comments, please feel free to reach out to us anytime. Thank you very much. Thanks everyone for tuning in to our session and we hope you enjoy the rest of your time here at Google for games developer conference.

Cackle comments for the website

Buy this talk

Access to the talk “Cloud native databases and storage for games”
Available
In cart
Free
Free
Free
Free
Free
Free
Free
Free
Free
Free
Free
Free

Ticket

Get access to all videos “Google for Games Developer Summit 2021”
Available
In cart
Free
Free
Free
Free
Free
Free
Free
Free
Free
Free
Free
Free
Ticket

Interested in topic “IT & Technology”?

You might be interested in videos from this event

November 9 - 17, 2020
Online
50
95
future of ux, behavioral science, design engineering, design systems, design thinking process, new product, partnership, product design, the global experience summit 2020, ux research

Similar talks

Patrick Smith
Machine Learning Specialist at Google Cloud for Games
+ 1 speaker
Vishu Cheruku
Customer Engineer at Google Cloud for Games
+ 1 speaker
Available
In cart
Free
Free
Free
Free
Free
Free
Free
Free
Free
Free
Free
Free
Available
In cart
Free
Free
Free
Free
Free
Free
Free
Free
Free
Free
Free
Free
Sebastian Weigand
Systems Architect at Google Cloud for Games
+ 1 speaker
Susan Romera
Customer Engineer at Google Cloud for Games
+ 1 speaker
Available
In cart
Free
Free
Free
Free
Free
Free
Free
Free
Free
Free
Free
Free
Available
In cart
Free
Free
Free
Free
Free
Free
Free
Free
Free
Free
Free
Free
Adrian Graham
Senior Cloud Solutions Architect at Google Cloud for Games
+ 1 speaker
Travis Williams
Enterprise Cloud Architect at Google Cloud for Games
+ 1 speaker
Available
In cart
Free
Free
Free
Free
Free
Free
Free
Free
Free
Free
Free
Free
Available
In cart
Free
Free
Free
Free
Free
Free
Free
Free
Free
Free
Free
Free

Buy this video

Video
Access to the talk “Cloud native databases and storage for games”
Available
In cart
Free
Free
Free
Free
Free
Free
Free
Free
Free
Free
Free
Free

Conference Cast

With ConferenceCast.tv, you get access to our library of the world's best conference talks.

Conference Cast
949 conferences
37757 speakers
14408 hours of content
Mike Nadal
Emma Haruka Iwao