MongoDB Academy · Ders

MongoDB ve DynamoDB: Bulut Yerel Yaklaşımının Ödünleşimleri

Öğrenenler, AWS DynamoDB'nin tamamen sunucusuz modelinin MongoDB Atlas'ın daha zengin sorgu esnekliğine hangi durumlarda üstün geldiğini ve bunun tersini değerlendirecektir.

3. ders / 413 adım

MongoDB ve DynamoDB: Bulut Yerel Yaklaşımının Ödünleşimleri, CoddyKit'te ücretsiz bir MongoDB Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, MongoDB Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. MongoDB Academy kursu toplamda 4 dersten oluşur.

Bulut NoSQL'e İki Yaklaşım

AWS DynamoDB ve MongoDB Atlas, bulutta çalışan NoSQL veritabanlarıdır; ancak felsefeleri oldukça farklıdır. DynamoDB, AWS'nin tamamen sunucusuz NoSQL hizmetidir: yönetilecek sunucu yoktur, ölçeklendirme otomatiktir ve istek başına ücretlendirme uygulanır. MongoDB Atlas yönetilen bir bulut hizmetidir; ancak daha zengin işletimsel denetime sahip sunucu kümelerine dayanır. Seçim çoğu zaman şu sorulara bağlıdır: Altyapı üzerinde ne kadar denetim istiyorsunuz ve sorgu biçimleriniz ne kadar karmaşık?

DynamoDB'nin Sunucusuz Değer Önerisi

DynamoDB gerçek anlamda sunucusuzdur: seçilecek örnekler, verilecek küme boyutlandırma kararları veya yapılandırılacak çoğaltma kümeleri yoktur. AWS, okuma/yazma kapasitesini talebe göre otomatik olarak ölçeklendirir, parçalamayı görünmez şekilde yönetir ve her ölçekte tek haneli milisaniye gecikme süresini garanti eder. Sıfır operasyonel yük ve AWS ile sıkı entegrasyon (IAM rolleri, Lambda tetikleyicileri, Streams) isteyen ekipler için DynamoDB, altyapıyla ilgili kararların tamamını ortadan kaldırır.

DynamoDB'nin Katı Veri Modeli

DynamoDB'nin birincil erişim modeli sınırlıdır: her tabloda zorunlu bir bölüm anahtarı ve isteğe bağlı bir sıralama anahtarı bulunur. Öğeler, bölüm anahtarının tam eşleşmesine göre alınır ve isteğe bağlı olarak sıralama anahtarı aralığına göre filtrelenir. Genel amaçlı bir sorgu motoru yoktur — geçici sorgular için tablo oluşturulurken tasarlanmış bir Global Secondary Index (GSI) veya tüm tablonun taranması gerekir (maliyetli ve yavaştır). Bu durum, Cassandra'dakine benzer şekilde erişim kalıplarını önceleyen şema tasarımını zorunlu kılar.

// DynamoDB: item identified by partition key + sort key
// Table: Orders
// Partition key: customerId
// Sort key: orderId

// Fetch all orders for a customer — fast
await dynamo.query({
  TableName: 'Orders',
  KeyConditionExpression: 'customerId = :cid',
  ExpressionAttributeValues: { ':cid': 'cust-123' }
}).promise()

// Find all orders with status = 'pending' — requires GSI or Scan
// A Scan reads the ENTIRE table — avoid in production

MongoDB Atlas'ın Zengin Sorgu Modeli

MongoDB Atlas, kendi sunucularınızda barındırılan MongoDB ile aynı zengin sorgu modelini destekler — birleştirme hatları, $lookup birleştirmeleri, metin araması, coğrafi sorgular ve bileşik dizinlerle rastgele alan filtreleri. Yeni bir dizin eklenerek sorgu kalıpları, uygulama kullanıma sunulduktan sonra kolayca değiştirilebilir. Bu esneklik, gereksinimlerin sık değiştiği veya tasarım sırasında tam olarak bilinmediği uygulamalar için önemli bir avantajdır.

