ŞUNLAR IÇIN GEÇERLIDIR: Gremlin
Gremlin sorguları
Gremlin sorgularının verimliliğini değerlendirme
executionProfile() önizleme adımı, sorgu yürütme planının analizini sağlamak için kullanılabilir. Bu adımın herhangi bir Gremlin sorgusunun sonuna eklenmesi gerekir. Örneğin, sonucu olarak sorgunun g.V('example').out('relationship')
g.V('example').out('relationship').executionProfile()
sonuna adımı ekleyebilirsiniz.
Yukarıdaki profilin çıkışı köşe nesnelerini, kenar nesnelerini ve çalışma veri kümesinin boyutunu elde etmek için ne kadar zaman harcanmış olduğunu gösterir. Bu, Azure Cosmos DB sorguları için standart maliyet ölçümleriyle ilgilidir.
Diğer sık sorulan sorular
Graf veritabanında sorgu çalıştırırken RU/sn ücretleri nasıl alınır?
Tüm grafik nesneleri, köşeler ve kenarlar arka uçta JSON belgeleri olarak gösterilir. Bir Gremlin sorgusu bir kerede bir veya birden çok grafik nesnesini değiştirebildiğinden, bununla ilişkili maliyet doğrudan sorgu tarafından işlenen nesnelerle, kenarlarla ilgilidir. Bu, Azure Cosmos DB'nin diğer tüm API'ler için kullandığı işlemle aynıdır. Daha fazla bilgi için bkz. Azure Cosmos DB'de İstek Birimleri.
RU ücreti, sonuç kümesini değil, geçişin çalışma veri kümesini temel alır. Örneğin, bir sorgu sonuç olarak tek bir köşe elde etmeyi hedefliyorsa ancak yolda birden fazla nesne arasında geçiş yapması gerekiyorsa, maliyet tek bir sonuç köşesini hesaplamak için gereken tüm graf nesnelerini temel alır.
Gremlin için Azure Cosmos DB'de grafik veritabanının sahip olabileceği en yüksek ölçek nedir?
Azure Cosmos DB, depolama ve aktarım hızı gereksinimlerindeki artışı otomatik olarak ele almak için yatay bölümleme kullanır. bir iş yükünün en yüksek aktarım hızı ve depolama kapasitesi, belirli bir kapsayıcıyla ilişkili bölüm sayısına göre belirlenir. Ancak, Gremlin kapsayıcısı için BIR API,uygun ölçekte performans deneyimi sağlamak için belirli bir yönergeler kümesine sahiptir. Bölümleme ve en iyi yöntemler hakkında daha fazla bilgi için Azure Cosmos DB'de bölümleme makalesine bakın.
C#/.NET geliştirmesi için Microsoft.Azure.Graphs paketini mi yoksa Gremlin.NET mi kullanmalıyım?
Gremlin için Azure Cosmos DB, hizmetin ana bağlayıcıları olarak açık kaynak sürücüleri kullanır. Bu nedenle önerilen seçenek Apache tarafından desteklenen sürücüleri kullanmaktır.
Gremlin sürücülerini kullanarak ekleme saldırılarına karşı nasıl koruma sağlayabilirim?
Çoğu yerel Apache Tinkerpop Gremlin sürücüsü, sorgu yürütme için parametre sözlüğü sağlama seçeneğine izin verir. Bu, Gremlin.Net ve Gremlin-Javascript'te nasıl yapılacağını gösteren bir örnektir.
Neden "Gremlin Sorgu Derleme Hatası: Herhangi bir yöntem bulunamadı" hatasını alıyorum?
Gremlin için Azure Cosmos DB, Gremlin yüzey alanında tanımlanan işlevselliğin bir alt kümesini uygular. Desteklenen adımlar ve daha fazla bilgi için Gremlin destek makalesine bakın.
Tüm temel Gremlin adımları Azure Cosmos DB tarafından desteklendiğinden, en iyi geçici çözüm gerekli Gremlin adımlarını desteklenen işlevsellikle yeniden yazmaktır.
Neden "WebSocketException: '101' durum kodu beklendiğinde sunucu '200' durum kodunu döndürdü" hatasını alıyorum?
Bu hata büyük olasılıkla yanlış uç nokta kullanılırken oluşur. Bu hatayı oluşturan uç nokta aşağıdaki desene sahiptir: https://<account-name>.documents.azure.com:443/
Bu, grafik veritabanınızın belge uç noktasıdır. Kullanılacak doğru uç nokta, aşağıdaki biçime sahip Gremlin Uç Noktasıdır:
https://YOUR_DATABASE_ACCOUNT.gremlin.cosmosdb.azure.com:443/
Neden "RequestRateIsTooLarge" hatasını alıyorum?
Bu hata, saniye başına ayrılan İstek Birimlerinin sorguya hizmet vermek için yeterli olmadığını gösterir. Bu hata, tüm köşeleri alan bir sorgu çalıştırdığınızda görülür:
// Query example:
g.V()
Bu sorgu, grafikteki tüm köşeleri almayı dener. Bu nedenle, bu sorgunun maliyeti RU'lar açısından en az köşe sayısına eşit olacaktır. RU/sn ayarı bu sorguyu ele almak için ayarlanmalıdır.
Gremlin sürücü bağlantılarım neden sonunda bırakıIıyor?
WebSocket bağlantısı üzerinden Gremlin bağlantısı yapılır. WebSocket bağlantılarının belirli bir yaşam süresi olmasa da, Gremlin için Azure Cosmos DB 30 dakika işlem yapılmadığında boştaki bağlantıları sonlandırır.
Neden yerel Gremlin sürücülerinde akıcı API çağrılarını kullanamıyorum?
Akıcı API çağrıları henüz Gremlin için Azure Cosmos DB tarafından desteklenmemektedir. Akıcı API çağrıları, şu anda Gremlin için Azure Cosmos DB tarafından desteklenmeyen bayt kodu desteği olarak bilinen bir iç biçimlendirme özelliği gerektirir. Aynı nedenden dolayı, en son Gremlin-JavaScript sürücüsü de şu anda desteklenmiyor.
İlgili içerik
- Gremlin için Azure Cosmos DB kablo protokolü desteği
- Gremlin konsolunu kullanarak Azure Cosmos DB graf veritabanı oluşturma, sorgulama ve çapraz geçiş yapma