21 Ocak 2014 Salı

MongoDB Nedir? Windows MongoDB Kurulumu Nasıl Yapılır?

MongoDB C++ dili ile yazılmış, açık kaynak NoSQL bir döküman veritabanıdır. İlişkisel veri tabanı uygulamalarının yetersiz kaldığı durumlarda performansı ile öne çıkan NoSQL uygulamaları arasında sık kullanılan, güzel dokümante edilmiş bir veritabanıdır. Tutulan dökümanın her özelliğine, anahtarına(key) göre indeksleme sağlamaktadır. MongoDB ile çalışmanın en önemli hususlarından biri anahtarlandırmadır. Tüm veriyi baştan aşağıya okumak yerine anahtarlandırılmış kısımda arama yapıp ilgili veriyi okumak perfonması çarpıcı bir biçimde artırır.


Eğer kurulum kısmına geçersek http://www.mongodb.org/downloads adresinden bize uygun 64 bitlik windows işletim sistemi için olanı indiriyoruz. Kurulumu yapacağınız yeri belirleyin. Ben kendi bilgisayarımda D:\ sürücüsü üzerine kurdum. D:\ sürücüsü içine "MongoDB"adlı bir dizin açılır ve bu dizin içine "logs" ve "data" isimlerinde iki dizin daha açılır. İndirilen dosyalarda MongoDB dizinine taşınır.







"logs" dizini içerisine "mongolog.txt" isminde yeni bir metin dosyası oluşturulur. 
Başlat çubuğuna cmd komutunu yazıp sağ tıklatarak yönetici konumunda çalıştırılır. Ardından aşağıdaki komut yazılır.







Kurulum tamamlandığına göre oluşturduğumuz MongoDB servisi çalıştırılabilir. Başlat -> “Yerel hizmetleri görüntüle” Hizmetler penceresinden MongoDB servisi başlatılır.
    Web tarayıcımıza localhost:28017 yazdığımızda servisimizin çalışıp çalışmadığını kontrol edebiliriz.





Peki MongoDB nasıl kaldırılır?

D:\mongodb\bin\mongod.exe --remove
komutunu cmd ekranına yazmamız yeterli olacaktır. 










19 Ocak 2014 Pazar

NoSQL Nedir?



NoSQL'in açılımı "Not Only SQL" dir. Klasik olarak bildiğimiz ve kullandığımız ilişkisel veritabanı sistemlerine (RDBMS) alternatif olarak 1998 yılında ortaya çıkmıştır.  NoSql ilişkisel veri tabanındaki tüm verileri farklı tablolar yerine tek bir dökümanda saklayan veri tabanı modelidir. İnternetin gün geçtikçe artan verisini depolayabilmek ve yüksek trafiğe sahip sistemlerin ihtiyaçlarına cevap verebilmek amacıyla ortaya çıkmış sistemlerdir. 

NoSQL sistemleri yüksek erişilebilirlik sunarlar. 

Sql de tablolar, alanlar ve ilişkisel veritabanı gibi kavramlar bulunmaktadır.  NoSQL'de ise bu kavramlar tam olmasa da ortadan kalkıyor. Okuma ve yazma performansları olarak RDBMS’lerden göreceli olarak daha performanslı olabilirler. Binlerce sunucu bir arada küme olarak  çalışabilir ve çok büyük veri üzerinde işlem yapabilirler.

NoSQL Ram'da çalışmaktadır. Veriler XML veya JSON şeklinde tutulur. NoSQL Excel'e benzetilebilir. BigTable olarak veriler tutulmaktadır. 

Veri güvenliği konusunda da RDBMS’ler kadar gelişmiş özelliklere henüz sahip değillerdir. Fire and Forget prensibi ile çalışır.Verinin çok önem arzettiği uygulamalarda NoSQL kullanılmamalıdır. Bunun sebebi ram üzerinde çalışmasıdır. Herhangi bir olumsuz durumda NoSQL sistemi bir problemle karşılaştığında güncelleme ve yedekleme sistemine güvenemeyiz. Bu da hızlı olmasının getirdiği bir sıkıntıdır.