Successfully reported this slideshow.
Your SlideShare is downloading. ×

Using ScyllaDB for Distribution of Game Assets in Unreal Engine

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Loading in …3
×

Check these out next

1 of 16 Ad

More Related Content

Similar to Using ScyllaDB for Distribution of Game Assets in Unreal Engine (20)

More from ScyllaDB (20)

Advertisement

Recently uploaded (20)

Using ScyllaDB for Distribution of Game Assets in Unreal Engine

  1. 1. Using ScyllaDB for Distribution of Game Assets in Unreal Engine Joakim Lindqvist, Senior Tools Programmer
  2. 2. Joakim Lindqvist ■ Senior Tools Developer within the Foundation team of Unreal Engine ■ 15 years experience working in games ■ Based out of Stockholm, Sweden
  3. 3. ■ The complexity of building games ■ Overview of Unreal Cloud DDC ■ Future work Agenda
  4. 4. The Complexity of Building Games
  5. 5. Games are Complicated to Make ■ 2 major types of content, source code and game assets ■ Large assets ■ Large teams work on them ■ Specialized skill - spread out across the world
  6. 6. The Process of Cooking Data ■ Cooking is data transformation ■ Historically cached on network file systems within a office ■ Geo distribution ■ Work From Home ■ Headache to scale storage ■ Can take hours to start up the editor without caching
  7. 7. Unreal Cloud DDC
  8. 8. Cached Objects ■ Custom self describing binary format called Compact Binary ■ Structured object with attachments that are content addressed ■ Content addressing ■ Deduplication ■ Avoids replicating the same content { “name”: “largeFile”, “size” : 2480, “attachment”: 9fffabc5e0a…1f084f8c5e }
  9. 9. ■ Kubernetes ■ 5 regions ■ 7 TB local nvme cache ■ ~50 TB S3 storage ■ 10-500 users per region ■ Last access tracking Unreal Cloud DDC
  10. 10. Architecture ScyllaDB (Metadata) Web api Local NVME AWS S3 (Blob Storage) ScyllaDB (Metadata) Web api AWS S3 (Blob Storage)
  11. 11. Why ScyllaDB ■ Performance sensitive workload ■ Geo replicated database ■ Eventual consistency works well with our workload ■ Small deployment (2-3 nodes of i4i.xlarge/i4i.2xlarge) in 5 DCs ■ ~3000 req/s per node
  12. 12. Future Work
  13. 13. Future Work ■ Small blob storage in ScyllaDB ■ ScyllaDB on Azure ■ Performance improvements on the API ■ Extending to more workloads
  14. 14. ■ Source Code: https://github.com/EpicGames Unreal Engine
  15. 15. Thank You Stay in Touch Joakim Lindqvist joakim.lindqvist@epicgames.com twitter.com/J0CC0 github.com/jocco www.linkedin.com/in/jocco/

×