Kasus penggunaan DB Azure Cosmos Umum

BERLAKU UNTUK: Nosql MongoDB Cassandra Gremlin Meja

Artikel ini menyediakan gambaran umum tentang beberapa kasus penggunaan umum untuk Azure Cosmos DB. Rekomendasi dalam artikel ini berfungsi sebagai titik awal saat Anda mengembangkan aplikasi Anda dengan Azure Cosmos DB.

Setelah membaca artikel ini, Anda akan dapat menjawab pertanyaan-pertanyaan berikut:

  • Apa saja kasus penggunaan umum untuk Azure Cosmos DB?
  • Apa manfaat menggunakan Azure Cosmos DB untuk aplikasi ritel?
  • Apa manfaat menggunakan Azure Cosmos DB sebagai penyimpanan data untuk sistem Internet of Things (IoT)?
  • Apa manfaat menggunakan Azure Cosmos DB untuk aplikasi web dan seluler?

Pengantar

Azure Cosmos DB adalah solusi Azure untuk database NoSQL yang cepat dengan API terbuka untuk skala apa pun. Layanan ini dirancang untuk memungkinkan pelanggan untuk secara elastis (dan independen) menskalakan throughput dan penyimpanan di sejumlah wilayah geografis. Azure Cosmos DB adalah layanan database terdistribusi global pertama di pasaran saat ini yang menawarkan perjanjian tingkat layanan komprehensif yang mencakup throughput, latensi, ketersediaan, dan konsistensi.

Azure Cosmos DB adalah database multi-model terdistribusi global yang digunakan dalam berbagai aplikasi dan kasus penggunaan. Ini adalah pilihan yang baik untuk aplikasi tanpa server yang membutuhkan waktu respons order-of-milidetik yang rendah, dan perlu menskalakan dengan cepat dan global. Ini mendukung beberapa model data (nilai kunci, dokumen, grafik, dan kolom) dan banyak API Azure Cosmos DB untuk akses data termasuk API untuk MongoDB, API untuk NoSQL, API untuk Gremlin, dan API untuk Tabel secara asli, dan secara ekstensibel.

Berikut ini adalah beberapa atribut Azure Cosmos DB yang membuatnya cocok untuk aplikasi berkinerja tinggi dengan ambisi global.

  • Azure Cosmos DB secara asli mempartisi data Anda untuk ketersediaan dan skalabilitas tinggi. Azure Cosmos DB menawarkan jaminan 99,99% untuk ketersediaan, throughput, latensi rendah, dan konsistensi pada semua akun satu wilayah dan semua akun beberapa wilayah dengan konsistensi santai, dan ketersediaan baca 99,999% di semua akun database beberapa wilayah.
  • Azure Cosmos DB memiliki penyimpanan yang didukung SSD dengan waktu respons urutan milidetik latensi rendah.
  • Dukungan Azure Cosmos DB untuk tingkat konsistensi seperti akhirnya, awalan yang konsisten, sesi, dan kedaluwarsa yang dibatasi memungkinkan fleksibilitas penuh dan rasio biaya-terhadap-kinerja yang rendah. Tidak ada layanan database yang menawarkan fleksibilitas sebanyak Azure Cosmos DB dalam tingkat konsistensi.
  • Azure Cosmos DB memiliki model harga yang fleksibel untuk data yang mengukur penyimpanan dan throughput secara independen.
  • Model throughput khusus Azure Cosmos DB memungkinkan Anda untuk berpikir dalam hal jumlah bacaan / tulis alih-alih CPU / memori / IP dari perangkat keras yang mendasarinya.
  • Desain Azure Cosmos DB memungkinkan Anda menskalakan ke volume permintaan besar-besaran dalam urutan triliunan permintaan per hari.

Atribut ini bermanfaat dalam aplikasi web, seluler, game, dan IoT yang membutuhkan waktu respons rendah dan perlu menangani pembacaan dan penulisan dalam jumlah besar.

IoT dan telematika

Kasus penggunaan IoT biasanya berbagi beberapa pola dalam cara mereka menelan, memproses, dan menyimpan data. Pertama, sistem ini perlu menelan semburan data dari sensor perangkat dari berbagai lokal. Selanjutnya, sistem ini memproses dan menganalisis data streaming untuk mendapatkan wawasan real-time. Data kemudian diarsipkan ke penyimpanan dingin untuk analitik batch. Microsoft Azure menawarkan layanan kaya yang dapat diterapkan untuk kasus penggunaan IoT termasuk Azure Cosmos DB, Azure Event Hubs, Azure Stream Analytics, Azure Notification Hub, Azure Machine Learning, Azure HDInsight, dan Power BI.

Arsitektur referensi Azure Cosmos DB IoT

