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.
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
Hiç yorum yok