2010-09-09 15 views
5

Tôi muốn tạo một hệ thống quản lý tài liệu (giao diện trong Ruby).
Thuyết minh chuyên nghiệp (Alfresco, văn phòng xã hội Liferay, những người khác) sử dụng để lưu trữ và phiên bản tài liệu là gì?
Tôi có thể sử dụng những gì khác?Hệ thống quản lý tài liệu: sử dụng làm phần lưu trữ phụ trợ (kho lưu trữ nội dung tài liệu)?

điểm chính: không gian tối ưu hóa

  • lưu trữ (đồng bằng châu thổ, nén ...)
  • versioning
  • khả năng tài liệu chỉ số (có thể là bên ngoài)
  • khả năng thực hiện sao lưu khi chạy (live hot-backup)
  • khóa?
  • khả năng mở rộng về khối lượng dữ liệu lớn
  • đảm bảo toàn vẹn dữ liệu (băm?)
  • quyền
  • giao dịch
  • hỗ trợ Quy trình làm việc (không bắt buộc)

Điểm thưởng:

Bất kỳ sách nào về vấn đề này?

Trả lời

5

Hầu hết các giải pháp quản lý tài liệu doanh nghiệp tôi đã xem (Cimage, Documentum, LiveLink) chắc chắn không quan tâm đến # 1. Lưu trữ là tương đối rẻ, đặc biệt là nếu nó lưu trữ vs xử lý (lưu trữ và truy xuất). Chúng chủ yếu dựa vào lưu trữ dựa trên hệ thống tập tin - có lẽ với tên trừu tượng sao cho ShoppingList.doc có thể trở thành 20100909100101a.doc.rev1, với cơ sở dữ liệu theo dõi tên, tên được lưu trữ, bản sửa đổi và các dữ liệu khác {loại MIME, tiêu đề & thuộc tính v.v ...}. Bằng cách không tạo ra deltas + nén, bạn có thể lập chỉ mục rất dễ dàng từ bất kỳ số lượng sản phẩm/agorithms hiện có nào. Phiên bản cũng cực kỳ đơn giản với cách tiếp cận này.

Tùy thuộc vào kích thước và quy mô bạn đang xây dựng, bạn cũng có thể lưu trữ các tệp được phiên bản trong cơ sở dữ liệu.

Quá trình lưu trữ FTP hoặc CIFS cũng sẽ cho phép phần mềm của bạn chạy trên máy chủ ứng dụng có dung lượng khiêm tốn, nhưng lưu trữ tệp + lịch sử trên một tệp hoặc máy chủ đám mây thuộc loại nào đó - mặc dù điều này không nhiều khác với bộ nhớ dựa trên hệ thống tệp.

0

alfresco thường được sử dụng làm phụ trợ, nó có API REST tốt. Bạn cũng có thể xác định API tích hợp của riêng mình nếu bạn không thích API được bao gồm.

+0

Bất kỳ tài liệu hoặc sách có thể sử dụng nào? Tất cả đều khó khăn, tôi thích các tính năng, wiki của họ thực sự giết chết bộ não nhỏ bé của tôi. Tôi chủ yếu là thú vị về cách xác định người dùng, nội dung của ACL và đọc/ghi, có thể xác định luồng công việc ... – clyfe

1

Bạn biết đấy, bản năng đầu tiên của tôi sẽ là just use Subversion. Bạn sẽ cần lập chỉ mục bên ngoài và nếu bạn muốn lưu trữ các băm, bạn sẽ cần viết một số mã để tự mình làm, nhưng mọi thứ khác đều phù hợp.

Nó gắn với các ràng buộc ruby, mặc dù tôi không quen thuộc với chất lượng của chúng.

+0

Khi tôi có TBytes tài liệu, tôi sẽ cần một số loại lưu trữ được phân phối và SVN sẽ không hoạt động. – clyfe

+0

@clyfe: Bộ nhớ phân phối là một hình bóng hoàn toàn khác với những gì bạn đang yêu cầu. Không có hệ thống nào bạn đề cập sử dụng dung lượng lưu trữ được phân phối và tôi không thể tưởng tượng tại sao bạn cần nó trừ khi lưu lượng truy cập của bạn cực kỳ cao. Một máy chủ tốt với một loạt các đĩa 2TB trong RAID 10 nên làm bạn tốt. –