Semburan data dapat dicern oleh Azure Event Hubs karena menawarkan ingpan data throughput tinggi dengan latensi rendah. Data yang disincar yang perlu diproses untuk wawasan real-time dapat disamakan ke Azure Stream Analytics untuk analitik real-time. Data dapat dimuat ke Azure Cosmos DB untuk kueri adhoc. Setelah data dimuat ke Azure Cosmos DB, data siap untuk dikueri. Selain itu, data baru dan perubahan pada data yang ada dapat dibaca pada umpan perubahan. Umpan perubahan adalah log persisten, hanya tambahkan yang menyimpan perubahan pada kontainer Azure Cosmos DB secara berurutan. Kemudian semua data atau hanya perubahan pada data di Azure Cosmos DB dapat digunakan sebagai data referensi sebagai bagian dari analitik real-time. Selain itu, data selanjutnya dapat disempurnakan dan diproses dengan menghubungkan data Azure Cosmos DB ke HDInsight untuk pekerjaan Pig, Hive, atau Map/Reduce. Data yang disempurnakan kemudian dimuat kembali ke Azure Cosmos DB untuk pelaporan.

Untuk contoh solusi IoT menggunakan Azure Cosmos DB, Event Hubs, dan Apache Storm, lihat repositori hdinsight-storm-examples di GitHub.

Untuk informasi selengkapnya tentang penawaran Azure untuk IoT, lihat Membuat Internet of Your Things.

Ritel dan pemasaran

Azure Cosmos DB digunakan secara luas di platform e-commerce Microsoft sendiri, yang menjalankan Bursa Windows dan XBox Live. Ini juga digunakan dalam industri ritel untuk menyimpan data katalog dan untuk sumber peristiwa dalam rangka pemrosesan pipa.

Skenario penggunaan data katalog melibatkan penyimpanan dan kueri sekumpulan atribut untuk entitas seperti orang, tempat, dan produk. Beberapa contoh data katalog adalah akun pengguna, katalog produk, daftar perangkat IoT, dan tagihan sistem material. Atribut untuk data ini dapat bervariasi dan dapat berubah dari waktu ke waktu agar sesuai dengan persyaratan aplikasi.

Pertimbangkan contoh katalog produk untuk pemasok suku cadang otomotif. Setiap bagian mungkin memiliki atributnya sendiri selain atribut umum yang dibagikan semua bagian. Selain itu, atribut untuk bagian tertentu dapat berubah pada tahun berikutnya ketika model baru dirilis. Azure Cosmos DB mendukung skema fleksibel dan data hierarkis, dan dengan demikian sangat cocok untuk menyimpan data katalog produk.

Arsitektur referensi katalog ritel Azure Cosmos DB

Azure Cosmos DB sering digunakan untuk sumber acara untuk menggerakkan arsitektur yang digerakkan oleh peristiwa menggunakan fungsi umpan perubahannya. Umpan perubahan menyediakan layanan mikro hilir kemampuan untuk secara andal dan bertahap membaca sisipan dan pembaruan (misalnya, peristiwa pesanan) yang dibuat untuk Azure Cosmos DB. Fungsionalitas ini dapat dimanfaatkan untuk menyediakan toko peristiwa persisten sebagai broker pesan untuk peristiwa yang mengubah keadaan dan mendorong alur kerja pemrosesan pesanan antara banyak layanan mikro (yang dapat diimplementasikan sebagai Azure Functions tanpa server).

Azure Cosmos DB memesan arsitektur referensi saluran pipa

Selain itu, data yang disimpan di Azure Cosmos DB dapat diintegrasikan dengan HDInsight untuk analitik big data melalui pekerjaan Apache Spark. Untuk detail tentang Konektor Spark untuk Azure Cosmos DB, lihat Menjalankan pekerjaan Spark dengan Azure Cosmos DB dan HDInsight.

Permainan

Tingkat database adalah komponen penting dari aplikasi game. Game modern melakukan pemrosesan grafis pada klien seluler / konsol, tetapi mengandalkan cloud untuk memberikan konten yang disesuaikan dan dipersonalisasi seperti statistik dalam game, integrasi media sosial, dan papan peringkat skor tinggi. Game sering membutuhkan latensi milidetik tunggal untuk bacaan dan tulisan untuk memberikan pengalaman dalam game yang menarik. Database game harus cepat dan dapat menangani lonjakan besar-besaran dalam tingkat permintaan selama peluncuran game baru dan pembaruan fitur.

