Merhaba arkadaşlar,

Bu yazımda NoSQL (non SQL – non relational) tabanlı veritabanı sistemi olan MongoDB’ yi Windows 10 üzerinde kurulumunu inceleyeceğiz. Ayrıca ufak bir demo yapıp bu yazıyı sonlandıracağım.

Günümüzün internet ve dijital dünyasında her an her yerden bir şekilde veriler internet üzerinde bir bilgisayara gidiyor ve orada depolanıyor. Git gide artan ve genel olarak Big Data adının verildiği bu verilerin saklanması ve o verilere hızlı erişimin sağlanması adına son zamanlarda NoSQL yani SQL’deki gibi ilişkilerin bulunmadığı bir dil geliştirilmiştir. MongoDB’ de bunun öncülerinden. Nasılki SQL dilinde MS Sql ya da MySQL varsa MongoDB’ yi de bunun gibi düşünebiliriz. MongoDB’ nin yanında Apache Cassandra’ nın  ve  Redis’ in de NoSQL dilinde olduğunu söyleyelim.

MongoDB Kurulumu

Google olmadan önce bu bilgisayarcılar ne yapıyorlarmış yahu. Hemen download MongoDB anahtar kelimesiyle googlayalım. Karşımıza çıkan ilk organik arama sonucuna tıklayalım ve karşımıza bu şekilde bir görüntü gelecek.

MongoDB indirme ekranı

Şuanda geçerli olan stabil versiyon 3.2.4 ancak siz bu yazıyı okurken bu versiyon değişmiş olabilir. Eğer 64-bit bir bilgisayarınız var ise, MongoDB ekibi 64-bit kurulumunu yapmanızı aşırı derecede tavsiye ediyorlar. Hatta 32 bit sistemler için de ek bir kaç ayarın daha yapılması gerektiğini görmüştüm.

Neyse, .msi uzantılı kurulum dosyamızı indirdikten sonra tipik next>next>next işlemleri karşımıza gelecek. Burada tabiki de lisans anlaşmasını baştan sona kadar okuyup ( :p ) kabul ettiğinizi belirtmek için tick atıyorsunuz. Bir kaç adım sonra “Complete” e tıklayarak tüm sistemi kuruyorsunuz. MS SQL 2008’den 20016’ya kadar gelmiş geçmiş bütün sürümlerini kurmuş birisi olarak, MongoDB’ de ben karışık birşeyler ile karşılaşırım diye bekliyordum ancak kurulum şuanda bitti! 🙂

Ancak son bir kaç ayar yapmamız gerekiyor. Command Prompt’ a veri sorgulayacağımız zaman MongoDB’ nin işletim sistemi tarafından nerede kurulu olduğunun bilinmesi gerekiyor, böylece ben her seferinde MongoDB’ yi kurduğum yere (C:\Program Files\MongoDB\Server\3.2\bin) gidip oradaki .exe’leri çalıştırmayacağım. MongoDB biraz önce de belirttiğim gibi C:\Program Files\MongoDB\Server\3.2\bin yoluna kuruluyor ve burada şuanda bizim için önemli olan 2 .exe dosyası var. Birincisi mongod.exe ki bu exe ile server i çalıştırmaya başlıyoruz. Diğeri ise mongo.exe ki bu exe ile de veritabanı işlemlerimizi gerçekleştireceğiz.

Şimdi, bu yolu bilgisayarımıza tanımlayalım. Windows 10’da sol alttaki Windows logosuna sağ tıklayıp sistem‘e tıklayalım (ya da bilgisayarım’ın üzerine sağ tıklayıp özelliklere tıklayalım). Sol taraftan gelişmiş sistem ayarlarına tıklayalım ve karşımıza gelen ekranda ortam değişkenlerine tıklayalım. Alt kısımda bulunan sistem değişkenleri kısmında “Path” ı bulalım ve düzenleye tıklayalım. Biraz önce belirttiğim C:\Program Files\MongoDB\Server\3.2\bin yolunu buraya ekleyelim ve tamam tamam tamam diyerek açtığımız pencereleri kapatalım.

Hello MongoDB!

Aslında şuanda herşey hazır! Hadi hemen bir Command Prompt açalım. İlk başta MongoDB server’ ı çalıştırmamız gerekiyor. Bunun için biraz önce belirttiğim mongod.exe yi kullanacağız. Komut ekranında mongod diyerek direk bu exe yi çalıştırabiliriz.

mongod

Ve karşımıza böyle bir ekran geliyor. Aslında ilk kurulum yaptığınızda network ayarları sizden izin isteyecek ve bu izni verdikten sonra komut penceresini kapatıp geri açın ve tekrar mongod komutunu yazın.

Varsayılan olarak MongoDB 27017 portunu dinliyor ve şuanda MongoDB’ miz çalışıyor. Ancak mongod yazıp çalıştırdığımız bu ekranı kapatmamız ya da CTRL-C diyerek çıkmamamız gerekiyor. Aksi takdirde MongoDB’de çalışmasını durduruyor.

Yeni bir Command Prompt daha açalım. Şimdi mongo diyerek sorgularımızı yazacağımız bölüme geçelim. Burada varsayılan olarak ilk başta test veritabanına bağlanıyor. Eğer başka bir veritabanına geçiş yapmak istersek use dbAdı komutunu kullanarak geçiş yapabiliriz. Şimdi test veritabanı üzerinden geçelim. SQL’deki tablolar artık burada yerini koleksiyonlara bırakıyor.

Yani; db.KoleksiyonAdı.insert() ile ben KoleksiyonAdı isimli tabloma yani koleksiyonuma yeni bir veri ekleyeceğim. Hadi deneyelim.

mtmBlog adında bir koleksiyona yeni bir veri ekleyelim. Burada önceden mtmBlog koleksiyonunu oluşturmamıza gerek yok!

db.mtmBlog.insert({'name':'Hello MongoDB', 'author': 'Mehmet Taha Meral'});

Yazdım ve WriteResult({ “nInserted” : 1 }) gibi bir sonuç gösterdi, yani yazım işlemi gerçekleşti.

Şimdi bir de görüntüleyelim:

db.mtmBlog.find() ya da db.mtmBlog.findOne() ile görüntüleyebiliriz.

Arasındaki fark ise, find() ile o koleksiyondaki bütün dökümanları görüntülüyoruz, findOne() ile ise sadece ilk veriyi.

Burada tabiki dikkat etmemiz gereken şey, verileri eklerken JSON formatında girmemiz. MongoDB veriler JSON formatında tutmaktadır. Hatta kendileri BSON adında kendi formatlarını çıkartarak JSON’ ın desteklemediği, int, double gibi değişkenleri de eklemişler.

Ve karşımıza bu şekilde bir ekran geliyor:

mongo

Ben şahsen MongoDB’ yi gerçekten sevdiğimi söyleyebilirim. Türkçe kaynak olarak da bu alanda sıkıntılı olduğu için ilerleyen günlerde de yeni yazılar yazmayı düşünüyorum.

Umarım erinmem ve yazarım! Sorularınız olursa beklerim.. Bir sonraki yazımda görüşmek üzere 😉

Bir sonraki yazım MONGO SHELL’ DE NOKTA GÖSTERİMİ (DOT NOTATİON)