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.
Önemli
PostgreSQL için Azure Cosmos DB artık yeni projeler için desteklenmemektedir. Bu hizmeti yeni projeler için kullanmayın. Bunun yerine, şu iki hizmetlerden birini kullanın:
99,999% kullanılabilirlik hizmet düzeyi sözleşmesi (SLA), anında otomatik ölçeklendirme ve birden çok bölgede otomatik yük devretme ile yüksek ölçekli senaryolar için tasarlanmış dağıtılmış bir veritabanı çözümü için NoSQL için Azure Cosmos DB kullanın.
Açık kaynak Citus uzantısını kullanarak bölümlenmiş Azure Veritabanı'nın PostgreSQL için Elastik Kümeler özelliğini kullanın.
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. Örneğin:
- IOT iş yükünde
device_idiyi bir dağıtım sütunudur.
- IOT iş yükünde
İyi bir parça anahtarı seçimi, ağ atlamalarını optimize etmeye yardımcı olurken, milisaniyelik gecikme sürelerine ulaşmak için bellek ve işlem gücünden yararlanır.
Yüksek aktarım hızı 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 bunlar bu örnekte ele alınmamıştır.
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. Bir IOT uygulamasının yukarıdaki örneğinde,
device_idbu sütundur ve olay ile cihaz tablolarını bir araya getirir. - 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
detailsütunu vardır.
- Bizim örneğimizde, olaylar tablosunun JSONB olan bir
- 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
Şimdi ölçeklenebilir uygulamalar için veri modellemeyi incelemeyi tamamladık. Sonraki adım, veritabanını seçtiğiniz programlama diliyle bağlamak ve sorgulamaktır.