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

⚡ Akıllı Özet

MongoDB NoSQL veritabanı, tablolar ve satırlar yerine koleksiyonlar ve belgeler kullanarak yüksek hacimli veri depolama için kullanılan, belge odaklı bir veritabanıdır. Bu kaynak, NoSQL veritabanının ne olduğunu açıklamaktadır. MongoDB Özellikleri, bir belge örneği, temel mimari bileşenleri, kullanım nedenleri, veri modellemesi ve ilişkisel veritabanından farkı.

  • 📄 Belge Modeli: Veriler tablolar içinde değil, koleksiyonlar içinde anahtar-değer belgeleri olarak saklanır.
  • 🧩 Esnek Şema: Alanlar önceden tanımlanmış bir yapı olmaksızın anlık olarak oluşturulur.
  • 🏗️ Ana bileşenler: _id, koleksiyon, belge, alan, imleç, veritabanı ve JSON.
  • ⚙️ Neden Kullanmalısınız: Ölçeklenebilirlik için anlık sorgular, indeksleme, çoğaltma ve parçalama.
  • 🔄 RDBMS'ye Karşı: Koleksiyonlar tabloların yerini alırken, gömülü belgeler de birleştirmelerin yerini alıyor.

Nedir? MongoDB

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. MongoDBKoleksiyonlar, ilişkisel veritabanı tablolarına eşdeğer olan belge ve fonksiyon kümelerini içerir. MongoDB 2000'li yılların ortalarında ortaya çıkan bir veritabanıdır.

MongoDB Özellikler

  1. Her veritabanı, içinde belgeler barındıran koleksiyonlar içerir. Her belge farklı olabilir ve farklı sayıda alana sahip 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 ihtiyaç duymazlar. Bunun yerine, alanlar anında oluşturulabilir.
  4. Mevcut veri modeli MongoDB Hiyerarşik ilişkileri temsil etmenize, dizileri ve diğer daha karmaşık yapıları daha kolay bir şekilde saklamanıza olanak tanır.
  5. ölçeklenebilirlik - MongoDB Ortamlar oldukça ölçeklenebilir. Dünyanın dört bir yanındaki şirketler, bazıları 100'den fazla düğümden oluşan ve veritabanında milyonlarca belge barındıran kümeler tanımlamıştır.

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. Dikkat etmeniz gereken şey, RDBMS'de normalde ayrı bir tabloda saklanan Sipariş Verilerinin (SiparişID, Ürün ve Miktar), burada aslında koleksiyonun içine yerleştirilmiş bir belge olarak saklanmasıdır. MongoDBBu, verilerin modellenme biçimindeki 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 Bu işlem alanı otomatik olarak oluşturacaktır. Örneğin, yukarıdaki müşteri tablosu örneğine bakarsak, MongoDB Koleksiyondaki her belgeye 24 haneli benzersiz bir tanımlayıcı eklenecektir.
_İ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 grupping of MongoDB Belgeler. Bir koleksiyon, diğer herhangi bir RDBMS'de oluşturulan bir tablonun eşdeğeridir. Oracle veya MS SQL. Bir koleksiyon tek bir veritabanı içinde bulunur. Girişte de görüldüğü gibi, koleksiyonlar herhangi bir yapı zorunluluğu getirmez.
  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, tıpkı ilişkisel veritabanı yönetim sistemlerinde (RDBMS) tablolar için bir kapsayıcı görevi gördüğü gibi, koleksiyonlar için bir kapsayıcıdır. Her veritabanı, dosya sisteminde kendi dosya kümesine sahip olur. MongoDB Sunucu birden fazla veritabanını saklayabilir.
  4. belge – Bir kayıt MongoDB Koleksiyon temelde bir belge olarak adlandırılır. Belge ise alan adlarından ve değerlerinden oluşur.
  5. Alan – Bir belgedeki ad-değer çifti. Bir belge sıfır veya daha fazla alana sahip olabilir. Alanlar, ilişkisel veritabanlarındaki sütunlara benzer. Aşağıdaki diyagram, anahtar-değer çiftlerine sahip alanlara bir örnek 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, kullanmaya başlamanız için birkaç neden bulunmaktadır. MongoDB:

  1. Belge odaklı - Dan beri MongoDB bir NoSQL tip veritabanı, verileri ilişkisel tip formatında bulundurmak yerine, verileri belgelerde saklar. Bu yapar MongoDB Gerçek iş dünyası durumlarına ve gereksinimlerine son derece esnek ve 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. Endeksleme – Arama performansını artırmak için dizinler oluşturulabilir. MongoDB. Herhangi bir alan MongoDB belge indekslenebilir.
  4. Çoğaltma - MongoDB Replika setleriyle yüksek bulunabilirlik sağlayabiliriz. Replika seti iki veya daha fazla üründen oluşur. MongoDB Her çoğaltma kümesi üyesi, herhangi bir zamanda birincil veya ikincil çoğaltma rolünü üstlenebilir. Birincil çoğaltma, istemciyle etkileşim kuran ve tüm okuma/yazma işlemlerini gerçekleştiren ana sunucudur. İkincil çoğaltmalar, yerleşik çoğaltma kullanarak birincil sunucunun verilerinin bir kopyasını tutar. Birincil çoğaltma arızalandığında, çoğaltma kümesi otomatik olarak ikincil çoğaltmaya geçer ve ardından ikincil çoğaltma 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ünden de gördüğümüz gibi, verilerde 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ü.

