NoSQL hareketi söz konusu olduğunda tam bir çaylağım. MongoDB ve CouchDB hakkında çok şey duydum. İkisi arasında farklılıklar olduğunu biliyorum. NoSQL dünyasına ilk adım olarak hangi öğrenmeyi önerirsiniz?
NoSQL hareketi söz konusu olduğunda tam bir çaylağım. MongoDB ve CouchDB hakkında çok şey duydum. İkisi arasında farklılıklar olduğunu biliyorum. NoSQL dünyasına ilk adım olarak hangi öğrenmeyi önerirsiniz?
Yanıtlar:
Aşağıdaki bağlantılara bakın
Güncelleme : NoSQL veritabanlarının karşılaştırmasını buldum .
MongoDB (3.2)
En iyi kullanılan : Dinamik sorgulara ihtiyacınız varsa. Dizin tanımlamayı tercih ederseniz, işlevleri eşlemeyin / azaltmayın. Büyük bir DB'de iyi performansa ihtiyacınız varsa. CouchDB istiyorsanız, ancak verileriniz çok fazla değişiyorsa, diskleri doldurun.
Örneğin : MySQL veya PostgreSQL ile yapacağınız birçok şey için, ancak önceden tanımlanmış sütunlara sahip olmak sizi gerçekten geride bırakır.
KanepeDB (1.2)
En iyi kullanılan : Önceden tanımlanmış sorguların çalıştırılacağı verileri biriktirmek, zaman zaman değiştirmek için. Sürüm oluşturmanın önemli olduğu yerler.
Örneğin : CRM, CMS sistemleri. Ana-ana çoğaltma, çok bölgeli kolay dağıtımlara izin veren özellikle ilginç bir özelliktir.
MySQL dünyasından geliyorsanız, MongoDB, sorgu benzeri dil desteği nedeniyle size çok daha doğal gelecektir.
Bence bir çok insan için bu kadar arkadaş canlısı.
Muhtemelen farklı veri merkezlerinde veya bunun gibi bir şeyde çok düğümlü bir kurulumla gerçekten harika master-master çoğaltma desteğini kullanmak istiyorsanız CouchDB harika.
MongoDB çoğaltması (çoğaltma kümeleri) bir master-slave-slave-slave- * kurulumudur, master'a sadece bir çoğaltma kümesinde yazabilir ve bunlardan herhangi birini okuyabilirsiniz.
Standart bir site yapılandırması için sorun değil. MySQL kullanımı ile çok iyi eşleşir.
Ancak, hepsine okuma / yazma rağmen tüm global düğümleri senkronize tutması gereken bir CDN gibi global bir hizmet oluşturmaya çalışıyorsanız, CouchDB'deki çoğaltma gibi bir şey sizin için büyük bir nimet olacaktır.
MongoDB, kullanabileceğiniz ve çok sezgisel hissettiği sorgu benzeri bir dile sahipken, CouchDB bir "harita azaltma" yaklaşımı ve bu görüş kavramlarını benimser. İlk başta tuhaf geliyor, ama asıldıkça, gerçekten sezgisel hissetmeye başlıyor.
İşte hızlı bir bakış, bu yüzden mantıklı:
Yani bu kaynakların her ikisi de JSON belgelerini kullanıyor, ancak CouchDB bunu daha çok izliyor "her sunucu bir master ve dünya ile senkronize olabilir" yaklaşımı, ihtiyacınız varsa fantastik, MongoDB gerçekten NoSQL dünyasının MySQL'i.
Yani bu daha çok ihtiyacınız olan / istediğiniz gibi görünüyorsa, bunun için gidin.
Mongo'nun ikili protokolü ile CouchDB'nin RESTful arayüzü gibi küçük farkların hepsi küçük detaylardır.
Ham hız istiyorsanız ve veri güvenliği ile cehennem istiyorsanız , Mongo'nun bellek dışı çalışmasını ve seyrek aralıklar dışında diske bir şeyler yapmamasını söyleyebileceğiniz için CouchDB'den daha hızlı çalışmasını sağlayabilirsiniz.
Aynı şeyi Couch için de yapabilirsiniz, ancak HTTP tabanlı iletişim protokolü bu "her şeyin üzerinde hız!" İle Mongo ile ham ikili iletişimden 2-4 kat daha yavaş olacaktır. senaryo.
Bir sunucu çökmesi veya disk arızası, DB'nizi bozar ve unutulmaya zorlarsa, çiğ çılgın hızın işe yaramaz olduğunu unutmayın, böylece veri noktası göründüğü kadar şaşırtıcı değildir (Wall'de gerçek zamanlı ticaret sistemleri yapmadıkça) Sokak, bu durumda Redis'e bakın).
Umarım her şey yardımcı olur!
Artık piyasada hiç olmadığı kadar çok sayıda NoSQL veritabanı var. Destek, genişletilebilirlik, yönetim ve maliyete dayalı kurumsal uygulamalar için de harika olacak bir veritabanı arıyorsanız, Gartner Magic Quadrant'a göz atmanızı öneririm.
http://www.gartner.com/technology/reprints.do?id=1-23A415Q&ct=141020&st=sb
Henüz denememiş, ancak raporda (2.5.1) gösterilen sürüme dayanmayan Couchbase'i önermek istiyorum, çünkü CB Server'ın bugünün arkasında neredeyse 2 revizyon, 2H15'te 4.0 sürümüne yaklaşıyor .
http://www.couchbase.com/coming-in-couchbase-server-4-0
Couchbase'in bir satıcı / ürün olarak ilgili diğer kısmı, çok amaçlı bir DB türü olmasıdır. Saf bir K / V deposu, çok boyutlu ölçekleme ile Belge Odaklı Veritabanı, Memcached, kalıcılık ile önbellek kenarı gibi davranabilir ve otomatik birleştirmelerle ANSI 92 uyumlu SQL'i destekler, bir düğmeye basarak DR kümelerine çoğaltma ve hatta ekosistemde yerleşik bir mobil bileşen vardır.
Başka bir şey yoksa, en son karşılaştırmaları incelemeye değer:
http://info.couchbase.com/Benchmark_MongoDB_VS_CouchbaseServer_HPW_BM.html http://info.couchbase.com/NoSQL-Technical-Comparison-Report.html