2012-03-20 15 views
9

Tôi đang tìm cách thêm ORM vào ứng dụng Sinatra hiện có của mình. Tôi đã đi qua Datamapper, Sequel và ActiveRecord mặc dù tôi chưa thử ActiveRecord.Thêm ORM vào ứng dụng Sinatra; Có một lý tưởng với ít vấn đề và hiệu suất tốt?

Datamapper có vẻ dễ dàng nhưng tôi liên tục phải đối mặt với một vấn đề được thảo luận trong "What ORM to use in one process multiple db connections sinatra application?", nhưng không thể hiểu được giải pháp và nguyên nhân gốc rễ của nó.

Có đề xuất nào để chọn ORM phù hợp và hiệu quả không?

+0

Vấn đề của bạn với DataMapper chính xác là gì? –

+0

Vấn đề chính xác: http://groups.google.com/group/datamapper/tree/browse_frm/month/2010-08/d45961670db1ede3?rnum=71&_done=%2Fgroup%2Fdatamapper%2Fbrowse_frm%2Fmonth%2F2010-08%3F – abhijit

+1

Trong kinh nghiệm của tôi, ORM không phải là vấn đề lớn đối với hiệu suất như cách bạn định nghĩa cơ sở dữ liệu và truy vấn của mình. Từ những gì tôi đã thấy, ActiveRecord, Sequel và Datamapper đều có khả năng tạo ra SQL tốt. –

Trả lời

7

Phần tiếp theo đủ nhanh nhưng có ít tính năng hơn trong khi ActiveRecord có nhiều tính năng thú vị dẫn đến một số vấn đề về hiệu suất.

Nhưng, trong hầu hết các trường hợp, hiệu suất của ORM không nên trở thành vấn đề với cách sử dụng khôn ngoan. Thông thường bạn nên suy nghĩ về hiệu suất cơ sở dữ liệu và thiết kế ứng dụng nhưng không phải về hiệu năng ORM.

Nếu bạn cần một cái gì đó dễ dàng và thẳng, bạn nên sử dụng phần tiếp theo, nhưng đối với các ứng dụng lớn có nhiều biểu mẫu lồng nhau, tôi thích ActiveRecord hơn.

+0

Xin chào, cảm ơn câu trả lời ... để tìm kiếm phần tiếp theo đang đề cập đến điều này - https: //github.com/rtomayko/sinatra-sequel, bạn có thể đề xuất cho tôi một blog hoặc trang web minh họa việc sử dụng phần tiếp theo tốt hay không. Cảm ơn. – abhijit

+2

Tôi tin rằng trang chủ tiếp theo sẽ. http://sequel.rubyforge.org/documentation.html – fl00r

+0

+10 Cảm ơn rất nhiều ... – abhijit

Các vấn đề liên quan