Ana içeriğe atla

Sağlıklı Bir MongoDB Veritabanı İçin Temel Kontroller

Veri platformunuzu sağlam ve güvenilir tutmak için çoğaltma, performans ve yedekleme genelinde temel proaktif kontrolleri kapsayan bir rehber.
Güncel 4 May 2026  · 7 dk. oku

Sağlıklı bir MongoDB veritabanını korumak, uygulama kararlılığı, en iyi performans ve veri bütünlüğü için kritik öneme sahiptir. "Sağlıklı" bir küme, okumaları ve yazmaları güvenilir şekilde sunan, veriyi kayba karşı koruyan ve beklenen operasyonel parametreler dahilinde çalışan kümeyi ifade eder. Düzenli kontroller ve proaktif izleme, hizmetinizi etkilemeden önce potansiyel sorunları belirlemek ve gidermek için hayati önem taşır.

MongoDB kümenizin sağlığını üç temel alanda kategorize edebiliriz:

  • Çoğaltma
  • Performans
  • Yedekleme 

Bu alanları düzenli olarak değerlendirerek veri platformunuzun sağlam ve güvenilir olmasını sağlarsınız. Ayrıca MongoDB Atlas ve MongoDB Ops Manager gibi modern yönetim araçları, uyarılar ve önerilerle entegre izleme sunarak olası sorunların önüne geçmenize yardımcı olur. Uyarıları yapılandırmak işlerin kontrolünüzde kalmasına katkı sağlar. Talimatları ve örnekleri resmi MongoDB belgelerinde uyarıların nasıl ayarlanacağı bölümünde bulabilirsiniz.

Bu alanları tek tek ele alalım.

Çoğaltma Durumu

MongoDB'de yüksek erişilebilirliğin belkemiği çoğaltmadır. Sağlıklı bir çoğaltma kümesi, veri yedekliliğini ve otomatik devralma (failover) yeteneğini sağlar. Çoğaltma kümesi üyelerini oluşturan sunucular arasında etkin çoğaltmayı sağlamak için üç temel göstergeyi inceleyelim.

Genel durum ve çoğaltma durumunun ayrıntıları 

Bir çoğaltma kümesinin tam durumunu MongoDB kabuğunda rs.status() komutunu çalıştırarak elde edebilirsiniz. Bu komut, çoğaltma kümesinin mevcut durumuna kapsamlı bir bakış sunar. Çıktı, tüm üyelerin sağlıklı olduğunu (yani PRIMARY veya SECONDARY durumunda) ve beklendiği gibi çalıştığını doğrulamak için kontrol edilmelidir.

Atlas kullanıcı arayüzünden de yukarıdaki komutun sunduğuna benzer bilgilere erişebilirsiniz. "Clusters" sayfasından belirli bir küme adına tıklayın. Bu işlem sizi düğümlerin genel görünümünü alacağınız "Overview" sekmesine götürür. Ciddi bir sorun varsa burada görünmelidir. 

Çoğaltma süresi

Çoğaltılan bir kümede dayanıklılık, verinin düğümlerin çoğunluğuna çoğaltılmasına bağlıdır. Bu nedenle sağlıklı bir küme veriyi hızlı çoğaltmalıdır. Aksi takdirde majority write concern ile yapılan işlemlerde gecikmeler artar.

Bu özelliğin öncü göstergesi çoğaltma gecikmesidir. Çoğaltma gecikmesi, birincil üyedeki bir işlemin ikincil üyede uygulanması arasındaki gecikmeye karşılık gelir. Düşük ve tutarlı çoğaltma gecikmesi, sağlığın güçlü bir göstergesidir. Öte yandan yavaş çoğaltma, düğümler arasındaki bağlantıların kötü yapılandırıldığına işaret edebilir.

Çoğaltma gecikmesini gözlemlemenin en kolay yolu, "Cluster Metrics" sekmesi altındaki "Replication Lag" grafiğine bakmaktır. İşte sağlıklı bir küme için bu grafiğe bir örnek. Bu ölçütün, ortadaki ve "P" ile gösterilen PRIMARY düğüm için geçerli olmadığını unutmayın.

Sağlıklı bir MongoDB kümesi için Replication Lag metriğini gösteren, ikincil düğümlerde düşük ve tutarlı gecikme sunan grafik.

