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
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 bir veritabanı çözümü mü arıyorsunuz? NoSQL için Azure Cosmos DB'ye göz önünde bulundurun.
Çevrimiçi analitik işleme (OLAP) grafı uygulamak mı yoksa mevcut bir Apache Gremlin uygulamasını geçirmek mi istiyorsunuz? Microsoft Fabric'te Graph'i göz önünde bulundurun.
Bu makalede Apache Gremlin için Azure Cosmos DB'deki yürütme profili özelliğine yönelik bir başvuru sağlanır. İşlev tarafından executionProfile() döndürülen yanıtın yapısını ve özelliklerini açıklar.
Yanıt
İşlev executionProfile() çağrısının yanıtı, aşağıdaki yapıya sahip bir JSON nesnelerinin hiyerarşisini verir.
Gremlin işlemi
Bu nesne yürütülen gremlin işleminin tamamını temsil eder. Bu nesnenin adı gremlin. Bu nesne aşağıdaki özellikleri içerir:
| Description | |
|---|---|
gremlin |
Yürütülen açık Gremlin deyimi. |
totalTime |
Adımın yürütülmesinin tahakkuk ettirilen milisaniye cinsinden zamanı. |
metrics |
Sorguyu gerçekleştirmek için yürütülen Cosmos DB çalışma zamanı işleçlerinin her birini içeren bir dizi. Bu liste yürütme sırasına göre sıralanır. |
Apache Gremlin çalışma zamanı işleçleri için Azure Cosmos DB
Bu liste, Gremlin işleminin tamamının bileşenlerinin her birini temsil eder. Liste olarak adlandırılır metrcis. Bu liste yürütme sırasına göre sıralanır. Her nesne aşağıdaki özellikleri içerir:
| Description | |
|---|---|
name |
İşlecin adı. Bu özellik, değerlendirilen ve yürütülen adım türüdür. |
time |
Belirli bir işlecin aldığı milisaniye cinsinden süre. |
annotations |
Yürütülen işlecine özgü ek bilgiler içerir. |
annotations.percentTime |
Belirli işleci yürütmek için geçen toplam sürenin yüzdesi. |
counts |
Bu işleç tarafından depolama katmanından döndürülen nesne sayısı. Bu sayı içindeki skaler değerde counts.resultCount yer alır. |
storeOps |
Bir veya birden çok bölüme yayılabilir bir depolama işlemini temsil eder. |
storeOps.fanoutFactor |
Bu belirli depolama işlemine erişilen bölüm sayısını temsil eder. |
storeOps.count |
Bu depolama işleminin döndürdüğünü sonuç sayısını temsil eder. |
storeOps.size |
Belirli bir depolama işleminin sonucunun bayt cinsinden boyutunu temsil eder. |
Örnek yanıt
JSON biçiminde bir örnek yanıt aşağıda verilmişti:
[
{
"gremlin": "g.V().hasLabel('tweet').out().executionProfile()",
"totalTime": 42,
"metrics": [
{
"name": "GetVertices",
"time": 31,
"annotations": { "percentTime": 73.81 },
"counts": { "resultCount": 30 },
"storeOps": [ { "fanoutFactor": 1, "count": 13, "size": 6819, "time": 1.02 } ]
},
{
"name": "GetEdges",
"time": 6,
"annotations": { "percentTime": 14.29 },
"counts": { "resultCount": 18 },
"storeOps": [ { "fanoutFactor": 1, "count": 20, "size": 7950, "time": 1.98 } ]
},
{
"name": "GetNeighborVertices",
"time": 5,
"annotations": { "percentTime": 11.9 },
"counts": { "resultCount": 20 },
"storeOps": [ { "fanoutFactor": 1, "count": 4, "size": 1070, "time": 1.19 } ]
},
{
"name": "ProjectOperator",
"time": 0,
"annotations": { "percentTime": 0 },
"counts": { "resultCount": 20 }
}
]
}
]
Yanıt şeması
Yanıt bu JSON şemasıyla da eşleşir:
[
{
"type": "object",
"properties": {
"gremlin": { "type": "string" },
"totalTime": { "type": "number" },
"metrics": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": { "type": "string" },
"time": { "type": "number" },
"annotations": {
"type": "object",
"properties": {
"percentTime": { "type": "number" }
},
"additionalProperties": true
},
"counts": {
"type": "object",
"properties": {
"resultCount": { "type": "number" }
},
"additionalProperties": true
},
"storeOps": {
"type": "array",
"items": {
"type": "object",
"properties": {
"fanoutFactor": { "type": "number" },
"count": { "type": "number" },
"size": { "type": "number" },
"time": { "type": "number" }
},
"additionalProperties": true
}
}
},
"additionalProperties": true
}
}
},
"required": ["gremlin", "totalTime", "metrics"],
"additionalProperties": true
}
]
Operatörler
| Description | |
|---|---|
GetVertices |
Bu adım, kalıcılık katmanından önceden belirlenmiş bir nesne kümesi alır. |
GetEdges |
Bu adım, bir köşe kümesine yakın olan kenarları alır. Bu adım bir veya birden çok depolama işlemine neden olabilir. |
GetNeighborVertices |
Bu adım, bir kenar kümesine bağlı köşeleri alır. Kenarlar, hem kaynak hem de hedef köşelerinin bölüm anahtarlarını ve benzersiz tanımlayıcılarını içerir. |
Coalesce |
Bu adım, Gremlin adımı her yürütülürken iki işlemin değerlendirilmesini coalesce() hesaplar. |
CartesianProductOperator |
Bu adım, iki veri kümesi arasında kartezyen ürünü hesaplar. Koşul her to() kullanıldığında veya from() kullanıldığında yürütülür. |
ConstantSourceOperator |
Bu adım, sonuç olarak sabit bir değer üretmek için bir ifade hesaplar. |
ProjectOperator |
Bu adım, önceki işlemlerin sonucunu kullanarak bir yanıtı hazırlar ve serileştirir. |
ProjectAggregation |
Bu adım, toplama işlemi için bir yanıtı hazırlar ve serileştirir. |