NoSQL Nedir?

Merhaba arkadaşlar. Bu yazımda birlikte , günümüzde fazlaca popüler olan, ilişkisel veritabanlarına alternatif olarak ortaya çıkan NoSQL yapısını basitçe inceleyeceğiz.  🙂 

                            nosql-nedir

NoSQL denildiğinde aklımıza ilk olarak “SQL değil” anlamı gelse de NoSQL için NOT ONLY SQL yani “Sadece SQL Değil” kavramı da kullanılmaktadır.

Yazının başında ilişkisel veritabanlarına alternatif olarak ortaya çıkan tabirini kullandım. İlişkisel veritabanlarında kullanılan SQL sorguları NoSQL’de yoktur. Veriler JSON ya da XML formatında tutulur. 

“Neden kullanıyorlar ki bunu? Amaç nedir abi?” sorusu için şöyle bir açıklama getirebilirim. Günümüzde internetin yaygınlaşması ve hızlanması sebebi ile sistemler sürekli büyüyen bir veri yumağına dönüşüyor. Sistemlerin büyümesi ile veritabanları da karmaşıklaşıyor ve karmaşık veritabanlarında sürekli değişiklik yapmak zorlaşıyor.

Tabloları ve sütunları ekleyip, son olarak ilişkileri düzenlediğimiz, fazla sayıda veri barındıran bir veritabanı düşünelim. Bir süre sonra tabloya yeni bir sütun eklememiz ya da önceden planlayamadığımız bir değişiklik yapmamız gerektiğinde , tabloyu ve ilişkileri yeniden tasarlamamız, belki veritabanı tasarımını baştan yapmamız gerekebilir. Bahsedilen değişiklikleri büyük bir sistem üzerinde uygulamak verimsiz/maliyetli sonuçlar doğurabilir.

NoSQL de sonradan değişiklik yapmak ilişkisel veritabanlarında olduğu kadar verimsizlik yaratmaz. Çünkü tablo veya sütun kavramlarının olmadığı NoSQL de tek yapmanız gereken eklemek istediğiniz veriyi JSON ya da XML formatında eklemektir. 

İlişkisel veritabanları transaction alt yapısıyla çalışır. Yani veri bütünlüğünü sağlamak için çeşitli prensiplere dayanarak işlem yapılır. NoSQL’de transaction kavramı yoktur. Fire and Forget adı verilen bir prensiple çalışan bu sistemde amaç hız ve performansı maximize etmektir. Yani %100 veri bütünlüğü sağlamaz. Bankacılık gibi hassas , verinin aynı anda her yerde güncellenmesi gereken sistemlerde NoSQL tercih edilmemektedir. 

Günümüzde Google Big Table , Amazon ise DynamoDB adını verdiği NoSQL veritabanı sistemi ile verilerini saklamaktadır. NoSQL genel olarak çoğu sistemin belli kısımlarında, parça parça kullanılmaktadır. 

NoSQL kendi içinde şu şekilde gruplandırılmıştır :

1) Wide-column stores

2)Document databases

3)Key-value stores

4)Graph stores

Şimdilik NoSQL hakkında bildiklerim bu kadar. Öneri ve düzeltmeler için yorum yapabilirsiniz. Bir daha ki yazıda görüşmek üzere. Mutlu günler 🙂 

Bye-smiley

 

Reklamlar

5 thoughts on “NoSQL Nedir?

  1. Yazı için teşekkürler gizem hanım faydalı bir makale olmuş. Ülkemizin sizin gibi insanlara çok fazla ihtiyacı var.

  2. Geri bildirim: CouchDB , Futon ve Curl İle CRUD İşlemleri | Teknolojik bir blog…

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s