İlginizi Çekebilir
elementor
  1. Ana Sayfa
  2. TEKNOLOJİ
  3. MongoDB Nedir? Nasıl Çalışır?

MongoDB Nedir? Nasıl Çalışır?

MongoDB Nedir?

MongoDB, açık kaynaklı bir NoSQL veritabanı yönetim programıdır. NoSQL, geleneksel ilişkisel veritabanlarına bir alternatif olarak kullanılır. NoSQL veritabanları, büyük dağıtılmış veri kümeleriyle çalışmak için oldukça kullanışlıdır. MongoDB, belge odaklı bilgileri yönetebilen, bilgileri depolayabilen veya geri alabilen bir araçtır.

MongoDB, çeşitli veri biçimlerini destekler. 2000’li yılların ortalarında NoSQL başlığı altında ortaya çıkan birçok ilişkisel olmayan veritabanı teknolojisinden biridir – normalde, büyük veri uygulamalarında ve katı bir ilişkisel modele iyi uymayan verileri içeren diğer işleme işlerinde kullanım içindir. MongoDB mimarisi, ilişkisel veritabanlarında olduğu gibi tablo ve satırları kullanmak yerine koleksiyonlardan ve belgelerden oluşur.

Kuruluşlar geçici sorguları, indeksleme, yük dengeleme, toplama, sunucu tarafı JavaScript yürütme ve diğer özellikler için Mongo DP’yi kullanabilir.

Nasıl Çalışır?

MongoDB, alan ve değer çiftlerinden oluşan bir veri yapısı içeren belgelerden oluşan kayıtları kullanır. Belgeler, MongoDB’deki temel veri birimleridir. Belgeler JavaScript Object Notation’a benzer, ancak Binary JSON (BSON) adlı bir varyant kullanır. BSON kullanmanın yararı, daha fazla veri türünü barındırmasıdır. Bu belgelerdeki alanlar, ilişkisel bir veritabanındaki sütunlara benzer. MongoDB kullanım kılavuzuna göre, içerilen değerler diğer belgeler, diziler ve belge dizileri dahil olmak üzere çeşitli veri türleri olabilir. Belgeler ayrıca benzersiz bir tanımlayıcı olarak birincil bir anahtar içerecektir.

Belge kümelerine, ilişkisel veritabanı tablolarının eşdeğeri olarak işlev gören koleksiyonlar denir. Koleksiyonlar herhangi bir türde veri içerebilir, ancak kısıtlama, bir koleksiyondaki verilerin farklı veritabanlarına yayılamamasıdır.

Mongo kabuğu, MongoDB’nin açık kaynak dağıtımlarının standart bir bileşenidir. MongoDB kurulduktan sonra, kullanıcılar mongo kabuğunu çalışan MongoDB örneklerine bağlar. Mongo kabuğu, kullanıcıların verileri sorgulamasına ve güncellemesine ve yönetim işlemleri gerçekleştirmesine olanak tanıyan, MongoDB için etkileşimli bir JavaScript arabirimi görevi görür.

JSON benzeri belgelerin ikili bir temsili, BSON belge saklama ve veri değişim biçimi tarafından sağlanır. Otomatik parçalama, veri hacimleri ve iş hacmi gereksinimleri arttıkça, MongoDB koleksiyonundaki verilerin yatay ölçeklenebilirlik için birden çok sisteme dağıtılmasını sağlayan bir başka önemli özelliktir.

NoSQL DBMS, birincil veritabanının kopyalarını tutan ikincil veritabanları ile veri tutarlılığı için tek bir ana mimari kullanır. İşlemler, otomatik yük devretme için bu ikincil veritabanlarına otomatik olarak kopyalanır.

MongoDB Artıları ve Eksileri

Diğer NoSQL veritabanları gibi MongoDB de önceden tanımlanmış şemalar gerektirmez. Her tür veriyi depolar. Bu, kullanıcılara bir belgede herhangi bir sayıda alan oluşturma esnekliği sağlar ve ilişkisel veritabanlarına kıyasla MongoDB veritabanlarını ölçeklendirmeyi kolaylaştırır.

