NOSQL Nedir? Nasıl Kullanılır?

NoSQL veritabanları, belirli veri modelleri için özel olarak tasarlanmıştır.

NoSQL Nedir?

 

NoSQL veritabanları, belirli veri modelleri için özel olarak tasarlanmıştır ve modern uygulamalar oluşturmaya yönelik esnek şemalara sahiptir. NoSQL veritabanları uygun ölçekte geliştirme kolaylığı, işlevselliği ve performansıyla geniş çaplı kabul görmüştür. Belge, grafik, anahtar-değer, bellek içi ve arama dahil olmak üzere çeşitli veri modelleri kullanır. 

 

NoSQL (ilişkisel olmayan) Veritabanları Nasıl Çalışır?

 

- İlişkisel bir veritabanında genellikle bir kitap kaydı gizlenerek (veya “normalleştirilerek”) ayrı tablolarda depolanırken, ilişkiler birincil ve yabancı anahtar kısıtlamaları tarafından tanımlanır. Bu örnekte Books (Kitaplar) tablosu ISBN, Book Title (Kitap Başlığı) ve Edition Number (Baskı Sayısı) sütunlarına; Authors (Yazarlar) tablosu AuthorID (Yazar Kimliği) ve Author Name (Yazar Adı) sütunlarına; Author-ISBN (Yazar-ISBN) tablosu ise AuthorID (Yazar Kimliği) ve ISBN sütunlarına sahiptir. İlişkisel model, veritabanının yedekliliği azaltacak şekilde normalleştirilmiş ve genel olarak depolama için optimize edilmiş tablolar arasında başvurusal bütünlük uygulamasına imkan tanıyacak şekilde tasarlanmıştır.

- Bir NoSQL veritabanında, kitap kaydı genellikle bir JSON belgesi olarak saklanır. Her kitap için öğe, ISBN, Book Title (Kitap Başlığı), Edition Number (Baskı Sayısı), Author Name (Yazar Adı) ve AuthorID (Yazar Kimliği) bilgileri tek bir belgede öznitelikler olarak depolanır. Bu modelde, veriler sezgisel yazılım geliştirme ve yatay ölçeklenebilirlik için optimize edilir.

 

 

NoSQL veritabanı özellikleri;

 

- SQL sorgulama arayüzü ve bildiğimiz SQL sorguları ile çalışmıyor olmaları (Sorgulama arayüzleri değişkenlik gösteriyor. JSON, REST, RPC vb.. şeklinde farklı API’lerle sorgulanabilen versiyonlar mevcut. RavenDB ise tamamen LINQ ile sorgulanabiliyor!)

- Çok-ögeli (tuple) sabit ilişkisel şemalar yerine veri tipleri önceden belirlenmemiş ve genişletilebilir veri şeması kullanıyor olmaları

- Özellikle yatay ölçeklendirmeye göre tasarlanmış olmaları (Facebook, Google, Amazon gibi her gün terabaytlarca veriyle haşır olan devlerin NoSQL veritabanlarını tercih etmesinin ana nedenlerinden)

- Veriyi disk ya da sadece hafızada taşıyabilir olmaları

 

NoSQL ile çalışırken alışmış olduğumuz ilişkisel veritabanlarımızdaki gibi verilerimizi satır satır saklamaya ve diğer tablolarla ilişkilendirip tanımlamalarımızı yapmıyoruz.Veriler JSON ya da XML formatında saklanıyor.

Ancak burada dikkat edilmesi gereken nokta NoSQL, Fire and Forget prensibi ile çalıştığı için bankacılık vb. kritik uygulamalarda kullanılmamalıdır. Aksine verinin 100% önemli olmadığı durumlarda kullanılabilir.

 

Sorgular nasıl çalışır?

 

db.news.remove() 

// news isimli collection'ı tamamen siler.

 

 db.news.find({'post_date': '2012-07-21'})

// 21.07.2012 tarihinde yazılmış olan haberleri listeler. 

 

db.news.find({'post_date': '2012-07-21'}, {'is_active': true}) 

// 21.07.2012 tarihinde yazılmış olan aktif haberleri listeler.

Benzer Blog yazıları

REST API Nedir?

REST web üzerindeki bilgisayar sistemleri arasında standartlar sağlayarak sistemlerin birbirleriyle iletişim kurmasını kolaylaştıran mimari bir s...Devamı…

Opencart nedir ? Opencart’ın avantajları nelerdir ?

İnternet üzerinden yapılan alışveriş oranı gün geçtikçe artıyor. Bu nedenle şirket, mağaza sahipleri e-ticaret siteleri ile &u...Devamı…

Javascript Nedir ?

Javascript web sayfalarını interaktif hâle getirebilmek için geliştirilmiş bir kodlama dilidir. Kısaltması JS'dir. Sunucu tabanlı değ...Devamı…

Web Sitenizi Saldırganlardan Korumanın 4 Basit Yolu

1 - SQL Enjeksiyonuna Karşı Web Sitenizi Koruyun    Bir SQL Injection saldırısı , saldırganın veritabanınızı değiştirmek ve böyle...Devamı…

Hızlı İletişim
Hızlı İletişim+90 212 347 33 11info@ata.com.trTeklif İste
Teklif İste