Microsoft Fabric'de grafik şeması tasarlama

Grafik şeması, grafiğinizin yapısını tanımlayan düğüm türleri, kenar türleri ve bunların özelliklerinden oluşan koleksiyondur. İyi tasarlanmış bir grafik şeması, verilerinizi sorgulamayı, korumayı ve genişletmeyi kolaylaştırır. Bu makale, bir deniz veri ambarındaki tablosal verileri Microsoft Fabric içerisinde etkili bir etiketli özellik grafiğine dönüştürmeye yönelik en iyi yöntemleri sağlar.

Graf modeli düzenleyicisinde modellemeye başlamadan önce bu yönergeleri kullanın. Düğüm ve kenar oluşturma hakkında adım adım yönergeler için grafik öğreticisine bakın. Bu makaledeki örneklerde Adventure Works örnek veri kümesi kullanılmıştır.

Önemli

Graph şu anda şema evrimi desteklemez. Bir grafik modeli oluşturup verilerini yükledikten sonra düğüm türlerini, kenar türlerini ve özelliklerini ekleme veya kaldırma gibi tüm yapısal değişiklikler, güncelleştirilmiş yapıyı sorgulamadan önce tüm verileri yeniden yüklemenizi gerektirir. Verileri yeniden yüklemek için üst şeritte Kaydet'i seçin. Bu veri yeniden yükleme işlemi zaman alır ve kapasiteyi tüketir, bu nedenle modellemeye başlamadan önce şemanızı kapsamlı bir şekilde planlayın.

Önkoşullar

Düğüm türlerini ve kenar türlerini anlama

Şema tasarlamadan önce şu temel kavramları anlayın:

Düğüm türü grafınızdaki müşteri, ürün veya sipariş gibi bir varlık türünü tanımlar. Şunlardan oluşur:

  • Bir düğüm etiketi, bu düğüm kategorisini tanımlayan addır. Örneğin, Customer. Bu türdeki düğümlere başvurmak için sorgularda etiketi kullanırsınız.
  • Düğüm türü için kaynak verileri sağlayan lakehouse tablosu olan kaynak tablo. Örneğin, adventureworks_customers tablosu.
  • Her düğümü benzersiz olarak tanımlayan bir anahtar sütunu. Örneğin, CustomerID_K.
  • Özellikler, tablodaki ve her düğüme öznitelik olarak ekleyebileceğiniz sütunlardır. Örneğin, FirstName, LastNameve EmailAddress.

Düğüm, kaynak tabloda bir satır olmak üzere bir düğüm türünün tek bir örneğidir. Örneğin, adventureworks_customers içindeki her satır bir Customer düğüme dönüşür.

Kenar türü, iki düğüm türü arasındaki ilişki türünü tanımlar. Şunlardan oluşur:

  • Kenar etiketi, bu ilişki kategorisini tanımlayan addır. Örneğin, purchases.
  • Kaynak ve hedef düğümler arasındaki ilişki verilerini içeren bir kaynak tablo . Örneğin, adventureworks_orders tablosu.
  • Bir kaynak düğüm türü ve kenarın bağlandığı bir hedef düğüm türü. Örneğin, Customer kaynak ve Order hedef olarak.

Kenar, bir kenar türünün tek bir örneğidir; kaynak tabloda belirli iki düğümü bağlayan bir satır.

Uyarı

Grafik modeli düzenleyicisinde Düğüm ekle ve Kenar ekle düğmeleri tek tek düğümler veya kenarlar değil düğüm türleri ve kenar türleri oluşturur.

Varlıkları ve ilişkileri tanımlama

Verilerinizdeki varlıkları (öğeleri) ve ilişkileri (bağlantılar) tanımlayarak başlayın. Varlıklar düğüm türlerine dönüşür. Varlıklar arasındaki bağlantılar kenar türlerine dönüşür.

Kaynak tablolarınız hakkında şu soruları sorun:

  • Birincil varlıklar nelerdir? Farklı gerçek dünya öğeleri temsil eden satırlar düğüm türleri için adaydır. Örneğin müşteriler, ürünler, siparişler ve çalışanlar.
  • Bu varlıkların birbirleriyle ilişkisi nedir? Başka bir tablodaki satırlara başvuran sütunlar (yabancı anahtarlar), kenar türlerini önerir. Örneğin, CustomerID_FK, bir orders tabloda customers tablosuna işaret eder; bu da purchases kenarını modellemeyi önerir.
  • Gömülü varlıklar var mı? Tablo içindeki bir sütun, kendi düğüm türü olarak çıkarılmaya değer ayrı bir varlığı temsil edebilir. Örnek için bkz. Düğüm türlerini seçme. Adım adım izlenecek yol için bkz. Bir kaynak tablodan birden çok düğüm ve kenar türü ekleme.

Düğüm türlerini seçin

Bağımsız olarak sorgulamanız veya dolaşmanız gereken her varlık için bir düğüm türü oluşturun. Şu yönergeleri kullanın:

