Aracılığıyla paylaş


Graf ve ilişkisel veritabanlarını karşılaştırma

Uyarı

Bu özellik şu anda genel önizlemededir. Bu önizleme, hizmet düzeyi sözleşmesi olmadan sağlanır ve üretim iş yükleri için önerilmez. Bazı özellikler desteklenmiyor olabileceği gibi özellikleri sınırlandırılmış da olabilir. Daha fazla bilgi için bkz. Microsoft Azure Önizlemeleri için Ek Kullanım Koşulları.

Bu makalede grafik veritabanlarını ve ilişkisel veritabanlarını karşılaştırarak temel farkları, kullanım örneklerini ve analizdeki avantajları vurgulayacağız. Özel gereksinimlerinize göre Microsoft Fabric için Graph'ı mı yoksa ilişkisel veritabanını mı kullanacağınızı değerlendirebilirsiniz.

Graf veritabanı, verileri düğüm ağı (varlıklar) ve kenarlar (ilişkiler) olarak depolar ve sorgular; bu da ilişkisel veritabanlarının tablo ve satır biçiminden temel olarak farklıdır. Graf veritabanları sosyal ağlar, bilgi grafları, öneri sistemleri ve sahtekarlık algılama gibi yüksek oranda bağlı verileri modelleme ve analiz etme konusunda oldukça başarılıdır.

Temel Farklar

  • Graf veritabanları: Verileri düğümler ve kenarlar olarak düzenleyerek ilişkileri açıkça depolar. Bağlantılar arasında geçiş verimlidir ve genellikle toplam veri kümesi boyutundan bağımsızdır.
  • İlişkisel veritabanları: Tablolardaki verileri satır ve sütunlarla düzenleyin. İlişkiler sorgu zamanında JOIN işlemleri kullanılarak çıkarılır ve bu da yüksek oranda bağlı veriler için karmaşık ve yavaş olabilir.

İlişkileri sorgulama: Birleşimler ve çapraz geçişler

İlişkisel veritabanı sorguları: Farklı tablolardaki veriler yabancı anahtarlar aracılığıyla bağlanır. İlişkisel veritabanları, ilişkili verileri almak için JOIN işlemlerini kullanarak birden çok tabloya ait satırları birleştirir. Bu, basit ilişkiler için iyi çalışır, ancak derin veya değişken uzunlukta bağlantılar için pahalı ve karmaşık hale gelebilir.

Graph veritabanı sorguları: İlişkiler kenar olarak depolanır ve bir düğümden diğerine doğrudan geçiş sağlar. Grafik sorguları birden çok atlamada ve karmaşık desenlerde verimli bir şekilde gezinebilir. GQL gibi graf sorgu dilleri, çapraz geçişleri ve desen eşleştirmeyi ifade etmelerini kolaylaştırır.

Example:

GQL:

MATCH (p:Person)-[:friendsWith]->(friend)-[:purchased]->(o:Order)
WHERE p.name = 'Alice';
RETURN o

SQL (eşdeğer):

SELECT o.*
FROM Person AS p
JOIN Friends_With AS fw ON p.id = fw.person_id
JOIN Person AS friend ON fw.friend_id = friend.id
JOIN Purchased AS pur ON friend.id = pur.person_id
JOIN "Order" AS o ON pur.order_id = o.id
WHERE p.name = 'Alice';

Uyarı

GQL, graf yapılandırılmış verilerin verimli bir şekilde sorgulanması ve değiştirilmesi için tasarlanmış, graf veritabanları için ISO standartlaştırılmış bir sorgu dilidir. SQL'i denetleen aynı uluslararası çalışma grubu bunu geliştiriyor.

Performans Etkileri

Graph veritabanları, özellikle derin bağlantı analizi veya özyinelemeli sorgular için birçok kenarı veya bilinmeyen derinlikleri içeren sorgular için ilişkisel sistemlerden daha iyi performansa sahiptir. İlişkisel veritabanları, onlarca yıllık iyileştirme nedeniyle küme odaklı işlemlerde ve toplamalarda üstünlük sağlar.

Ölçeklendirmeyle İlgili Dikkat Edilmesi Gerekenler

  • İlişkisel veritabanları: Genellikle dikey olarak ölçeklendirilir (daha büyük makineler) ve parçalama ve çoğaltma yoluyla yatay olarak ölçeklendirilebilir. Yüksek oranda bağlı şemaları parçalama karmaşıktır ve ağlar arası ek yüke neden olabilir.
  • Graf veritabanları: Dikey ve yatay olarak ölçeklendirin. Dağıtılmış grafik veritabanları, verimli geçişler için ilgili düğümleri bir arada tutmayı hedefleyen grafikleri makineler arasında bölümler.

Her Birinin Ne Zaman Kullanılacağı

Aşağıdakiler için Graph Veritabanı kullanın:

  • Verileriniz yüksek oranda bağlantılı ve ilişki ağırlıklıdır (sosyal ağlar, bilgi grafikleri, öneriler).
  • Bilinmeyen veya değişken sayıda atlamadan geçmeniz gerekir.
  • Şema gelişmekte veya yarı yapılandırılmış.
  • İlişkilerin merkezi olduğu etki alanları için sezgisel modelleme istiyorsunuz.

şu durumda bir İlişkisel Veritabanı kullanın:

  • Verileriniz çoğunlukla tablosaldır veya iyi tanımlanmış bir yapıya uygundur.
  • Sorgularınız ağır toplamalar veya büyük küme işlemleri içerir.
  • SQL ile uyumlu mevcut araçlarınız veya uzmanlığınız var.

Karma Yaklaşımlar

Birçok projede her ikisi de kullanılır: çekirdek işlem verileri için ilişkisel veritabanı ve özelleştirilmiş analiz veya ağ analizi özellikleri için graf veritabanı.