Graph (Çizge) Veritabanları ve Multi-Model Kavramı

30
GRAPH (ÇİZGE) VERİTABANLARI VE MULTI-MODEL KAVRAMI Emre Akış @akisemre

Transcript of Graph (Çizge) Veritabanları ve Multi-Model Kavramı

Page 1: Graph (Çizge) Veritabanları ve Multi-Model Kavramı

GRAPH (ÇİZGE) VERİTABANLARI

VE MULTI-MODEL KAVRAMI

Emre Akış@akisemre

Page 2: Graph (Çizge) Veritabanları ve Multi-Model Kavramı

AJANDA• Teori• Isınma turları• İlişkisel vs Çizge Veritabanları• Neden kullanalım ?• Örnekler• Ürünler• Kullanım Önerileri• Sonuç• Multi-model (ekstra)

Page 3: Graph (Çizge) Veritabanları ve Multi-Model Kavramı

TEORİ• G = (V, E) • V => Düğüm (Vertice)

• E => İlişki (Edge)

Page 4: Graph (Çizge) Veritabanları ve Multi-Model Kavramı

BASİT ÇİZGE (SIMPLE GRAPH)• Düğümler ve onları birbirine bağlayan ilişkiler (yönsüz)

Page 5: Graph (Çizge) Veritabanları ve Multi-Model Kavramı

YÖNLÜ ÇİZGE (DIRECTED GRAPH)• Her ilişkinin bir yönü vardır ya da her ilişkinin başlangıç ve

bitiş düğümü vardır.

Page 6: Graph (Çizge) Veritabanları ve Multi-Model Kavramı

NİTELİK ÇİZGESİ (PROPERTY GRAPH)• Düğümlerin nitelikleri var (anahtar, değer) • İlişkilerin bir tipi var ve her zaman yönleri var• İlişkilerinden değerleri olabilir

Page 7: Graph (Çizge) Veritabanları ve Multi-Model Kavramı
Page 8: Graph (Çizge) Veritabanları ve Multi-Model Kavramı
Page 9: Graph (Çizge) Veritabanları ve Multi-Model Kavramı

SOSYAL AĞLARDAN GELEN VERİ

Page 10: Graph (Çizge) Veritabanları ve Multi-Model Kavramı

İLİŞKİSEL VS ÇİZGE

Page 11: Graph (Çizge) Veritabanları ve Multi-Model Kavramı

JOIN VS GRAPH TRAVERSAL

Page 12: Graph (Çizge) Veritabanları ve Multi-Model Kavramı

JOIN VS GRAPH TRAVERSAL

Page 13: Graph (Çizge) Veritabanları ve Multi-Model Kavramı

JOIN VS GRAPH TRAVERSAL

Page 14: Graph (Çizge) Veritabanları ve Multi-Model Kavramı

İLİŞKİSEL VS ÇİZGE • Kullanıcının arkadaşlarının arkadaşları (derinlik = 2) • 1.000.000 kayıttan, 1.000 kullanıcı için (saniye)

Derinlik Süre - İlişkisel Süre – Çizge

2 0.016 0.010

3 30.267 0.168

4 1.543.505 1.359

5 1 saati geçkin 2.132

http://www.neotechnology.com/how-much-faster-is-a-graph-database-really/

Page 15: Graph (Çizge) Veritabanları ve Multi-Model Kavramı

NEDEN ?• Veritabanı performansı, her zaman aslında çizgenin belli

bir kısmı ile ilgili olduğundan, görece sabit kalıyor.• Sabit sorgu zamanı

Page 16: Graph (Çizge) Veritabanları ve Multi-Model Kavramı

NEDEN ?• İlişkiler arası ilerlemek kolay ve hızlı

Page 17: Graph (Çizge) Veritabanları ve Multi-Model Kavramı

NEDEN ?• Beyaz tahta dostu (anlatması, çizmesi kolay)

Page 18: Graph (Çizge) Veritabanları ve Multi-Model Kavramı

NEDEN ?• Sonradan yeni tür ilişkiler ve düğümler kolaylıkla eklenebilir• Örn : Sosyal medyadan alınacak veri, her mecrada farklı

yapıda

Page 19: Graph (Çizge) Veritabanları ve Multi-Model Kavramı

ÖRNEĞİN – TAVSİYE SİSTEMİ• Bunu alan bunu alabilir mi ? (Amazon,vs…)

Page 20: Graph (Çizge) Veritabanları ve Multi-Model Kavramı

ÖRNEĞİN – FACEBOOK GRAPH SEARCH

Page 21: Graph (Çizge) Veritabanları ve Multi-Model Kavramı

ÖRNEĞİN – KARGO

Page 22: Graph (Çizge) Veritabanları ve Multi-Model Kavramı

ÖRNEĞİN - FRAUD

User ID

Cookie ID

Page 23: Graph (Çizge) Veritabanları ve Multi-Model Kavramı

ÜRÜNLER

Page 24: Graph (Çizge) Veritabanları ve Multi-Model Kavramı

GÖRSEL ARAÇLAR

Page 25: Graph (Çizge) Veritabanları ve Multi-Model Kavramı
Page 26: Graph (Çizge) Veritabanları ve Multi-Model Kavramı

SON OLARAK• Veriniz ilişkilerden oluşuyor ise, bu bir çizge olabilir !

Page 27: Graph (Çizge) Veritabanları ve Multi-Model Kavramı

MULTI-MODEL KAVRAMI• Polygot Persistence

Page 28: Graph (Çizge) Veritabanları ve Multi-Model Kavramı

MULTI-MODEL KAVRAMIDATABASE KEY-VALUE SQL DOCUMENT GRAPH OBJECT TRANSACTIONS

YES YES YES YES YES FULL ACID, EVEN DISTRIBUTED

YES NO YES YES NO FULL ACID, PESSIMISTIC LOCKING, CONFIGURABLE DURABILITY

YES YES YES NO YES SINGLE SERVER OR DISTRIBUTED

YES YES YES YES NO FULL ACID, MULTI-KEY, CROSS-NODE

https://en.wikipedia.org/wiki/Comparison_of_multi-model_databases

Page 29: Graph (Çizge) Veritabanları ve Multi-Model Kavramı

KAYNAKLAR• Ücretsiz kitap

http://graphdatabases.com/

Page 30: Graph (Çizge) Veritabanları ve Multi-Model Kavramı

SORU & CEVAP