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.
Büyük tabloları parça anahtarıyla birlikte birleştirme
Gerçek zamanlı operasyonel analiz uygulamasının parça anahtarını seçmek için şu yönergeleri izleyin:
- Büyük tablolarda ortak olan bir sütun seçin
- Verilerde doğal bir boyut olan bir sütun veya uygulamanın merkezi bir parçasını seçin. Bazı örnekler:
- Finansal dünyada, güvenlik eğilimlerini analiz eden bir uygulama büyük olasılıkla kullanır
security_id. - Web sitesi kullanım ölçümlerini analiz etmek istediğiniz bir kullanıcı analizi iş yükünde
user_idiyi bir dağıtım sütunu olabilir
- Finansal dünyada, güvenlik eğilimlerini analiz eden bir uygulama büyük olasılıkla kullanır
Büyük tabloları birlikte konumlandırarak SQL sorgularını paralel olarak işçi düğümlerine gönderebilirsiniz. Sorguların aşağı itilmesi, düğümler arasındaki verilerin ağ üzerinden karıştırılmasını önler. JOIN'ler, gruplamalar, toplamalar, filtreler ve LIMIT'ler gibi işlemler etkili bir şekilde gerçekleştirilebilir.
Birlikte bulunan tablolarda paralel dağıtılmış sorguları görselleştirmek için şu diyagramı göz önünde bulundurun:
users ve events tablolarının her ikisi de user_id tarafından parçalandığından, aynı kullanıcı kimliği için ilişkili satırlar aynı çalışan düğümünde birlikte yerleştirilir. SQL JOIN'leri çalışanlar arasında bilgi çekmeden gerçekleşebilir.
Gerçek zamanlı uygulamalar için en uygun veri modeli
Şimdi kullanıcı web sitesi ziyaretlerini ve ölçümlerini analiz eden bir uygulama örneğiyle devam edelim. İki "olgu" tablosu (kullanıcılar ve olaylar) ve diğer küçük "boyut" tabloları vardır.
PostgreSQL için Azure Cosmos DB'de dağıtılmış tabloların süper gücünü uygulamak için aşağıdaki adımları izleyin:
- Büyük olgu tablolarını ortak bir sütuna dağıtma. Bizim örneğimizde kullanıcılar ve olaylar
user_idüzerine dağıtılmıştır. - Küçük/boyut tablolarını (
device_types,countriesve 'event_types) başvuru tabloları olarak işaretleyin. - Dağıtım sütununu dağıtılmış tablolarda birincil, benzersiz ve yabancı anahtar kısıtlamalarına eklediğinizden emin olun. Sütun dahil olmak için anahtarların bileşik hale getirilmesi gerekebilir. Başvuru tabloları için anahtarları güncelleştirmeye ihtiyaç vardır.
- Büyük dağıtılmış tabloları birleştirirken parça anahtarını kullanarak birleştirmeyi unutmayın.
-- Distribute the fact tables
SELECT create_distributed_table('users', 'user_id');
SELECT create_distributed_table('products', 'user_id', colocate_with => 'users');
-- Turn dimension tables into reference tables, with synchronized copies
-- maintained on every worker node
SELECT create_reference_table('countries');
-- similarly for device_types and event_types...
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.