Varlığı bir düğüm türü yapın. Bunu bir özellik olarak tut...
Oradan geçmeniz veya geçmeniz gerekir. Okumaktan başka bir şey yapmadığınız açıklayıcı meta verilerdir, üzerinde gezinmezsiniz.
Birden çok varlık onunla bir ilişki paylaşır. Ait olduğu varlık için benzersizdir.
Sorgularda doğrudan eşleştirmeniz veya gruplandırmanız gerekir. Buna göre yalnızca başka bir varlığın özelliği olarak filtreleyebilirsiniz.

Örnek: Adventure Works veri kümesinde, Country tabloda bir sütun employees olarak başlar. "Aynı ülkede hangi çalışanlar yaşıyor?" veya "en çok çalışana sahip olan ülkeler" sorgusunu yapmanız gerekiyorsa, kendi düğüm türüne ayıklayın Country . Bir çalışanın ülkesini yalnızca etiket olarak görüntülemeniz gerekiyorsa, bu ülkeyi bir özellik olarak bırakın.

Anahtar sütunlarını seçme

Her düğüm türü, her düğümü benzersiz olarak tanımlayan bir anahtar sütunu (veya bileşik anahtar) gerektirir. Anahtarları dikkatle seçin:

  • Kaynak tablolarınızdaki mevcut benzersiz tanımlayıcıları kullanın. Örneğin, CustomerID_K veya ProductID_K.
  • Doğal anahtar olmadığı sürece iş anlamı olmayan vekil anahtarlardan kaçının. Örneğin, otomatik artan bir satır numarası yerine CustomerID tercih edin.
  • Tek bir sütun benzersizliği garanti etmediğinde bileşik anahtarları kullanın. Örneğin, bir ProductVersion düğümünün hem ProductID hem de VersionNumber anahtarlarına ihtiyacı olabilir.
  • Anahtar sütunları ile kenar eşlemelerinde kullanılan yabancı anahtar sütunları arasındaki veri türlerini eşleştirin. Eşleşmeyen türler kenar oluşturma hatalarına neden olur.

İpucu

Sorgu altyapısının anahtar özelliklerinde doğrudan aramalar gerçekleştirmesini sağlamak için düğüm anahtarı kısıtlamaları tanımlayın. Bu iyileştirme, anahtara göre belirli düğümleri arama sorgularını hızlandırır.

Düğüm özellikleri ekleyin

Bir düğüm türü oluşturduğunuzda, kaynak tablodan düğüm türüne özellik olarak eklenecek özellikleri, özellikle de temel alınan kaynak tabloya OneLake Güvenlik erişim kurallarının uygulandığı özellikleri seçin.

+ Özellik ekle düğmesiyle düğüm oluşturma sırasında özellikler ekleyin. Alternatif olarak, grafik modeli düzenleyicisinde düğüm türüne çift tıklayarak düğüm düzenleme iletişim kutusunu açıp Tanımı düzenle'yi seçerek mevcut düğüme özellikler ekleyin. Özellik ekle'yi seçin ve ardından kaynak tablodan sütunları seçin.

Tablodaki her sütunu özellik olarak eklemek istemeyebilirsiniz. Aşırı özellikler depolamayı ve yavaş sorguları artırır ve grafın bakımını zorlaştırır. Bu nedenlerden dolayı, sorgular veya analiz için ihtiyacınız olmayan özellikler eklemekten kaçının.

Her düğüm türü için yalnızca şu özellikleri koruyun:

  • Düğümün benzersizliği için gereklidir (anahtar sütunları)
  • Sorgularınızdaki filtrelerde WHERE veya RETURN projeksiyonlarda kullanılır
  • Aşağı akış analizi veya görselleştirme için gereklidir

Özellik sayısının sorgu performansını nasıl etkilediği hakkında daha fazla bilgi için bkz. Yalnızca ihtiyacınız olan özellikleri döndürme.

Veri türlerini seçme

Her özellik için en özel veri türünü seçin. Doğru türler hem depolama verimliliğini hem de sorgu performansını artırır:

  • Sayısal tanımlayıcılar ve sayımlar için INT ve UINT64 kullanın. Sayısal karşılaştırmalar, dize karşılaştırmalarından daha hızlıdır.
  • Dize biçimlendirilmiş tarihler yerine zaman damgaları için kullanın ZONED DATETIME .
  • BOOLEAN kullanarak true/false bayraklarını "yes" veya "no" gibi dize değerleri yerine tercih edin.

Desteklenen türlerin tam listesi için bkz . Geçerli sınırlamalar — Veri türleri.

Kenar türlerini seçme

Kenar türleri, düğüm türleri arasındaki ilişkileri tanımlar. Her kenar türü, kaynak tablo aracılığıyla bir kaynak düğüm türünü hedef düğüm türüne bağlar.