// MongoDB: ad-hoc query across multiple fields
db.orders.aggregate([
  {
    $match: {
      status: 'pending',
      createdAt: { $gte: new Date('2024-06-01') },
      'items.category': 'electronics'
    }
  },
  { $group: { _id: '$customerId', totalPending: { $sum: '$total' } } },
  { $sort: { totalPending: -1 } },
  { $limit: 10 }
])
// No equivalent in DynamoDB without expensive Scan + application-side grouping

Fiyatlandırma Modeli Farkları

DynamoDB iki fiyatlandırma modu sunar: kullanım bazlı (okuma/yazma isteği başına ödeme yapılır — öngörülemeyen trafik için idealdir) ve önceden sağlanan (kapasite birimleri önceden ayrılır — otomatik ölçeklendirmeyle öngörülebilir iş yüklerinde daha ucuzdur). MongoDB Atlas, küme katmanına (örnek boyutu + depolama) göre ücretlendirilir; bu da sabit yüklerde maliyetleri daha öngörülebilir, ancak düşük trafikte daha yüksek kılar. Olaylar arasında hiç trafik bulunmayan ani artışlı veya olay odaklı iş yüklerinde DynamoDB'nin istek başına ödeme modeli çok daha ucuz olabilir.

AWS Ekosistemi Entegrasyonu

DynamoDB, daha geniş AWS ekosistemiyle yerel olarak bütünleşir. DynamoDB Streams, AWS Lambda işlevlerini tetikleyen değişiklik olayları üretir — ancak bu işlem MongoDB Change Streams ile aynı şekilde, AWS içinde gerçekleşir. IAM kimlik doğrulaması, yönetilecek ayrı veritabanı kimlik bilgilerinin bulunmaması anlamına gelir. Zamanda belirli bir noktaya kurtarma ve yedekleme birkaç tıklamayla yapılandırılır. Zaten AWS'ye (Lambda, API Gateway, Cognito, S3) yoğun yatırım yapmış ekipler için DynamoDB, bağlam değiştirme ihtiyacını en aza indirir.

MongoDB Atlas'ın Bulutlar Arası Taşınabilirliği

MongoDB Atlas, AWS, Azure ve GCP üzerinde çalışır; tek bir bulut sağlayıcısına bağımlı kalmazsınız. AWS ve Azure'u kapsayan çok bölgeli bir küme dağıtabilirsiniz. Kendi sunucularınızda barındırdığınız MongoDB, davranış açısından Atlas ile aynıdır; bu nedenle bulut ile şirket içi ortam arasında geçiş yapabilirsiniz. DynamoDB yalnızca AWS'de çalışır; başka bir ortama geçiş, veri erişim katmanınızın yeniden yazılmasını gerektirir. Çoklu bulut stratejileri veya mevzuata bağlı veri yerleşimi gereksinimleri olan kuruluşlar için Atlas'ın taşınabilirliği önemli bir avantajdır.

DynamoDB'nin Tutarlılık Seçenekleri

DynamoDB, nihai tutarlı okumalar (varsayılan — daha düşük gecikme ve maliyet) ve güçlü tutarlı okumalar (daha yüksek gecikme, 2 kat maliyet) sunar. Yazmalar, tek bir öğe içinde her zaman güçlü biçimde tutarlıdır. DynamoDB ayrıca birden çok öğe üzerindeki atomik işlemler için işlemleri (TransactWriteItems / TransactGetItems) destekler; işlem başına en fazla 100 öğe kullanılabilir. Bunlar MongoDB'nin birden çok belge üzerindeki işlemlerine benzer, ancak normal okuma/yazma birimi maliyetinin iki katı üzerinden ücretlendirilir.

Belge Boyutu ve Şema Esnekliği

Her iki veritabanı da esnek, şemasız belgeleri destekler. DynamoDB öğeleri 400 KB'a kadar, MongoDB belgeleri ise 16 MB'a kadar olabilir. Zengin medya üst verileri, uzun metin içerikleri veya büyük iç içe yapılar için MongoDB'nin daha büyük belge sınırı önemlidir. DynamoDB'nin 400 KB sınırı, büyük veri yüklerinin bölünmesini veya bir DynamoDB başvurusu ile S3'te depolanmasını gerektirir; bu da karmaşıklığı artırır. 400 KB'ın altındaki tipik yapılandırılmış veriler için bu sınır nadiren önem taşır.

