Azure Cosmos DB için yaygın kullanım örnekleri
ŞUNLAR IÇIN GEÇERLIDIR: NoSQL MongoDB Cassandra Gremlin Masa
Bu makalede, Azure Cosmos DB için bazı yaygın kullanım örneklerine genel bir bakış sağlanır. Bu makaledeki öneriler, uygulamanızı Azure Cosmos DB ile geliştirirken bir başlangıç noktası görevi görür.
Bu makaleyi okuduktan sonra aşağıdaki soruları yanıtlayabileceksiniz:
- Azure Cosmos DB için yaygın kullanım örnekleri nelerdir?
- Perakende uygulamaları için Azure Cosmos DB kullanmanın avantajları nelerdir?
- Nesnelerin İnterneti (IoT) sistemleri için veri deposu olarak Azure Cosmos DB kullanmanın avantajları nelerdir?
- Web ve mobil uygulamalar için Azure Cosmos DB kullanmanın avantajları nelerdir?
Giriş
Azure Cosmos DB , herhangi bir ölçekte açık API'ler içeren hızlı bir NoSQL veritabanı için Azure çözümüdür. Hizmet, müşterilerin herhangi bir sayıda coğrafi bölgede aktarım hızını ve depolamayı esnek (ve bağımsız) ölçeklendirmesine olanak tanıyacak şekilde tasarlanmıştır. Azure Cosmos DB, bugün piyasada aktarım hızı, gecikme süresi, kullanılabilirlik ve tutarlılığı kapsayan kapsamlı hizmet düzeyi sözleşmeleri sunan ilk küresel olarak dağıtılmış veritabanı hizmetidir.
Azure Cosmos DB, çok çeşitli uygulamalarda ve kullanım örneklerinde kullanılan genel bir dağıtılmış, çok modelli veritabanıdır. Düşük milisaniyelik yanıt süreleri gerektiren ve hızlı ve küresel olarak ölçeklendirilmesi gereken sunucusuz uygulamalar için iyi bir seçimdir. Birden çok veri modelini (anahtar-değer, belgeler, grafikler ve sütunlu) ve MongoDB API'si, NoSQL API'si, Gremlin için API ve Tablo api'si dahil olmak üzere veri erişimi için birçok Azure Cosmos DB API'sini yerel olarak ve genişletilebilir bir şekilde destekler.
Aşağıda Azure Cosmos DB'nin küresel hırsı olan yüksek performanslı uygulamalar için uygun hale getiren bazı öznitelikleri yer alır.
- Azure Cosmos DB, yüksek kullanılabilirlik ve ölçeklenebilirlik için verilerinizi yerel olarak bölümlere ayırır. Azure Cosmos DB, rahat tutarlılığı olan tüm tek bölgeli hesaplarda ve tüm çok bölgeli hesaplarda kullanılabilirlik, aktarım hızı, düşük gecikme süresi ve tutarlılık için %99,99 garanti ve tüm çok bölgeli veritabanı hesaplarında %99,999 okuma kullanılabilirliği sunar.
- Azure Cosmos DB, düşük gecikme süresine sahip milisaniyelik yanıt süreleriyle SSD destekli depolamaya sahiptir.
- Azure Cosmos DB'nin nihai, tutarlı ön ek, oturum ve sınırlanmış eskime gibi tutarlılık düzeylerine yönelik desteği tam esneklik ve düşük maliyet-performans oranı sağlar. Hiçbir veritabanı hizmeti, düzey tutarlılığında Azure Cosmos DB kadar esneklik sunar.
- Azure Cosmos DB, depolamayı ve aktarım hızını bağımsız olarak ölçümleyen esnek bir veri dostu fiyatlandırma modeline sahiptir.
- Azure Cosmos DB'nin ayrılmış aktarım hızı modeli, temel alınan donanımın CPU/bellek/IOT'leri yerine okuma/yazma sayısı açısından düşünmenizi sağlar.
- Azure Cosmos DB'nin tasarımı, günde trilyonlarca istek sırasına göre büyük istek hacimlerine ölçeklendirmenizi sağlar.
Bu öznitelikler düşük yanıt sürelerine ihtiyaç duyan ve çok büyük miktarda okuma ve yazma işlemine ihtiyaç duyan web, mobil, oyun ve IoT uygulamalarında faydalıdır.
IoT ve telematikler
IoT kullanım örnekleri genellikle verileri alma, işleme ve depolama biçimleriyle ilgili bazı desenleri paylaşır. İlk olarak, bu sistemlerin çeşitli yerel ayarların cihaz algılayıcılarından veri serilerini almaları gerekir. Ardından bu sistemler gerçek zamanlı içgörüler elde etmek için akış verilerini işler ve analizler. Veriler daha sonra toplu analiz için soğuk depolamada arşivlenmiş olur. Microsoft Azure, Azure Cosmos DB, Azure Event Hubs, Azure Stream Analytics, Azure Notification Hub, Azure Machine Learning, Azure HDInsight ve Power BI gibi IoT kullanım örnekleri için uygulanabilen zengin hizmetler sunar.
Düşük gecikme süresiyle yüksek aktarım hızına sahip veri alımı sunduğundan Azure Event Hubs tarafından veri serileri alınabiliyor. Gerçek zamanlı içgörüler için işlenmesi gereken alınan veriler, gerçek zamanlı analiz için Azure Stream Analytics'e aktarılabilir. Veriler geçici sorgulama için Azure Cosmos DB'ye yüklenebilir. Veriler Azure Cosmos DB'ye yüklendikten sonra sorgulanmaya hazır olur. Ayrıca, değişiklik akışında yeni veriler ve mevcut verilerde yapılan değişiklikler okunabilir. Değişiklik akışı, Azure Cosmos DB kapsayıcılarındaki değişiklikleri sıralı sırada depolayan kalıcı, yalnızca ekleme günlüğüdür. Ardından Azure Cosmos DB'deki tüm veriler veya yalnızca verilerde yapılan değişiklikler gerçek zamanlı analiz kapsamında başvuru verileri olarak kullanılabilir. Buna ek olarak, Azure Cosmos DB verileri Pig, Hive veya Harita/Azaltma işleri için HDInsight'a bağlanarak veriler daha da iyileştirilebilir ve işlenebilir. Daha sonra iyileştirilmiş veriler raporlama için Azure Cosmos DB'ye geri yüklenir.
Azure Cosmos DB, Event Hubs ve Apache Storm kullanan örnek bir IoT çözümü için GitHub'daki hdinsight-storm-examples deposuna bakın.
IoT için Azure teklifleri hakkında daha fazla bilgi için bkz . Nesnelerin İnternetini Oluşturma.
Perakende ve pazarlama
Azure Cosmos DB, Microsoft'un Windows Mağazası ve XBox Live çalıştıran kendi e-ticaret platformlarında yaygın olarak kullanılır. Ayrıca perakende sektöründe katalog verilerini depolamak ve işlem hatlarını işleme sırasında olay kaynağını sağlamak için de kullanılır.
Katalog veri kullanımı senaryoları, kişiler, yerler ve ürünler gibi varlıklar için bir dizi özniteliği depolamayı ve sorgulamayı içerir. Katalog verilerine örnek olarak kullanıcı hesapları, ürün katalogları, IoT cihaz kayıt defterleri ve ürün reçetesi sistemleri verilebilir. Bu verilerin öznitelikleri farklılık gösterebilir ve zaman içinde uygulama gereksinimlerine uyacak şekilde değişebilir.
Otomotiv parçaları sağlayıcısı için bir ürün kataloğu örneğini düşünün. Tüm bölümlerin paylaştığı ortak özniteliklere ek olarak her bölümün kendi öznitelikleri olabilir. Ayrıca, belirli bir parçanın öznitelikleri, yeni bir model yayınlandığında sonraki yıl değişebilir. Azure Cosmos DB esnek şemaları ve hiyerarşik verileri destekler ve bu nedenle ürün kataloğu verilerini depolamak için uygundur.
Azure Cosmos DB genellikle değişiklik akışı işlevselliğini kullanarak olay odaklı mimarileri desteklemek için olay kaynağını belirleme amacıyla kullanılır. Değişiklik akışı, aşağı akış mikro hizmetlerinin Azure Cosmos DB'de yapılan eklemeleri ve güncelleştirmeleri (örneğin, sipariş olayları) güvenilir ve artımlı olarak okumasını sağlar. Bu işlevsellik, durum değiştiren olaylar için ileti aracısı olarak kalıcı bir olay deposu sağlamak ve birçok mikro hizmet arasında (sunucusuz Azure İşlevleri olarak uygulanabilir) sipariş işleme iş akışını yönlendirmek için kullanılabilir.
Ayrıca, Azure Cosmos DB'de depolanan veriler Apache Spark işleri aracılığıyla büyük veri analizi için HDInsight ile tümleştirilebilir. Azure Cosmos DB için Spark Bağlayıcısı hakkında ayrıntılı bilgi için bkz . Azure Cosmos DB ve HDInsight ile Spark işi çalıştırma.
Oyun
Veritabanı katmanı, oyun uygulamalarının önemli bileşenlerinden biridir. Modern oyunlar grafik işlemlerini mobil/konsol istemcilerinde gerçekleştirir ancak oyun içi istatistikler, sosyal medya tümleştirmesi ve puan tablosu gibi özelleştirilmiş ve kişiselleştirilmiş içeriğin sunulması noktasında buluttan faydalanır. Oyunlar genellikle ilgi çekici bir oyun içi deneyim sağlamak için okuma ve yazma işlemleri için tek milisaniyelik gecikme süreleri gerektirir. Oyun veritabanlarının hızlı olmasının yanı sıra yeni çıkan oyunlar ve özellik güncelleştirmeleriyle bağlantılı istek sayısı artışlarını kaldırabilecek güçte olması gerekir.
Azure Cosmos DB, The Walking Dead: No Man's Land by Next Games ve Halo 5: Guardians by 343 Industries gibi oyunlar tarafından kullanılır. Azure Cosmos DB, oyun geliştiricilerine aşağıdaki avantajları sağlar:
- Azure Cosmos DB, performansın esnek bir şekilde ölçeklendirilmesine veya küçültülmesini sağlar. Bu, oyunların tek bir API çağrısı yaparak profili ve istatistikleri onlarcadan milyonlarca eş zamanlı oyuncuya güncelleştirmeyle başa çıkabilmesine olanak tanır.
- Azure Cosmos DB, oyun oynama sırasında gecikme yaşanmasını önlemeye yardımcı olmak için milisaniyelik okuma ve yazmaları destekler.
- Azure Cosmos DB'nin otomatik dizin oluşturma özelliği, gerçek zamanlı olarak birden çok farklı özelliğe göre filtrelemeye olanak tanır. Örneğin, bir loncadaki oyuncu üyeliğine göre dahili oyuncu kimliklerine veya GameCenter, Facebook, Google kimliklerine göre oyuncu bulma veya sorgu yapma. Bu, karmaşık dizin oluşturma veya parçalama altyapısı oluşturmadan mümkündür.
- Oyun içi sohbet mesajları, oyuncu lonca üyelikleri, tamamlanan zorluklar, yüksek puan puan tabloları ve sosyal grafikler gibi sosyal özellikleri esnek bir şemayla uygulamak daha kolaydır.
- Yönetilen hizmet olarak platform (PaaS) olarak Azure Cosmos DB, hızlı yinelemeye olanak sağlamak ve pazara çıkış süresini kısaltmak için minimum kurulum ve yönetim çalışması gerektiriyor.
Web uygulamaları ve mobil uygulamalar
Azure Cosmos DB, web uygulamaları ve mobil uygulamalarda sıklıkla kullanılır. Bunların dışında sosyal etkileşimlerin modellenmesi, üçüncü taraf hizmetlerle tümleştirme ve zengin kişisel deneyimler oluşturma süreçleri için de oldukça uygundur. Azure Cosmos DB SDK'ları, popüler Xamarin çerçevesi kullanılarak zengin iOS ve Android uygulamaları derlemek için kullanılabilir.
Sosyal Uygulamalar
Azure Cosmos DB'nin yaygın kullanım örneklerinden biri, web, mobil ve sosyal medya uygulamaları için kullanıcı tarafından oluşturulan içeriği (UGC) depolamak ve sorgulamaktır. UGC'ye örnek olarak sohbet oturumları, tweet'ler, blog gönderileri, derecelendirmeler ve yorumlar verilebilir. Genellikle, sosyal medya uygulamalarında UGC, katı yapı ile sınırlanmamış serbest biçimli metinlerin, özelliklerin, etiketlerin ve ilişkilerin bir karışımıdır. Sohbetler, açıklamalar ve gönderiler gibi içerik, ilişkisel eşleme katmanlarına dönüştürme veya karmaşık nesne gerektirmeden Azure Cosmos DB'de depolanabilir. Geliştiriciler uygulama kodu üzerinde yineleme yaparken gereksinimleri eşleştirmek için veri özellikleri kolayca eklenebilir veya değiştirilebilir, böylece hızlı geliştirme teşvik edilir.
Üçüncü taraf sosyal ağlarla tümleşen uygulamaların bu ağlardan değişen şemalara yanıt vermesi gerekir. Azure Cosmos DB'de veriler varsayılan olarak otomatik olarak dizine eklendiğinden, veriler istendiği zaman sorgulanmaya hazırdır. Bu nedenle, bu uygulamalar ilgili ihtiyaçlarına göre projeksiyonları alma esnekliğine sahiptir.
Sosyal uygulamaların çoğu küresel ölçekte çalışır ve öngörülemeyen kullanım düzenleri sergileyebilir. Uygulama katmanı kullanım talebiyle eşleşecek şekilde ölçeklendirildikçe veri deposunu ölçeklendirme esnekliği çok önemlidir. Azure Cosmos DB hesabı altına ek veri bölümleri ekleyerek ölçeği genişletebilirsiniz. Ayrıca, birden çok bölgede ek Azure Cosmos DB hesapları da oluşturabilirsiniz. Azure Cosmos DB hizmet bölgesi kullanılabilirliği için bkz . Azure Bölgeleri.
Kişiselleştirme
Günümüzde modern uygulamalar karmaşık görünümlere ve deneyimlere sahiptir. Bunlar genellikle kullanıcı tercihlerine veya ruh hallerine ve markalama gereksinimlerine uygun dinamiktir. Bu nedenle uygulamaların kullanıcı arabirimi öğelerini ve deneyimlerini hızlı bir şekilde işlemek için kişiselleştirilmiş ayarları etkili bir şekilde alabilmesi gerekir.
Azure Cosmos DB tarafından desteklenen bir biçim olan JSON, kullanıcı arabirimi düzen verilerini temsil eden etkili bir biçimdir, aynı zamanda javascript tarafından kolayca yorumlanabilir. Azure Cosmos DB, düşük gecikmeli yazma işlemleriyle hızlı okumalara olanak sağlayan ayarlanabilir tutarlılık düzeyleri sunar. Bu nedenle Azure Cosmos DB'de kişiselleştirilmiş ayarlar da dahil olmak üzere kullanıcı arabirimi düzeni verilerini JSON belgeleri olarak depolamak, bu verileri kablo üzerinden almak için etkili bir yoldur.
Sonraki adımlar
Azure Cosmos DB'yi kullanmaya başlamak için, hesap oluşturma ve Azure Cosmos DB'yi kullanmaya başlama adımlarını gösteren hızlı başlangıçlarımızı izleyin.
Azure Cosmos DB kullanan müşteriler hakkında daha fazla bilgi edinmek isterseniz müşteri örnek olay incelemeleri sayfasına bakın.