M. Niyazi Alpay
M. Niyazi Alpay
M. Niyazi Alpay

Çok küçük yaştan itibaren bilgisayar sistemleriyle ilgileniyorum ve 2005 yılından beri programlama ile uğraşıyorum, PHP, MySQL, Python, MongoDB ve Linux konularında bilgi sahibiyim

 

about.me/Cryptograph

MongoDB ve NoSQL Kavramı Nedir?

MongoDB bir NoSQL veritabanıdır. NoSQL "not only sql" olarak da açılabilir, yani SQL değil anlamındadır. Çünkü çalıştırılan sorgular bir MySQL ya da MsSQL sistemlerinde alışmış olduğunuz sorgular değiller.

NoSQL Sistemlerinin Avantajları Nelerdir?

Okuma ve yazma konusunda diğerlerine göre daha performanslı olabilirler.

Yatay olarak genişletilebilirler. Yani binlerce sunucu küme oluşturarak çalıştırılabilir ve daha büyük veriler üzerinde daha rahat işlem yapılabilir.

Farklı bir çok özellikleri olması sebebiyle programlama alanında kolaylıklar sağlar.

Maliyet olarak diğer veritabanı sistemlerine göre daha avantajlıdır.


NoSQL Sistemlerin Dezavantajları Nelerdir?

SQL bir veritabanı kullanan uygulamanın NoSQL sisteme taşınması ilk aşamada zor olacaktır. Özellikle join kullanan sorgularda düzenleme yapılması gerekecektir.

NoSQL veritabanı sitemleri veri güvenliği konusunda SQL veritabanlarındaki gibi gelişmiş bir yapıya sahip değiller.


MongoDB'de yukarıdaki dezavantajlarda bahsettiğim gibi güvenlik konusunda ilk kurulumda yetersiz kalmakta. Varsayılan olarak kullanıcı adı ve şifre bulunmamakta. Doğrudan sunucu adresini yazarak veritabanına bağlantı sağlanabilmekte. Bu sebeple veritabanı erişimini sunucu dışına kapatmak gerek ve MongoDB konfigurasyonlarını düzenleyerek kullanıcı yetkilendirmesini açmanız gerek. Kurulum ve konfigurasyonları sonraki konumda açıklayacağım.


MongoDB

10gen firması tarafından 2007 yılında başlanan ve 2009 yılında AGPL lisansıyla açık kaynak projesine dönüştürülen bir veritabanı sistemidir. Belge yönelimli veritabanı olarak tanıtılmaktadır. (Document oriented). MongoDB üzerinde oluşturulan her kayıt bir dökümandır. Bu dökümanlar json formatında saklanır.

MongoDB ve alışılagelmiş SQL veritabanlarının kavramları arasındaki eşleşme aşağıdaki tabloda anlatıldığı gibidir.

SQL MongoDB

database database
table collection
row document or BSON document
column field
index index
table joins embedded documents and linking
primary key
Specify any unique column or column combination as primary key.
primary key
In MongoDB, the primary key is automatically set to the _id field.
aggregation (e.g. group by) aggregation framework
See the SQL to Aggregation Framework Mapping Chart.

Ayrıca aşağıdaki bağlantıdan da MongoDB hakkında alıştırma ve daha farklı dökümanlara ulaşabilirsiniz.

https://www.guru99.com/mongodb-tutorials.html

Bu yazının farklı bir dilde versiyonu bulunmaktadır.
English: https://niyazi.net/en/what-is-mongodb-and-nosql

Muhammed Niyazi ALPAY - Cryptograph

Senior Software Developer & Senior Linux System Administrator

Meraklı

PHP MySQL MongoDB Python Linux Cyber Security

Bunları da okumak isteyebilirsiniz

Hiç yorum yok

Yorum Bırakın

E-posta adresiniz yayınlanmayacaktır. Zorunlu alanlar * ile işaretlenmiştir