Şu yönergeleri izleyin:

  • Fiil veya fiil tümceciği olarak okunan açıklayıcı etiketler kullanın. Örneğin, purchases, sells, livesInve belongsTo. İyi adlandırılmış bir kenar, sorguların okunmasını kolaylaştırır.
  • Yönü dikkatlice düşünün. Grafikteki kenarlar yönlendirilir. Gerçek dünya ilişkisini en iyi temsil eden yönü seçin. Örneğin, Customer --satın almalar-->OrderOrder -->Customer daha doğal bir şekilde okur.
  • Farklı düğüm türü çiftlerini bağlayan kenar türlerine ayrı adlar verin. Hem "çalışan sipariş satıyor" hem de "müşteri sipariş satın alıyor" Order öğesine bağlanıyorsa, ikisine de aynı etiketi vermek yerine sells ve purchases olarak adlandırın. Daha fazla bilgi için bkz. Uç oluşturma sınırlamaları.

Kenar türlerine özellik ekleme

Düğümler gibi, kenar türleri de başlangıçta hiçbir özelliğe sahip değildir. İsteğe bağlı olarak, veriler uç nokta yerine ilişkinin kendisini açıkladığında özellikler ekleyebilirsiniz. Edge özellikleri en çok, ilişki hakkındaki verileri filtrelemesi, toplaması veya döndürmesi gereken GQL sorguları yazdığınızda kullanışlıdır.

Özellik eklemek için grafik modeli düzenleyicisinde bir kenar türüne çift tıklayarak kenar düzenleme iletişim kutusunu açın ve Tanımı düzenle'yi seçin. Özellik ekle'yi seçin ve ardından kaynak tablodan sütunları seçin.

Kenar özellikleri ne zaman eklenir: Bir sütun iki düğüm arasındaki bağlantı hakkında "ne kadar?", "ne zaman?" veya "ne şekilde?" yanıtını verirse, her iki düğüme değil de kenara aittir.

Örnek: Adventure Works veri kümesinde, contains kenarı Order'yi Product'ye adventureworks_orders tablosu aracılığıyla bağlar. OrderQty, UnitPrice ve LineTotal gibi sütunlar ilişkiyi tanımlar; yani bir üründen belirli bir siparişte kaç adet bulunduğunu ve hangi fiyattan olduğunu açıklar. OrderDate veya ShipDate gibi sütunlar sıranın kendisini açıklar ve kenarda değil, Order düğüm türüne aittir.

Önemli

Bir kenar için kaynak tablo, değerlerdeki ve veri türündeki hem kaynak hem de hedef düğüm türlerinin anahtar sütunlarıyla eşleşen sütunlar içermelidir. Düğüm türleri oluşturmak için kullandığınız tablolar, bu gereksinimi karşılıyorsa kenar kaynak tabloları olarak da görev yapabilir.

Yaygın tablosal-graf desenleri

Aşağıdaki tabloda, bazı yaygın tablosal veri yapılarının grafik öğelerine nasıl çevrildiği özetlenmiştir:

Tablosal yapı Grafik sonucu Example
Bire-çok: Ana tablo + yabancı anahtarlı alt tablo İki düğüm türü bir kenar türü ile bağlı. Customer -- satın almalar-->Order
Çoka çok: İki tabloyu bağlayan birleşim tablosu İki düğüm türü arasındaki kenar türü. Vendor -- üretir-->Product
Katıştırılmış varlık: Paylaşılan varlığı temsil eden sütun Kenarlı ayıklanmış düğüm türü. Employee -- yaşamYer-->Country
Hiyerarşi: Ebeveyn-çocuk tablo zinciri Her düzeyde kenarlarla birbirine bağlı düğüm tipleri. Product -- Türüdür-->Subcategory --Aittir-->Category

Katıştırılmış varlık deseninin adım adım izlenecek yolu için bkz. Bir kaynak tablodan birden çok düğüm ve kenar türü ekleme.

Grafik şemanızı değiştirme

Graph şema evrimi desteklemez. Grafik modelini kaydettikten sonra düğüm türlerinin, kenar türlerinin ve bunların özelliklerinin yapısı düzeltilir. Düğüm türüne özellik ekleme, kenar türünü kaldırma veya anahtar sütun değiştirme gibi yapısal değişiklikler yapmak için yeni bir grafik modeli oluşturmanız ve verilerinizi yeniden yüklemeniz gerekir.

Grafik şemanızı değiştirmek için:

  1. Çalışma alanınızda, aynı lakehouse'a bağlanan yeni bir grafik öğesi oluşturun.
  2. Grafik modeli düzenleyicisinde, yeni veya değiştirilmiş özellikler de dahil olmak üzere ihtiyacınız olan düğüm türlerini ve kenar türlerini ekleyin.
  3. Anahtar sütunlarını ve kenar eşlemelerini yapılandırın. Veri türlerinin anahtar sütunlarıyla yabancı anahtar sütunları arasında eşleştiğinden emin olun.
  4. Verileri almak ve yeni grafiği oluşturmak için Kaydet'i seçin.
  5. Tüm sorgu kümelerini yeni grafiğe işaret eden şekilde güncelleştirin.
  6. Yeni grafiğin beklendiği gibi çalıştığını doğruladıktan sonra, ihtiyacınız yoksa özgün grafik öğesini silin.