Nedir? MongoDB? Giriiş, ArchiYapı, Özellikler ve Örnek

Nedir? MongoDB?

MongoDB yüksek hacimli veri depolama için kullanılan belge odaklı bir NoSQL veritabanıdır. Geleneksel ilişkisel veritabanlarındaki gibi tablo ve satırları kullanmak yerine, MongoDB Koleksiyonlardan ve belgelerden yararlanır. Dokümanlar, temel veri birimi olan anahtar/değer çiftlerinden oluşur. MongoDB. Koleksiyonlar, ilişkisel veritabanı tablolarının eşdeğeri olan belge ve işlev kümelerini içerir. MongoDB 2000'li yılların ortalarında ortaya çıkan bir veritabanıdır.

MongoDB Özellikler

  1. Her veritabanı, sırayla belgeleri içeren koleksiyonlar içerir. Her belge değişen sayıda alanla farklı olabilir. Her belgenin boyutu ve içeriği birbirinden farklı olabilir.
  2. Belge yapısı, geliştiricilerin sınıflarını ve nesnelerini kendi programlama dillerinde oluşturma biçimleriyle daha uyumludur. Geliştiriciler sıklıkla sınıflarının satır ve sütunlardan oluşmadığını, anahtar/değer çiftleriyle net bir yapıya sahip olduğunu söylerler.
  3. Satırlar (veya çağrıldığı şekliyle belgeler) MongoDB) önceden tanımlanmış bir şemaya sahip olması gerekmez. Bunun yerine alanlar anında oluşturulabilir.
  4. Mevcut veri modeli MongoDB Hiyerarşik ilişkileri daha kolay temsil etmenize, dizileri ve diğer daha karmaşık yapıları daha kolay depolamanıza olanak tanır.
  5. Ölçeklenebilirlik – MongoDB ortamlar oldukça ölçeklenebilirdir. Dünyanın dört bir yanındaki şirketler, bazılarının veritabanında yaklaşık milyonlarca belge içeren 100'den fazla düğüm çalıştırdığı kümeler tanımladı

MongoDB Örnek E-posta

Aşağıdaki örnek bir belgenin nasıl modellenebileceğini göstermektedir. MongoDB.

  1. _id alanı şu kişi tarafından eklenir: MongoDB Koleksiyondaki belgeyi benzersiz şekilde tanımlamak için.
  2. Not edebileceğiniz şey, RDBMS'de bulunan Sipariş Verilerinin (Sipariş Kimliği, Ürün ve Miktar) normalde ayrı bir tabloda saklanacağıdır. MongoDB aslında koleksiyonun kendisinde gömülü bir belge olarak saklanır. Bu, verilerin modellenmesindeki temel farklılıklardan biridir. MongoDB.

MongoDB Örnek E-posta

Anahtar Bileşenleri MongoDB Archidoku

Aşağıda yaygın olarak kullanılan terimlerden birkaçı verilmiştir. MongoDB

  1. _ID – Bu her alanda gerekli bir alandır MongoDB belge. _id alanı benzersiz bir değeri temsil eder. MongoDB belge. _id alanı belgenin birincil anahtarı gibidir. _id alanı olmayan yeni bir belge oluşturursanız, MongoDB alanı otomatik olarak oluşturacaktır. Örneğin yukarıdaki müşteri tablosu örneğini görürsek Mongo DB, koleksiyondaki her belgeye 24 haneli benzersiz bir tanımlayıcı ekleyecektir.
_İD Müşteri Kimliği Müşteri adı Sipariş Kimliği
563479cc8a8a4246bd27d784 11 Guru99 111
563479cc7a8a4246bd47d784 22 Trevor Smith 222
563479cc9a8a4246bd57d784 33 Nicole 333
  1. Koleksiyon – Bu bir gruplandırmadır MongoDB belgeler. Koleksiyon, aşağıdaki gibi herhangi bir RDMS'de oluşturulan bir tablonun eşdeğeridir. Oracle veya MS SQL'dir. Tek bir veritabanında bir koleksiyon bulunur. Giriş bölümünden de görüldüğü gibi koleksiyonlar herhangi bir yapıyı zorunlu kılmıyor.
  2. İmleç – Bu, bir sorgunun sonuç kümesine yönelik bir işaretçidir. İstemciler sonuçları almak için bir imleç üzerinde yineleme yapabilirler.
  3. veritabanı – Bu, RDMS'deki gibi koleksiyonlar için bir kapsayıcıdır; burada tablolar için bir kapsayıcıdır. Her veritabanı, dosya sisteminde kendi dosya kümesini alır. A MongoDB Sunucu birden fazla veritabanını saklayabilir.
  4. belge – Bir kayıt MongoDB koleksiyona temel olarak belge denir. Belge de alan adı ve değerlerden oluşacaktır.
  5. Alan – Bir belgedeki ad-değer çifti. Bir belgenin sıfır veya daha fazla alanı vardır. Alanlar, ilişkisel veritabanlarındaki sütunlara benzerdir. Aşağıdaki diyagram, Anahtar değer çiftlerine sahip Alanların bir örneğini göstermektedir. Dolayısıyla aşağıdaki örnekte CustomerID ve 11, belgede tanımlanan anahtar değer çiftlerinden biridir.

Anahtar Bileşenleri MongoDB Archidoku

  1. JSON – Bu şu şekilde bilinir: JavaSenaryo Nesne Gösterimi. Bu, yapılandırılmış verileri ifade etmeye yönelik, insan tarafından okunabilen, düz metin biçimidir. JSON şu anda birçok programlama dilinde desteklenmektedir.

