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.

Kendinizi Geliştirin ve Geleceğe Hazırlanın

IIIT Bangalore'den Büyük Veride Gelişmiş Sertifika Programı