Replication Oplog Window 

Çoğaltma, "oplog" adı verilen özel bir koleksiyon aracılığıyla uygulanır. Oplog (işlem günlüğü), tüm veri değişiklik işlemlerini kaydeden sınırlı (capped) bir koleksiyondur. "Replication Oplog Window", senkronizasyon kaynağı için, güncel işlemler üzerine yazılmaya başlanmadan önce çoğaltma oplog'unda mevcut tahmini süreyi ifade eder. Başka bir deyişle Replication Oplog Window, oplog içindeki en yeni ve en eski zaman damgaları arasındaki zaman farkıdır. Yeterli bir oplog penceresi değeri, ikincil düğümlerin bir kesinti sonrasında yetişebilmesi ve tam veri yeniden eşitlemelerinin (resync) önlenmesi için kritiktir.

Bir ikincil düğüm, mevcut Replication Oplog Window süresinden daha uzun süre çevrimdışı kalırsa, bu ikincili baştan yeniden eşitlemek gerekir. Yani, çoğaltma penceresi değerinin, bir replikayı en fazla ne kadar süreyle kullanılamaz olabileceğinden daha uzun olmasını istersiniz. Replication Oplog Window değerinin yazma işlemlerindeki ani patlamalara duyarlı olduğunu unutmayın.

Daha geniş bir Replication Oplog Window elde etmek için oplog koleksiyonunun boyutunu artırabilirsiniz.

MongoDB Atlas Cluster Metrics grafiğinde Replication Oplog Window görüntüsü; çoğaltma için oplogda mevcut süreyi gösterir.

Performans Durumu

Performans, uygulamanızın kullanıcı deneyimini ve kümenin işletim maliyetlerini doğrudan etkiler. Sağlıklı bir küme, iş yüküne göre verimli şekilde çalışır.

Burada da izlenmesi gereken kritik performans yönlerine bakalım.

Anlık işlem sayıları beklendiği gibi mi? 

Kontrol etmeyi sevdiğim ilk şey, kümenin beklenen sayıda işlem alıp almadığıdır. Burada "beklenen", değeri bildiğinizi varsayar. Bilmiyorsanız, son bir saat, gün, hafta vb. boyunca sorgu eğilimini incelemek, neyin beklendiğine ve herhangi bir zirve veya anomali olup olmadığına dair iyi bir anlayış sağlayabilir. Belirli bir zamanda düzenli haftalık bir zirve, kümeyi önceden ölçeklendirmeyi gerektirebilir.

İşlem hızını (okumalar, yazmalar, komutlar) yakından izleyin. Ani ve beklenmedik artış veya düşüşler, uygulama sorunu, kaynak darboğazı veya verimsiz sorgu modeli gibi bir sorunu işaret edebilir. Yardımcı olması için, küme metriklerindeki "Opcounters" bölümünde görülebilen işlem sayıları üzerine uyarılar ayarlayın.

Ayrıca, anlık işlem hızına ilişkin gerçek zamanlı bilgiler "Real Time Tab" üzerinden bulunabilir.

MongoDB Atlas'taki Gerçek Zaman Sekmesi görünümü; kümenin gerçek zamanlı etkinliğini ve iş yükünü izlemek için mevcut işlem sayılarını (okumalar, yazmalar ve komutlar) gösteren grafik.

Yavaş sorgular hakkında daha fazla içgörü edinin 

Olağandışı derecede uzun süren sorgular yavaş sorgular olarak bilinir. Bunlar genellikle indeksleme veya sorgu optimizasyonu ihtiyacına işaret eder. Ayrıca, bellek içi sıralama gerektiren işlemleri izlemek de önemlidir; zira bu, önemli sunucu kaynakları tüketir ve performansı düşürür.

"Query Insights" sekmesi, sorguları görüntülemenize, ölçütlere göre filtrelemenize ve ek işlemler yapmanıza olanak tanır. Bu sayfayı, hangi sorguların optimize edilmesi gerektiğini ve hangilerinin başka bir düğümde veya daha sonra çalıştırılması gerekebileceğini belirlemek için kullanmak istersiniz.

