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