_id alanı ile normal bir koleksiyon alanı arasındaki temel fark hakkında kısa bir not. _id alanı bir koleksiyondaki belgeleri benzersiz şekilde tanımlamak için kullanılır ve tarafından otomatik olarak eklenir. MongoDB koleksiyon oluşturulduğunda.

Neden kullan MongoDB?

Aşağıda, birinin neden kullanmaya başlaması gerektiğine ilişkin nedenlerden birkaçı yer almaktadır. MongoDB

  1. Belge odaklı – O zamandan beri MongoDB bir NoSQL tip veritabanı, verileri ilişkisel tip formatında bulundurmak yerine, verileri belgelerde saklar. Bu yapar MongoDB çok esnektir ve gerçek iş dünyasının durumuna ve gereksinimlerine uyarlanabilir.
  2. Özel amaçlı sorgular – MongoDB Alana göre arama, aralık sorguları ve düzenli ifade aramalarını destekler. Belgeler içindeki belirli alanları döndürmek için sorgular yapılabilir.
  3. Dizin Oluşturma – Dizinler, içindeki aramaların performansını artırmak için oluşturulabilir. MongoDB. Herhangi bir alan MongoDB belge indekslenebilir.
  4. Çoğaltma – MongoDB replika setleriyle yüksek kullanılabilirlik sağlayabilir. Bir replika kümesi iki veya daha fazla mongo DB örneğinden oluşur. Her kopya kümesi üyesi, herhangi bir zamanda birincil veya ikincil kopya rolünü üstlenebilir. Birincil kopya, istemciyle etkileşime giren ve tüm okuma/yazma işlemlerini gerçekleştiren ana sunucudur. İkincil kopyalar, yerleşik çoğaltmayı kullanarak birincil kopyanın verilerinin bir kopyasını saklar. Birincil kopya başarısız olduğunda, kopya kümesi otomatik olarak ikincil sunucuya geçer ve daha sonra birincil sunucu haline gelir.
  5. Yük dengeleme - MongoDB Verileri birden fazla veriye bölerek yatay olarak ölçeklendirmek için parçalama kavramını kullanır MongoDB örnekleri. MongoDB birden fazla sunucu üzerinde çalışabilir, yükü dengeleyebilir ve/veya donanım arızası durumunda sistemi çalışır durumda tutmak için verileri kopyalayabilir.

Veri Modelleme MongoDB

Giriş bölümünde gördüğümüz gibi, içindeki veriler MongoDB esnek bir şemaya sahiptir. aksine SQL veri eklemeden önce bir tablo şemasının bildirilmesi gereken veritabanları, MongoDB'nin koleksiyonları belge yapısını zorunlu kılmaz. Bu tür bir esneklik, MongoDB çok güçlü.

Mongo'da veri modellemesi yaparken aşağıdaki hususları aklınızda bulundurun

  1. Uygulamanın ihtiyaçları nelerdir – Uygulamanın iş ihtiyaçlarına bakın ve uygulama için hangi verilere ve veri türüne ihtiyaç duyulduğunu görün. Buna dayanarak belgenin yapısına buna göre karar verildiğinden emin olun.
  2. Veri alma kalıpları nelerdir – Yoğun bir sorgu kullanımı öngörüyorsanız, sorguların verimliliğini artırmak için veri modelinizde dizinlerin kullanımını düşünün.
  3. Veritabanında sık sık ekleme, güncelleme ve kaldırma işlemleri yapılıyor mu? Genel modelinizin verimliliğini artırmak için veri modelleme tasarımınızda dizinlerin kullanımını yeniden değerlendirin veya gerekirse parçalamayı dahil edin. MongoDB ortamı.

Arasındaki fark MongoDB & RDBMS

Aşağıda aralarındaki temel terim farklarından bazıları verilmiştir. MongoDB ve RDBMS

RDBMS MongoDB Fark
tablo Koleksiyon In RDBMStablo, verileri depolamak için kullanılan sütunları ve satırları içerirken, MongoDB, bu aynı yapı koleksiyon olarak bilinir. Koleksiyon, anahtar/değer çiftleri olan Alanları içeren belgeleri içerir.
Sıra belge RDBMS'de satır, bir tablodaki tek, örtülü olarak yapılandırılmış bir veri öğesini temsil eder. İçinde MongoDB, veriler belgelerde saklanır.
Sütun Alan RDBMS'de sütun bir dizi veri değerini belirtir. Bunlar MongoDB Alanlar olarak bilinir.
Katıldı Gömülü belgeler RDBMS'de veriler bazen çeşitli tablolara yayılır ve tüm verilerin eksiksiz bir görünümünü göstermek amacıyla bazen verileri almak için tablolar arasında bir birleştirme oluşturulur. İçinde MongoDB, veriler normalde tek bir koleksiyonda depolanır ancak Gömülü belgeler kullanılarak ayrılır. Yani katılma kavramı yok MongoDB.

Terim farklılıklarının yanı sıra, birkaç farklılık daha aşağıda gösterilmiştir.

  1. İlişkisel veritabanlarının veri bütünlüğünü sağlamasıyla bilinir. Bu açık bir gereklilik değildir MongoDB.
  2. RDBMS, verilerin normalize ilk önce yetim kayıtları ve kopyaları önleyebilmek için Verilerin normalleştirilmesi daha sonra daha fazla tablo gerektirir, bu da daha fazla tablo birleşimine neden olur, dolayısıyla daha fazla anahtar ve dizin gerektirir. Veritabanları büyümeye başladıkça performans bir sorun haline gelmeye başlayabilir. Yine bu, açık bir gereklilik değildir. MongoDB. MongoDB esnektir ve önce verilerin normalleştirilmesine ihtiyaç duymaz.