MongoDB Nedir?

En çok kullanılan NoSQL tabanlı veritabanı sisteminden birisi olan ve sıkça sorulan MongoDB nedir, neden kullanılır ve nerelerde kullanılır ile ilgili bilgiler yer alıyor.

MongoDB nedir?

MongoDB verileri JSON biçiminde doküman olarak veritabanında saklayan NoSQL tabanlı bir veritabanıdır.

MongoDB ve SQL arasındaki adlandırmalar aşağıdaki gibidir.

SQLMongoDB
databasedatabase
tablecollection
rowdocument
columnfield
indexindex
table joins$lookup, embedded documents
primary keyprimary key (_id)
aggregationaggregation pipeline
transactionstransactions

NoSQL nedir?

NoSQL veya Not Only SQL temel olarak içinde SQL komutlarının kullanılmadığı veritabanı yapısıdır.

NoSQL veritabanları RDMS tabanlı MySQL, Oracle ve SQL Server gibi veri tabanlarında yer alan ve A.C.I.D olarak adlandırılan veri bütünlüğü, veri güvenliğini sağlayan kurallar tam olarak yoktur.

NoSQL veritabanları yapısına göre çeşitli gruplara ayrılır.

Doküman tabanlı – Verileri doküman biçiminde saklayan veritabanı çeşididir. MongoDB, CouchDB

Anahtar / Değer tabanlı – Verileri anahtar:değer olarak saklayan veritabanı çeşididir. Redis, memcached,

Grafik tabanlı – Verileri graf teorisine göre saklayan veritabanı çeşididir. Neo4J, ArangoDB

Sütun tabanlı – Verileri satır satır yerine sütun sütun saklayan veritabanı çeşididir. Cassandra, HBase

NoSQL tabanlı veritabanları ayrıca işlevlerine, sakladığı veri biçimine ve kullanım alanına göre de gruplara ayrılabilmektedir.

Neden kullanılır?

MySQL, Oracle ve SQL Server gibi ilişkisel veritabanları verileri önceden tanımlanan kurallara göre saklar.

Verilerin artması tanımlanan kurallar nedeniyle işlemlerin yavaşlamasına neden olur.

Performans için veriler çeşitli parçalara bölünebilir veya optimizasyon yapılabilir ancak bu da ek bir maliyet getirecektir.

Veritabanı işlemlerinin hızlı olması gereken anlık mesajlaşma ve gerçek zamanlı uygulamalar hızlı veritabanlarına ihtiyaç duyar.

Temel olarak NoSQL tabanlı veritabanları bu ihtiyaçlardan dolayı geliştirilmiştir.

NoSQL tabanlı veritabanları RDMS tabanlı veritabanları gibi kurallara sahip olmadığından daha hızlıdır.

Örneğin; arama işlemlerinin önemli olduğu uygulamalarda ElasticSearch, birbiri ile ilişkili verilerin olduğu sosyal medya gibi uygulamalarda Neo4J gibi NoSQL tabanlı veritabanları kullanılabilir.

Nerelerde kullanılır?

MongoDB genel olarak hızın önemli olduğu gerçek zamanlı uygulamalar, oyunlar, büyük verilerin olduğu uygulamalarda kullanılır.

Dezavantajları

MongoDB performans olarak MySQL, Oracle ve SQL Server gibi veritabanlarından hızlı olsa da kuralları ve standardı olmadığından dolayı verilerin önemli olduğu uygulamalarda kullanılmaması veya kullanılırken dikkatli olunması gerekir.

MongoDB ile karmaşık sorguların hazırlanması SQL’e göre daha zor olabilir.

MongoDB Derslerine buradan ulaşabilirsiniz…

Hayırlı günler dilerim.

Yusuf SEZER

Yusuf SEZER

Computer Engineer who interested about web technologies, algorithms, artificial intelligence and embedded systems; constantly exploring new technologies.


Bunlara'da bakmalısın!