NoSQL Yeni Nesil Veri Tabanı Yönetim Modeli: Semantik Ağ...

Preview:

Citation preview

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

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

www.madran.net

● 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

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.

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.

ACID - Ya Hep Ya Hiç (Özet)

İşlemler kuyruktayken sabit diskte depolanır

(geneneksel veritabanları)

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

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.

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 ;)

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ı.

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ı.

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

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.

Dokümanın Kodlanması

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

● XML

● YAML

● JSON

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

Dokümana fiziksel erişimi için:

● BSON

● PDF

● Microsoft Ofis Dokümanları

● HTML vb.

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

AdıSoyadı: "Umut Al",ePosta: "umutal@hacettepe.edu.tr"

}

{AdıSoyadı: "Yaşar Tonta",ePosta: "tonta@hacettepe.edu.tr"Eğitim: [

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

]}

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.

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.

Erişim

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

Organizasyon

● Koleksiyonlar

● Etiketler

● Görünmeyen Üst Veri

● Hiyerarşik Klasörler

Doküman Tabanlı Veri Tabanları

Mongo DB - BSON veri depolama (JSON)

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

BSON - http://bsonspec.org/

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

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

www.madran.net

Recommended