NoSQL Nedir? Hangi Durumlarda Kullanılmalıdır? Avantajları ve Dezavantajları Nelerdir?

NoSQL, ilk olarak Carlo Strozzi tarafından ortaya atılmış olan bir kavramdır. Kavramın isminin NoSQL olmasının nedeni SQL arayüzü olmaması ve  ilişkisel olmayan anlamına gelmesidir.Aslında isim konusunda tam kesin bir ifade yoktur çünkü hala endüstriyel olarak bir birlik sağlanamamıştır. “Not Only SQL” olarak da (ilişkisel veritabanı sistemlerine alternatif olması belirtilmesi amacıyla) adlandırılır.

NoSQL, mevcut olan ilişkisel veritabanı sistemlerine (RDBMS) farklı bir çözüm olması amacıyla ortaya çıkan yatay olarak ölçeklenen veri depolama sistemidir.İnternetin gün geçtikçe hızlanması ve internete erişen kullanıcı sayısı arttıkça sistemlerin kullandığı veritabanı yapısını değiştirmesini zorunlu kılmıştır.Herkesin kullandığı ilişkisel veritabanı yönetim sistemlerinde önce tablo oluşturulur ve sonra tablodaki sütunlara veriler satır satır eklenmektedir.Ancak burdaki sıkıntı tabloda olmayan sütuna yeni bir alan eklemek istediğimizde çıkmaktadır.Bunun için tüm tablo yapısı değiştirilmekte ve diğer tablolarla oluşabilecek ilişkilendirme sorunları riski göze alınmalıdır, ve bu işlemi yapmak yüksek maliyet gerektirir.

İşte burada yardımımıza NoSQL veritabanı sistemleri yetişiyor. Çünkü NoSQL sistemlerde tablo ve sütun yapısının olmaması ve dolayısıyla verilerin kayıt edilmesi veya yapının sonradan inşa edilmesi için ek bir maliyete ihtiyaç duyulmaz.Yeni bir alan ihtiyacımız olduğu zaman tek yapmamız gereken kaydı direkt olarak eklemektir, NoSQL ilgili alanı ekleyip verimizi JSON XML formatlarına benzeri bir yapıda  kaydeder.

NoSQL Hangi Durumlarda Kullanılmalıdır?

NoSQL hakkında biraz bahsettikten sonra NoSQL hangi durumlarda kullanmamız daha doğru olur bir de buna bakmakta fayda var çünkü bu anlattıklarımıza bakıp da NoSQL ilişkisel veritabanı sistemlerinden üstündür gibi bir sonuç çıkarmamız yanlış olacaktır.İlişkisel veritabanı sistemlerinde genellikle verinin önemli olduğu uygulamalarda kullanılmaktadır.Örneğin e-ticaret sistemleri, alışverişin olduğu sistemler, bankacılık işlemleri gibi önemli verilerin tutulması gereken uygulamalarda ilişkisel veritabanı sistemleri kullanılır.NoSQL sistemlerin kullanma durumları ise verinin önemli olmadığı durumlardır.Örneğin Google internetteki indexlediği sitelerin verilerini ilişkisel veritabanı sistemleri yerine “BigTable” adını verdiği NoSQL sistemlde tutmayı tercih etmektedir. Böylelikle veriye çok daha hızlı ve düşük maliyetle erişim sağlayabilmektedir.

NoSQL Avantajları ve Dezavantajları Nelerdir?

NoSQL sistemler yüksek hızda erişim imkanı sunmaktadırlar.Read/Write işlemleri RDBMS sistemlere göre daha performanslı olabilmektedir.Binlerce veri kümesi ve çok büyük veriler üzerinden işlem yapabilmektedirler.Birçoğu açık kaynak kodludur, bulut bişilim ile daha uyumludurlar, esnek yapıya sahip oldukları için programlanmaları ve bakımlarının yapılmaları daha kolaydır.

Diğer bir yandan ilişkisel sistemleri NoSQL sistemlere taşımak ilk başlarda zor olabilmektedir.Verilerin sorunsuz bir şekilde taşınsa bile ilişkili veriler arasında ilişki kaybı,veri kaybı gibi olaylar olabilmektedir.Veri güvenliği konusunda RDBMS sistemler kadar gelişmemişlerdir ve bazı NoSQL sistemlerin yeni oldukları için dökümantasyon ve destek konusunda eksiklikleri olabilir.

 

Bir cevap bırakın
Son Yazılar