23
Semantik Ağ ve Üst Veri Sistemleri İçin Yeni Nesil Veri Tabanı Yönetim Modeli: NoSQL R. Orçun Madran Atılım Üniversitesi www.madran.net

NoSQL Yeni Nesil Veri Tabanı Yönetim Modeli: Semantik Ağ ...orcun.madran.net/sunumlar/...veri-no-sql-SWMS2013.pdf · Veri işleme SQL adı verilen sorgulama dili ile yapılmaz

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: NoSQL Yeni Nesil Veri Tabanı Yönetim Modeli: Semantik Ağ ...orcun.madran.net/sunumlar/...veri-no-sql-SWMS2013.pdf · Veri işleme SQL adı verilen sorgulama dili ile yapılmaz

Semantik Ağ ve Üst Veri Sistemleri İçin Yeni Nesil Veri Tabanı Yönetim Modeli:

NoSQLR. Orçun MadranAtılım Üniversitesi

www.madran.net

Page 2: NoSQL Yeni Nesil Veri Tabanı Yönetim Modeli: Semantik Ağ ...orcun.madran.net/sunumlar/...veri-no-sql-SWMS2013.pdf · Veri işleme SQL adı verilen sorgulama dili ile yapılmaz

● NoSQL Ne Değildir?● Neden NoSQL?● Ne Zaman NoSQL?● NoSQL'in Tarihçesi.● NOSQL Veri Tabanı Kategorileri● Doküman Deposu● JSON & BSON● Örnek Veri Tabanı: MongoDB● Soru & Cevap

İçerik

Page 3: NoSQL Yeni Nesil Veri Tabanı Yönetim Modeli: Semantik Ağ ...orcun.madran.net/sunumlar/...veri-no-sql-SWMS2013.pdf · Veri işleme SQL adı verilen sorgulama dili ile yapılmaz

NoSQL Ne Değildir?

● Klasik "İlişkisel Veri Modeli"ni kullanmaz.● Veriler, tablolar içindeki satırlarda

depolanmaz.● Veri işleme SQL adı verilen sorgulama dili ile

yapılmaz.● Veriye erişim karmaşık birleştirme (Join)

işlemleri ile sağlanmaz.● İlişkisel veri modeli alternatifi değildir,● ACID (Ya Hep Ya Hiç) garantisi vermez.

Page 4: NoSQL Yeni Nesil Veri Tabanı Yönetim Modeli: Semantik Ağ ...orcun.madran.net/sunumlar/...veri-no-sql-SWMS2013.pdf · Veri işleme SQL adı verilen sorgulama dili ile yapılmaz

ACID - Ya Hep Ya Hiç

● Atomicity: Ya hep ya hiç kuralını sağlar.

● Consistency: Veri uygunluğunu garanti eder.

● Isolation: Eş zamanlı işlem kontrolü.

● Durability: Yapılan değişikliklerin (işlemlerin)

gerçekleşeceği garantisini verir.

Page 5: NoSQL Yeni Nesil Veri Tabanı Yönetim Modeli: Semantik Ağ ...orcun.madran.net/sunumlar/...veri-no-sql-SWMS2013.pdf · Veri işleme SQL adı verilen sorgulama dili ile yapılmaz

ACID - Ya Hep Ya Hiç (Özet)

İşlemler kuyruktayken sabit diskte depolanır

(geneneksel veritabanları)

İşlemler kuyruktayken geçici bellekte depolanır(NoSQL veritabanları)

Page 6: NoSQL Yeni Nesil Veri Tabanı Yönetim Modeli: Semantik Ağ ...orcun.madran.net/sunumlar/...veri-no-sql-SWMS2013.pdf · Veri işleme SQL adı verilen sorgulama dili ile yapılmaz

Neden NoSQL?

● Çok yüksek işlem trafiğine sahip ağ tabanlı

uygulamalardaki performans artışı,

(Twitter, Facebook vb.)

● Dağıtık veri mimarisi konusunda esneklik,

● Yük dengeleme açısından ölçeklenebilirlik,

● Kayıt bazında veri alanı özelleştirmesi.

Page 7: NoSQL Yeni Nesil Veri Tabanı Yönetim Modeli: Semantik Ağ ...orcun.madran.net/sunumlar/...veri-no-sql-SWMS2013.pdf · Veri işleme SQL adı verilen sorgulama dili ile yapılmaz

