Eğitim
Sertifikasyon
Microsoft Sertifikalı: Azure Cosmos DB Geliştirici Uzmanlığı - Certifications
Microsoft Azure Cosmos DB ile verimli sorgular yazın, dizin oluşturma ilkeleri oluşturun, SQL API ve SDK'da kaynakları yönetin ve sağlayın.
Bu tarayıcı artık desteklenmiyor.
En son özelliklerden, güvenlik güncelleştirmelerinden ve teknik destekten faydalanmak için Microsoft Edge’e yükseltin.
ŞUNLAR IÇIN GEÇERLIDIR: Gremlin
Bu makalede, grafik veri modellerinin kullanımına yönelik öneriler sağlanır. Bu en iyi yöntemler, veriler geliştikçe graf veritabanı sisteminin ölçeklenebilirliğini ve performansını sağlamak için çok önemlidir. Verimli bir veri modeli özellikle büyük ölçekli grafikler için önemlidir.
Bu kılavuzda özetlenen işlem aşağıdaki varsayımları temel alır:
Bir veri etki alanındaki varlıklar ve ilişkiler aşağıdaki özelliklerden herhangi birine sahipse graf veritabanı çözümü en uygun şekilde kullanılabilir:
Yukarıdaki ölçütler karşılanırsa, grafik veritabanı yaklaşımı büyük olasılıkla sorgu karmaşıklığı, veri modeli ölçeklenebilirliği ve sorgu performansı için avantajlar sağlar.
Sonraki adım, grafiğin analiz veya işlem amaçları için kullanılıp kullanılmayacağını belirlemektir. Grafın yoğun hesaplama ve veri işleme iş yükleri için kullanılması amaçlanıyorsa Cosmos DB Spark bağlayıcısını ve GraphX kitaplığını keşfetmeye değer.
Apache Tinkerpop özellik grafiği standardı iki tür nesne tanımlar: köşeler ve kenarlar.
Graf nesnelerindeki özellikler için en iyi yöntemler aşağıdadır:
Object | Özellik | Türü | Notlar |
---|---|---|---|
İzdüşüm | Kimlik | String | Bölüm başına benzersiz olarak zorlanır. Ekleme işleminde bir değer sağlanmazsa, otomatik olarak oluşturulan bir GUID depolanır. |
İzdüşüm | Etiket | String | Bu özellik köşenin temsil ettiği varlık türünü tanımlamak için kullanılır. Bir değer sağlanmazsa, varsayılan değer köşesi kullanılır. |
İzdüşüm | Properties | Dize, boole, sayısal | Her köşedeki anahtar-değer çiftleri olarak depolanan ayrı özelliklerin listesi. |
İzdüşüm | Bölüm anahtarı | Dize, boole, sayısal | Bu özellik, köşenin ve giden kenarlarının nerede depolandığını tanımlar. Grafik bölümleme hakkında daha fazla bilgi edinin. |
Edge | Kimlik | String | Bölüm başına benzersiz olarak zorlanır. Varsayılan olarak otomatik olarak oluşturulur. Kenarların genellikle bir kimlik tarafından benzersiz olarak alınması gerekmez. |
Edge | Etiket | String | Bu özellik, iki köşenin sahip olduğu ilişki türünü tanımlamak için kullanılır. |
Edge | Properties | Dize, boole, sayısal | Her kenarda anahtar-değer çiftleri olarak depolanan ayrı özelliklerin listesi. |
Not
Kenarlar bölüm anahtarı değeri gerektirmez, çünkü değer kendi kaynak köşelerine göre otomatik olarak atanır. Azure Cosmos DB'de bölümlenmiş graf kullanma bölümünde daha fazla bilgi edinin.
Aşağıdaki yönergeler, Apache Gremlin için Azure Cosmos DB graf veritabanı için veri modellemeye yaklaşmanıza yardımcı olur. Bu yönergelerde, veri etki alanının mevcut bir tanımı olduğu ve bu etki alanı için sorgular olduğu varsayılır.
Not
Aşağıdaki adımlar öneri olarak sunulur. Son modeli üretime hazır olarak değerlendirmeden önce değerlendirip test etmeniz gerekir. Ayrıca öneriler Azure Cosmos DB'nin Gremlin API uygulamasına özeldir.
Graf veri modelinin ilk adımı, tanımlanan her varlığı bir köşe nesnesine eşlemektir. Tüm varlıkların köşelere bire bir eşlenmesi ilk adım olmalı ve değiştirilebilir.
Yaygın bir tuzak, tek bir varlığın özelliklerini ayrı köşeler olarak eşlemektir. Aynı varlığın iki farklı şekilde temsil edildiği aşağıdaki örneği göz önünde bulundurun:
Köşe tabanlı özellikler: Bu yaklaşımda varlık, özelliklerini açıklamak için üç ayrı köşe ve iki kenar kullanır. Bu yaklaşım yedekliliği azaltabilir ancak model karmaşıklığını artırır. Model karmaşıklığındaki artış ek gecikme süresi, sorgu karmaşıklığı ve hesaplama maliyetine neden olabilir. Bu model bölümleme konusunda da güçlükler sunabilir.
Özellik eklenmiş köşeler: Bu yaklaşım, bir köşe içindeki varlığın tüm özelliklerini temsil etmek için anahtar-değer çifti listesinden yararlanır. Bu yaklaşım model karmaşıklığını azaltarak daha basit sorgulara ve daha uygun maliyetli çapraz geçişlere yol açar.
Not
Yukarıdaki diyagramlarda, varlık özelliklerini bölmenin yalnızca iki yolunu karşılaştıran basitleştirilmiş bir grafik modeli gösterilmektedir.
Özellik eklenmiş köşe deseni genellikle daha performanslı ve ölçeklenebilir bir yaklaşım sağlar. Yeni bir graf veri modeline yönelik varsayılan yaklaşım bu desene doğru çekim yapmalıdır.
Ancak, bir özelliğe başvurmanın avantajlar sağlayabileceği senaryolar vardır. Örneğin, başvuruda bulunan özellik sık sık güncelleştiriliyorsa. Güncelleştirmenin gerektirdiği yazma işlemi miktarını en aza indirmek için sürekli değişen bir özelliği temsil etmek için ayrı bir köşe kullanın.
Köşeler modellendikten sonra, aralarındaki ilişkileri belirtmek için kenarlar eklenebilir. Değerlendirilmesi gereken ilk yön, ilişkinin yönüdür.
Edge nesnelerinin varsayılan yönü, veya outE()
işlevleri kullanılırken bir geçişin ardından gelen out()
bir yönü vardır. Tüm köşeler giden kenarlarında depolandığından bu doğal yönün kullanılması verimli bir işlemle sonuçlanabilir.
Ancak, işlevini kullanarak in()
bir kenarın ters yönünde geçiş yaparak her zaman bölümler arası sorgu elde edebilirsiniz. Grafik bölümleme hakkında daha fazla bilgi edinin. İşlevi kullanarak in()
sürekli dolaşmanız gerekiyorsa her iki yönde de kenar eklemeniz önerilir.
Gremlin adımıyla .addE()
veya .from()
koşullarını kullanarak .to()
kenar yönünü belirleyebilirsiniz. Veya Gremlin API için toplu yürütücü kitaplığını kullanarak.
Not
Kenar nesnelerinin varsayılan olarak yönü vardır.
Açıklayıcı ilişki etiketlerinin kullanılması uç çözümleme işlemlerinin verimliliğini artırabilir. Bu deseni aşağıdaki yollarla uygulayabilirsiniz:
Çapraz geçişin kenarları filtrelemek için kullandığı etiket ne kadar belirgin olursa o kadar iyi olur. Bu kararın sorgu maliyeti üzerinde de önemli bir etkisi olabilir. executionProfile adımını kullanarak istediğiniz zaman sorgu maliyetini değerlendirebilirsiniz.
Eğitim
Sertifikasyon
Microsoft Sertifikalı: Azure Cosmos DB Geliştirici Uzmanlığı - Certifications
Microsoft Azure Cosmos DB ile verimli sorgular yazın, dizin oluşturma ilkeleri oluşturun, SQL API ve SDK'da kaynakları yönetin ve sağlayın.