NoSQL nedir? Nosql & Rdbms karsilastirmasi.

Merhaba arkadaşlar

Öncelikle verileri hangi amaçla kullanacağımıza karar verelim. İki temel kullanım yöntemini inceleyelim.

1-Analitik kullanım

Amaç geleceğe doğru yapacağımız seçimler ise batched olarak gelen veriler , son derece büyük veriler üzerinden yapılan hesaplamaları analitik olarak değerlendirebiliriz.

2-Operasyonel kullanım

Amaç anlık (şuan) ise gerçek zamanlı çalışmalar data flowlar ve datanın process edilmesi ise çok hızlı okumaya ve çok hızlı yazmaya ihtiyacımız var demektir.

Hadoop ne demektir ? Hadoop Batch-oriented analytical database systemi olarak nitelendirilebilir. Analitik kullanım ve büyük miktardaki veri için çok iyi bir sistemdir.

NoSQL ne demektir? Nosql ise Real-time operational database sistemidir. Operasyonel işler ve hız gerektiren işlerde ideal bir sistemdir.

Günümüzde RDBMS sistemlerin Cloud ölçeğinde Milyonlarca concurrent kullanıcı karşısında performansları düşük kalmaktadır. Veri esnekliği bakımından esnek değilllerdir. Bir database modelliğimiz senaryoda bir değişiklik çok zordur.

ekran-resmi-2017-02-09-11-52-14

Resimdende anlaşılacağı gibi RDBMS sistemlerinde kullanıcı sayısı arttıkça sistemin maliyeti inanılmaz artar ancak uygulama performansı bu artışa paralellik gösteremez. Cloud uygulamalarında ise sadece yeni makinalar ekleyerek düşük maliyetle sisteminizin performansını paralel götürebilirsiniz.

Bugun mobile uygulamaların kullanım oranlarını düşündükçe nasıl bir database ile çalışmamız gerektiğini daha doğru anlayabilirsiniz.

RDBMS & NOSQL karşılaştırması

Mimari olarak bakıldığında

RDBMS databaseler DISK first yaklaşımındadır.Yani genellikle mimarileri

Write to disk  —–>>> Log for availability —–>>> Cache index in memory

(okuma yazma işleri diskten)

şeklindedir.

NOSQL databaseler ise Memory first yaklaşımındadır.

CACHE data in memory —–>> replicate for availability —–>> Write to disk

(okuma yazma işleri öncelikle memoryden)

şeklindedir.

RDBMS databaseler 1970 ortaya çıkmış ve Oracle tarafından dünyada ilk ticari database 1979 üretilmiştir. Amacı normalization üstündedir. Temeli OLTP ye dayanır. Select ettiğimizde birçok tabloyu join yapmamız ve bunun neticesinde artan costlar ortaya çıkar.

NOSQL databaseler ise yapısı gereği hızlı ve esnektirler.

NOSQL databaseler RDBMS gibi aynı özellikte değillerdir.

Tercihlerimize göre

KEY-VALUE NOSQL databaseler

Key ve basit valuesunu tutarlar

örnek

Vno::123456 Value:Zekeriya

 

Document NOSQL databaseler

Key ve Structure değer tutar(document)

VNO::123456 {name:’Zekeriya’,age:42,ceptel:[542777777,53211111,5523333333]}

 

Column-Family nosql databaseler

key ve  kolon setlerinden  oluşur.

name:text         Zekeriya

age: number    42

VNO:123425                                               54277777777

cep:number        552343535366

52425526277

 

Graph Nosql Databaseler

Linkedindeki connectionlarınız ,pagerank gibi kullanımlar için .

 

Sevgili arkadaşlar tahmin ettiğiniz üzere konu son derece detaylı ve önemli. Son yıllarda bir çok projede NOSQL database teknolojisi kullanarak projelerde inanılmaz farklar yarattık. Bu gelişmeleri sizlerle detaylı paylaşabilirim. Siz bu yeni nesil teknolojilerle ilgileniyorsanız kurumunuzda ücretsiz bir seminer düzenleyip

1-Hangi NOSQL database i hangi işlerde tercih etmeliyim

2-Key-Valuede hangi vendorı tercih etmeliyim? Column Familyde hangisini? Documentde hangisini?

3-CAP nedir? Biz nerdeyiz

4-Scale up mı Scale out mu?

5-Static data model mi ? Flex data modelmi?

6-Normalizationmı-De normalizationmı detaylı anlatabilir ve tartışabiliriz.

Imkanı olan arkadaşlarımında bu konuda Bilginc IT Academyde detaylı bir eğitim organize edebiliriz.

Bana ulaşmak için zekeriyab@bilginc.com , zekeriyabesiroglu@gmail.com ve 0542 768 00 00 kullanabilirsiniz.

Selamlar ,Saygılar

 

 

 

 

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s