2010-08-23 11 views
16

Bence bu üçü en popüler ilişkisel olmayan db: s an burada var.Cassandra, Ruby on Rails için mongodb ya da couchdb

Onlara bir deney vermek istiyorum, ama Gem, dokümantasyon ve öğretici destek söz konusu olduğunda bunların hangisinin Rails için en uygun olduğunu merak ediyorum.

Ör. Rails için çok iyi bir mücevher yüklerim ama bu sadece AR ve mongodb kullanıyorsa, o zaman ben mongodb kullanmayan bir yazık olurdu.

  • Bu veritabanlarının her birine kaç tane mücevher destek veriyor?

  • Yakut/raylar topluluğundaki en popüler ve ana akım hangisi, dolayısıyla çevrimiçi belgesel/öğretici daha var?

  • Hangisi Rails'in sıkı entegrasyonunu sunuyor?

+12

Saygılarımla, bu uygulamalardan birini kullanmaya karar vermenin yanlış başlangıç ​​noktası olduğunu düşünüyorum. Çok farklı güçlü ve zayıf yönleri vardır ve büyük ölçüde, uygulamanızın başarması gereken şeylerin tamamen yanlış olması durumunda, en iyi yakut/ray desteğine sahip olmanın önemi yoktur. –

+3

Eğer popülerlik ve sıkı entegrasyon istiyorsanız, MySQL Rails dağıtımlarında 100x daha popüler ve kolayca en sıkı entegre edilmiştir. Çiseleyen da muhtemelen orada bir yarışmacı olacak. Öğrenmek istiyorsanız, kendinizi rahat hissedecek bir şey bulana kadar birkaç DB'yi denemenizi tavsiye ederim. – JasonSmith

cevap

17

Bilgilendirilmiş bir seçim yapmak için veri modelinizi bilmeniz gerekiyor. MongoDB ve CouchDB, belge odaklı veri depolarıdır. Cassandra oldukça farklı, biraz daha özel amaçlı ve dağıtılmış tasarımı onun gücü. Dağıtılmış bir anahtar/değer deposu, ancak sınırlı veri türleri ile dilimleme, zaman damgası sıralama, aralık sorguları ile daha fazla. Büyük miktarda veriyse ve alma için endekslenmesinin tam olarak nasıl gerekli olduğunu biliyorsa, Cassandra işe yarayabilir. Mongo ve Couch ad-hoc sorguları için daha iyidir ve örneğin Rails uygulaması için bir AR değiştirme.

Popülerliğe gelince, MongoDB'nin Rubyistler ile daha popüler olduğunu söyleyebilirim, ancak CouchDB'nin genel olarak daha fazla akıl almaz ve çok fazla momentuma sahip olduğu görülüyor.

Farklılıklar hakkında daha fazla bilgi için http://nosql-database.org/'a bakın.

5

Şahsen son zamanlarda "mongoid" kullanıyorum ve gerçekten iyi çalışıyordu. Akılda tutulması gereken bir şey, Rails 3.0 dalında daha aktif olmaları, dolayısıyla web sitelerinde listelenen tüm özelliklerin Rails 2.x'te çalışmamasıdır (örneğin referanslar). Ayrıca kimlik doğrulama için "Devise/Warden" kullanmayı denedim ve Rails 3.0'da sorunsuz bir şekilde çalıştı ancak Rails 2.x + mongoid desteği yoktu (mongomapper desteklense de)

+0

Harika o Devise Mongodb ile çalışır! Diğer 2'yi destekleyip desteklemediğini biliyor musun? –

+1

Ustada desteklenir (Rails 3.x): http://github.com/plataformatec/devise/tree/master/lib/devise/orm/ ve burada 1.0.x içinde ne var (Rails 2.x): http : //github.com/plataformatec/devise/tree/v1.0/lib/devise/orm – Zepplock

+1

bana mongodbun rubi ve raylar için en popüler olduğunu gösteriyor. Diğer taşlar için de doğru mu düşünüyorsun? –