MongoDB Atlas'taki Query Insights sekmesi; indeksleme ihtiyaçlarını ve optimizasyon fırsatlarını belirlemek için yavaş sorguların görüntülenmesi ve analizinde kullanılır.

Eksik indeksler

MongoDB'de yavaş sorguların en yaygın nedeni, uygun indekslerin eksikliğidir. Bir indeks eksik olduğunda MongoDB bir koleksiyon taraması (koleksiyondaki her belgenin tek tek kontrol edilmesi) yapabilir; ancak bu, özellikle büyük koleksiyonlarda son derece verimsizdir. Eksik indeksleri belirlemek ve oluşturmak, sorgu performansını korumak için esastır.

"Performance Advisor" sekmesi, performansı optimize etmenize yardımcı olacak çeşitli değerli araçlar içerir. Aşağıdaki sayfa "Create Indexes" sayfasıdır.

MongoDB Atlas Performance Advisor'ın 'Create Indexes' sayfasının ekran görüntüsü; yavaş sorguları optimize etmek için yeni indeks önerileri sağlar.

Yedekleme Durumu

Çoğaltma, bir sunucunun diski gibi kaynaklar kaybolduğunda veya bozulduğunda veri kaybını azaltmak için değerli bir varlıktır. Kümenizin yerleşik yüksek erişilebilirliği donanım arızalarının çoğunu karşılar. Ancak güvenilir bir yedekleme stratejisi, veri kaybına karşı nihai güvence olmaya devam eder. Sağlıklı bir kümede test edilmiş, çalışır bir yedekleme ve kurtarma sistemi bulunur.

Diğer bölümlerde olduğu gibi, yedekleme stratejiniz için bazı kilit hususları inceleyelim.

Kurtarma hedeflerini tanımlayın 

Kabul edilebilir en yüksek veri kaybını ifade eden Kurtarma Noktası Hedefinizi (RPO) ve hizmeti geri yüklemek için izin verilen en uzun süre olan Kurtarma Süresi Hedefinizi (RTO) tanımlayın. Bu hedefler, yedeklemelerinizin gerekli sıklığını ve yöntemini belirler.

Yedeklemenin temelleri

MongoDB ile verileri yedeklemek için farklı araçlar vardır. En basiti, verilerinizin mongodump ile basit bir dökümünü almaktır. Sonrasında, anlık görüntüler (snapshot) almak ve tek tek işlemleri (oplog) saklayarak herhangi bir zaman noktasının görüntüsünü yeniden oluşturmak için MongoDB yönetim araçlarından yararlanılır. MongoDB Atlas, barındırılan kümeler için bu araçları içerirken, MongoDB OpsManager şirket içi kümeleriniz için benzer bir işlev görür.

Yedek olarak verinin birçok sürümünü tutmak, genellikle orijinal veritabanının kendisinden daha fazla alan kaplar. İhtiyaçlarınıza daha iyi uyması için maliyetleri anlamanız gerekir. Bu çalışma, üretilecek anlık görüntü sayısını ve bunların karşılık gelen sıklığını gösteren bir zamanlama oluşturacaktır.

MongoDB Atlas arayüzünde bulut yedekleme zamanlamasını yönetme ve gözden geçirme; anlık görüntü sıklığı, saklama ilkeleri ve geri yükleme seçeneklerini gösterir.

Yedekleri izleme, erişme ve geri yükleme

MongoDB Atlas kullanıyorsanız, yönetilen yedekleme sürecinin başarıyla çalıştığını, düzenli olarak anlık görüntüler aldığını ve saklama ilkelerinin RPO'nuzla uyumlu olduğunu doğrulayın.

Geri yükleme gerçekleştirin: Yedeklerinizin geçerli olduğunu gerçekten doğrulamanın tek yolu, düzenli bir geri yükleme testi yapmaktır. Bu işlem, acil bir durumda verinin kurtarılabilir olmasını sağlayarak tüm yedekleme ve geri yükleme hattını doğrular.

MongoDB Atlas arayüzünde, yedekleme sürecinin başarılı çalıştığını doğrulayan, anlık görüntü zamanı, boyutu ve durumu gibi ayrıntıları içeren son yedek anlık görüntülerinin listesi.

Sonuç

Sağlıklı bir MongoDB kümesi şu özelliklerle tanımlanır:

  • En uygun çoğaltma durumu
  • Verimli performans
  • Güvenilir yedekler

