2008-10-07 40 views
14

Có thay thế drop-in cho ActiveRecord sử dụng một số loại Object Store không?Cơ sở dữ liệu đối tượng cho Ruby on Rails

Tôi đang nghĩ điều gì đó giống như MNesia của Erlang sẽ là lý tưởng.

Cập nhật

Tôi đã điều tra CouchDB và tôi nghĩ rằng đây là lựa chọn tôi sẽ đi với. Đó là một sự lộn xộn giữa việc sử dụng CouchRest và ActiveCouch. CouchRest là khá trưởng thành, và được sử dụng trong tập Peepcode CouchDB, nhưng nó không phải là một thay thế thả cho ActiveRecord, đó là một chút bất lợi.

Đủ để nói rằng CouchDB khá phi thường.

Cập nhật (10 tháng 11 năm 2009)

CouchDB đã không thực sự làm việc cho tôi. CouchDB không thực sự hỗ trợ các truy vấn tùy ý (các truy vấn cần phải được viết và biên dịch trước thời hạn). Nó cũng phá vỡ trên bộ dữ liệu rất lớn.

Tôi đã chơi với MongoDB và điều đó thực sự đáng kinh ngạc. Lưu trữ dữ liệu JSON lược đồ ít hơn với các truy vấn và lập chỉ mục.

Tôi thậm chí đã bắt đầu xây dựng một công cụ quản lý cho nó được gọi là Ming.

Trả lời

2

AciveCouch mục đích là một thư viện như vậy cho CouchDB, trên thực tế, được viết bằng Erlang. Tôi sẽ không nói đó là trưởng thành như ActiveRecord mặc dù.

Đó là điều gần nhất tôi biết về những gì bạn đang yêu cầu.

+0

Tôi đã thực sự nghĩ rằng CouchDB có thể là câu trả lời ... Tôi có màn hình Peepcode, sẽ kiểm tra và nhận xét lại ở đây. –

+0

Bất kỳ cập nhật nào ngay bây giờ mà bạn đã xem nó? –

2

Madeleine là một thực hiện các cửa hàng đối tượng Java Prevayler

thấy http://madeleine.rubyforge.org/

+0

Ah prevayler. Đã bao giờ * thổi phồng *. Một ý tưởng đơn giản và hữu ích như vậy. –

0

Ngoài Madeleine, bạn cũng có thể thấy:

http://purple.rubyforge.org/

Nhưng nó phụ thuộc trên quy mô quá. Mnesia được biết là hỗ trợ lượng lớn dữ liệu và được nhóm lại, trong khi các giải pháp này sẽ không hoạt động tốt với lượng dữ liệu lớn.

Nếu số lượng dữ liệu không phải là rất lớn, tùy chọn khác là:

1

Tôi hiện đang làm việc trên một cơ sở dữ liệu đối tượng ruby ​​có sử dụng mysql như một cửa hàng ủng hộ (vì thế nó được gọi là hybriddb) Bạn có thể quan tâm.

Không sử dụng SQL hoặc di chuyển, bạn chỉ lưu đối tượng vào cơ sở dữ liệu, nó cũng cố gắng giải quyết các vấn đề thông thường với cơ sở dữ liệu đối tượng (tốc độ, tìm đối tượng nhanh, đồ thị đối tượng lớn) minh bạch.

Nó vẫn là một phiên bản đầu nên hãy cẩn thận.Mã này ở đây http://github.com/pauliephonic/hybriddb/tree/master Chi nhánh phát triển có hỗ trợ cho các giao dịch và tôi hiện đang thêm xác thực cơ bản.

Tôi có một trang web với một số hướng dẫn, vv http://www.hybriddb.org/pages/tutorial_starter

Bất kỳ ý kiến ​​được chào đón ở đó.

+0

Ah thú vị, cổ vũ. Tôi đã thực sự nghĩ về việc xây dựng một cái gì đó như thế này bản thân mình. –

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