Category : MongoDB

Written on Aug, 24, 2014 by in , , , , , | Leave a comment

Index Nedir? Veritabanında bir değer arattığımız zaman, ilgili değerleri bulabilmek için kayıtların tamamına sırayla tek tek bakılır (table scan). Collection’ımızda (tablomuzda) birkaç yüz document(kayıt) var ise, tüm kayıtların tek tek bakılması çok fazla zaman kaybı yaratmayacaktır. Fakat collection’ımızdaki (tablomuzdaki) document (kayıt) sayısı milyon seviyelerindeyse, aranan değer için tüm document’lara bakılması,  sonucun gelmesini çok fazla geciktirecektir. Sorgularda tablonun baştan sona tamamının …

Continue Reading...
Written on Jun, 01, 2014 by in , , | Leave a comment

Two phase commit nedir ? Two phase commit ne işe yarar ? Two phase commit dağıtık (distributed) sistemler üzerinde gerçekleşen transaction’ların her sunucuda/kaynakta/sistemde başarıyla tamamlanıp tamamlanmadığı bilgisini verir. Örneğin A, B ve C sunucularımız olsun. Veriler üzerinde değişiklik gerektiren (update, delete…) bir transaction çalıştırıldığında, A, B ve C sunucuları bu transaction’ı başarılı bir şekilde tamamlamışlarsa, A,B ve C sunucularında commit uygulanır. Veya A …

Continue Reading...
Written on May, 28, 2014 by in , , , | Leave a comment

MongoDB’de sharding yaptığımız bir collection’ın document’larının hangi shard ve hangi chunk üzerinde nasıl dağılım gösterdiğini görebilmek için sh.status(); komutu çalıştırılır. Eğer çok fazla chunk var ise, MongoDB görüntülemede şu hatayı üretecektir : too many chunks to print, use verbose if you want to force print çözümü (solved) şu şekilde olacaktır: db.printShardingStatus( true ) Benim oluşturduğum dummy verilerde 10000 kayıt olan bir collection yarattım …

Continue Reading...
Written on May, 13, 2014 by in , , , , | Leave a comment

remove(): Collection içinde bulunan tüm document’ları tek tek siler. drop(): komple collection’ı veritabanından kaldırır. Eğer collection’daki tüm verileri sileceksek ( indexler dahil) drop() kullanmanızı tavsiye ederim, çünkü çok daha hızlıdır. Aradaki performans farkını ölçmek için bir milyon kayıtlı iki adet farklı collection oluşturup, birinci collection’nın verisini remove() ile, diğer collection’nın verisini drop() ile silip, iki işlem arasındaki zamanı aşağıdaki işlemle …

Continue Reading...