Azure Cosmos DB için yaygın kullanım örnekleri

ŞUNLAR IÇIN GEÇERLIDIR: Nosql MongoDB Cassandra Gremlin Tablo

Bu makalede Azure Cosmos DB'ye yönelik bazı yaygın kullanım örneklerine genel bir bakış sunulmaktadı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 uygulamaları ve mobil uygulamalar için Azure Cosmos DB kullanmanın avantajları nelerdir?

Giriş

Azure Cosmos DB , herhangi bir ölçekte açık API'lere sahip 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 piyasaya sunulan ve aktarım hızı, gecikme süresi, kullanılabilirlik ve tutarlılığı kapsayan kapsamlı hizmet düzeyi sözleşmeleri sunan ilk küresel 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. Milisaniyelik yanıt sürelerinin düşük olması ve hızlı ve küresel olarak ölçeklendirilmesi gereken sunucusuz uygulamalar için iyi bir seçimdir. MongoDB API'si, NoSQL API'si, Gremlin API'si ve Tablo api'si dahil olmak üzere veri erişimi için birden çok veri modelini (anahtar-değer, belgeler, grafikler ve sütunlu) ve 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ırslı 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 çok bölgeli tüm hesaplarda kullanılabilirlik, aktarım hızı, düşük gecikme süresi ve tutarlılık için %99,999 garanti ve tüm çok bölgeli veritabanı hesaplarında %99,999 okuma kullanılabilirliği sunar.
  • Azure Cosmos DB'de milisaniyelik düşük gecikme süresine sahip SSD destekli depolama alanı vardır.
  • Azure Cosmos DB'nin nihai, tutarlı ön ek, oturum ve sınırlanmış eskime gibi tutarlılık düzeyleri 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 miktarlarda okuma ve yazma işlemine ihtiyaç duyan web, mobil, oyun ve IoT uygulamalarında faydalıdır.

IoT ve telematik

IoT kullanım örnekleri genellikle verileri alma, işleme ve depolama ile 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 analiz eder. 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 uygulanabilecek zengin hizmetler sunar.

Azure Cosmos DB IoT başvuru mimarisi

Düşük gecikme süresiyle yüksek aktarım hızına sahip veri alımı sunduğundan veri artışları Azure Event Hubs tarafından alınabiliyor. Gerçek zamanlı içgörü 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 sorgulanabilir. Ayrıca, yeni veriler ve mevcut verilerde yapılan değişiklikler değişiklik akışında okunabilir. Değişiklik akışı kalıcı, yalnızca Azure Cosmos DB kapsayıcılarındaki değişiklikleri sıralı sırada depolayan bir 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ı analizin bir parçası olarak başvuru verileri olarak kullanılabilir. Ayrıca Azure Cosmos DB verilerini Pig, Hive veya Map/Reduce işleri için HDInsight'a bağlayarak veriler daha da iyileştirilebilir ve işlenebilir. Daha sonra geliş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şlemek için olay kaynağını belirleme amacıyla 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.

Bir otomotiv parçaları sağlayıcısı için ürün kataloğu örneğini düşünün. Her bölümün, tüm parçaların paylaştığı ortak özniteliklere ek olarak kendi öznitelikleri olabilir. Ayrıca, belirli bir bölümün öznitelikleri, yeni bir model yayımlandığında sonraki yıl değişebilir. Azure Cosmos DB esnek şemaları ve hiyerarşik verileri desteklediği için ürün kataloğu verilerini depolamak için uygundur.

Azure Cosmos DB perakende kataloğu başvuru mimarisi

Azure Cosmos DB genellikle değişiklik akışı işlevselliğini kullanarak olay odaklı mimarileri desteklemek için 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.

Azure Cosmos DB sıralama işlem hattı başvuru mimarisi

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, ilgi çekici bir oyun deneyimi sağlamak için okuma ve yazma işlemleri için genellikle 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çeğinin büyütülmesini veya küçültülmesini sağlar. Bu, oyunların tek bir API çağrısı yaparak profili ve istatistikleri onlarca ile milyonlarca eş zamanlı oyuncu arasında işlemesine olanak tanır.
  • Azure Cosmos DB, oyun oynama sırasında herhangi bir gecikmeyi önlemeye yardımcı olmak için milisaniyelik okuma ve yazmaları destekler.
  • Azure Cosmos DB'nin otomatik dizin oluşturma özelliği, iç oyuncu kimliklerine göre oyuncu bulma veya bir loncadaki oyuncu üyeliğine göre GameCenter, Facebook, Google kimlikleri veya sorgular gibi gerçek zamanlı olarak birden çok farklı özelliğe göre filtrelemeye olanak tanır. 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 özellikler esnek bir şemayla daha kolay uygulanı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.

Azure Cosmos DB oyun başvurusu mimarisi

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çerikler, ilişkisel eşleme katmanlarına dönüştürme veya karmaşık nesne gerektirmeden Azure Cosmos DB'de depolanabilir. Veri özellikleri, geliştiriciler uygulama kodu üzerinde yineleme yaparak gereksinimleri karşılayacak şekilde kolayca eklenebilir veya değiştirilebilir, böylece hızlı geliştirmeyi teşvik eder.

Üçü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 sorgulanabilir. 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ının 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ölgesinin kullanılabilirliği için bkz. Azure Bölgeleri.

Azure Cosmos DB web uygulaması başvuru mimarisini gösteren diyagram.

Kişiselleştirme

Günümüzde modern uygulamalar karmaşık görünümlere ve deneyimlere sahiptir. Bunlar genellikle dinamiktir ve kullanıcı tercihlerine veya ruh hallerine ve markalama gereksinimlerine uygun şekilde gereksinimlerini karşılar. 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 etmek için etkili bir biçimdir çünkü yalnızca basit değildir, 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 kişiselleştirilmiş ayarlar dahil olmak üzere kullanıcı arabirimi düzen verilerini Azure Cosmos DB'de JSON belgeleri olarak depolamak, bu verileri kablo üzerinden almak için etkili bir yoldur.

Azure Cosmos DB web uygulaması başvuru mimarisi

Sonraki adımlar