Gelecek Yılların Veritabanı – NoSql!

mysql cluster nosql

Gelecek Yılların Veritabanı – NoSql!

1998 Yılında, Carlo Strozzi tarafından ortaya çıkan bir kavram olup, SQL arayüzü olmayan veri depolama sistemidir. 

Evet kısa bir tanımla NoSql’i anlatmış kadar olduk. Biz bugün avantajlarından ve bize sağlayabileceği başka faydaları konuşacağız. NoSql değince insanın, daha doğrusu yazılımcıların aklına gelen ilk şey ; Bir veritabanı olmadan kullanılan veritabanı. Biliyoruz karmaşık bir açıklama oldu, aklımıza ilk gelen şey bu olmuştu, ilk duyduğumuzda. Garip bir tanımdı belkide, araştırdıktan sonra neyin ne olduğunu öğrenmiştik (İlk yazılıma başladığımda yaşadığım kötü bir tecrübeydi belkide…). Çıkmasında etken bir sebep olan internettin hızla büyümesi, büyüdüğü kadar hızlanması olmuştu, bu sebeple yapısallığı olmayan internetteki verinin ilişkisel veritabanları ile performanslı bir şekilde işleyememesidir.   Veri büyüklüğü ve trafik olarak belirli bir büyüklüğe gelen ve açık kaynaklı veritabanı sistemleri kullanan bu firmalar, bir noktada bu veritabanlarının kısıtlarına takıldılar. Bu uygulamalar yetmemeye başladığında NoSql gibi sistemler ortaya çıkmaya başladı.

Google bu gereksinimi Big Table adı verdiği NoSql sistemiyle bir şekilde çözdü, Amazon ise DynamoDb ismini verdiği NoSql sistemiyle çözdü. En büyük veri hacmine sahip olan Google firması, internet verisini ilişkiler veri tabanı yerine BigTable’de tutmayı tercih ediyor, bununda yararını diğer veritabanı sistemlerine göre daha hızlı ve daha ucuza geliyor olmasına bağlıyor. Aslında şöyle bir baktığımız zaman, gerçekten hızlı ve daha ucuz. Karalamak gibi olmasın ancak MSSQL bile bir yerden sonra tıkanırken, bu kadar büyük veriyi hem daha az maliyet ve daha fazla performansla saklayabilen, veritabanı sistemi yok gibi. Daha ucuza gelmesinin sebebi olarak’ta, dikey büyüme yerine yatayda büyüme ile gereksiz ek maliyetten kurtarması.

NoSql Sistemlerinin Avantajları

  • İlişkisel veritabanlarına göre yüksek erişebilirlik sunar. Bu sayede sadece anahtar sözcüğü ile istediğiniz veriye ulaşabilirsiniz. (Key = a, Value = 1. a = 1 mantığında.)
  • Yatayda genişletilebilir bir yapıya sahiptir, binlerce sunucu bir arada küme olarak çalışabilir ve çok büyük veri üzerinde işlem yapsa’da diğer veritabanı sistemlerine nazaran daha iyi performans gösterebilir.
  • Esnek yapıdadırlar. Yani programlama ve bakımları oldukça kolaydır.
  • Farklı özellikler arasında seçim yapmanıza imkan sağlayabilir.
  • Bulut teknolojilerine uygun olduğu için maliyet olarak avantajı vardır.

Zararları Yok mu?

Zararları elbette var. İlişkisel veritabanı yönetimini kullanan uygulamalar, bu sistemlere taşınırken başlangıçta bir zorluğu olacaktır. Başarılı bir şekilde taşındı diyelim, join kullanan kodlarda illaki düzenlemeler yapılmak zorundadır. Veri erişiminde sorgu yazmak varken, anahtar tabanlı veri erişimi sağlanacaktır. Buna göre bir yapılandırılmaya gidilmesi gerekmekte ve zaman alabilmektedir.

İşlem hareketleri, bu sistemlerde bulunmadığı için veri kaybı söz konusu olabilir. Veri güvenliği konusunda ilişkisel veritabanı yöntemleri kadar gelişmiş özelliklere sahip değillerdir, bazı dökümantasyon ve profesyonel destek konusunda eksiklikleri görülmektedir.

Toparlamak Gerekirse

Toparlamak gerekirse, olay şu ; Şu anlık bu sıkıntılar ilerde’de olacak diye bir kavram yok, teknoloji gün geçtikçe hızla ilerliyor ve NoSql kavramı’da gün geçtikçe genişliyor. Avantajlarına avantaj katabilir, dezavantajlarını da yok edebilir. Fakat güvenlik konusuna gelince, değişmez bir kavram vardır. “Yazılımla yapılan her şey başka bir yazılımla saldırıya uğrayabilir”.

Sosyal Medyada Paylaş

Peki Siz Bu Konuda Ne Düşünüyorsunuz?