Ne Zaman NoSQL?

● Uygulama performansı işlem tutarlılığından

daha önemli olduğunda,

● Uygulamanın koştuğu sunucuların sürekli

artışı (ya da duruma göre) öngörülüyorsa,

● Çok büyük veri yığınları ile çalışılıyorsa.

● Üst veri ve doküman yönetimi üzerinde

deneysel çalışmalar amaçlanıyorsa ;)

Page 8: NoSQL Yeni Nesil Veri Tabanı Yönetim Modeli: Semantik Ağ ...orcun.madran.net/sunumlar/...veri-no-sql-SWMS2013.pdf · Veri işleme SQL adı verilen sorgulama dili ile yapılmaz

NoSQL'in Tarihçesi

● NoSQL kavramı ilk kez 1998'de ortaya çıktı,

● İlişkisel model kullanılmadığı için NoREL,

● 2009 yılında yeniden ortaya çıktı,

● 2011 yılında SQL yerine UnQL

(Yapılandırılmamış Sorgu Dili) üzerinde

çalışılmaya başlandı.

Page 9: NoSQL Yeni Nesil Veri Tabanı Yönetim Modeli: Semantik Ağ ...orcun.madran.net/sunumlar/...veri-no-sql-SWMS2013.pdf · Veri işleme SQL adı verilen sorgulama dili ile yapılmaz

NoSQL Neden Bana Sıcak Geliyor ;)

UnQL (Doküman Veritabanları) ile birlikte:

● Tablolar yerine Koleksiyonlar (Collections),

● Satırlar yerine Dokümanlar (Documents),

● Sütunlar yerine de Alanlar (fields),

kullanılmaya başlandı.

Page 10: NoSQL Yeni Nesil Veri Tabanı Yönetim Modeli: Semantik Ağ ...orcun.madran.net/sunumlar/...veri-no-sql-SWMS2013.pdf · Veri işleme SQL adı verilen sorgulama dili ile yapılmaz

NoSQL Veri Tabanı Kategorileri

Yoğunlaşılan kategoriler:

● Doküman Deposu (Document Store)○ Doküman-tabanlı Veri Tabanları

○ XML Veri Tabanları

● Çizelge (Graph)

● Anahtar-değer Deposu (Key-valued Store)

Tüm kategori listesi: http://en.wikipedia.org/wiki/NoSQL

Page 11: NoSQL Yeni Nesil Veri Tabanı Yönetim Modeli: Semantik Ağ ...orcun.madran.net/sunumlar/...veri-no-sql-SWMS2013.pdf · Veri işleme SQL adı verilen sorgulama dili ile yapılmaz

Doküman Deposu (Document Store)

● Doküman Deposu yaklaşımının merkezinde

"Doküman"'nın kendisi yer alır.

● Yarı-yapılandırılmış bir platform olarak

tanımlanır.

● Standart bir "Şema" kullanımı yoktur.

Page 12: NoSQL Yeni Nesil Veri Tabanı Yönetim Modeli: Semantik Ağ ...orcun.madran.net/sunumlar/...veri-no-sql-SWMS2013.pdf · Veri işleme SQL adı verilen sorgulama dili ile yapılmaz

Dokümanın Kodlanması

Dokümanın kodlanması (encode) için:

● XML

● YAML

● JSON

Page 13: NoSQL Yeni Nesil Veri Tabanı Yönetim Modeli: Semantik Ağ ...orcun.madran.net/sunumlar/...veri-no-sql-SWMS2013.pdf · Veri işleme SQL adı verilen sorgulama dili ile yapılmaz

İkili Düzende Erişim (Binary Forms)

Dokümana fiziksel erişimi için:

● BSON

● PDF

● Microsoft Ofis Dokümanları

● HTML vb.

Page 14: NoSQL Yeni Nesil Veri Tabanı Yönetim Modeli: Semantik Ağ ...orcun.madran.net/sunumlar/...veri-no-sql-SWMS2013.pdf · Veri işleme SQL adı verilen sorgulama dili ile yapılmaz

Doküman (Kayıt / Record) Yapısı{

AdıSoyadı: "Umut Al",ePosta: "[email protected]"

}

