Graf Veritabanı Nedir?

İngilizce: Graph Database

Graf veritabanı, varlıkları düğüm ve kenarlarla modelleyerek ilişkileri hızlı sorgulamak için kullanılan NoSQL veritabanıdır.

Graf Veritabanı Nedir?

Graf veritabanı, veriyi satır ve tablolar yerine düğümler, kenarlar ve özellikler olarak modelleyen veritabanı türüdür. Müşteri, ürün, hesap veya cihaz gibi varlıklar düğüm; aralarındaki “satın aldı”, “takip ediyor”, “bağlı” gibi ilişkiler kenar olarak tutulur.

İlişkinin kendisi veri modelinin merkezinde olduğu için çok adımlı bağlantıları sorgulamak kolaylaşır. Örneğin “Bu müşterinin üç derece yakınındaki riskli hesaplar hangileri?” sorusu klasik join zincirleri yerine graf traversal ile ifade edilir.

Nasıl Çalışır?

Graf veritabanları düğüm ve kenarları indeksler, ardından sorgu sırasında ilişkiler üzerinden ilerler. Neo4j genellikle Cypher sorgu diliyle, Amazon Neptune Gremlin veya SPARQL ile, ArangoDB ise çok modelli yaklaşımla kullanılır.

Bu yapı her problem için en iyi seçenek değildir. Basit listeleme, finansal kayıt defteri veya yoğun toplu raporlama işlerinde ilişkisel veritabanı daha uygun olabilir. Graf modeli, ilişki derinliği arttığında değer kazanır.

İş Dünyasında Kullanımı

Graf veritabanları öneri sistemleri, sahtecilik tespiti, sosyal ağ analizi, kimlik ve yetki grafı, tedarik zinciri ilişkileri ve bilgi grafı projelerinde kullanılır. Bir bankanın hesaplar, cihazlar, telefon numaraları ve IP adresleri arasındaki bağlantıları incelemesi tipik örnektir.

NoSQL ailesinin bir parçası olsa da belge odaklı MongoDB gibi sistemlerden farklı düşünülür: belge içeriğinden çok varlıklar arası bağlantıların sorgulanması öne çıkar.