İçeriğe geç
Teklif al

Hizmet · Bulut, DevOps ve veri

MongoDB danışmanlığı

MongoDB'nin şema esnekliği projenin başında hız kazandırır. Aynı esneklik birkaç yıl sonra farklı biçimlerde yazılmış belgeler, sınırsız büyüyen diziler ve her sorguda koleksiyonun tamamını tarayan indekssiz aramalar olarak geri döner. Uygulama yavaşladığında ilk tepki genellikle daha büyük bir sunucuya ya da daha üst bir Atlas katmanına geçmek olur; oysa sorun çoğu zaman veri modelindedir.

Kategori
Bulut, DevOps ve veri
Çalışma modeli
Danışmanlık
Hizmet bölgesi
Türkiye geneli, uzaktan ve yerinde

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.

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

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.

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.

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.

MongoDB danışmanlığı hizmeti nasıl ilerler?

  1. 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.

  2. 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.

  3. 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.

  4. Adım 04

    Test

    İşlevsel testler, entegrasyon testleri ve temel güvenlik kontrolleriyle hataları yayından önce yakalarız.

  5. 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.

  6. 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.

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.

Bu hizmette çalışma modelleri

  • 01

    Danışmanlık

    Saatlik veya günlük teknik danışmanlık

    Karar, denetim veya yön belirleme gereken durumlar için.

    • Saatlik veya günlük çalışma
    • Yazılı rapor ve öneriler
    • Ekibinizle birlikte çalışma
    Bu modelle teklif alın: Danışmanlık

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.

İlgili hizmetler ve sayfalar

MongoDB danışmanlığı için teklif alın

Kısa bir ön görüşmede ihtiyacınızı dinleyip kapsamı, çalışma modelini ve takvimi yazılı olarak paylaşırız.

+90 552 579 93 21