Bu üç alan genelinde proaktif izleme, sorgu performansının analiz edilmesi ve geri yükleme işlemlerinin test edilmesi, MongoDB dağıtımınızın kararlılığını ve uzun ömürlülüğünü sağlayacaktır.


Daniel Coupal's photo
Author
Daniel Coupal

Kıdemli Kıdemli Geliştirici Savunucusu @ MongoDB

SSS

Bir MongoDB kümesini güvence altına almanın kritik ilk adımı nedir?

Güvenlik kesinlikle kritiktir. Kimlik doğrulamayı etkinleştirmek ve rol tabanlı erişim denetimini (RBAC) kurmak, yalnızca yetkili kullanıcıların ve uygulamaların verilere erişip bunları değiştirebilmesini sağlamak için gerekli ilk adımdır. Küme düğümleri arasındaki iletişimi SSL ile güvence altına almak da esastır.

Sağlıklı bir üretim kümesinde çoğaltma gecikmesi için kabul edilebilir üst sınır nedir?

Bu, iş yüküne ve topolojiye göre değişmekle birlikte, çoğaltma gecikmesi ideal olarak bir saniye aralığında olmalıdır. Sürekli olarak 10 saniyeyi aşan gecikme, genel olarak yüksek erişilebilirliği tehlikeye atabilecek bir sorun olarak kabul edilir.

Replication Oplog Window için en uygun boyutu nasıl belirlemeliyim?

Yaygın bir en iyi uygulama, oplog'u en az 24 ila 72 saatlik işlemleri tutacak şekilde boyutlandırmaktır. Ancak birçok kullanıcı bir haftalık işlemi tercih eder. Bu, ikincil düğümlerin çoğu bakım penceresi veya kesintiden sonra tam yeniden eşitlemeye gerek kalmadan yetişmesi için yeterli tampon süre sağlar. Buna bir başka bakış açısı da ekibinizin sağlıklı bir kümeyi yeniden çevrimiçi duruma getirebilmesi için kaç gün geçmesi gerekebileceğidir.

Eksik indeksler dışında, daha derin bir performans incelemesi gerektiren yavaş sorguların bir diğer yaygın nedeni nedir?

Verimsiz şema tasarımı, özellikle gereksiz derecede büyük belge okumalarına veya optimize edilmemiş yazma işlemlerine yol açan sorgularda önemli performans sorunlarına neden olabilir.

Makalede güvenilir bir yedekleme stratejisinin nihai güvence olduğu belirtiliyor. Tam bir geri yükleme testi ne sıklıkla çalıştırılmalıdır?

Tam bir geri yükleme testi en az üç ayda bir veya kümede ya da yedekleme sisteminde yapılan herhangi bir büyük yapılandırma değişikliğinden sonra gerçekleştirilmelidir. Bu, ihtiyaç duyulduğunda verinin gerçekten kurtarılabilir olmasını sağlamak için tüm kurtarma hattını doğrular.

Konular

DataCamp ile MongoDB öğrenin

Kurs

Introduction to MongoDB in Python

3 sa
23.9K
Learn to manipulate and analyze flexibly structured data with MongoDB.
Ayrıntıları GörRight Arrow
Kursa Başla
Devamını GörRight Arrow
İlgili

blog

Hızlı Sevkiyat İçin Pratik Vibe Kodlama Teknoloji Yığını

Ön uç, arka uç, veritabanları, kimlik doğrulama, depolama, e-posta, test, dağıtım ve izleme için en iyi araçları keşfedin.
Abid Ali Awan's photo

Abid Ali Awan

14 dk.

blog

2026’da En Popüler 40 Yazılım Mühendisi Mülakat Sorusu

Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Dario Radečić's photo

Dario Radečić

15 dk.

Eğitim

.gitignore Nasıl Kullanılır: Örneklerle Pratik Bir Giriş

Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!
Kurtis Pykes 's photo

Kurtis Pykes

Eğitim

Python'da Listeyi String'e Nasıl Dönüştürürsünüz

Bu hızlı eğitimde, Python'da bir listeyi string'e nasıl dönüştüreceğinizi öğrenin.
Adel Nehme's photo

Adel Nehme

Devamını GörDevamını Gör