{AdıSoyadı: "Yaşar Tonta",ePosta: "[email protected]"Eğitim: [

{Derece: "Doktora", Kurum: "Berkeley", Yıl:"1992"},{Derece: "Y. Lisans", Kurum: "Wales", Yıl:"1986"},{Derece: "Lisans", Kurum: "Hacettepe", Yıl:"1981"},

]}

Page 15: NoSQL Yeni Nesil Veri Tabanı Yönetim Modeli: Semantik Ağ ...orcun.madran.net/sunumlar/...veri-no-sql-SWMS2013.pdf · Veri işleme SQL adı verilen sorgulama dili ile yapılmaz

Doküman Tabanlı VS İlişkisel VT

● Boş alanlar doküman içinde yer almıyor.● Doküman alanları birbiri ile aynı ya da farklı

olabiliyor.● Yeni bir alan yapısal bir değişikliği

gerektirmiyor.● Dokümana yeni bir alan eklenmesi ve / veya

çıkarılması çok hızlı bir şekilde gerçekleştirilebiliyor.

Page 16: NoSQL Yeni Nesil Veri Tabanı Yönetim Modeli: Semantik Ağ ...orcun.madran.net/sunumlar/...veri-no-sql-SWMS2013.pdf · Veri işleme SQL adı verilen sorgulama dili ile yapılmaz

Anahtarlar (Keys)

● Her bir doküman veri tabanındaki eşsiz bir anahtar yardımıyla adreslenir.

● Bu anahtar genelde metin tabanlı bir yapıya sahiptir.

● Anahtar Web adresinden ya da sabit disk üzerindeki bir patikadan oluşabilir.

● Bu şekilde anahtar dokümana erişim için de kullanılır.

Page 17: NoSQL Yeni Nesil Veri Tabanı Yönetim Modeli: Semantik Ağ ...orcun.madran.net/sunumlar/...veri-no-sql-SWMS2013.pdf · Veri işleme SQL adı verilen sorgulama dili ile yapılmaz

Erişim

● Sorgulama dili ile,● Veri tabanının uygulama arayüzü (API) ile

Page 18: NoSQL Yeni Nesil Veri Tabanı Yönetim Modeli: Semantik Ağ ...orcun.madran.net/sunumlar/...veri-no-sql-SWMS2013.pdf · Veri işleme SQL adı verilen sorgulama dili ile yapılmaz

Organizasyon

● Koleksiyonlar

● Etiketler

● Görünmeyen Üst Veri

● Hiyerarşik Klasörler

Page 19: NoSQL Yeni Nesil Veri Tabanı Yönetim Modeli: Semantik Ağ ...orcun.madran.net/sunumlar/...veri-no-sql-SWMS2013.pdf · Veri işleme SQL adı verilen sorgulama dili ile yapılmaz

Doküman Tabanlı Veri Tabanları

Mongo DB - BSON veri depolama (JSON)

Page 20: NoSQL Yeni Nesil Veri Tabanı Yönetim Modeli: Semantik Ağ ...orcun.madran.net/sunumlar/...veri-no-sql-SWMS2013.pdf · Veri işleme SQL adı verilen sorgulama dili ile yapılmaz

MongoDB - http://www.mongodb.org/

Page 21: NoSQL Yeni Nesil Veri Tabanı Yönetim Modeli: Semantik Ağ ...orcun.madran.net/sunumlar/...veri-no-sql-SWMS2013.pdf · Veri işleme SQL adı verilen sorgulama dili ile yapılmaz

BSON - http://bsonspec.org/

Page 22: NoSQL Yeni Nesil Veri Tabanı Yönetim Modeli: Semantik Ağ ...orcun.madran.net/sunumlar/...veri-no-sql-SWMS2013.pdf · Veri işleme SQL adı verilen sorgulama dili ile yapılmaz

MongoDB - http://www.mongodb.org/ - TRY IT OUT

Page 23: NoSQL Yeni Nesil Veri Tabanı Yönetim Modeli: Semantik Ağ ...orcun.madran.net/sunumlar/...veri-no-sql-SWMS2013.pdf · Veri işleme SQL adı verilen sorgulama dili ile yapılmaz

TeşekkürlerR. Orçun MadranAtılım Üniversitesi

www.madran.net