Verileri modelleme sırasında MongoDB, aşağıdakileri aklınızda bulundurun:

  1. Başvurunun ihtiyaçları nelerdir? – Uygulamanın iş ihtiyaçlarına bakın ve uygulama için hangi verilerin ve veri türlerinin gerekli olduğunu belirleyin. Buna dayanarak, belgenin yapısının buna göre belirlendiğinden emin olun.
  2. Veri alma kalıpları nelerdir? – Yoğun sorgu kullanımı öngörüyorsanız, sorguların verimliliğini artırmak için veri modelinizde indeks kullanımını göz önünde bulundurun.
  3. Veritabanında sık sık ekleme, güncelleme ve silme işlemleri gerçekleşiyor mu? Veri modelleme tasarımınızda verimliliği artırmak için indeks kullanımını yeniden gözden geçirin veya gerekirse parçalama (sharding) yöntemini uygulayın. 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 RDBMSTabloda, verilerin saklanması için kullanılan sütunlar ve satırlar bulunur; oysa MongoDB Bu yapıya koleksiyon denir. Koleksiyon, alanlar içeren belgeler içerir; alanlar ise anahtar-değer çiftleridir.
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 Bunlara tarlalar denir.
Katıldı Gömülü belgeler İlişkisel veritabanı yönetim sistemlerinde (RDBMS), veriler bazen çeşitli tablolara dağılmış halde bulunur ve tüm verilerin eksiksiz bir görünümünü sunmak için, verileri elde etmek amacıyla tablolar arasında bazen bir birleştirme (JOIN) işlemi yapılır. MongoDBVeriler normalde tek bir koleksiyonda saklanır, ancak gömülü belgeler kullanılarak ayrılır. Bu nedenle, birleştirme (join) kavramı yoktur. MongoDB.

Terim farklılıklarının yanı sıra, aşağıda birkaç başka farklılık daha 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 Öncelikle, yetim kayıtları ve yinelenen kayıtları önlemek için veri normalleştirme işlemi yapılır. Veri normalleştirme daha fazla tablo gerektirir, bu da daha fazla tablo birleştirmesine ve dolayısıyla daha fazla anahtar ve dizine ihtiyaç duyulmasına yol açar. Veritabanları büyümeye başladıkça, performans sorun olmaya başlayabilir. Tekrar belirtmek gerekirse, bu açık bir gereklilik değildir. MongoDB. MongoDB esnektir ve önce verilerin normalleştirilmesine ihtiyaç duymaz.

SSS

MongoDB Büyük miktarda yapılandırılmamış ve yarı yapılandırılmış veriyi depolayabilen Atlas, yapay zeka ve makine öğrenimi süreçleri için kullanışlıdır. Esnek belgeleri eğitim verilerini, özellik kümelerini ve model meta verilerini barındırır ve Atlas, yapay zeka uygulamaları için vektör arama özelliği ekler.

Evet. MongoDB Atlas Vektör Arama, vektör gömülü vektörlerini belgelerinizin yanında saklamanıza ve sorgulamanıza olanak tanır. Bu, ayrı bir vektör veritabanına ihtiyaç duymadan yapay zeka uygulamaları için anlamsal arama, öneriler ve bilgi edinimiyle zenginleştirilmiş içerik oluşturmayı destekler.

MongoDB Topluluk Sürümü ücretsiz ve açık kaynaklıdır. MongoDB Ayrıca, ücretsiz bir katmanı bulunan yönetilen bir bulut hizmeti olan Atlas'ı ve ücretli olarak gelişmiş güvenlik ve destek sunan Kurumsal Sürümü de sunmaktadır.

Birçok büyük kuruluş kullanıyor MongoDB E-ticaret, oyun, IoT ve içerik yönetimi gibi alanlardaki şirketler de dahil olmak üzere yüksek hacimli, esnek veri depolama için idealdir. Parçalama ve çoğaltma yoluyla ölçeklenebilirliği, milyonlarca belge içeren uygulamalar için uygundur.

Bu yazıyı şu şekilde özetleyin: