PostgreSQL için Azure Cosmos DB uygulama türünü belirleme
ŞUNLAR IÇIN GEÇERLIDIR: PostgreSQL için Azure Cosmos DB (PostgreSQL'e citus veritabanı uzantısıyla desteklenir)
Bir kümede verimli sorgular çalıştırmak için tabloların sunucular arasında düzgün bir şekilde dağıtılması gerekir. Önerilen dağıtım, uygulama türüne ve sorgu desenlerine göre değişir.
PostgreSQL için Azure Cosmos DB'de iyi çalışan iki tür uygulama vardır. Veri modellemenin ilk adımı, hangilerinin uygulamanıza daha yakın olduğunu belirlemektir.
Bir Bakışta
Çok Kiracılı Uygulamalar | Gerçek Zamanlı Uygulamalar |
---|---|
Bazen şemada onlarca veya yüzlerce tablo | Az sayıda tablo |
Bir kerede tek bir kiracı (şirket/mağaza) ile ilgili sorgular | Toplamalar içeren görece basit analiz sorguları |
Web istemcilerine hizmet vermek için OLTP iş yükleri | Büyük ölçüde sabit olan verileri büyük miktarlarda alma |
Kiracı başına çalıştırılan analiz sorgularına hizmet veren OLAP iş yükleri | Sıklıkla büyük olay tablolarına odaklanma |
Örnekler ve Özellikler
Çok Kiracılı Uygulama
Bunlar genellikle diğer şirketlere, hesaplara veya kuruluşlara hizmet veren SaaS uygulamalarıdır. SaaS uygulamalarının çoğu doğal olarak ilişkiseldir. Verilerin düğümler arasında dağıtıldığı doğal bir boyuta sahiptirler: yalnızca tenant_id parçalanır.
PostgreSQL için Azure Cosmos DB, uygulamanızın mimarisini yeniden oluşturmak zorunda kalmadan veritabanınızın ölçeğini milyonlarca kiracıya genişletmenizi sağlar. Birleşimler, yabancı anahtar kısıtlamaları, işlemler, ACID ve tutarlılık gibi ihtiyacınız olan ilişkisel semantiği koruyabilirsiniz.
- Örnekler: Dijital pazarlama çözümü veya satış otomasyonu aracı gibi diğer işletmeler için mağaza önlerini barındıran web siteleri.
- Özellikler: Bilgileri kiracılar arasında birleştirmek yerine tek bir kiracıyla ilgili sorgular. Bu, web istemcilerine hizmet veren OLTP iş yüklerini ve kiracı başına analiz sorgularına hizmet veren OLAP iş yüklerini içerir. Veritabanı şemanızda onlarca veya yüzlerce tablo olması da çok kiracılı veri modeli için bir göstergedir.
PostgreSQL için Azure Cosmos DB ile çok kiracılı bir uygulamayı ölçeklendirmek için de uygulama kodunda en az değişiklik yapılması gerekir. Ruby on Rails ve Django gibi popüler çerçeveler için desteğimiz vardır.
Gerçek Zamanlı Analiz
Yüksek düzeyde paralelliğe ihtiyaç duyan, sayısal, istatistiksel veya sayım sorgularına hızlı sonuçlar elde etmek için yüzlerce çekirdeği koordine eden uygulamalar. PostgreSQL için Azure Cosmos DB, SQL sorgularını birden çok düğümde parçalayarak ve paralelleştirerek milyarlarca kayıt arasında gerçek zamanlı sorguların bir saniyeden kısa sürede gerçekleştirilmesini sağlar.
Gerçek zamanlı analiz veri modellerindeki tablolar genellikle user_id, host_id veya device_id gibi sütunlara göre dağıtılır.
- Örnekler: Saniyenin altında yanıt süresi gerektiren müşteriye yönelik analiz panoları.
- Özellikler: Genellikle büyük bir cihaz, site veya kullanıcı olayları tablosunun etrafında ortalanmış ve çoğunlukla sabit verilerden oluşan yüksek alım hacmi gerektiren birkaç tablo. Birkaç toplama ve GROUP BY içeren nispeten basit (ancak işlem açısından yoğun) analiz sorguları.
Durumunuz yukarıdaki iki durumdan herhangi birini andırıyorsa, sonraki adım verilerinizi kümede nasıl parçalaymaya karar vermektir. Veritabanı yöneticisinin dağıtım sütunları seçiminin, performansı sağlamak için tipik sorguların erişim desenleri ile eşleşmesi gerekir.