Cosmos DB Mimarisi

Azure Storage için Geliştirme

Shahzad Mian

Content developer, DataCamp

Azure Cosmos DB

Azure_Cosmos_DB.svg.png

Azure Storage için Geliştirme

Sorun

Cosmos DB sorunu

Azure Storage için Geliştirme

Cosmos DB nedir?

 

CosmosDB

  • Çok modelli, küresel dağıtımlı NoSQL veritabanı.
  • NoSQL: esnek, klasör benzeri depolama.
  • Birden çok API ve veri türünü destekler.
  • Esnek bir menü gibi: API’nizi seçin:
    • JSON belgeleri için SQL (Core).
    • Mongo geliştiricileri için MongoDB.
    • Geniş sütun verisi için Cassandra.
    • Grafik ilişkileri için Gremlin.
    • Anahtar-değer için Table API.
Azure Storage için Geliştirme

Geliştiriciler için Cosmos DB

  • Geliştiriciler düşünülerek tasarlanmıştır.
  • Otomatik indeksleme: şema yönetimi yok.
  • Hızlı sorgular.
  • Beş tutarlılık düzeyi: Strong’dan Eventual’a.
  • Performans ile tutarlılık arasında denge.
    • Strong: herkes aynı veriyi anında görür.
    • Eventual: herkes zamana yayılıp yetişir.

 

Güçlü ve zayıf tutarlılık

Azure Storage için Geliştirme

Ölçekleme ve Bant Genişliği (RU/s)

Sağlanan mod

  • Saniyelik istek birimleri (RU/s) = Cosmos DB’nin performans birimi.
  • Her okuma, yazma veya sorgu bir miktar RU/s harcar.
  • Sabit sağlama veya otomatik ölçek seçin.
Azure Storage için Geliştirme

Ölçekleme ve Bant Genişliği (RU/s)

Ölçekleme

  • Saniyelik istek birimleri (RU/s) = Cosmos DB’nin performans birimi.
  • Her okuma, yazma veya sorgu bir miktar RU/s harcar.
  • Sabit sağlama veya otomatik ölçek seçin.
  • Otomatik ölçek talebe göre kendini ayarlar.
Azure Storage için Geliştirme

Esnek Ölçek ve Bölümleme

  • Cosmos DB bölümleme ile ölçeklenir.
  • Her kapsayıcı bir bölüm anahtarı kullanır.
  • Anahtar ilişkili verileri bir araya getirir.
  • Örnek: Cipher Coffee siparişler için /customerId kullanır.
  • /customerId bölüm anahtarı olduğunda bir müşterinin tüm siparişleri aynı bölümde olur.
  • Veri artsa da sorgular hızlı kalır.
  • Sıcak bölüm: Dengesiz yük, performansı düşürür.

Esnek ölçek ve bölümleme

Azure Storage için Geliştirme

Küresel dağıtım

  • Verileri kolayca herhangi bir Azure bölgesine çoğaltın.
  • Sadece kutuları işaretleyin, kurulum gerekmez.
  • Bir bölge arızalanırsa trafik otomatik yönlendirilir.
  • Kesinti ve veri kaybı yok.
  • Müşteriye anında hizmet veren yedek bir kafe gibi.

Küresel dağıtım

Azure Storage için Geliştirme

İzleme ve maliyet optimizasyonu

  • Azure Portal’da performansı izleyin.
  • RU/s, gecikme ve istek maliyeti gibi metrikleri görün.
  • Araç gösterge paneli gibi: hız ve yakıt tüketimini görün.
  • Cipher Coffee mühendisleri bu metrikleri analiz etti.
  • Bant genişliğini dinamik ayarlayarak maliyeti düşürdüler.

İzleme

Azure Storage için Geliştirme

Hadi pratik yapalım!

Azure Storage için Geliştirme

Preparing Video For Download...