Arsitektur Cosmos DB

Mengembangkan untuk Azure Storage

Shahzad Mian

Content developer, DataCamp

Azure Cosmos DB

Azure_Cosmos_DB.svg.png

Mengembangkan untuk Azure Storage

Masalahnya

Masalah Cosmos DB

Mengembangkan untuk Azure Storage

Apa itu Cosmos DB?

 

CosmosDB

  • Database NoSQL multi-model, terdistribusi global.
  • NoSQL = penyimpanan fleksibel seperti folder.
  • Mendukung banyak API dan tipe data.
  • Seperti menu restoran fleksibel—pilih rasa API:
    • SQL (Core) untuk dokumen JSON.
    • MongoDB untuk developer Mongo.
    • Cassandra untuk data kolom-lebar.
    • Gremlin untuk relasi graf.
    • Table API untuk key-value.
Mengembangkan untuk Azure Storage

Cosmos DB untuk pengembang

  • Dibuat untuk pengembang.
  • Pengindeksan otomatis—tanpa kelola skema.
  • Kueri cepat.
  • Lima level konsistensi: dari Strong hingga Eventual.
  • Kompromi kinerja vs konsistensi.
    • Strong: semua klien mendapat data yang sama seketika.
    • Eventual: semua klien akan menyusul kemudian.

 

Konsistensi strong dan eventual

Mengembangkan untuk Azure Storage

Skalabilitas dan Throughput (RU/s)

Mode terprovisi

  • Request units per second (RU/s) = mata uang kinerja Cosmos DB.
  • Tiap baca, tulis, atau kueri menghabiskan RU/s.
  • Pilih provisi tetap atau autoscale.
Mengembangkan untuk Azure Storage

Skalabilitas dan Throughput (RU/s)

Skalabilitas

  • Request units per second (RU/s) = mata uang kinerja Cosmos DB.
  • Tiap baca, tulis, atau kueri menghabiskan RU/s.
  • Pilih provisi tetap atau autoscale.
  • Autoscale menyesuaikan otomatis sesuai beban.
Mengembangkan untuk Azure Storage

Skala elastis dan Partisi

  • Cosmos DB diskalakan lewat partisi.
  • Tiap container memakai partition key.
  • Kunci mengelompokkan data terkait.
  • Contoh: Cipher Coffee memakai /customerId untuk pesanan.
  • Semua pesanan pelanggan berada di partisi yang sama saat memakai /customerId sebagai partition key.
  • Kueri tetap cepat saat data tumbuh.
  • Hot partition: Beban partisi tidak merata yang menurunkan kinerja.

Skala elastis dan partisi

Mengembangkan untuk Azure Storage

Distribusi global

  • Replikasi data ke region Azure mana pun dengan mudah.
  • Cukup centang kotak, tanpa konfigurasi rumit.
  • Jika satu region gagal, trafik otomatis dialihkan.
  • Tanpa downtime, tanpa kehilangan data.
  • Seperti kafe cadangan yang siap melayani segera.

Distribusi global

Mengembangkan untuk Azure Storage

Pemantauan dan optimasi biaya

  • Pantau kinerja di Azure Portal.
  • Lihat metrik seperti RU/s, latensi, dan biaya permintaan.
  • Seperti dasbor mobil: lihat kecepatan dan konsumsi.
  • Engineer Cipher Coffee menganalisis metrik ini.
  • Biaya turun dengan menyesuaikan throughput dinamis.

Pemantauan

Mengembangkan untuk Azure Storage

Ayo berlatih!

Mengembangkan untuk Azure Storage

Preparing Video For Download...