2010-08-23 29 views
16

Tôi nghĩ rằng ba điều này là db không quan trọng nhất: hiện có tại thời điểm này.Cassandra, mongodb hoặc couchdb cho Ruby on Rails

Tôi muốn thử, nhưng tôi tự hỏi cái nào phù hợp nhất với Rails khi nói đến Gem, tài liệu và hướng dẫn hỗ trợ.

Ví dụ: nếu tôi cài đặt một viên ngọc rất tốt cho Rails nhưng điều này chỉ sử dụng AR và mongodb, thì nó sẽ là một điều đáng tiếc tôi không sử dụng mongodb.

  • Có bao nhiêu viên đá quý đang hỗ trợ từng cơ sở dữ liệu này?

  • Kênh nào phổ biến nhất và chính trong cộng đồng ruby ​​/ rails, do đó có nhiều tài liệu/hướng dẫn trực tuyến hơn?

  • Loại nào cung cấp tích hợp chặt chẽ cho Rails?

+12

Trân trọng, tôi nghĩ đây là điểm xuất phát sai khi quyết định sử dụng một trong các ứng dụng này. Họ có những điểm mạnh và điểm yếu rất khác nhau và đến một mức độ lớn nó không quan trọng trong đó có ruby ​​tốt nhất/đường ray hỗ trợ nếu nó hoàn toàn sai cho những gì ứng dụng của bạn cần phải thực hiện. –

+3

Nếu bạn muốn phổ biến và tích hợp chặt chẽ, MySQL là 100x phổ biến hơn trong triển khai Rails và dễ dàng tích hợp chặt chẽ nhất. Mưa phùn có thể sẽ trở thành một ứng cử viên ở đó. Nếu bạn đang tìm kiếm để tìm hiểu, tôi sẽ đề nghị thử một số DB cho đến khi bạn tìm thấy một cái gì đó mà cảm thấy thoải mái. – JasonSmith

Trả lời

17

Để lựa chọn, bạn sẽ thực sự cần phải biết mô hình dữ liệu của bạn. MongoDB và CouchDB là các kho dữ liệu hướng tài liệu. Cassandra khá khác biệt, nó có mục đích đặc biệt hơn một chút và thiết kế phân tán của nó là sức mạnh của nó. Đó là nhiều hơn một cửa hàng khóa/giá trị phân phối nhưng với việc cắt, phân loại dấu thời gian, các truy vấn phạm vi, với các kiểu dữ liệu hạn chế. Nếu bạn có một lượng lớn dữ liệu và biết chính xác nó cần được lập chỉ mục để lấy ra sao, Cassandra có thể làm việc. Mongo và Couch tốt hơn cho các truy vấn đặc biệt, và ví dụ thay thế AR cho ứng dụng Rails.

Theo như phổ biến, tôi muốn nói MongoDB hiện phổ biến hơn với Rubyists, nhưng nói chung CouchDB dường như có nhiều tâm trí hơn và rất nhiều động lực.

Xem thêm http://nosql-database.org/ để biết thêm thông tin về sự khác biệt.

5

Cá nhân tôi đã sử dụng "mongoid" gần đây và nó hoạt động rất tốt. Một điều cần lưu ý là chúng hoạt động tích cực hơn trong nhánh Rails 3.0 nên không phải tất cả các tính năng được liệt kê trên trang web của chúng đều hoạt động trong Rails 2.x (ví dụ tham khảo). Tôi cũng đã cố gắng sử dụng "Devise/Warden" để xác thực và nó hoạt động liên tục trong Rails 3.0 nhưng không có hỗ trợ cho Rails 2.x + mongoid (mặc dù mongomapper được hỗ trợ)

+0

Tuyệt vời mà Devise làm việc với Mongodb! Bạn có biết nếu nó hỗ trợ 2 khác không? –

+1

Đây là những gì được hỗ trợ trong chính (Rails 3.x): http://github.com/plataformatec/devise/tree/master/lib/devise/orm/ và đây là những gì trong 1.0.x (Rails 2.x): http : //github.com/plataformatec/devise/tree/v1.0/lib/devise/orm – Zepplock

+1

dường như với tôi rằng mongodb là phổ biến nhất đối với ruby ​​và đường ray. đó là chính xác cho đá quý khác quá bạn nghĩ sao? –