2010-11-18 41 views
12

Tôi đang nghiên cứu một dự án mới sẽ là trang web kiểu mạng xã hội. Tôi đang đọc RavenDb và tôi thích giao diện của rất nhiều tính năng của nó. Tôi đã không đọc trên nosql tất cả những gì nhiều nhưng tôi tự hỏi nếu có một thích hợp nó phù hợp nhất với và sql trường cũ vẫn là sự lựa chọn tốt nhất cho các công cụ khác. Tôi nghĩ rằng cắm quyền sẽ là lý tưởng cho một trang web kiểu mạng xã hội - nhưng nó sẽ thực sự thực hiện trong một môi trường mà cơ sở dữ liệu sẽ bị búa - hay nó được tối ưu hóa cho một hệ thống báo cáo phong cách hơn có thể tiếp tục ném các cấu trúc dữ liệu mới vào cơ sở dữ liệu và báo cáo về các cấu trúc đó.Thực tiễn tốt nhất về triển khai NoSql/Raven DB

Tôi mong muốn sử dụng đúng công cụ cho công việc - Tôi sẽ sử dụng MVC3, Windsor + hoặc Nhibernate + Sql server hoặc RavenDb.

Tôi có nên gắn bó với trường cũ hoặc đi với đứa trẻ mới trên khối: ravendb?

Trả lời

20

Câu hỏi này có thể rất gần với chủ quan (mặc dù nó thực sự không), bạn đang nói về NoSQL như thể nó chỉ là một điều, và đó không phải là trường hợp.

Bạn có

  • cơ sở dữ liệu đồ thị (Neo4j vv),
  • bản đồ/giảm cơ sở dữ liệu tài liệu phong cách (Couch, Raven),
  • cơ sở dữ liệu tài liệu mà cố gắng để cảm thấy như cơ sở dữ liệu thông thường (Mông Cổ),
  • Các cửa hàng khóa/giá trị (Cassandra, v.v.)
  • moar ở đây.

Mỗi trong số họ cố gắng để giải quyết một vấn đề khác nhau thông qua phương tiện khác nhau, và cho dù bạn muốn sử dụng một trong số họ qua một cửa hàng quan hệ truyền thống là

  • Một vấn đề phù hợp
  • Một vấn đề sở thích cá nhân

Vào cuối ngày, cho lưu trữ dữ liệu chính cho một hệ thống, cơ sở dữ liệu tài liệu hoặc cửa hàng quan hệ là prob ably những gì bạn muốn, mặc dù cho các phần khác nhau của hệ thống của bạn cũng có thể kết thúc bằng cách sử dụng một cơ sở dữ liệu đồ thị (Đối với tính toán hàng xóm vv), hoặc một cửa hàng khóa/giá trị (như Facebook không/đã làm cho tin nhắn hộp thư đến).

Lợi ích chính của việc chọn cửa hàng tài liệu làm cửa hàng chính của bạn so với cửa hàng chính, là bạn không phải lo lắng về việc cố gắng ánh xạ các đối tượng của mình thành bộ sưu tập bảng và có ít chi phí cấu hình hơn tham gia làm như vậy.

Nhược điểm/lộn ngược khác là bạn phải học cái gì đó mới và phạm sai lầm trên đường đi.

Vì vậy, câu trả lời của tôi nếu tôi sẽ trực tiếp?

  • RavenDB sẽ phù hợp
  • SQL sẽ phù hợp

nào làm bạn thích sử dụng?Những ngày này tôi có thể chỉ cần đi cho Raven, biết tôi có thể đổ dữ liệu vào một cửa hàng quan hệ cho mục đích báo cáo và có thể làm tương tự cho các phần khác của hệ thống của tôi, và tìm kiếm văn bản miễn phí và ghi nhanh/đọc nhanh mà không đi thông qua nỗ lực xác định các cửa hàng đọc/ghi riêng biệt là một chiến thắng tổng thể.

Nhưng đó là tôi và tôi thiên vị.

+1

đó là một câu trả lời tuyệt vời - @mikehadlow đang sử dụng nó trong ngân hàng tardis là một nguồn học tập tốt vì vậy tôi sẽ đi sâu vào. Ý kiến ​​của bạn + một vài đồng nghiệp đủ để thuyết phục tôi rằng có thời gian để đầu tư đây. Các công cụ cấp quyền có vẻ thú vị - nhưng điều này có phải chịu các vấn đề về khả năng mở rộng giống như rhino.security không? – iwayneo

+0

Tôi đã không sử dụng các quyền hạn, tôi có xu hướng làm những thứ thô ráp hơn một chút so với khi tôi làm. Hoàn toàn phụ thuộc vào cách bạn sử dụng nó tôi tưởng tượng –

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