Aracılığıyla paylaş


PostgreSQL için Azure Cosmos DB'de yüksek aktarım hızına yönelik işlem uygulamaları modelleme

ŞUNLAR IÇIN GEÇERLIDIR: PostgreSQL için Azure Cosmos DB (PostgreSQL'e citus veritabanı uzantısı tarafından desteklenir)

Parça anahtarı olarak ortak filtre

Yüksek aktarım hızına sahip bir işlem uygulamasının parça anahtarını seçmek için şu yönergeleri izleyin:

  • Nokta aramaları için kullanılan ve oluşturma, okuma, güncelleştirme ve silme işlemlerinin çoğunda bulunan bir sütun seçin.
  • Verilerde doğal bir boyut olan bir sütun veya uygulamanın merkezi bir parçasını seçin. Örnek:
    • IOT iş yükünde device_id iyi bir dağıtım sütunudur.

İyi bir parça anahtarı seçimi, milisaniyelik gecikme süresi elde etmek için bellek ve işlemden yararlanırken ağ atlamalarını iyileştirmeye yardımcı olur.

Yüksek aktarım hızına yönelik uygulamalar için en uygun veri modeli

Aşağıda, cihazlardan telemetri (zaman serisi verileri) yakalayan bir IoT uygulaması için örnek veri modeli örneği verilmiştir. Telemetriyi yakalamak için iki tablo vardır: devices ve events. Başka tablolar da olabilir, ancak bu örnekte ele alınmamıştır.

Olayların ve cihaz tablolarının ve olay bölümlerinin diyagramı.

Yüksek aktarım hızına sahip bir uygulama oluştururken bazı iyileştirmeleri göz önünde bulundurun.

  • Büyük tabloları, uygulamanın merkezi parçası olan ortak bir sütuna ve uygulamanızın çoğunlukla sorgu yaptığı sütuna dağıtın. Yukarıdaki IOT uygulaması device_id örneğinde bu sütundur ve olay ve cihaz tablolarını birlikte bulur.
  • Küçük tabloların geri kalanı başvuru tabloları olabilir.
  • IOT uygulamalarının zaman boyutu olduğundan, dağıtılmış tablolarınızı zamana göre bölümleme. Bölümleri oluşturmak ve korumak için PostgreSQL için yerel Azure Cosmos DB zaman serisi özelliklerini kullanabilirsiniz.
    • Bölümleme, zaman filtreleri içeren sorgular için verileri verimli bir şekilde filtrelemeye yardımcı olur.
    • Drop vs DELETE komutunu kullanarak eski verilerin süresinin dolması da hızlıdır.
    • Örneğimizdeki olaylar tablosu aya göre bölümlenmiştir.
  • Yarı yapılandırılmış verileri depolamak için JSONB veri türünü kullanın. Cihaz telemetri verileri genellikle yapılandırılmaz, her cihazın kendi ölçümleri vardır.
    • Bizim örneğimizde, olaylar tablosunun JSONB olan bir detail sütunu vardır.
  • IoT uygulamanız jeo-uzamsal özellikler gerektiriyorsa PostgreSQL için Azure Cosmos DB'nin yerel olarak desteklediği PostGIS uzantısını kullanabilirsiniz.

Sonraki adımlar

Artık ölçeklenebilir uygulamalar için veri modellemeyi incelemeyi tamamladık. Bir sonraki adım, veritabanını seçtiğiniz programlama diliyle bağlamak ve sorgulamaktır.