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.
Bu kılavuz, NoSQL için Azure Cosmos DB için Python SDK'sının en son sürümü kullanılarak oluşturulan çözümlere yönelik en iyi yöntemleri içerir. Burada yer alan en iyi yöntemler gecikme süresini iyileştirmeye, kullanılabilirliği iyileştirmeye ve çözümleriniz için genel performansı artırmaya yardımcı olur.
Hesap yapılandırması
Hesap yapılandırma parametreleri
| Parametre | Varsayılan veya kısıtlama | Ne zaman kullanılır? |
|---|---|---|
| Bölge veri merkezi yerleştirme | Uygulama bölgesiyle aynı | Gecikme süresini azaltma |
| Çok bölgeli çoğaltma | Varsayılan olarak devre dışı | Kullanılabilirlik için 2'den fazla bölgeyi etkinleştirme |
| Hizmet tarafından yönetilen yük devretme | Opsiyonel | Üretim iş yükleri için etkinleştirme |
from azure.cosmos import CosmosClient
client = CosmosClient(url, credential)
print(client.client_connection._global_endpoint_manager.write_endpoint)
# Expected: write endpoint resolves to configured write region
Python SDK'sını kullanarak birden çok bölge ekleme hakkında daha fazla bilgi için genel dağıtım öğreticisine bakın.
SDK kullanımı
SDK kullanım parametreleri
| Parametre | Varsayılan veya kısıtlama | Ne zaman kullanılır? |
|---|---|---|
| SDK sürümü | En son mevcut | Her zaman en iyi performans için |
| CosmosClient örneği | Uygulama başına bir tane | Uygulama ömrü boyunca yeniden kullanma |
| tercih edilen konumlar | Hiç kimse | Okuma ve yük devretme işlemlerini optimize etme |
client = CosmosClient(
url,
credential,
preferred_locations=["East US", "West US"]
)
print(client.client_connection._preferred_locations)
# Expected: ['East US', 'West US']
Geçici hata, kısa süre içinde kendisini çözen temel bir nedeni olan bir hatadır. Veritabanınıza bağlanan uygulamalar bu geçici hataları bekleyecek şekilde oluşturulmalıdır. Bunları işlemek için, bunları kullanıcılara uygulama hatası olarak eklemek yerine kodunuzda yeniden deneme mantığını uygulayın. SDK'nın, okuma veya sorgu işlemleri gibi yeniden denenebilir isteklerde bu geçici hataları işlemek için yerleşik mantığı vardır. SDK, yazma işlemleri idempotent olmadığı için geçici yazma hatalarında yeniden deneme yapamaz. SDK, kullanıcıların hız sınırlamaları için yeniden deneme mantığını yapılandırmasına olanak tanır. Hangi hataların yeniden denendiği hakkında ayrıntılı bilgi için bkz. dayanıklı uygulama kılavuzu.
Tanılama bilgilerini yakalamak ve gecikme sorunlarını gidermek için SDK günlüğünü kullanın.
Veri tasarımı
Veri tasarımı parametreleri
| Parametre | Varsayılan veya kısıtlama | Ne zaman kullanılır? |
|---|---|---|
| Belge boyutu | Geçersiz | RU maliyetini azaltmak için küçük boyutta tutun |
| Tanımlayıcı karakterler | Özel karakter yok | Beklenmeyen davranışlardan kaçının |
| Dizinleme yolları | Dizine alınan tüm yollar | Daha hızlı yazma işlemleri için kullanılmayan yolları dışlama |
container_properties = {
"id": "items",
"indexingPolicy": {
"excludedPaths": [{"path": "/*"}]
}
}
print(container_properties["indexingPolicy"])
# Expected: excludedPaths configured
Daha fazla bilgi için bkz. SDK örneğini kullanarak dizin oluşturma.
Konak özellikleri
Ana Bilgisayar Özellikleri Parametreleri
| Parametre | Varsayılan veya kısıtlama | Ne zaman kullanılır? |
|---|---|---|
| CPU kullanımı | <70% önerilir | Yüksekse ölçeği artırma veya genişletme |
| Hızlandırılmış Ağ | Disabled | Yüksek trafik için VM'lerde etkinleştirme |
| Sorgu sayfası boyutu | 100 öğe / 4 MB | Gidiş dönüşleri azaltmak için artırın |
items = container.query_items(
query="SELECT * FROM c",
max_item_count=500
)
print("Page size set to 500")
# Expected: fewer round trips
Sonraki Adımlar
Python SDK'sına yönelik performans ipuçları hakkında daha fazla bilgi edinmek için bkz. Azure Cosmos DB Python SDK'sı için performans ipuçları.
Uygulamanızı ölçeklendirme ve yüksek performans için tasarlama hakkında daha fazla bilgi edinmek için bkz . Azure Cosmos DB'de bölümleme ve ölçeklendirme.
Azure Cosmos DB'ye geçiş için kapasite planlaması yapmaya mı çalışıyorsunuz? Kapasite planlaması için mevcut veritabanı kümeniz hakkındaki bilgileri kullanabilirsiniz.
- Tek bildiğiniz mevcut veritabanı kümenizdeki sanal çekirdek ve sunucu sayısıysa, sanal çekirdekleri veya vCPU'ları kullanarak istek birimlerini tahmin etme hakkında bilgi edinin
- Geçerli veritabanı iş yükünüz için tipik istek oranlarını biliyorsanız Azure Cosmos DB kapasite planlayıcısı kullanarak istek birimlerini tahmin etme hakkında bilgi edinin