DynamoDB Ne Zaman Seçilmeli

DynamoDB'yi şu durumlarda seçin: ekibiniz AWS odaklıysa ve sıfır altyapı yönetimi istiyorsa; trafik ani artışlı veya öngörülemezse (Lambda destekli API'ler, olay odaklı sistemler); erişim kalıplarınız baştan basit ve iyi tanımlanmışsa (anahtar-değer aramaları ve sıralı aralıklar); veya bağlantı havuzlarını yönetmeden Lambda/IAM ile sıkı entegrasyona ihtiyacınız varsa. REST API'ye ve DynamoDB üzerinde basit CRUD işlemlerine sahip tek sayfalı uygulamalar bunun klasik örnekleridir.

MongoDB Atlas Ne Zaman Seçilmeli

MongoDB Atlas'ı şu durumlarda seçin: sorgu kalıpları değişiyorsa veya karmaşıksa (toplamalar, birleştirmeler, tam metin araması); ekibinizin çoklu bulut veya şirket içi ortamlar arasında taşınabilirliğe ihtiyacı varsa; belgeler 400 KB'tan büyük olabiliyorsa; Atlas Search, Vector Search veya Data Federation kullanmanız gerekiyorsa; ya da uygulamanız yerel olarak zaten MongoDB kullanıyor ve buluta geçişte hiç sürtünme yaşamak istemiyorsanız. Zengin analiz hatları temel bir gereksinimse MongoDB de daha güçlü bir seçimdir.

Hızlı Kontrol

Bu derste MongoDB ve NoSQL Veritabanları kavramlarını ne kadar anladığınızı test edin.

Ders Özeti

Bu derste şunları öğrendiniz: DynamoDB'nin sunucusuz modeli ve AWS odaklı entegrasyonu, basit ve önceden tanımlanmış erişim kalıplarına sahip ani artışlı, olay odaklı iş yükleri için onu ideal kılar; MongoDB Atlas, DynamoDB'nin karşılayamayacağı daha zengin sorgular, daha büyük belgeler ve çoklu bulut taşınabilirliği sunar; temel denge ise operasyonel basitlik ve AWS bağımlılığı (DynamoDB) ile sorgu esnekliği ve bulutlar arası özgürlük (MongoDB) arasındadır. Sırada, MongoDB yerine Neo4j gibi bir grafik veritabanının ne zaman kullanılacağını inceleyeceğiz.

Başlamak ücretsiz

Yapay zeka eğitmeniyle JavaScript öğren — ücretsiz

Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.

Kurslar
30
Dersler
120

Sıkça Sorulan Sorular

“MongoDB ve DynamoDB: Bulut Yerel Yaklaşımının Ödünleşimleri” dersi ücretsiz mi?

Evet — “MongoDB ve DynamoDB: Bulut Yerel Yaklaşımının Ödünleşimleri” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve MongoDB Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. MongoDB Academy kursu toplamda 4 dersten oluşur.

“MongoDB ve DynamoDB: Bulut Yerel Yaklaşımının Ödünleşimleri” dersinde ne öğreneceğim?

Öğrenenler, AWS DynamoDB'nin tamamen sunucusuz modelinin MongoDB Atlas'ın daha zengin sorgu esnekliğine hangi durumlarda üstün geldiğini ve bunun tersini değerlendirecektir. MongoDB Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

MongoDB Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te MongoDB Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.

“MongoDB ve DynamoDB: Bulut Yerel Yaklaşımının Ödünleşimleri” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu MongoDB Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her MongoDB Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. MongoDB ve Redis: Belgeler ve Anahtar-Değer Önbelleği
  2. MongoDB ve Cassandra: Gezegen Ölçeğinde Yazma İşlemleri
  3. MongoDB ve DynamoDB: Bulut Yerel Yaklaşımının Ödünleşimleri
  4. Neo4j Gibi Bir Grafik Veritabanı Ne Zaman Kullanılır
← MongoDB Academy Sayfasına Dön