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ı tarafından 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 tutabilirsiniz.
- Ö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 uygulama kodunda da en az değişiklik yapılması gerekir. Ruby on Rails ve Django gibi popüler çerçeveler için destek sunuluyor.
Gerçek Zamanlı Analiz
Yüksek düzeyde paralelliğe ihtiyaç duyan, hızlı sonuçlar için yüzlerce çekirdeği sayısal, istatistiksel veya sayma sorgularıyla koordine eden uygulamalar. PostgreSQL için Azure Cosmos DB, SQL sorgularını birden çok düğümde parçalayarak ve paralelleştirerek, saniyenin altında milyarlarca kayıtta gerçek zamanlı sorgular gerçekleştirmeyi mümkün kılar.
Gerçek zamanlı analiz veri modellerindeki tablolar genellikle user_id, host_id veya device_id gibi sütunlar tarafından dağıtılır.
- Örnekler: Saniyenin altında yanıt süreleri gerektiren müşteriye yönelik analiz panoları.
- Özellikler: Genellikle büyük bir cihaz, site veya kullanıcı olayları tablosunu ortalayan ve çoğunlukla sabit olan verilerin yüksek miktarda alımını gerektiren birkaç tablo. Çeşitli toplamalar ve GROUP BY'ler içeren nispeten basit (ancak işlem açısından yoğun) analiz sorguları.
Durumunuz yukarıdaki her iki duruma benzerse, sonraki adım kümedeki verilerinizi nasıl parçalay gerektiğine 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.
Sonraki adımlar
- Verileri verimli bir şekilde dağıtmak için uygulamanızdaki tablolar için bir dağıtım sütunu seçin