Bagikan melalui


Multitenancy dan Azure Database for PostgreSQL

Banyak solusi multipenyewa di Azure menggunakan sistem manajemen database relasional sumber terbuka Azure Database for PostgreSQL. Dalam artikel ini, kami meninjau fitur Azure Database for PostgreSQL yang berguna saat bekerja dengan sistem multipenyewa. Artikel ini juga menautkan ke panduan dan contoh cara menggunakan Azure Database for PostgreSQL, dalam solusi multipenyewa.

Mode penyebaran

Ada dua mode penyebaran yang tersedia untuk Azure Database for PostgreSQL yang cocok untuk digunakan dengan aplikasi multipenyewa:

  • Azure Database for PostgreSQL - Server Fleksibel - Ini adalah pilihan yang baik untuk sebagian besar penyebaran multipenyewa yang tidak memerlukan skalabilitas tinggi yang disediakan oleh Azure Cosmos DB for PostgreSQL.
  • Azure Cosmos DB for PostgreSQL - Layanan database terkelola Azure yang dirancang untuk solusi yang membutuhkan tingkat skala tinggi, yang sering mencakup aplikasi multipenyewa. Layanan ini adalah bagian dari keluarga produk Azure Cosmos DB.

Catatan

Azure Database for PostgreSQL - Server Tunggal berada di jalur penghentian dan dijadwalkan untuk dihentikan pada 28 Maret 2025. Tidak disarankan untuk beban kerja multipenyewa baru.

Fitur Azure Database for PostgreSQL yang mendukung multitenansi

Saat Anda membangun aplikasi multipenyewa menggunakan Azure Database for PostgreSQL, ada sejumlah fitur yang dapat Anda gunakan untuk meningkatkan solusi.

Catatan

Beberapa fitur hanya tersedia dalam mode penyebaran tertentu. Fitur-fitur ini ditunjukkan dalam panduan di bawah ini.

Keamanan tingkat baris

Keamanan tingkat baris berguna untuk menerapkan isolasi tingkat penyewa, saat Anda menggunakan tabel bersama. Di PostgreSQL, keamanan tingkat baris diterapkan dengan menerapkan kebijakan keamanan baris ke tabel untuk membatasi akses ke baris menurut penyewa.

Mungkin ada sedikit dampak performa saat menerapkan keamanan tingkat baris pada tabel. Oleh karena itu, indeks tambahan mungkin perlu dibuat pada tabel dengan keamanan tingkat baris diaktifkan untuk memastikan performa tidak terpengaruh. Disarankan untuk menggunakan teknik pengujian performa untuk memvalidasi bahwa beban kerja Anda memenuhi persyaratan performa garis besar Anda saat keamanan tingkat baris diaktifkan.

Informasi selengkapnya:

Penskalakan horizontal dengan sharding

Pola Sharding memungkinkan Anda untuk menskalakan beban kerja Anda di beberapa database atau server database.

Solusi yang membutuhkan tingkat skala yang sangat tinggi dapat menggunakan Azure Cosmos DB for PostgreSQL. Mode penyebaran ini memungkinkan sharding horizontal penyewa di beberapa server (simpul). Dengan menggunakan tabel terdistribusi dalam database multipenyewa, Anda dapat memastikan semua data untuk penyewa disimpan pada simpul yang sama, yang meningkatkan performa kueri.

Catatan

Mulai Oktober 2022, Azure Database for PostgreSQL Hyperscale (Citus) telah diubah namanya menjadi Azure Cosmos DB for PostgreSQL dan dipindahkan ke keluarga produk Cosmos DB.

Informasi selengkapnya:

Pengumpulan koneksi

Postgres menggunakan model berbasis proses untuk koneksi. Model ini membuatnya tidak efisien untuk mempertahankan sejumlah besar koneksi diam. Beberapa arsitektur multipenyewa memerlukan sejumlah besar koneksi aktif, yang akan berdampak negatif pada performa server Postgres.

Pengumpulan koneksi melalui PgBouncer diinstal secara default di Azure Database for PostgreSQL - Server Fleksibel.

Informasi selengkapnya:

Autentikasi Microsoft Entra

Azure Database for PostgreSQL - Server Fleksibel mendukung autentikasi koneksi menggunakan ID Microsoft Entra. Fitur ini memungkinkan beban kerja aplikasi di lingkungan multipenyewa untuk mengautentikasi ke database dengan menggunakan perwakilan layanan khusus penyewa atau identitas terkelola, yang berarti bahwa akses database dapat dilingkupkan ke penyewa individual. Dengan menggabungkan autentikasi ID Microsoft Entra dengan kebijakan keamanan baris tertentu penyewa, Anda dapat mengurangi risiko aplikasi mengakses data penyewa lain dari dalam database multipenyewa. Informasi selengkapnya:

Kontributor

Artikel ini dikelola oleh Microsoft. Ini awalnya ditulis oleh kontributor berikut.

Penulis utama:

Kontributor lain:

  • John Downs | Insinyur Perangkat Lunak Utama
  • Arsen Vladimirskiy | Teknisi Pelanggan Utama, FastTrack untuk Azure
  • Paul Burpo | Insinyur Pelanggan Utama, FastTrack untuk Isv Azure
  • Assaf Fraenkel | Insinyur Senior/Arsitek Data, Azure FastTrack untuk ISV dan Start-up

Untuk melihat profil LinkedIn non-publik, masuk ke LinkedIn.

Langkah berikutnya

Tinjau pendekatan penyimpanan dan data untuk multi-penyewaan.