Aracılığıyla paylaş


PostgreSQL için Azure Veritabanı'nı çok kiracılı bir çözümde kullanma kılavuzu

Azure'da birçok çok kiracılı çözüm, açık kaynak ilişkisel veritabanı yönetim sistemi PostgreSQL için Azure Veritabanı kullanır. Bu makalede, çok kiracılı sistemlerle çalışırken yararlı olan PostgreSQL için Azure Veritabanı özellikleri açıklanmaktadır. Makale ayrıca çok kiracılı bir çözümde PostgreSQL için Azure Veritabanı'nı kullanma yönergelerinin bağlantılarını ve örneklerini içerir.

Dağıtım modları

PostgreSQL için Azure Veritabanı için aşağıdaki dağıtım modları kullanılabilir ve çok kiracılı uygulamalarla kullanıma uygundur:

Çok kiracılılığı destekleyen PostgreSQL için Azure Veritabanı özellikleri

PostgreSQL için Azure Veritabanı'nı kullanarak çok kiracılı bir uygulama oluştururken aşağıdaki özellikler çözümünüzü geliştirebilir.

Not

Bazı özellikler yalnızca belirli dağıtım modlarında kullanılabilir. Aşağıdaki kılavuzda hangi özelliklerin kullanılabilir olduğu açıklanmaktadır.

Satır düzeyi güvenlik

Satır düzeyi güvenlik, paylaşılan tabloları kullanırken kiracı düzeyinde yalıtımı zorlamak için kullanışlıdır. PostgreSQL'de, kiracıya göre satırlara erişimi kısıtlamak için tablolara satır güvenliği ilkeleri uygulayarak satır düzeyi güvenlik uygularsınız.

Tabloya satır düzeyi güvenlik uygulamak performansı etkileyebilir. Performansın etkilenmediğinden emin olmak için satır düzeyi güvenliği etkinleştirilmiş tablolarda başka dizinler oluşturmanız gerekebilir. Satır düzeyi güvenlik kullandığınızda, iş yükünüzün temel performans gereksinimlerinizi karşıladığını doğrulamak için performans testi tekniklerini kullanmanız önemlidir.

Satır düzeyi güvenlik hakkında daha fazla bilgi için bkz. PostgreSQL için Azure Veritabanı için erişim yönetimi.

Satır düzeyi güvenlik için kiracı bağlamı

Satır düzeyi güvenlik ilkeleri geçerli kiracı tanımlayıcısına erişim gerektirir. PostgreSQL için Azure Veritabanı esnek sunucusu, kiracı bağlamı yönetimine yardımcı olan iki uzantı sağlar:

  • session_variable: Bir oturum içinde kiracı tanımlayıcısını depolamak ve almak için kullanabileceğiniz oturum kapsamlı değişkenler sağlar. Bu değişkenleri satır düzeyi güvenlik ilkelerinizde kullanın.
  • login_hook: Oturum açma zamanında bir işlev yürütür. Bağlantı kurulduğunda kiracı bağlamını otomatik olarak ayarlamak için bu uzantıyı kullanın.

Daha fazla bilgi için bkz. PostgreSQL için Azure Veritabanı esnek sunucusu için uzantılar ve uzantı sürümleri.

Parçalama ile yatay ölçeklendirme

Parçalama düzeni, iş yükünüzü birden çok veritabanı veya veritabanı sunucusu arasında ölçeklendirmenizi sağlar.

Yüksek düzeyde ölçek gerektiren çözümler PostgreSQL için Azure Cosmos DB kullanabilir. Bu dağıtım modu, kiracıların birden çok sunucu veya düğüm arasında yatay olarak parçalandırılmasını sağlar. Kiracının tüm verilerinin aynı düğümde depolandığından emin olmak için çok kiracılı veritabanlarında dağıtılmış tablolar kullanın. Bu yaklaşım sorgu performansını artırır.

Not

Ekim 2022'de PostgreSQL için Azure Veritabanı Hiper Ölçek (Citus), PostgreSQL için Azure Cosmos DB olarak yeniden markalandı ve Azure Cosmos DB ürün ailesine taşındı.

Daha fazla bilgi için aşağıdaki makalelere bakın:

Elastik kümeler

Elastik kümeler, PostgreSQL için Azure Veritabanı esnek sunucusunun bir özelliğidir. Tek bir yönetilen hizmet içinde yatay ölçeklendirme özellikleri sağlar. Bu dağıtım seçeneği, ölçeği genişletme özellikleri gerektiren çok kiracılı iş yükleri için dağıtılmış tablo işlevselliğini kullanır.

Çok kiracılı çözümlerde, elastik kümeler birden çok düğüm arasında kiracı verilerinin parçalanması sağlar. Elastik kümeler iki parçalama modeli destekler:

  • Satır tabanlı parçalama: Kiracı verilerini belirli düğümlerde gruplandırmak ve bir arada tutmak için tabloları kiracı kimliğine göre dağıtabilirsiniz. Bu yaklaşım kiracıya özgü sorgular için sorgu performansını geliştirebilir, ancak sorguların dağıtım sütununu içermesini gerektirir.
  • Şema tabanlı parçalama: Kiracı başına ayrı bir şema kullanarak kiracıları yalıtabilirsiniz. Bu yaklaşım, satır tabanlı parçalama desteği için sorgu değişikliklerine tabi tutulamaz uygulamaları dağıtan ISV'ler için idealdir. Şema tabanlı parçalama, 1 ile 10.000 arasında kiracısı olan iş yükleri için uygundur.

