MongoDB Mimarisi: Yapı, Terminolojiler, Gereksinim ve Faydalar
Yayınlanan: 2020-12-28İçindekiler
genel bakış
İnternetin modern dünya ekonomisinin bel kemiği olduğuna şüphe yoktur. Bugün dünyada yaklaşık 4,7 milyar insan her gün sanal platformu kullanarak haberler, kıyafet alışverişi yapmak, yemek siparişi vermek, müzik dinlemek, ofise gidip gelmek ve daha fazlası için İnternet tabanlı uygulamaları kullanıyor.
Her gün dijital katkılarda bulunan bu kadar çok sayıda kullanıcıyla, siber uzayda her gün devasa miktarda yapılandırılmamış veri üretilmesi şaşırtıcı değildir. MongoDB'nin gelecekteki kapsamı hakkında daha fazla bilgi edinin.
Bu, 'Büyük Veri' uygulamalarını (bilindiği gibi) 7/24, bozulmadan depolayabilen, sunabilen ve destekleyebilen yeni bir veritabanı paradigmasına acilen ihtiyaç duyulmasına neden oldu.
NoSQL'e girin.
NoSQL Veritabanlarının Yükselişi
Gevşek bir şekilde "Sadece SQL Değil" olarak bilinen NoSQL, sabit tablo şemaları tarafından sınırlandırılan SQL veritabanlarına bir alternatiftir. NoSQL, oldukça esnek olmasıyla SQL veritabanlarının bu yapısal dezavantajının üstesinden gelir ve yatay olarak ölçeklenmek üzere donatılmıştır. NoSQL veritabanları, geliştirici üretkenliğini artırmak ve onları karmaşık veri işleme ve yönetim işlemleri için basit ve zarif bir veri modeliyle donatmak üzere tasarlandı.
Genel olarak, bu veri depolama modelleri 4 türde gelir: Belge, Anahtar-Değer, Geniş Sütun ve Grafik. Bu blogda Belge Veritabanları ve MongoDB mimarisine odaklanacağız (önde gelen NoSQL veritabanı)

MongoDB Yapısı
Kaynak: MongoDB belgeleri
MongoDB mimarisi esnek bir veri modelini takip eder. Verileri eklemeden önce bir şema bildirimini zorunlu kılan RDBMS'den farklı olarak, MongoDB sabit bir belge yapısını zorlamaz.
terminolojiler
Alanlar
Bir belgedeki anahtar/değer çifti, ilişkisel veritabanlarındaki bir sütunun karşılığıdır.
belge
Bu, RDBMS'deki bir kaydın eşdeğeridir
Koleksiyonlar
Bir grup belgeye koleksiyon denir. Bu, bir RDBMS tablosuna benzer
RDBMS ve MongoDB Mimarisi Arasındaki Farklar
birleşir
RDBMS'de veriler birden çok tablo arasında dağıtılabilir ve tek bir görünümde erişmek için bir araya getirilebilir. Böyle bir JOIN işlemi MongoDB'de mümkün değildir. Bunun yerine, tüm veriler tek bir koleksiyonda depolanır ancak iç içe yerleştirme veya gömülü belgeler aracılığıyla ayrılabilir.
normalleştirme
RDBMS, kopyaları ve artık kayıtları önlemek için verileri normalleştirmeyi garanti eder. MongoDB'nin esnekliği normalleştirme ihtiyacını ortadan kaldırır
Yapı
RDBS çoğunlukla, kesin veritabanı yapısının önceden bilindiği bankacılık sektöründe kullanılmaktadır. MongoDB, büyük hacimli yapılandırılmamış verileri destekler ve bulut, mobil, web ve Büyük Veri uygulamaları arasında genişletilebilir.
MongoDB Mimarisinin İhtiyacı ve Faydaları
MongoDB mimarisi , saatin ihtiyacı olan anında yapısal değişiklikleri halledebilir. Bu, önceden veritabanı yapınızda görünürlüğünüz olmadığında senaryolar için mükemmeldir.
Temel faydalarından bazıları aşağıdadır
Belge tabanlı
Değişen iş gereksinimlerine gerçek zamanlı olarak uyum sağlayarak, veri akışı değişikliklerini dinamik olarak karşılayabilir

Ad hoc sorgular – Belirtilen alanları döndürebilen güçlü sorgu dili. Ayrıca, son derece ayrıntılı arama yeteneklerine izin verir. (alan bazında, aralık bazında, yaygın ifadeler ve daha fazlası)
indeksleme
Veri alma sürecini hızlandırmak için belgedeki herhangi bir alanı indeksleyebilirsiniz.
Şimdi MongoDB mimarisine derin bir dalış yapalım .
Ancak bunu yapmadan önce CAP Teoremini anlamamız gerekiyor.
CAP Teoremi
CAP, Tutarlılık, Kullanılabilirlik ve Bölme Toleransı üçlüsünü belirtir.
Her Bir Terimin Bu Bağlamda Ne İfade Ettiğine Bakalım
Tutarlılık
Dağıtılmış bir veritabanına veri yazarsanız, aynı verilere sistemdeki herhangi bir düğümden herhangi bir zamanda erişebilmelisiniz. Yazılı verilerin bütünlüğünü korumakla ilgilidir.
kullanılabilirlik
Bu, bir sistemin arıza süresini en aza indirmekle ilgilidir. Okuma/yazma işlemleri, kümedeki herhangi bir makinede hatasız gerçekleşmelidir.
Bölme Toleransı veya Hata Toleransı
bir ağ bölümü durumunda bile sistemin sorunsuz bir şekilde çalışmaya devam etme yeteneğini gösterir, yani kümenin farklı bölümlerinin birbirleriyle konuşabilmeleri ve etkin bir şekilde senkronize olabilmeleri gerekir.
CAP Teoremi, dağıtılmış bir sistemin Bölünme Toleranslı olması gerektiğini belirtir. Herhangi bir ağ bölümü, tüm sistemin çökmesine neden olamaz.
Başka bir deyişle, dağıtılmış bir sistemde 'Tutarlılık' ve 'Kullanılabilirlik'ten yalnızca bir parametreyi garanti edebilirsiniz, diğeri ise Bölme Toleransı.
Bu, aşağıdaki gibi bir üçgene yol açar:
Kaynak: Veri Bilimi Pedia
MongoDB , sistemde (CP) bir bölüm olduğunda her zaman tutarlılığı kullanılabilirliğe tercih eder. Bu yazma işlemlerinin doğru bir şekilde yürütülmesini sağlayana kadar tüm yazma işlemlerini engeller.
MongoDB Mimarisi
MongoDB, tüm istemci tarafı yazma işlemlerinden sorumlu olan bir birincil makine olduğu anlamına gelen tek ana mimariyi kullanır. Kümeye daha sonra ekleyeceğiniz diğer tüm örnekler, genel olarak tüm okuma işlemlerini gerçekleştiren ikincil düğümleri oluşturur.
Bunlar temel olarak birincil sunucunun birincil çökmeye karşı güvenlik önlemi olarak yedek kopyalarıdır.
Tüm bu sunucular Replika Setlerinde gruplandırılmıştır. Her biri kendi birincil ve ikincil sunucularına sahip olan birden çok Replika Setiniz olabilir.
Kaynak: MongoDB Belgeleri
Birincil devrenin çökmesi durumunda, sistem tüm ikincil düğümlerden yeni bir birincil seçer. Ancak bu, sistemlerin her yerinden en hızlı ping yanıtlarını nereden aldığına bağlı olarak keyfi olarak gerçekleşir. Bir birincilin çoğunlukla seçilebilmesi için kümenizde tek sayıda sunucuya (en az 3) sahip olmanız gerekir.
Üç sunucuya para harcamak istemiyorsanız, tek işi birincil seçimi oylamak olan bir 'Arbiter' düğümü atayabilirsiniz.
parçalama
MongoDB'de parçalama, Büyük Verilerinizi çeşitli veritabanlarına dağıtmanıza olanak tanır.

Kaynak: MongoDB Belgeleri
Milyonlarca kullanıcısı olan bir uygulamanız var. Parçalama, bu kullanıcıları (Kullanıcı Kimliği gibi benzersiz bir dizine dayalı olarak) farklı çoğaltma kümelerine bölmenize olanak tanır. Uygulama Sunucusu, mongoS adlı bir işlemi kullanarak, hangi 'Shard'ın aradığı verileri içerdiğini anlamak için Yapılandırma Sunucularıyla (tam olarak 3) konuşur. mongoS, yükü (bu durumda kullanıcı sayısı) otomatik olarak tüm parçalar arasında eşit olarak dağıtmak için arka planda bir Yük Dengeleyici işlemi çalıştırır.
Çözüm
MongoDB ve veritabanı işlemleri hakkında daha fazla bilgi edinmek istiyorsanız MongoDB proje fikirlerine göz atın. UpGrad'dan Veri Biliminde PG Diplomasını keşfedebilirsiniz . Çalışan profesyoneller için tasarlanmış 12 aylık bir kursta, prestijli IIIT Bangalore Mezun Statüsü ile birlikte kapsamlı kariyer danışmanlığı ve iş fırsatları elde edersiniz.
Bu makalenin MongoDB Mimarisinin nasıl çalıştığını ve sistemin nasıl çalıştığını anlamanıza yardımcı olacağını umuyoruz. Daha fazla bilgi için lütfen diğer bloglarımıza bakın.
Dünyanın En İyi Üniversitelerinden Online Yazılım Geliştirme Kursları öğrenin. Kariyerinizi hızlandırmak için Yönetici PG Programları, Gelişmiş Sertifika Programları veya Yüksek Lisans Programları kazanın.
