Nedir Bu MongoDB ?

Berke Kurnaz
5 min readMay 15, 2019

--

Herkese merhaba. Bugün özellikle son yıllarda oldukça popüler bir konuma gelen MongoDB üzerine konuşacağım. Ve bu yazıyı daha önce hiçbir şekilde veritabanlarıyla ilgilenmemiş, bu alana yeni girmek isteyen bir kişinin anlamak istediği şekilde başlayıp temelden yukarıya doğru anlatmak istiyorum. Günün sonunda veritabanları, nosql, mongoDb kelimelerinin anlamlarını ve mongoDb üzerinde temel işlemlerin yapılmasını öğrenmiş olacağız.

Ben sözü daha da fazla uzatmadan hızlıca yazıya geçeyim.

Veritabanı Nedir ?

Veritabanı ihtiyacımız olan veya daha sonraları ihtiyacımız olacak bütün verileri depoladığımız sistemdir. Günümüz uygulamalarının(web,mobil,masaüstü) neredeyse tamamında yerel veya uzak sunucuya bağlantılı veritabanları bulunur. Veritabanlarına depoladığımız bu bilgileri daha sonraları kullanabilir, üzerlerine düzenlemeler yapabilir veya bu verileri anlamlandırarak bilgiler elde edebiliriz.

NoSQL Nedir ?

Son yıllarda verinin inanılmaz boyutlara ulaşması ve katlanarak artması sonucunda mevcut olarak kullanılan ilişkisel veritabanı sistemleri yerine ortaya atılmış bir kavramdır. İlişkili veritabanı sistemleri ile arasındaki en büyük fark ilişkisel veritabanı sistemlerinde veriler tablo ve sütunlar ile ilişkili bir şekilde tutulurken NoSQL’de json bir yapıda tutulmasıdır.

NoSQL sistemlerin avantajlarına değinmek gerekirse ilk olarak performans gösterilebilir. Okuma ve yazma işlemleri ilişkisel veritabanlarına göre çok daha hızlı olmaktadır. İkinci olarak ise NoSQL sistemler yatay olarak genişletilebilirler. Binlerce sunucu bir arada çalışarak inanılmaz derecedeki veriler üzerinde işlemler yapabilir.

Ayrıca eklemekte fayda var ki günümüzde Büyük Veri alanında yapılan çalışmalarda NoSQL sistemler yoğun olarak kullanılmaktadır.

MongoDB Nedir ?

MongoDB 2009 yılında geliştirilmiş açık kaynak kodlu bir NoSQL veritabanıdır. Bugün piyasada Cassandra, BigTable, Dynamo gibi birçok NoSQL veritabanı bulunmaktadır.

MongoDB’de her kayıt bir doküman olarak ifade edilir. Ve bu dökümanlar json formatı şeklinde saklanır. Daha önce ilişkisel veritabanlarıyla ilgilenenlerin bildiği table yapısını burada collection, row yapısını document, column yapısını ise field alır.

Günümüzde aktif olarak kullanılan pek çok programlama dili için driver desteği bulunması bakımından bugün NoSQL sistemler içerisinde en çok tercih edilenlerden biridir.

Aşağıda bulunan MongoDB resmi sitesine giderek indirebilir ve bilgisayarınıza hızlıca kurabilirsiniz.

MongoDB Temel İşlemler

Bu aşamada ise MongoDB üzerinde veritabanlarını listelemeyi, collectionları görmeyi, veri eklemeyi, silmeyi, güncellemeyi ve listelemeyi görelim. MongoDB’yi bilgisayarımıza yükledikten sonra grafiksel bir arayüz içinde kullanmak isterseniz piyasada robomongo gibi birçok güzel seçenek mevcut. Ama ben işlemlerin daha net anlaşılması için komut ekranı aracılığıyla yapıyor olacağım.

MongoDB’yi çalıştırmam için komut ekranını açtıktan sonra ‘mongo’ kodunu yazarak entere basıyorum. Artık MongoDB’yi çalıştırmış olduk.

MongoDB : Veritabanlarını Listelemek

Sistemimizde bulunan veritabanlarını listelemek için ‘show databases’ komutunu yazıyoruz. Sistemimizde kayıtlı olan veritabanları ve boyutları böylelikle karşımızda listelenecektir.

show databases

MongoDB : Yeni Veritabanı Oluşturmak

Yeni bir veritabanı eklemek için şöyle bir yol izleyeceğiz. Önce olmayan bir veritabanını kullan komutunu verip içerisine veri eklediğimiz zaman veritabanının oluştuğunu göreceğiz. Şimdi ekleyeceğim veritabanımın ismini BenimVeritabanim olarak giriyorum.

Kodu yazdıktan sonra switched to db BenimVeritabanim şeklinde mesaj karşımıza gelecek.

