MongoDB

Sağlayan: MongoDB

VeritabanıNoSQLBüyük Veri
Oluştur: MongoDB

Saniyeler içinde Cloud Sunucunuza kurulur.

MongoDB, yüksek performanslı, esnek (schema-less) ve ölçeklenebilir açık kaynaklı lider NoSQL veritabanıdır. Verileri geleneksel satır ve sütunlar yerine, JSON benzeri BSON (Binary JSON) formatında dokümanlar halinde depolar.

Öne Çıkan Özellikler ve Avantajlar

  • Esnek Veri Yapısı (Schemaless): Geleneksel SQL'in aksine, bir tabloya yeni bir alan (Örn: 'ikinci_adres') eklemek için tüm yapıyı (ALTER TABLE) değiştirmeniz gerekmez. Her doküman (kayıt) birbirinden farklı alanlara sahip olabilir.
  • Yüksek Performans (In-Memory Hızı): WiredTiger depolama motoru sayesinde sık kullanılan veriler (working set) sürekli RAM'de tutulur, bu da okuma ve yazma işlemlerinde milisaniyeler seviyesinde olağanüstü tepki süreleri sağlar.
  • Gömülü (Embedded) Dokümanlar: SQL'de JOIN ile birleştirmek zorunda kaldığınız birden fazla tabloyu (Örn: Sipariş ve Sipariş Detayları), MongoDB'de tek bir JSON dokümanı içinde içiçe gömülü olarak saklayarak sorgu hızını 10 kat artırabilirsiniz.
  • Kümeleme (Sharding) ve Yüksek Erişilebilirlik: Verileriniz terabaytlara ulaştığında tek sunucu yetmez. MongoDB'nin dahili Sharding özelliği verileri otomatik olarak farklı sunuculara paylaştırırken, Replica Sets (Kopya Kümeleri) ile hiçbir veri kaybı yaşatmaz.

Neden MongoDB Kullanmalısınız?

Yeni nesil web ve mobil uygulamalar (Özellikle MERN/MEAN stack kullananlar), sosyal ağlar, IoT sensör verileri veya katalog ürünleri gibi sürekli değişen, yapısı önceden kestirilemeyen verilerle çalışır. MySQL ile her ürün kategorisi için ayrı tablo yapmak bir kabustur. MongoDB'de ise sadece veriyi 'JSON' objesi olarak gönderirsiniz ve anında kaydedilir. Geliştiricilere inanılmaz bir hız (Developer Velocity) kazandıran MongoDB, Cenuta'nın Cloud altyapısında barındırıldığında sınırları zorlayan bir 'Büyük Veri' (Big Data) canavarına dönüşür.

Bu İmajda Bulunan Tüm Yazılımlar

Bu hazır uygulama imajı, MongoDB Server uygulamasını en yüksek performans ve güvenlik standartlarında sorunsuz çalıştırmak için gereken tüm bağımlılıkları, kütüphaneleri ve yapılandırmaları içerir. Kurulum esnasında sistem aşağıdaki yazılımları sunucunuza entegre eder:

Yazılım / Paket AdıSürüm ve Detay Bilgisi
Veritabanı MotoruMongoDB Community Server (En Güncel Sürüm)
İşletim SistemiUbuntu 22.04 LTS
Yönetim Aracımongosh (MongoDB Shell)

Kurulum Sonrası Kapsamlı İlk Adımlar

Cenuta Cloud Sunucunuz başarıyla oluşturulduktan sonra MongoDB Server sistemine tam yetkiyle erişmek, güvenliğini sağlamak ve yapılandırmak için aşağıdaki adımları sırasıyla eksiksiz olarak izlemeniz gerekmektedir:

1
SSH ile Bağlanın

Terminal (veya PuTTY) kullanarak `root@sunucu_ip_adresiniz` bilgileriyle sunucunuza bağlanın.

2
MongoDB Shell'e (mongosh) Girin

Komut satırına `mongosh` yazarak doğrudan veritabanı yönetim ekranına (interaktif terminale) giriş yapın.

3
Yönetici (Admin) Hesabı Oluşturun (Zorunlu)

Güvenlik için: `use admin` yazın, ardından `db.createUser({ user: "admin", pwd: "CokGizliSifre", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] })` komutuyla ilk admin hesabını oluşturun.

4
Kimlik Doğrulamayı Aktif Edin

Varsayılan olarak MongoDB şifresiz çalışır! `/etc/mongod.conf` dosyasını `nano` ile açın, `security:` bölümünü bulup altına ` authorization: "enabled"` ekleyin (boşluklara dikkat!) ve `systemctl restart mongod` yazarak servisi yeniden başlatın.

5
Dış Erişime Açma

Eğer web uygulamanız (Node.js vb.) farklı bir sunucudaysa, `mongod.conf` içinde `bindIp: 127.0.0.1` yazan yeri `bindIp: 0.0.0.0` yaparak MongoDB'yi dışarıya açın (UFW ile IP kısıtlamayı unutmayın!).

Merak Edilenler

MongoDB Hosting hakkında sıkça sorulan sorular.

MongoDB ilişkisel değilse (NoSQL) verileri nasıl birbirine bağlar?

Gerçekte MongoDB'de verileri birbirine bağlamak (referans vermek) mümkündür (`$lookup` operatörü ile). Ancak en iyi pratik (Best Practice), birlikte okunacak verileri aynı JSON dokümanı (Embedded) içine gömmektir.

MongoDB için hangi görsel arayüzü (GUI) önerirsiniz?

Bilgisayarınıza kuracağınız tamamen ücretsiz olan 'MongoDB Compass' veya 'Studio 3T' programları sektör standartlarıdır. Çok gelişmiş filtreleme ve görsel sorgu (Query Builder) özellikleri sunarlar.

Neden MongoDB çok fazla RAM tüketiyor gibi görünüyor?

MongoDB, WiredTiger motoru sayesinde işletim sisteminin boşta kalan tüm RAM'ini önbellek (Cache) olarak kullanır. Bu bir sorun değil, aksine veritabanını olağanüstü hızlandıran bir mimari tasarım özelliğidir. İhtiyaç olduğunda RAM'i işletim sistemine geri bırakır.

Sitemle aynı sunucuya kurabilir miyim?

MongoDB inanılmaz agresif bir kaynak tüketicisidir (CPU ve RAM). Bu nedenle bu imaj ile tamamen ayrı bir VDS'e (Dedicated) kurulup, web uygulamasının uzak bağlantı (Connection String) ile MongoDB'ye bağlanması en profesyonel çözümdür.

Hangi projeler için uygun DEĞİLDİR?

Banka hesapları, karmaşık faturalandırma veya muhasebe sistemleri gibi 10 farklı tablonun kesinlikle birbiriyle tutarlı olması gereken ve çok karmaşık 'JOIN' işlemleri (Tranactions) barındıran yerlerde geleneksel MySQL/PostgreSQL daha güvenli bir seçenektir.