Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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:
PostgreSQL için Azure Veritabanı esnek sunucusu, PostgreSQL için Azure Cosmos DB'nin sağladığı yüksek ölçeklenebilirliği gerektirmeyen çok kiracılı dağıtımların çoğu için iyi bir seçimdir.
Elastik kümelere sahip PostgreSQL için Azure Veritabanı esnek sunucusu (önizleme), yönetilen hizmet içinde yatay ölçeklendirme sağlar. Birkaç kiracıdan çok sayıda kiracıya ölçeklendirmesi gereken çok kiracılı uygulamalar için uygundur. Bu özellik önizleme aşamasındadır ve üretim kullanımı için önerilmez. Ancak, bunu gelecekteki uygulama için değerlendirmeye başlayabilirsiniz.
PostgreSQL için Azure Cosmos DB , çok kiracılı uygulamalar gibi yüksek düzeyde ölçek gerektiren çözümler için tasarlanmış, Azure tarafından yönetilen bir veritabanı hizmetidir. Bu hizmet, Azure Cosmos DB ürün ailesinin bir parçasıdır.
Ç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:
- PostgreSQL için Azure Cosmos DB kullanarak çok kiracılı bir veritabanı tasarlama
- Dağıtılmış tablolar
- Dağıtım sütunlarını seçme
- Çok kiracılı uygulamalar için Citus kullanma
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:
- PostgreSQL için Azure Veritabanı esnek sunucusunda elastik kümeler
- Elastik kümeler için parçalama modelleri
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:
- Azure Veritabanı için PostgreSQL esnek sunucusunda PgBouncer
- PostgreSQL için Azure Cosmos DB'de bağlantı havuzu oluşturma
- PostgreSQL için Azure Veritabanı ile PgBouncer bağlantı havuzu ara sunucusunu yükleme ve kurma adımları
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:
- PostgreSQL için Azure Veritabanı'nda Microsoft Entra kimlik doğrulaması
- Yönetilen kimlikle PostgreSQL için Azure Veritabanı esnek sunucusuna bağlanma
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:
- Daniel Scott-Raynsford | İş Ortağı Çözüm Mimarı, Veri ve Yapay Zeka
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.