use BenimVeritabanim

MongoDB : Var Olan Veritabanını Kullanmak

Sistemimizde daha önce kayıtlı bir veritabanını kullanmak istediğimizde yazacağımız kod yine aynı olacak. Önce use ardından ise veritabanının ismi.

use Veritabanınınİsmi

MongoDB : Veritabanı Silmek

Sistemimizde kayıtlı bir veritabanını silmek istediğimizde ise önce silmek istediğimiz veritabanına use ile geçiş yapıyoruz. Ardından ise db.dropDatabase() komutunu yazıyoruz. Bu işlemin ardından ilgili veritabanı silinecektir.

use Veritabanınınİsmi

db.dropDatabase()

MongoDB : Veritabanında Collection Oluşturma

Collection yani diğer anlamıyla tablo oluşturmak istediğimiz zaman önce ilgili veritabanının içine giriyor ardından ise db.createCollection(“İsim”) komutunu yazıyoruz.

use BenimVeritabanim

db.createCollection(“musteriler”)

MongoDB : Veritabanında Collectionları Listeleme

Veritabanımızda bulunan collectionları listelemek için show collections komutunu kullanmamız yeterli. Ben bir yukarıda müşteriler isimli bir collection oluşturduğum için bana onu listeleyecektir.

show collections

MongoDB : Veritabanında Collection Silme

Veritabanımızda var olan bir collectionu silmek istersek db.CollectionAdi.drop() komutunu giriyoruz.

db.musteriler.drop()

MongoDB : Collection İçerisine Veri Ekleme

Collection içerisine veri eklemek için db.Collectionİsmi.insert() diyerek insert içerisine json formatında veri giriyoruz. Örnek vermek gerekirse ben yukarıda oluşturduğumuz müşteriler collectionuna ismi berke soyismi kurnaz ve yaşı 20 olan bir kayıt eklemek istersem aşağıdaki gibi bir kod yazacağım.

db.musteriler.insert({“name”: “Berke”, “surname”: “Kurnaz”, “age”:20})

MongoDB : Collection İçerisindeki Verileri Listelemek

Ben yukarıda yaptığımız ekleme işlemlerine örnek birkaç veri daha girdim. Bu aşamada ise bu verileri listeleyelim. Bunun için yazmamız gereken komut db.Collectionİsmi.find() olacaktır. Bunun sonucunda veriler satır satır listelenir fakat biz db.Collectionİsmi.find().pretty() dersek veriler daha düzenli olarak listelenir. Tabii ki de hangisini kullanmak isterseniz tercih sizin.

db.musteriler.find()

db.musteriler.find().pretty()

MongoDB : Collection İçerisindeki Veriyi Güncellemek

Collection içerisindeki veriyi güncellemek istediğimiz zaman kullanacağımız komut ise db.Collectionİsmi.update(). Burada update içerisine önce hangi şartlı kaydı güncellemek istediğimizi söylüyoruz. Bu genellikle her kayda otomatik olarak verilen _id değeri olur. Ardından ise hangi alanını değiştirmek istediğimizi söylüyoruz.

Örnek olması açısından müşteriler collectionunun içerisinde Berke’nin ismini Mehmet olarak değiştirelim.

db.musteriler.update({“_id”: ObjectId(“5cdbe3de5bf1023ab8014c2f”)}, {$set: {“name”: “Mehmet”}})

MongoDB : Collection İçerisindeki Veriyi Silmek

Bir collection içerisindeki veriyi silmek için kullandığımız komut ise db.Collectionİsmi.remove(). Yine güncelleme işleminde olduğu gibi silmek istediğimiz kaydın değerini remove içerisine json formatında giriyoruz. Ve bu değer genellikle kaydın _id kısmı oluyor.

Örnek vermek gerekirse collectionum içerisinde yer alan Ayşe’yi silmek istiyorum. Yazacağım komut aşağıdaki gibi olacaktır.

db.musteriler.remove({“_id”: ObjectId(“5cdbe47a5bf1023ab8014c31”)})

Sonuç Olarak

Bugün veritabanının ne olduğundan, NoSQL nedir neden ihtiyaç duyulmuştur konularından, MongoDB’nin ne olduğundan ve MongoDB üzerinde temel işlemleri nasıl yaptığımızdan bahsettim. Tabii ki de bu anlattıklarım sadece terminal üzerinde MongoDB kullanımı ile ilgiliydi. İlerleyen konularda masaüstü uygulamalarımızda veya web uygulamalarımızda farklı programlama dilleri ve frameworkler ile MongoDB nasıl kullanırız bunlardan bahsetmek istiyorum.

Bir başka yazıda görüşmek üzere. Kendine iyi bak :)

--

--

Berke Kurnaz

Hello. I'm Berke Kurnaz. Here I Share Articles About Technology and Software World