Grafik Veritabanı Nedir?

Bir grafik veritabanı (graph database), verileri temsil etmek ve depolamak için grafik model kullanan bir veritabanıdır. Grafik veritabanı modeli, ilişkisel modele bir alternatiftir. Neo4j, Blazegraph, ve OrientDB bilinen garfik veritabanlarından birkaçıdır.

İlişkisel bir veritabanında veriler, önceden tanımlanmış bir şemaya (predefined schema) sahip katı bir yapı (rigid structure) kullanılarak tablolarda depolanır.

Bir grafik veritabanında, önceden tanımlanmış böyle bir şema yoktur. Bunun yerine, herhangi bir şema, girilmiş olan verilerin bir yansımasıdır. Daha çeşitli veriler girildikçe, şema buna göre büyür.

Grafik veritabanı ve SQL İlişkisi

Grafik veritabanı yönetim sistemlerinin çoğu NoSQL sistemleridir. Çoğu durumda SQL, grafik mimarisiyle bir anlam ifade etmez. Grafik veritabanları tipik olarak SQL'in tasarlandığı ilişkisel modelden çok farklı bir şekilde yapılandırılmıştır.

Birçok grafik veri tabanı yönetim sistemi kendi tescilli sorgulama dilini kullanır. Buna rağmen bazı grafik veritabanı sistemleri, JavaScript, JSON, XQuery..vb. gibi yapıları destekler.

Grafik veritabanının faydaları

Grafik veritabanlarının diğer veritabanlarına ve özellikle ilişkisel veritabanlarına göre birçok avantajı olabilir.

Verimlilik

Grafik veritabanları, özellikle ilgili veriler genelinde büyük sorgular söz konusu olduğunda, ilişkisel veritabanlarına göre önemli performans avantajlarına sahip olabilir.

İlişkisel veritabanı uygulamalarında genellikle birçok tabloyu (10, 20, 30 veya daha fazla) birleştiren sorgular bulunur. Bunun gibi sorgular, özellikle veritabanına giderek daha fazla kayıt girildiği için son derece yavaş çalışabilir.

Çoğu durumda, aynı veriler bir grafik veritabanında saklansaydı, sorgular çok daha basit olurdu ve çok daha hızlı çalışırdı. Bunun nedeni, bir grafik veritabanında sorguların grafiğin bir bölümünde yerelleştirilmesidir. Bu, her bir sorgu için yürütme süresinin, genel grafiğin boyutundan ziyade yalnızca grafiğin o sorguyu karşılamak için geçilen bölümünün boyutuyla orantılı olduğu anlamına gelir.

Bazı veriler, ilişkisel veritabanlarının tablo yapısına daha uygun olsa da, grafik modeli, büyük ilişkisel veri kümelerini sorgulamak için çok faydalıdır.

Esneklik

Veri kümesi bir şema tanımlamaya gerek olmadığından, veritabanının nasıl büyüdüğü konusunda tam esnekliğe sahip olunur.

İlişkisel modelde, veritabanını oluşturmadan önce gereksinimleri tüm ayrıntılarıyla belirlemeniz gerekir. İş gereksinimlerindeki olası değişiklikleri öngörmeye çalışmalı ve olası tüm gelecek senaryolarına hitap eden bir çözüm oluşturmaya çalışılmalıdır ki bu her zaman mümkün değildir. İş gereksinimleri önemli ölçüde büyür/değişirse, veritabanı yapısının da önemli ölçüde değişmesi gerekebilir. Hatta tamamen yeniden yapılması bile gerekebilir.

Grafik modeliyle, iş büyüdükçe, var olan sorguları ve uygulama işlevselliğini bozmadan var olan herhangi bir veritabanına her zaman yeni ilişki türleri, yeni düğümler (nodes) ve yeni alt grafikler ekleyebilirsiniz.



İlginizi Çekebilir

Foreign Key Nedir?

Veritabanı De-normalization (Denormalizasyon) Nedir?

Veritabanında İlişki Nedir?

RDBMS Nedir?

Veritabanı Collation Nedir?