Lodos olarak gerekli inceleme ve denemelerini yaptığımız NoSQL ile geliştirebileceğimiz bir projeyi dört gözle bekliyoruz :)
Öncelikle NoSQL â??No-SQLâ? değil â??Not Only SQLâ? kelimelerinin kısaltmasıdır. Yani â??SQLâ??den fazlasıâ? anlamına gelir.
Bilgisayar bilimleri'nde NoSQL, klasik ilişkisel veritabanı yönetim sistemlerinden kayıt saklama tekniği ve ölçeklenme şekli ile farklı olan veritabanı yönetim sistemleri için kullanılan bir kavramdır.
Bu veri tabanı yapısı sabit tablo düzenlerine ihtiyaç duymaz, alışılagelmiş join işlemleri kullanılmaz, tipik olarak yatay ölçeklemeye gidilir.
Akademisyenlerce ve makalelerde tipik olarak böyle veri depolarına yapılanmış bellek (structured storage) denir. Bu kavram klasik ilişkisel veritabanlarını altküme olarak görür.
Kayıtlar çok düzgün yapılandırılmış klasör ve XML dosyalardan oluşur. Her klasör ve dosya logaritmik artış gösteren kayıt sayıları içerir. Bu yapı yatay büyüyebildiği için binlerce bilgisayarın oluşturduğu tek bir veri tabanı gibi davranabilmektedir. Daha da önemlisi bu yapı her veriyi dağıtık olarak saklamakta, bu nedenle verinin her durumda birden fazla kopyası olmakta, veriler otomatik olarak yedeklenmiş olmaktadır.
Bu yapının en önemli dez avantajı ise, kullanıcıların tümünün sisteme girilen verilere ulaşabilmesinin sistemin yayılmışlığına bağlı olarak değişen sürelere bağlı olmasıdır. Yani , sisteme girilen bir veriye A kullanıcısı 10 dk. sonra ulaşabiliyorken B kullanıcısı aynı veriye 20 dk. sonra ulaşabiliyor durumu oluşabilmektedir. Bunun sebebi , sisteme girilen verilerin her noktaya ulaşması için gereken yayılma süresidir.
Bu veri tabanı yapısı, google , facebook ve twitter gibi çok fazla bilgi girişi olan ve veriye ulaşmada gecikme yaşansa bile kimsenin mağdur olmadığı ve hatta umursamadığı yapılarda kullanılmaktadır.
Böyle büyük uygulamalarda dikine büyüyen veri tabanlarının kapasiteleri yeterli olmazken, veriye geç ulaşılsa da herhangi bir hayati sorun oluşturmamaktadır.