2010 yılının
başlarında ortaya çıkmış olan bir kavram.
NoSql Sql yok
manasında değil, Not Only Sql kelimelerinin kısaltması, “sadece
SQL değil” bu işin çözümü demek isteyen bir kavram. Evet veri
saklamanın ve sorgulamanın tek yolu Sql değil.
Oracle, Microsoft Sql
Server, Postgre Sql, Mysql derken insanların aklında veri saklama
ve sorgulama yöntemi olarak sadece tablolar ve aralarındaki
ilişkileri mecburi kılan bir yapı vardı. Yani tüm veri tabanları
excell formundan çok da ileri değillerdi yapısal olarak.
İşi bu kadar
küçümsemek ciddi haklarını yemek olabilir. Index'ler,
Trigger'lar, Relation'lar, Full-Text Index ve Arama sistemleri gibi
bir sürü teknoloji içerirler. Fakat bu kadar çok teknoloji
sistemin işleyişini bir miktar yavaşlatır. Ayrıca kurallar ve
sınırlar olması bazen verilerinizi çok fazla bölmek zorunda
bırakırdı.
Şimdi bu isim
geyiklerini bir kenara bırakıp ana farkın ne olduğunu değineyim.
NoSql veritabanlarında tablo yok, dolayısıyla türleriniz
field'lar ile kısıtlı değiller.
( Nasıl yani Object
Oriented falan ne oldu diyeceksiniz. Claslarım fieldlarım,
propertylerim ... Yazdıklarımı okurken evet diyorsanız eskidiniz
ya da bir hayli geriden geliyorsunuz diyeceğim. Aşın bunları bir
miktar daha ... :)
NoSql veritabanlarında
tutmak istediğiniz veriler JSON ya da XML formatlarında
saklanmakta. Bu da size ağaç yapısında bir veri saklayabilme,
kayıta özel field'lar kullanabilme gibi tonlarca imkan sunuyor.
KAYIT 1
{
“_id” : “edfnsjnjkuisdhbhhjbda32123”,
“Yazar” :“DarkRed”,
“Sorular” : {
“nasilsin”:”iyiyim”,
“istanbulnasil”:”her zamanki gibi, renkli”
}
}
KAYIT 2
{
“_id” : “edfnsjnjkuisdhbdsabda32123”
“Yazar” : “Red”,
“Sorular” : {
“nasilsin”:”süperim”,
“antalyanasil”:”senfonisi güzel ve güneşli”
“neicersin”:”kimse yok iken pepsi :)”
}
}
farkettiyseniz 2 farklı
yazarımıza farklı sorular sorup dolayısıyla farklı cevaplar
alabildik. Bu yazarlarımızın özelliklerine bağlı sorulardı.
Konuyu biraz daha açmak
gerekirse, büyük bir alışveriş sitesinde ürünler düşünün.
Otomobillerde var
olması gereken bir field kesinlikle motor hacmi, kapı adedi,
aktarma (vites) şekli ...
Fakat ürün cep
telefonu ise bambaşka fieldlar saklanmalı, ekran boyutu, pil ömrü
gibi ...
Gereksiz mi gözüktü,
biliyorum bu sorunları siz başka biçimlerde çözüyordunuz..
Fakat FourSquare, Linked-in, ebay ... (şimdi reklam olmasın hepsini
saymayayım) Projeniz büyükse, hız, işlevsellik ve yatay
büyüyebilme sizin için kritik önem arz ediyorsa, kuralsız ve
gerçek hayata daha yakın nesneleriniz varsa projelerinizin illaki
bir bölümünde NoSql veritabanları kullanmalısınız.
Kimler var bu konuda :
En çok kullanılan ve
alışılması ve kullanılması en kolay olanı diyebilirim
Japonların
geliştirdiği çook güzel bir veritabanı, seçim yapmadan önce
kesinlikle inceleyin derim.
Apache tarafından
geliştirilmiş, “Web için veritabanı” ismi ile andıkları
veritabanı.
vmware'in ana sponsoru
olduğu, bulut bilişim için geliştirilen nosql veritabanı.
KURALLI
İLİŞKİLERDEN ve BAĞIMLILIKLARDAN HOŞLANMIYORSANIZ NOSQL TAM
SİZE GÖRE ...
Hiç yorum yok:
Yorum Gönder