MongoDB Kurulumu ve Mongo Shell Kullanımı

MongoDB-Logo-7db53b4037f9953e9df4f694c758141fcfa022cee1d2ff50749d133d0b70b692MongoDB ilişkisel olmayan, NoSql (Not Only SQL) kavramı üzerine C++ ile geliştirilmiş, açık kaynak kodlu bir veritabanıdır. Geleneksel RDBMS (Relational Database Management System) veritabanlarının hantal geldiği uygulamalarda ya da uygulamanın bazı modüllerinde tercih edilir.

Yüksek hacimli depolamar yapılacağı zaman MongoDb doğru tercih olabilir. Bazı projelerinizde aktivite logları tutmak isteyebilirsiniz ya da analiz yapmak için yığın verilere ihtiyaç duyabilirsiniz. Cache, yorum, etiketleme vs. gibi yığın veriler tutma ihtiyacınızı MongoDB ile pratik bir şekilde sağlayabilir ve mevcut RDBMS veritabanınızın (MySQL, vs.) şişmesinin önüne geçebilirsiniz.

Sıradan uygulamalarda MySQL ile MongoDB arasında yüksek performans farkı olmayabilir; fakat büyük ölçekli çalışmalarda MySQL’de yığın oluşmasını ve hantallaşmanın önüne geçeceğiniz kesin. MySQL’de bir tablo 5-10 GB büyüklüğe ulaştığında artık performans konusunu tekrar gözden geçirmeniz gerekecektir. Bu noktada MongoDB imdada yetişir. Bu hantallaşmanın önüne geçmek için yığın verileri MongoDB’ye yıkabilirsiniz. (Aynı projede hem MySQL hem de MongoDB veritabanlarını birlikte kullanabilirsiniz.)

MongoDB döküman tabanlıdır. MySQL’deki tabloların karşılığı olarak MongoDB’de collection (koleksiyon) vardır. Bu collection’larda veriler JSON objelerine çok benzeyen bir yapıda tutulur.

MacOS MongoDB Kurulumu

Sırasıyla aşağıdaki komutları çalıştırın:

 MongoDB’yi Başlatma ve Mongo Shell

 Mongo Shell’de Bazı İşlevler

 Genel Notlar

  • Collection’daki veriler döküman tabanlı olduğu için standart bir field yapısı yoktur. Bir satırdaki veri ile diğer satırdaki verinin field’ları farklılık gösterebilir. Kurgu tamamen size aittir.
  • mongod” servisinin çalıştırırken –rest komutu ile çalıştırırsanız (“mongod –rest“), http://127.0.0.1:28017/ URL’sinden MongoDB RESTful arayüzüne erişebilirsiniz. Bu arayüzden çeşitli REST komutları ile MongoDB sunucusu ve veritabanlarınız ile ilgili her şeye erişebilirsiniz (Sunucu durumu, veritabanlarını listele, collectionları listele, satırları göster vs.)
  • MongoDB’nin default’da gelen bir phpMyAdmin tarzı arayüzü yoktur; fakat çok sayıda açık kaynak kodlu Admin UI sunulmuştur. Ör: https://github.com/rsercano/mongoclient
  • Tablolarınızdaki index kurgusunu ve güvenlik politikalarını da gözden geçirmenizi tavsiye ediyorum.

Faydalı olması dileklerimle… :)

Kaynaklar:

Mongo Dökümantasyonu

https://docs.mongodb.org/manual/

Mongo Shell Komutları

https://docs.mongodb.org/manual/mongo/

Mongo ve SQL Karşılaştırması

https://docs.mongodb.org/manual/reference/sql-comparison/