Bagikan melalui


Menentukan jenis aplikasi untuk Azure Cosmos DB for PostgreSQL

Penting

Azure Cosmos DB for PostgreSQL tidak lagi didukung untuk proyek baru. Jangan gunakan layanan ini untuk proyek baru. Sebagai gantinya, gunakan salah satu dari dua layanan ini:

Menjalankan kueri yang efisien pada kluster mengharuskan tabel didistribusikan dengan benar di seluruh server. Distribusi yang direkomendasikan bervariasi menurut jenis aplikasi dan pola kuerinya.

Ada dua jenis aplikasi yang bekerja dengan baik di Azure Cosmos DB for PostgreSQL. Langkah pertama dalam pemodelan data adalah mengidentifikasi mana yang lebih mirip dengan aplikasi Anda.

Sekilas Pandang

Aplikasi Multi-Tenant Aplikasi Real Time
Kadang-kadang lusinan atau ratusan tabel dalam skema Sejumlah kecil tabel
Kueri yang berkaitan dengan satu penyewa (perusahaan/toko) pada satu waktu Kueri analitik yang relatif sederhana dengan agregasi
Beban kerja OLTP untuk melayani klien web Volume penyerapan tinggi dari sebagian data yang tidak dapat diubah
Beban kerja OLAP yang melayani kueri analitik untuk masing-masing penyewa Sering berpusat di sekitar tabel peristiwa besar

Contoh dan Karakteristik

Aplikasi Multi-Tenant

Aplikasi ini biasanya merupakan aplikasi SaaS yang melayani perusahaan, akun, atau organisasi lain. Sebagian besar aplikasi SaaS bersifat relasional secara inheren. Aplikasi SaaS memiliki cara yang alami untuk mendistribusikan data di seluruh node: cukup dipecah berdasarkan tenant_id.

Azure Cosmos DB for PostgreSQL memungkinkan Anda untuk menskalakan database Anda ke jutaan penyewa tanpa harus merancang ulang aplikasi Anda. Anda dapat menyimpan semantik relasional yang Anda butuhkan, seperti gabungan, kendala kunci asing, transaksi, ACID, dan konsistensi.

  • Contoh: Situs web yang menghosting store-front untuk bisnis lain, seperti solusi pemasaran digital, atau alat otomatisasi penjualan.
  • Karakteristik: Kueri yang berkaitan dengan penyewa tunggal daripada menggabungkan informasi dari beberapa penyewa. Ini mencakup beban kerja OLTP untuk melayani klien web, dan beban kerja OLAP yang melayani kueri analitik per penyewa. Memiliki lusinan atau ratusan tabel dalam skema database Anda juga merupakan indikator untuk model data multi-penyewa.

Penskalaan aplikasi multi-penyewa dengan Azure Cosmos DB for PostgreSQL juga memerlukan perubahan minimal pada kode aplikasi. Kami memiliki dukungan untuk kerangka kerja populer seperti Ruby on Rails dan Django.

Analitik Waktu Nyata

Aplikasi membutuhkan paralelisme besar-besaran, mengoordinasikan ratusan inti untuk hasil yang cepat untuk kueri numerik, statistik, atau penghitungan. Dengan memecah dan menyejajarkan kueri SQL di beberapa simpul, Azure Cosmos DB for PostgreSQL memungkinkan untuk melakukan kueri real-time di miliaran rekaman dalam waktu kurang dari satu detik.

Tabel dalam model data analitik real time biasanya didistribusikan oleh kolom seperti user_id, host_id, atau device_id.

  • Contoh: Dasbor analitik yang berhadapan dengan pelanggan memerlukan waktu respons sub-detik.
  • Karakteristik: Beberapa tabel, sering kali berpusat pada tabel besar peristiwa perangkat, situs, atau pengguna dan membutuhkan volume penyerapan yang tinggi dari data yang sebagian besar tidak berubah. Kueri analitik yang relatif sederhana (tetapi intensif secara komputasi) melibatkan beberapa agregasi dan GROUP BYs.

Jika situasi Anda mirip dengan salah satu kasus di atas, maka langkah selanjutnya adalah memutuskan cara memecah data Anda di kluster. Pilihan kolom distribusi administrator database harus sesuai dengan pola akses kueri umum untuk memastikan performa.

Langkah berikutnya