01Sorun ve çözüm
MongoDB danışmanlığı hizmetimizde veri modelinizi, sorgu desenlerinizi, indekslerinizi ve replica set ya da sharded cluster yapınızı inceliyoruz. Profiler çıktısı ve explain planları üzerinden yavaş işlemleri bulur, belge yapısında ve indekslerde yapılacak değişiklikleri beklenen etkisiyle birlikte öneriyoruz.
Devamını okuDaha az göster
Çalışmanın amacı ekibinizin günlük kararları kendi başına verebilmesidir. Hangi verinin gömülü, hangisinin referansla tutulacağı, yeni bir indeksin ne zaman gerektiği ve yazma onayı ayarlarının ne anlama geldiği kendi veriniz üzerinden somut örneklerle aktarılır.
02Kimler için
MongoDB danışmanlığı kimlere uygun
MongoDB'yi kendi sunucusunda, Atlas üzerinde ya da bir bulut sağlayıcısının uyumlu servisinde kullanan ekipler için.
- Node.js veya Python ile yazılmış, kullanıcı sayısı arttıkça yavaşlayan MongoDB tabanlı web ve mobil uygulamalar
- Ürün kataloğu, sepet ya da içerik verisini belge yapısında tutan e-ticaret ve medya platformları
- Cihazlardan veya uygulama olaylarından gelen zaman serisi verisini MongoDB'ye yazan IoT ve analitik ekipleri
- Tek sunuculu kurulumdan replica set'e ya da sharding'e geçmesi gereken ürün ekipleri
- Atlas faturası büyüyen ve küme boyutunun gerçekten gerekli olup olmadığını öğrenmek isteyen şirketler
- MongoDB'den ilişkisel bir veritabanına ya da tersi yönde geçişi değerlendiren yazılım ekipleri
03İhtiyaçlar
MongoDB kullanan ekiplerin tipik sorunları
Belgeye dayalı modelin sorunları, ilişkisel veritabanlarındakinden farklı yerlerde ortaya çıkar.
- 01
Sınırsız büyüyen diziler
Bir sipariş belgesine her durum değişikliğini, bir kullanıcı belgesine her bildirimi eklemek belgeyi sürekli büyütür. Boyut sınırına yaklaşan ve her güncellemede yeniden yazılan belgeler hem belleği hem diski zorlar.
- 02
Yanlış sıralı bileşik indeksler
Bileşik indeksteki alan sırası eşitlik, sıralama ve aralık koşullarına uygun değilse indeks kullanılsa bile çok sayıda belge taranır. Kullanılmayan indeksler ise her yazma işlemine ek yük bindirir.
- 03
Ağır toplama hatları
Aggregation pipeline içinde filtreleme ve alan seçimi aşamaları geç geldiğinde gereğinden fazla belge işlenir. Büyük birleştirme ve gruplama adımları belleğe sığmayıp diske taşar.
- 04
Okuma ve yazma tutarlılığı
Write concern ve read preference ayarları bilinçsizce seçildiğinde ikincil düğümden okunan eski veri ya da birincil düğüm değişiminde kaybolan yazmalar görülebilir.
- 05
Shard anahtarı seçimi
Sürekli artan bir tarih ya da sıra numarası shard anahtarı yapıldığında bütün yeni yazmalar tek bir shard'a yığılır. Sonradan değiştirmek zahmetli olduğu için bu karar veri büyümeden verilmelidir.
04Özellikler
MongoDB danışmanlığı hizmetinin kapsamı
Tek bir sorunun çözümüyle sınırlı ya da daha geniş bir inceleme olarak planlanabilir.
- 01
Veri modeli incelemesi
Koleksiyonlar, belge yapıları ve uygulamanın erişim desenleri birlikte değerlendirilir. Gömme ve referans kararları, şema doğrulama kuralları ve gerektiğinde bucket ya da subset gibi modelleme desenleri önerilir.
- 02
Sorgu ve indeks analizi
Profiler ve yavaş işlem kayıtlarından en çok kaynak tüketen işlemler bulunur; explain çıktısında taranan ve dönen belge sayıları karşılaştırılır. Yeni indeksler, kaldırılacak indeksler ve sorgu düzeltmeleri önceliklendirilir.
- 03
Küme mimarisi
Replica set üye sayısı ve yerleşimi, seçim davranışı, yedekleme yöntemi ve sharding ihtiyacı değerlendirilir. Gerekirse shard anahtarı adayları gerçek veri dağılımı üzerinden karşılaştırılır.
- 04
Sürüm yükseltme planı
Desteği biten bir sürümden yenisine geçişte davranış değişiklikleri, sürücü sürümleri ve özellik uyumluluk seviyesi adım adım planlanır.
- 05
Uygulamalı ekip eğitimi
Geliştiricilerinize kendi veri setiniz üzerinden indeks tasarımı, aggregation yazımı ve explain çıktısını okuma konularında oturumlar yapılır.
05Entegrasyonlar
MongoDB ile birlikte ele aldığımız bileşenler
Veritabanının davranışı, çevresindeki katmanlarla birlikte bakıldığında anlaşılır.
- 01
Sürücüler ve ODM kütüphaneleri
Mongoose, Spring Data MongoDB ya da resmi sürücülerdeki bağlantı havuzu, zaman aşımı ve yeniden deneme ayarları incelenir.
- 02
Atlas ve uyumlu bulut servisleri
Atlas küme katmanı, otomatik ölçekleme, yedek politikası ve Atlas Search kullanımı değerlendirilir; Amazon DocumentDB ya da Azure Cosmos DB kullanıyorsanız MongoDB ile davranış farkları ayrıca ele alınır.
- 03
Değişiklik akışları
Change streams ile verinin Kafka, Elasticsearch ya da bir veri ambarına aktarıldığı yapılarda kaldığı yerden devam etme ve tekrar işleme mantığı gözden geçirilir.
- 04
Önbellek katmanı
Sık okunan veriler için Redis gibi bir önbelleğin gerekip gerekmediği ve önbelleğin hangi olayda geçersiz kılınacağı belirlenir.
- 05
Metrik ve alarm
Atlas paneli ya da mongodb_exporter ile toplanan metriklerden işlem sayıları, replikasyon gecikmesi, WiredTiger önbellek doluluğu ve bağlantı sayısı izlenir.
06Süreç
MongoDB danışmanlığı hizmeti nasıl ilerler?
Adım 01
Analiz
İş akışınızı, kullanıcılarınızı ve mevcut sistemlerinizi dinleriz; kapsamı, öncelikleri ve kabul ölçütlerini yazılı hâle getiririz.
Adım 02
Tasarım
Ekran akışlarını ve veri modelini çıkarırız. Arayüzü sizinle gözden geçirip onay almadan geliştirmeye geçmeyiz.
Adım 03
Geliştirme
Kısa döngülerle çalışırız; her döngü sonunda çalışan bir sürümü test ortamında görürsünüz.
Adım 04
Test
İşlevsel testler, entegrasyon testleri ve temel güvenlik kontrolleriyle hataları yayından önce yakalarız.
Adım 05
Yayın
Sunucu, alan adı, yedekleme ve izleme ayarlarını yaparak canlıya alırız; ekibinize kısa bir kullanım eğitimi veririz.
Adım 06
Bakım
İsterseniz bakım ve destek anlaşmasıyla güncellemeleri, izlemeyi ve yeni geliştirmeleri sürdürürüz.
07Teknoloji
MongoDB güvenliği ve veri koruma
Kimlik doğrulaması kapalı biçimde internete açılmış MongoDB sunucuları, bilinen veri sızıntısı nedenlerindendir. İncelememizde ağ erişimi, kullanıcı rolleri, TLS kullanımı ve uygulama hesaplarının yalnızca ihtiyaç duyduğu veritabanına yetkili olup olmadığı kontrol edilir.
Devamını okuDaha az göster
Kişisel veri içeren alanlar için istemci tarafı alan şifrelemesi ya da Queryable Encryption seçenekleri, uygulama katmanında maskeleme ve log dosyalarına kişisel veri yazılmaması KVKK açısından değerlendirilir. Silme taleplerini karşılayabilmek için bir kişiye ait verinin hangi koleksiyonlarda bulunduğunu gösteren bir harita çıkarılmasını öneririz.
Yedeklemede mongodump ile disk anlık görüntüsüne dayalı yöntemler arasındaki fark, veri boyutunuza ve geri yükleme beklentinize göre anlatılır. Belirli bir ana geri dönüş gerekiyorsa oplog tabanlı yedekleme planlanır ve ayrı bir ortamda geri yükleme provası yapılır.
08Çalışma modelleri
Bu hizmette çalışma modelleri
09Sık sorulan sorular
MongoDB danışmanlığı hakkında sık sorulan sorular
MongoDB danışmanlığı fiyatları neye göre değişir?
Küme sayısı ve boyutu, incelenecek koleksiyon ve sorgu çeşitliliği, sharding kullanılıp kullanılmadığı ve çıktının bir rapor mu yoksa uygulamaya eşlik eden bir çalışma mı olduğu fiyatı belirler. Ön görüşmede kapsamı netleştirip sabit kapsamlı teklif hazırlarız.
Uygulamamız yavaş; sorun MongoDB'de mi, kodda mı?
Bunu ölçmeden söylemek mümkün değil. Profiler kayıtları, sunucu metrikleri ve uygulama tarafındaki istek süreleri birlikte incelendiğinde gecikmenin veritabanında mı, ağda mı, yoksa tek istekte atılan çok sayıda sorguda mı olduğu ortaya çıkar.
MongoDB'yi bırakıp PostgreSQL'e geçmeli miyiz?
Veriniz güçlü ilişkiler ve çok tablolu işlemler gerektiriyorsa bu seçenek değerlendirilebilir; ancak performans sorunlarının çoğu model ve indeks düzeltmesiyle çözülür. Geçişin maliyetini ve kazancını erişim desenleriniz üzerinden tarafsız biçimde karşılaştırırız.
Atlas'ı mı, kendi sunucumuzu mu kullanmalıyız?
Atlas yedekleme, yükseltme ve izlemeyi üstlenir; kendi sunucunuzda bu işler ekibinize kalır ama kaynak ve veri konumu üzerinde tam denetim sağlarsınız. Karar ekip kapasitesine, veri konumu tercihlerinize ve maliyete göre verilir.
Canlı sistemde indeks eklemek kesintiye yol açar mı?
Güncel sürümlerde indeks oluşturma koleksiyonu uzun süre kilitlemez, ama büyük koleksiyonlarda disk ve işlemci yükü artar. Bu yüzden yoğun saatler dışında ve önce test ortamında denenerek yapılmasını öneririz.
MongoDB danışmanlığı firması olarak kaynak kodumuzu görmeniz gerekir mi?
Veri erişim katmanını görmek sorgu desenlerini anlamayı hızlandırır ama zorunlu değildir. Profiler kayıtları ve anonimleştirilmiş belge örnekleriyle de anlamlı bir inceleme yapılabilir; erişim kapsamını gizlilik gereksinimlerinize göre birlikte belirleriz.
10İlgili hizmetler