5 Ocak 2013 Cumartesi

MongoDB hakkında

MongoDB , NoSQL veritabanları arasında en popüler olanlardan. MongoDB ölçeklenebilirlik açısından güzel bir çözüm sunsa da bu sistemi yönetmek biraz zor olabilir. Veritabanın read/write performansını artırmak için shard özelliği ile yatay ölçekleyebilirsiniz. Ancak bu özelliği kullanmanız için önerilen sistemde 1 mongos proxy server, 3 config server, 2 shard(replica set herbiri  mongod server) toplam 10 server kurulumu yapmak gerekiyor. Veriler shardlar üzerinne config serverlarda bulunan ayarlara göre dağıtılır. Yani her hangi bir shard çöktüğünde verilen bütününe ulaşılamaz. Bu nedenle replica set kullanımı önerilir. Replica set 3 mongod instancedan oluşur. 1 primary, 2 secondary mongod belirlenir. Primaryde çıkan bir sorunda secondary devreye otomatik geçebilir. Başangıç projeleri için bu nedenle , shard kullanımı çok gerekli değilse   pek kullanışlı olmayabilir. Bu özellikler zaten yüksek trafiiğe sahip servisler için düşünülmüş bir yapıdır. Ayriyeten böyle bir alt yapı için çokça masraf ortaya çıkar.MongoDB'de diğer NoSQL veritabanları gibi ACID özelliklerini pek sağlamıyor. Bir server çökmesi sonucu veri kaybı yaşayabilirsiniz.Veriler diske yazılmadan hafızan bile çekilebilmesi performans açısından iyi olsa da kritik veriler için kötü sonuçlara sebep olabilir. Foursquare 2 yıl önce böyle bir durumla karşılaşmış ve 11 saat boyunca servis sağlayamamıştı.

Hiç yorum yok:

Yorum Gönder