Not

Elastik kümeler önizleme aşamasındadır ve yalnızca PostgreSQL için Azure Veritabanı esnek sunucusunda kullanılabilir.

Daha fazla bilgi için aşağıdaki makalelere bakın:

Bağlantı havuzu

Postgres, bağlantılar için işlem tabanlı bir model kullanır. Bu model, çok sayıda boşta bağlantı bulundurmayı verimsiz hale getirir. Bazı çok kiracılı mimariler, Postgres sunucusunun performansını olumsuz etkileyen birçok etkin bağlantı gerektirir.

PgBouncer aracılığıyla bağlantı havuzu, PostgreSQL için Azure Veritabanı esnek sunucusunda varsayılan olarak yüklenir.

Daha fazla bilgi için aşağıdaki makalelere bakın:

Microsoft Entra kimlik doğrulama

PostgreSQL için Azure Veritabanı esnek sunucusu, Microsoft Entra Id kullanarak bağlantı kimlik doğrulamasını destekler. Bu özellik, çok kiracılı bir ortamdaki uygulama iş yüklerinin kiracıya özgü bir hizmet sorumlusu veya yönetilen kimlik kullanarak veritabanında kimlik doğrulamasına olanak tanır. Veritabanı erişiminin kapsamı tek bir kiracıya göre ayarlanabilir. Microsoft Entra ID kimlik doğrulamasını kiracıya özgü satır güvenlik ilkeleriyle birleştirerek, uygulamanın çok kiracılı bir veritabanından başka bir kiracının verilerine erişme riskini azaltabilirsiniz.

Daha fazla bilgi için aşağıdaki makalelere bakın:

Azure gizli bilgi işlem (önizleme)

PostgreSQL için Azure Veritabanı esnek sunucusu, kullanımdaki veriler için donanım tabanlı koruma sağlayan güvenilir yürütme ortamları (TEE) aracılığıyla Azure gizli bilgi işlemi destekler. Bu özellik, kiracı verilerini işletim sistemi, hiper yönetici veya diğer uygulamalar tarafından yetkisiz erişime karşı korur.

Gizli bilgi işlem, hassas verileri işleyen çok kiracılı çözümler için işleme sırasında donanım düzeyinde veri koruması sağlar. Kiracıların katı veri koruma gereksinimleri veya mevzuat uyumluluğu gereksinimleri olduğunda veya uygulama sağlayıcısının kiracı verilerine erişemiyorsa emin olmanız gerektiğinde gizli bilgi işlem kullanın.

Not

Gizli bilgi işlem şu anda önizleme aşamasındadır ve belirli sanal makine SKU'ları gerektirir.

Daha fazla bilgi için bkz. PostgreSQL için Azure Veritabanı (önizleme) için Azure gizli bilgi işlem.

Şifreleme

PostgreSQL için Azure Veritabanı esnek sunucusunda depolanan veriler, Microsoft tarafından yönetilen anahtarlar kullanılarak varsayılan olarak bekleme durumunda şifrelenir, ancak kiracıların kendi şifreleme anahtarlarını belirtmesine izin vermek için müşteri tarafından yönetilen anahtarları (CMK) da kullanabilirsiniz.

CMK'leri kullandığınızda Azure Key Vault'ta depolanan kendi şifreleme anahtarlarınızı sağlayabilirsiniz. Çok kiracılı ortamlarda bu yaklaşım, verileri aynı veritabanı sunucusunda depolansa bile farklı kiracılar için farklı şifreleme anahtarları kullanmanıza olanak tanır. Bu özellik, kiracılara kendi şifreleme anahtarları üzerinde de denetim sağlar. Kiracı hesabını devre dışı bırakmayı seçerse, ilişkili anahtarın silinmesi, verilerinin artık erişilebilir olmamasını sağlar.

PostgreSQL için Azure Veritabanı esnek sunucusu, CMK'ler için otomatik anahtar sürüm güncelleştirmelerini destekler. Bu özellik, Key Vault'ta döndürme sonrasında yeni anahtar sürümlerine otomatik olarak güncelleştirilir ve el ile anahtar sürümü yönetimi gerektirmez. Mevzuat uyumluluğu için düzenli anahtar döndürme gerektiren çok kiracılı ortamlarda, bu otomasyon el ile gerçekleştirilen işlem görevlerini azaltır ve hizmet kesintisi olmadan veri korumasını korur.

Daha fazla bilgi için aşağıdaki makalelere bakın:

Katkıda Bulunanlar

Microsoft bu makaleyi korur. Bu makaleyi aşağıdaki katkıda bulunanlar yazdı.

Asıl yazar:

Diğer katkıda bulunanlar:

  • John Downs | Baş Yazılım Mühendisi, Azure Desenleri ve Uygulamaları
  • Arsen Vladimirskiy | Baş Müşteri Mühendisi, Azure için FastTrack
  • Paul Burpo | Baş Müşteri Mühendisi, Azure ISV'ler için FastTrack
  • Assaf Fraenkel | Kıdemli Mühendis/Veri Mimarı, ISV'ler ve Başlangıçlar için Azure FastTrack

Nonpublic LinkedIn profillerini görmek için LinkedIn'de oturum açın.