Azure Cosmos DB digunakan oleh game seperti The Walking Dead: No Man's Land by Next Games, dan Halo 5: Guardians oleh 343 Industri. Azure Cosmos DB memberikan manfaat berikut kepada pengembang game:

  • Azure Cosmos DB memungkinkan kinerja ditingkatkan atau turun secara elastis. Ini memungkinkan game untuk menangani pembaruan profil dan statistik dari puluhan hingga jutaan gamer simultan dengan membuat satu panggilan API.
  • Azure Cosmos DB mendukung bacaan dan tulis milidetik untuk membantu menghindari keterbesanan selama bermain game.
  • Pengindeksan otomatis Azure Cosmos DB memungkinkan pemfilteran terhadap beberapa properti yang berbeda secara real-time, misalnya, menemukan pemain berdasarkan KARTU pemain internal mereka, atau GameCenter, Facebook, Google ID, atau kueri berdasarkan keanggotaan pemain di guild. Ini dimungkinkan tanpa membangun infrastruktur pengindeksan atau sharding yang kompleks.
  • Fitur sosial termasuk pesan obrolan dalam game, keanggotaan guild pemain, tantangan selesai, papan peringkat skor tinggi, dan grafik sosial lebih mudah diterapkan dengan skema yang fleksibel.
  • Azure Cosmos DB sebagai platform terkelola sebagai layanan (PaaS) memerlukan pengaturan minimal dan pekerjaan manajemen untuk memungkinkan iterasi cepat, dan mengurangi waktu ke pasar.

Arsitektur referensi gaming Azure Cosmos DB

Aplikasi web dan seluler

Azure Cosmos DB umumnya digunakan dalam aplikasi web dan seluler, dan sangat cocok untuk memodelkan interaksi sosial, berintegrasi dengan layanan pihak ketiga, dan untuk membangun pengalaman pribadi yang kaya. Azure Cosmos DB SDK dapat digunakan untuk membangun aplikasi iOS dan Android yang kaya menggunakan kerangka kerja Xamarin populer.

Aplikasi Sosial

Kasus penggunaan umum untuk Azure Cosmos DB adalah menyimpan dan meminta konten yang dihasilkan pengguna (UGC) untuk aplikasi web, seluler, dan media sosial. Beberapa contoh UGC adalah sesi obrolan, tweet, posting blog, peringkat, dan komentar. Seringkali, UGC dalam aplikasi media sosial adalah perpaduan teks bentuk bebas, properti, tag, dan hubungan yang tidak dibatasi oleh struktur yang kaku. Konten seperti obrolan, komentar, dan postingan dapat disimpan di Azure Cosmos DB tanpa memerlukan transformasi atau objek kompleks ke lapisan pemetaan relasional. Properti data dapat ditambahkan atau dimodifikasi dengan mudah agar sesuai dengan persyaratan saat pengembang melakukan iterasi melalui kode aplikasi, sehingga mempromosikan perkembangan yang cepat.

Aplikasi yang terintegrasi dengan jejaring sosial pihak ketiga harus merespons perubahan skema dari jaringan ini. Karena data secara otomatis diindeks secara default di Azure Cosmos DB, data siap untuk dikueri kapan saja. Oleh karena itu, aplikasi ini memiliki fleksibilitas untuk mengambil proyeksi sesuai kebutuhan masing-masing.

Banyak aplikasi sosial berjalan pada skala global dan dapat menunjukkan pola penggunaan yang tidak dapat diprediksi. Fleksibilitas dalam menskalakan penyimpanan data sangat penting karena lapisan aplikasi diskalakan agar sesuai dengan permintaan penggunaan. Anda dapat memperluas skala dengan menambahkan partisi data tambahan di bawah akun Azure Cosmos DB. Selain itu, Anda juga dapat membuat akun Azure Cosmos DB tambahan di beberapa wilayah. Untuk ketersediaan wilayah layanan Azure Cosmos DB, lihat Wilayah Azure.

Diagram yang memperlihatkan arsitektur referensi aplikasi web Azure Cosmos DB.

Personalisasi

Saat ini, aplikasi modern hadir dengan pemandangan dan pengalaman yang kompleks. Ini biasanya dinamis, melayani preferensi pengguna atau suasana hati dan kebutuhan branding. Oleh karena itu, aplikasi harus dapat mengambil pengaturan yang dipersonalisasi secara efektif untuk merender elemen dan pengalaman UI dengan cepat.

JSON, format yang didukung oleh Azure Cosmos DB, adalah format yang efektif untuk mewakili data tata letak UI karena tidak hanya ringan, tetapi juga dapat dengan mudah ditafsirkan oleh JavaScript. Azure Cosmos DB menawarkan tingkat konsistensi yang dapat disesuaikan yang memungkinkan pembacaan cepat dengan tulisan latensi rendah. Oleh karena itu, menyimpan data tata letak UI termasuk pengaturan yang dipersonalisasi sebagai dokumen JSON di Azure Cosmos DB adalah cara yang efektif untuk mendapatkan data ini di seluruh kabel.

Arsitektur referensi gaming Azure Cosmos DB

Langkah berikutnya

  • Untuk mulai menggunakan Azure Cosmos DB, ikuti mulai cepat kami, yang memanmbing Anda membuat akun dan mulai menggunakan Azure Cosmos DB.

  • Jika Anda ingin membaca selengkapnya tentang pelanggan yang menggunakan Azure Cosmos DB, lihat halaman studi kasus pelanggan.