Xbox 360 ‘ımı aldığımda oynadığım ilk oyun Halo idi. Ama oyunda takılmış ve kenara kaldırmış, Microsoft SharePoint Destek ekibinden arkadaşım Tolga Palaoğullarından’ın “Abi şöyle yapacaksın orada” demesine rağmen hala geçememiş, “tamam ben size geldiğimde geçerim” diyerek bize gelip benim oyunda tıkandığım yeri anca bu şekilde atlayabilmiş bir gamer’ım. Yıllar geçti ve Halo 5 çıktı. Çok iyi bir gamer olmasam da Halo 5’te gelen “Spartan Companies” takım/klan oyunu açabilme özelliği dikkatimi çekti. Bu özellik ile kendi “Spartan Company”nizi açabiliyor ve takımınızı oluşturabiliyorsunuz ya da var olan bir takıma katılabiliyorsunuz. Benim için yeniden Halo’ya dönmeme sebep olacak bir özellik. Ama asıl dikkatimi çeken kısım Halo ekibinin bu sistemi kurarken ilgili verileri nerede/nasıl tuttuğu kısımı oldu.

Bugün (31 Ekim 2015) itibarıyle https://www.halowaypoint.com/en-us/spartan-companies?page=1387 den baktığımda toplam 13.800 tane spartan company var. Herbir company de en fazla 100 gamer olabiliyor imiş. Şu anda hepsinde 100 gamer yok ama 100 olsa 138.000 gamer yapar ve daha bu spartan company açabilme özelliği çıkalı 1 ay olmadı  (Bkz. https://www.halowaypoint.com/en-us/games/halo-5-guardians ) . Varın siz hesaplayın ne kadar büyüyeceğini ve arkadaki veri katmanının ölçeklenebilme ihtiyacını.

Halo ekibi bu projede veri katmanı (data tier) için Microsoft Azure’daki NoSQL çözümümüz olan DocumentDB kullanmaya karar verdi. Microsoft Azure’da uygulama geliştiriyorsanız veya geliştirmeye yeni başlamak üzereyseniz, Halo ekibinin neden DocumentDB kullanmayı tercih ettiğine dair Microsoft Azure DocumentDB ürün yöneticisi Aravind Ramachandran ‘ın yazdığı https://azure.microsoft.com/en-us/blog/how-halo-5-guardians-implemented-social-gameplay-using-azure-documentdb/ adresindeki blog yazısını mutlaka okumanızı öneriyorum.

 

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>