Szerkesztés

Megosztás a következőn keresztül:


Gyakori kérdések az Apache Gremlinhez készült Azure Cosmos DB-ről

A KÖVETKEZŐKRE VONATKOZIK: Gremlin

Gremlin-lekérdezések

A Gremlin-lekérdezések hatékonyságának értékelése

A executionProfile() előzetes verziójú lépéssel elemezheti a lekérdezés végrehajtási tervét. Ezt a lépést hozzá kell adni a Gremlin-lekérdezések végéhez. Hozzáadhatja például a lépést egy lekérdezés végéhez g.V('example').out('relationship') , amely a következőt g.V('example').out('relationship').executionProfile()eredményezi: .

A fenti profil kimenete azt mutatja, hogy mennyi időt töltenek a csúcsobjektumok, a peremobjektumok és a munkaadatkészlet méretének lekérésével. Ez az Azure Cosmos DB-lekérdezések standard költségmérésével kapcsolatos.

Egyéb gyakori kérdések

Hogyan számítják fel a ru/s díjakat a lekérdezések gráfadatbázison való futtatásakor?

Minden gráfobjektum, csúcs és él JSON-dokumentumként jelenik meg a háttérrendszerben. Mivel egy Gremlin-lekérdezés egyszerre egy vagy több gráfobjektumot is módosíthat, a hozzá tartozó költségek közvetlenül kapcsolódnak a lekérdezés által feldolgozott objektumokhoz, élekhez. Ez ugyanaz a folyamat, amelyet az Azure Cosmos DB minden más API-hoz használ. További információ: Az Azure Cosmos DB kérelemegységei.

A RU-díj a bejárás munkaadatkészletén alapul, nem pedig az eredményhalmazon. Ha például egy lekérdezés egyetlen csúcspontot szeretne lekérteni, de útközben több objektumot is át kell haladnia, akkor a költség az összes olyan gráfobjektumon alapul, amely az egy eredmény csúcsának kiszámításához szükséges.

Mi a gráfadatbázisok maximális mérete a Gremlinhez készült Azure Cosmos DB-ben?

Az Azure Cosmos DB horizontális particionálást használ a tárolási és átviteli sebesség növekedésére vonatkozó követelmények automatikus kezelésére. A számítási feladatok maximális átviteli sebességét és tárolási kapacitását az adott tárolóhoz társított partíciók száma határozza meg. A Gremlin-tárolókhoz készült API-k azonban meghatározott irányelvekkel rendelkeznek, amelyek biztosítják a megfelelő teljesítményélményt nagy méretekben. A particionálásról és az ajánlott eljárásokról további információt az Azure Cosmos DB-ben található particionálási cikkben talál.

C#/.NET-fejlesztéshez használjam a Microsoft.Azure.Graphs csomagot vagy Gremlin.NET?

Az Azure Cosmos DB for Gremlin a nyílt forráskódú illesztőprogramokat használja a szolgáltatás fő összekötőiként. Ezért ajánlott az Apache által támogatott illesztőprogramok használata.

Hogyan védhetem meg az injektálási támadásokat Gremlin-illesztőprogramokkal?

A legtöbb natív Apache Tinkerpop Gremlin-illesztő lehetővé teszi a lekérdezések végrehajtásához szükséges paraméterek szótárának megadását. Ez egy példa a Gremlin.Net és a Gremlin-Javascript használatára.

Miért jelenik meg a "Gremlin-lekérdezés fordítási hibája: Nem található metódus" hiba?

Az Azure Cosmos DB for Gremlin a Gremlin felületén definiált funkciók egy részét implementálja. A támogatott lépésekről és további információkról a Gremlin támogatási cikkében olvashat.

A legjobb kerülő megoldás a szükséges Gremlin-lépések átírása a támogatott funkciókkal, mivel az Azure Cosmos DB minden alapvető Gremlin-lépést támogat.

Miért jelenik meg a "WebSocketException: A kiszolgáló "200" állapotkódot adott vissza, amikor a "101" állapotkód várt?

Ez a hiba valószínűleg rossz végpont használatakor jelenik meg. A hibát létrehozó végpont a következő mintával rendelkezik: https://<account-name>.documents.azure.com:443/

Ez a gráfadatbázis dokumentumvégpontja. A megfelelő használandó végpont a Gremlin-végpont, amelynek formátuma a következő:

https://YOUR_DATABASE_ACCOUNT.gremlin.cosmosdb.azure.com:443/

Miért jelenik meg a "RequestRateIsTooLarge" hiba?

Ez a hiba azt jelenti, hogy a másodpercenként lefoglalt kérelemegységek nem elegendőek a lekérdezés kiszolgálásához. Ez a hiba akkor jelenik meg, ha olyan lekérdezést futtat, amely az összes csúcsot lekérte:

// Query example:
g.V()

Ez a lekérdezés megkísérli lekérni az összes csúcspontot a gráfból. A lekérdezés költsége tehát egyenlő lesz legalább a kérelemegységek csúcsainak számával. A ru/s beállítást módosítani kell a lekérdezés kezeléséhez.

Miért szakadnak meg végül a Gremlin illesztőprogram-kapcsolataim?

A Gremlin-kapcsolat WebSocket-kapcsolaton keresztül jön létre. Bár a WebSocket-kapcsolatoknak nincs meghatározott élettartamuk, az Azure Cosmos DB for Gremlin 30 perc inaktivitás után leállítja az inaktív kapcsolatokat.

Miért nem tudok folyékony API-hívásokat használni a natív Gremlin-illesztőprogramokban?

A Fluent API-hívásokat az Azure Cosmos DB for Gremlin még nem támogatja. A Fluent API-hívásokhoz olyan belső formázási funkcióra van szükség, amelyet a Gremlinhez készült Azure Cosmos DB jelenleg nem támogat. Ugyanezen okból a legújabb Gremlin-JavaScript illesztőprogram jelenleg nem támogatott.

Következő lépés