Konu:
Birkaç hafta önce MongoDB'nin yapımcı şirketi 10gen, ücretsiz MongoDB eğitimleri başlattı. Eğitimleri education.10gen.com adresine üye olarak alabilirsiniz. Videoları izliyorsunuz, arada quiz'ler karşınıza çıkıyor. Hafta sonunda da ödevleri yaparak eğitim almış oluyorsunuz. Eğitimler iki grup halinde: Veritabanı yöneticileri için (DBA) MongoDB, Geliştiriciler için MongoDB. DBA'liğe pek ilgi duymadığım için başlangıç olarak geliştiriciler için olan eğitime katılmaya karar verdim. Bayram, hastalık ve iş yoğunluğu dolayısıyla yeterince hızlı gidemiyor olsam da, mümkün olduğunca eğitim videolarını izlemeye çalışıyorum. Geliştiriciler için olan eğitimlerde yazılım dili olarak Python tercih edilmiş. Scripting dili olduğu için ve MongoDB'nin yapısı itibariyle JSON'a yakınlığı sebebiyle Pyhton'ın seçildiği söyleniyor. Bu sayede yavaş yavaş Python da öğrenmeye başladım. Müsait olabilirsem DBA tarafına da bakmak istiyorum.
Şimdiye kadar nerdeyse sıfır MongoDB bilgisine sahip olduğum için öğrendiğim birkaç noktayı buraya yazmak istiyorum;
- MongoDB JSON kullanıyor. Web tabanlı yazılım geliştiricilerinin kolaylıkla anlayabileceği ve kullanabileceği bir yapısı var.
- İlişkisel bir veritabanı olmadığı için Join ve Transaction desteği yok. Bunları tamamiyle unutabiliriz.
- Tablo yapısı yok, Schemaless, yani bir nevi iskeletsiz bir yapısı var. Geleneksel olarak bildiğimiz şekilde sütunların bulunmadığı fakat objelerin özelliklerinin bulunduğu bir yapı diyebiliriz. Bu sayede tablo sütunlarına sıkışmıyoruz. Birden fazla özellik gerektiğinde tablo yapısını tümden değiştirmek, yeni bir sütun eklemek gibi şeyler yapma ihtiyacımız olmuyor.
- Index yapısı var fakat henüz bu konuya değinilmedi.
- Python'da
for
yapısı bildiğimiz üçlü grupfor(i=0;i<foo;i++)
değil, foreach yapısıymış (for i in items
). - Önce Play Framework'de gördüğüm route'lu web yapısının pek çok dilde standart olarak bulunduğunu NodeJS framework'lerinden Express ve Python framework'ü olan Bottle'da görerek anladım.
- Bu gibi eğitimler, yenilikler, araçlar, frameworkler ve teknolojiler ufkumuzu geliştiriyor, farklı bakış açılarına sahip olmamızı sağlıyor. Bu bakımdan çok faydalı. Herkese tavsiye ederim.
Ayrıca Mongo'dan alakasız olarak;
Bundan başka, Mongo hakkında hiçbir fikriniz yoksa 15-20 dakikada Mongo'yu görerek tanıyabileceğiniz interaktif bir tutorial var: http://tutorial.mongly.com/tutorial/index