Belgeleri kullanmanın avantajlarından biri, bu nesnelerin bir dizi programlama dilinde yerel veri türleriyle eşleşmesidir. Ayrıca, gömülü belgelere sahip olmak, veritabanı birleştirme ihtiyacını azaltır ve bu da maliyetleri düşürebilir.

MongoDB’nin temel bir işlevi, yatay ölçeklenebilirliğidir ve bu, onu büyük veri uygulamaları çalıştıran şirketler için kullanışlı bir veritabanı haline getirir. Ek olarak, parçalama, veritabanının verileri bir makine kümesi arasında dağıtmasına izin verir. MongoDB’nin daha yeni sürümleri, bir parça anahtarına dayalı veri bölgelerinin oluşturulmasını da destekler.

MongoDB, bir dizi depolama motorunu destekler ve üçüncü tarafların MongoDB için kendi depolama motorlarını geliştirmelerine olanak tanıyan takılabilir depolama motoru API’leri sağlar.

DBMS ayrıca, kullanıcıların Hadoop üzerinde MapReduce çalıştırmak yerine MapReduce kodunu doğrudan veritabanı üzerinde çalıştırmasına olanak tanıyan yerleşik toplama yeteneklerine de sahiptir. MongoDB ayrıca Hadoop Dağıtılmış Dosya Sistemine (HDFS) benzer şekilde GridFS adlı kendi dosya sistemini de içerir. Dosya sisteminin kullanımı, öncelikle BSON’un belge başına 16 MB’lık boyut sınırından daha büyük dosyaları depolamak içindir. Veritabanı yazılımı Hadoop, Spark ve diğer veri işleme çerçeveleriyle entegre olmasına rağmen, bu benzerlikler MongoDB’nin Hadoop yerine kullanılmasına izin veriyor.

MongoDB’nin bazı değerli faydaları olsa da, bazı dezavantajları da var. Otomatik yük devretme stratejisiyle, bir kullanıcı MongoDB kümesinde yalnızca bir ana düğüm kurar. Ana birim başarısız olursa, başka bir düğüm otomatik olarak yeni ana bilgisayara dönüşür. Bu anahtar süreklilik vaat ediyor, ancak anlık değil – bir dakika kadar sürebilir. Karşılaştırıldığında, Cassandra NoSQL veritabanı birden çok ana düğümü desteklemektedir, böylece bir ana bilgisayar çalışmazsa, diğeri yüksek düzeyde kullanılabilir bir veritabanı altyapısı için hazırdır.

MongoDB’nin tek ana düğümü ayrıca verilerin veritabanına ne kadar hızlı yazılabileceğini de sınırlar. Veri yazımları ana makineye kaydedilmelidir ve veri tabanına yeni bilgilerin yazılması o ana düğümün kapasitesi ile sınırlıdır.

Diğer bir olası sorun, MongoDB’nin veri tutarlılığını etkileyebilecek yabancı anahtar kısıtlamalarının kullanılması yoluyla tam bir referans bütünlüğü sağlamamasıdır. Ek olarak, MongoDB veritabanlarında kullanıcı kimlik doğrulaması varsayılan olarak etkinleştirilmemiştir, bu da teknolojinin geliştiriciler arasındaki popülerliğine bir selam niteliğindedir. Ancak kötü niyetli bilgisayar korsanları, fidye saldırılarında çok sayıda güvenli olmayan MongoDB sistemini hedef aldı ve bu da, bir veritabanı yöneticisi tarafından yapılandırılmadıkları takdirde veritabanlarına ağ bağlantılı bağlantıları engelleyen varsayılan bir ayarın eklenmesine yol açtı.


Kaynak: https://searchdatamanagement.techtarget.com/definition/MongoDB

Yorum Yap
Bu Yazıya Tepkiniz Ne Oldu?

Yazar Hakkında

Nedir? - Nasıl Yapılır? gibi sorulara cevap veren konuları sizinle paylaşıp kaliteli ve faydalı bir blog haline getirmek için ultrabilgi.com'u kurdum.

Yorum Yap