NoSQL, yıllarca yazılım dünyasının vazgeçilmezlerinden olan ilişkisel veri tabanı sistemlerine alternatif olarak ortaya çıkmıştır. Bazı yazılımcılar bu yapıyı yeni ve muhteşem bir teknoloji olarak görürken bazıları ise bu yapının tek başına yeterli olmayacağını düşünmektedir. Bu sebeple genel olarak bilinenin aksine NoSQL kavramı “No”SQL olarak düşünülmekle birlikte Not Only SQL olarakta düşünülmektedir.
NoSQL, içerisinde ilişki kavramı bulunmayan yatay olarak ölçeklendirilen bir veri depolama sistemidir. İnternetin hızlanması ve erişiminin artması ile beraber, sistemlerde daha çok kullanıcı aktif rol almaya başladı. Bu durum birçok ihtiyacın yanında veritabanı şemasının sıklıkla değiştirilmesine neden oldu. Sistemi tekrardan ele almak maliyet ve zaman kaybı oluşturdu.
Fakat NoSQL veritabanları sistemlerinde, bu yapıyı sonradan kurmak ek bir maliyet getirmemekte ya da çok az bir maliyet getirmektedir. Çünkü NoSQL sistemlerde tablo ve sütun kavramları bulunmamaktadır. NoSQL sistemlerde yeni bir alana ihtiyacınız olduğunda kaydı direk eklemeniz yeterli olmaktadır. Bir bölgede görüntülemek istediğiniz tüm veriyi ilgili dökümanda saklamanız mantıklı olacaktır. Kayıtların maliyetsizce gerçekleşmesinin nedeni ise verilerin tablo ve sütunlarda saklanması yerine JSON formatına benzer yapıda saklanmasıdır.
JSON, programlama dilinden bağımsız olan Javascript tabanlı veri değişim formatıdır. JSON’un amacı veri alışverişi yaparken daha küçük boyutlarda veri alıp göndermektir. Bu özellikleri sayesinde JSON ile çok hızlı uygulamalar oluşturabilmektedir. Aşağıdaki bulunan örnek bir JSON yapısındaki verileri inceleyiniz.
{
"ad":"Kurtuluş Ahmet",
"soyad":"Temel"
}
{
"kitaplar": [
{
"isim" : "Lost Symbol",
"yazar" : "Dan Brown"
},
{
"isim" : "Sherlock Holmes",
"yazar" : "Sir Arthur Conan Doyle"
}
]
}